不用marketposition,自己用标识开仓,会出现自动修改标识数值的问题,导致交易错误
代码如下,不使用marketposition开仓,会出现错误。均线1用小数,均线2用大数 在K线前的十几根K线就会改变我的upflag,dnflag的值,就象已经交易一样。实际上均线都没画出来。这个问题能否解决,否则会影响我多次开仓的代码编写。Params Numeric lots(1); Numeric length1(3); Numeric length2(30);Vars Global Bool upflag(false); Global Bool dnflag(false); Series<bool> upcross; Series<bool> dncross; Series<Numeric> MA1; Series<Numeric> MA2;Events OnBar(ArrayRef<Integer> indexs) { Commentary(barcount: + Text(CurrentBar)); ma1 = Average(Close,length1); ma2 = Average(close,length2); PlotNumeric(ma1,ma1); PlotNumeric(ma2,ma2); upcross = CrossOver(ma1[1],ma2[1]); dncross = CrossUnder(ma1[1],ma2[1]); if(MarketPosition == 1){ if(dncross){ Sell(0,Open); upflag = False; } } if(MarketPosition == -1){ if(upcross){ BuyToCover(0,Open); dnflag = False; } } if(upflag == False and upcross ){ upflag = true; Buy(1,Open); } if(dnflag == False and dncross ){ dnflag = true; SellShort(1,Open); } Commentary(upflag: + IIFString(upflag,true,false)); Commentary(dnflag: + IIFString(dnflag,true,false)); }