为了避免信号闪烁,使用前K线数据,开平在当前K线的OPNE,又设置了收盘提前30秒平仓,是否有影响。

代码截取。

Events

       OnBarOpen(ArrayRef<Integer> indexes)

   {

       Numeric advancesec(30); //提前多少秒

       Array<Numeric> timePoint;

       Numeric ret = DateTimeAdd(RealEndDateTime, -1*advancesec);

       ret = StringToTime(TimeToString(ret));

       Print("endtime="+text(RealEndDateTime)+" SetTriggerBarClose:" + Text(ret));

       ArrayPushBack(timePoint, ret);

       SetTriggerBarClose(timePoint);

  }

      OnBar(ArrayRef<Integer> indexs)

{

ma[1]= Average(Close[1],length1)

}

if(close[1]>ma[1])

buy(1,open)

if(close[1]<ma[1])

Sell(1,open)

引用bar为15分钟周期。

请问这种情况下,比如在14:59:30,其实是满足平仓条件的,但是需要9.30的新bar出现,才会触发平仓信号。

这种情况下,我设置的提前30秒平仓是否毫无意义?

还是说,他会以14:59:30的收盘价作为close[1],进行计算,然后平仓?

TB跨周期问题,为了避免引入未来数据,是否会系统性的延迟一根K线
最后一根K线在收盘前交易
怎么实现在K线收盘前几秒触发OnBarClose
平台是出现信号就下单吗? 如果K线走完信号又消失了怎么处理? 会自动平仓吗
当前K线
信号闪烁而且还开平仓了
在同根K线开仓+平仓,遇到问题
当前K线最低价低于某个固定值后开仓或平仓,这样会导致信号闪烁吗
收盘前平仓, 信号闪烁
怎么取得前K线的均线值?

ma[1]= Average(Close[1],length1)   不能对序列变量回溯进行赋值

您好,我不太理解您这句话的意思,我在回测中,这个公式得到的前K均线数值并没有问题啊?

可能是我复制编写过来有点问题,是ma1=Average(Close[1],length1) ,另外请问老师我帖子里的问题,您有什么看法吗?

你复制过来怎么会ma1变成ma[1]的,再复制也不会有这种变化啊。。。。