帮助文档8:实测是在下个K线才反手开仓,如何解决能在当前K线开仓?

Params Numeric FastLength(5); Numeric SlowLength(20); Numeric DelayTicks(5);Vars Series<Numeric> AvgValue1; Series<Numeric> AvgValue2; Numeric LastBarTime; Numeric TickCounter; Numeric dataIndex;EventsOnBar(ArrayRef<Integer> indexs){ AvgValue1 = AverageFC(Close,FastLength); AvgValue2 = AverageFC(Close,SlowLength); LastBarTime = GetGlobalVar(0); TickCounter = GetGlobalVar(1); // 最新Bar第一次生成时,Tick重新开始计数 If(BarStatus == 2 && gValue[0]!= Time) { LastBarTime = Time; TickCounter = 0; } If(MarketPosition <> 1 && AvgValue1[1] > AvgValue2[1]) { If(MarketPosition == 0 || BarStatus != 2) // 无持仓,直接买多仓 // 持空仓且Bar不是实时行情,平空仓,买多仓 { Buy(1,Open); }Else // 持空仓,Bar实时行情,平空仓,通过TickCounter计数,延迟反手 { BuyToCover(1,Open); If(TickCounter == 0) { TickCounter = 1; }Else If(TickCounter < DelayTicks) { TickCounter = TickCounter + 1; }Else { Buy(1,Open); } } } If(MarketPosition <> -1 && AvgValue1[1] < AvgValue2[1]) { If(MarketPosition == 0 || BarStatus != 2) { SellShort(1,Open); }Else // 持多仓且Bar为实时行情,平多,延迟反手 { Sell(1,Open); If(TickCounter == 0) { TickCounter = 1; }Else If(TickCounter < DelayTicks) { TickCounter = TickCounter + 1; }Else { SellShort(1,Open); } } } SetGlobalVar(0,LastBarTime); SetGlobalVar(1,TickCounter);}

这是延迟反手,你想说明有什么问题 可以列出实际的截图或者视频

回复:

回复:问题:平仓后,不能在当前bar开仓,需要下根bar开盘才开仓。如何修改实现平仓后延时5个tick开仓?

回复:问题:平仓后,不能在当前bar开仓,需要下根bar开盘才开仓。如何修改实现平仓后延时5个tick开仓?