返回列表 发帖

CurrentTime作为条件平仓的问题

模拟实盘测试中遇到一个问题向大家请教:
规则是当日不留仓,故采用了如下条件语句。模拟交易中也平了仓,但是图上信号却不反映,导致第二天仓位大乱。这是什么原因?我知道可以采用A函数和全局变量来控制,但那是另一个话题。谢谢!

if(CurrentTime==0.151450 And MarketPosition!=0)//如果当天的K线是最后一根并且MarketPosition不为0的话,执行以下操作
            {
              if(MarketPosition==1)//如持有多头仓位,则以收盘价减2个价位卖出平仓全部多单,相反的,如持有空头仓位,则以收盘价加2个价位买入平仓全部空单
               {
                 Sell(0,Close-2*PriceScale);
               }
                          Else
               {
                 BuyToCover(0,Close+2*PriceScale);
                           }

CurrentTime是取本机时间,而本机时间不断变化,所以就会导致信号消失,
建议改用time,注意time是每个bar上的时间

TOP

谢谢,我试试。

TOP

TIME是取本BAR时间,而本BAR(最后一个BAR)时间也是不断变化的,是否也会导致信号消失呢?
是否只有本BAR能够标定显示的时间,例如小时线上的“13:00,14:00...”时发生的信号才不会消失?

经检验,确实是这样。

TOP

返回列表