老师们能帮忙看看为什么会信号闪烁呢,加上K线限制就会闪烁,不加就不闪

加下面这两句就会信号闪烁,不加就不会闪,啥子问题呢if(BarsSinceToday == t1)if(BarsSinceToday >t1)//开仓ParamsNumeric t1(30);Numeric atrmul(2);Numeric minusx(2);Numeric t2(15);Numeric cishu(3);VarsSeries<Numeric> tem_h;Series<Numeric> tem_1;Series<Numeric> my_h;Series<Numeric> my_1;Series<Numeric> my_h15;Series<Numeric> my_115;Global Numeric s1(0);Series<Numeric> atr;Series<Numeric> my_exitprice;Series<Numeric> x1(1);EventsOnBar(ArrayRef<Integer> indexs){Numeric mindiff;mindiff = MinMove*PriceScale;Numeric atrx;atrx = Average(TrueRange,t1);tem_h=highest(h[1],t1);tem_1 =lowest(L[1],t1);my_h15 = highest(h[1],t2);my_115 = lowest(L[1],t2);PlotNumeric("my_h15",my_h15);PlotNumeric("my_h115",my_115);//Commentary("BarsSinceTodav-"+text(BarsSinceTodav))if(BarsSinceToday == t1){my_h= tem_h;my_1=tem_1;atr = atrx;s1 = cishu;PlotNumeric("my_h",my_h);PlotNumeric("my_1",my_1);}if(BarsSinceToday >t1)//开仓{if(h >=my_h15 and MarketPosition ==0 and s1 >0){buy(1,max(o,my_h15));s1=s1 - 1;my_exitprice=l - atrmul * atr[1]; //28//my_exitprice = my_1 - atrmul * atr[1]; //28}if(L <=my_115 and MarketPosition ==0 and s1 >0) { SellShort (1,min(o,my_115)); s1 = s1 -1; my_exitprice =h + atrmul * atr[1]; //28 //my_exitprice = my_h + atrmul * atr[1]; //28 } } //////操作exitpriceif(MarketPosition>0){ if(EntryPrice + my_exitprice >100){ x1=(1+0.2); //x1=0.95;} if( my_exitprice < l - x1 * atrmul*atr[1]){ my_exitprice = L - x1 * atrmul * atr[1];}//my_exitprice =my_exitprice + minusx * mindiff * barssinceentry; //*barssinceentry//Commentary("minusx*mindiff*barssinceentry="+text(minusx*mindiff*barssinceentry));}else if(MarketPosition<0){ if(EntryPrice - my_exitprice >100) { x1=(1-0.2); //x1=0.95;} if( my_exitprice > h + x1 * atrmul*atr[1]) //+ x1 *{ my_exitprice = h + x1 * atrmul*atr[1]; // + x1 *} //my_exitprice =my_exitprice - minusx * mindiff * barssinceentry;}////// if(MarketPosition <> 0){ PlotNumeric("my_exitprice",my_exitprice);}/////if(MarketPosition >0){if(l <= my_exitprice and BarsSinceEntry >0){sell(0,min(o,my_exitprice));}}else if(MarketPosition <0){if(h >=my_exitprice and BarsSinceEntry >0 ){ BuyToCover(0,min(o,my_exitprice)); } } ////收盘离场 if(MarketPosition >0) { if(time ==0.1459)////收盘离场{ sell(0,open);}}else if(MarketPosition<0){ if(time == 0.1459)////收盘离场{BuyToCover(0,open);}}}

你确定是上面这个的原因吗

回复:

回复:直播课上老师就是这样写的呀

回复:那么老师是怎么说的呢

回复:就是研究过了搞不清楚,希望指点一下,而且直播课里面的四个日内策略视频都看过几次了,理论这样写是不会出问题的,但是实盘会闪,搞不明白

回复:我用SetBasePeriod("1m");函数测试也不会闪,实际开仓跑就会闪

回复:你可以展示下怎么个闪烁法

回复:开仓信号出现了,马上又消失了我去掉if(BarsSinceToday == t1)if(BarsSinceToday >t1)//开仓这两个判断条件就不会闪烁了

回复:这个案例逻辑上是告诉你们如何利用计数控制次数

回复:我知道,我虽然不怎么会写代码,但是也不是一点点都不会呀,老师我是来请教问题的😇

回复:全局变量设置后,前后影响都是即时的,也就是你下次运行大概率情况会不同,所以这个程序就是临时的控制日内交易次数