怎么用计时器 (文华财经wh9)

投资者咨询:怎么用计时器 (文华财经wh9)
来源:文华财经  日期:2018-8-9 10:55
这可能是个很简单的问题,但是我不知道哪个函数是计时器。 我逻辑是如果在30秒之内没有交易,就清仓。
技术人员回复
日期:2018-8-9 11:23
 核实您的思路:

30秒内没有交易,指的是委托发出后30秒还没有成交,就清仓吗?

开仓,或者平仓都是按照这种方式执行吗?
投资者咨询:怎么用计时器 (文华财经wh9)
来源:文华财经  日期:2018-8-9 10:55
 就是开仓成交了之后,30秒没有交易就清仓。 
投资者咨询:怎么用计时器 (文华财经wh9)
来源:文华财经  日期:2018-8-9 10:55
 再看一下
技术人员回复
日期:2018-8-9 13:31
 时间控制的编写比较复杂,我们研究下

请稍后
投资者咨询:怎么用计时器 (文华财经wh9)
来源:文华财经  日期:2018-8-9 10:55
 好的
技术人员回复
日期:2018-8-9 15:43
 如下案例您参考下:

Data
   data0:"rb1810";
Vars
    Global_Numeric SJ;
    Global_Numeric BKID;
    Global_Numeric SPID;
    Numeric NOW;
Begin
   NOW=CurrentTime;
   If(Close>Close[1] And BKID==0 )
        {
        BKID=A_SendOrder(Enum_Buy,Enum_Entry,1,data0.Price("RiseLimit"));//涨停价买入
        SJ=CurrentTime;
        }
  If(BKID==1 && TimeDiff(SJ,NOW) >= 30) //如果时间间隔T秒
        { 
        SPID=A_SendOrder(Enum_Sell,Enum_ExitToday,1,data0.Price("FallLimit"));//跌停价卖出
        BKID=0;
        }
End
投资者咨询:怎么用计时器 (文华财经wh9)
来源:文华财经  日期:2018-8-9 10:55
对不起我之前没说清楚,我的意思是如果开仓之后rb1810在30秒内没有量,就清仓。不是说如果我在30秒内还持仓就要清仓。
技术人员回复
日期:2018-8-9 16:55
请参考:

Vars
   Global_Numeric DV;
   Global_Numeric BKID;
   Global_Numeric BKFLG;
   Global_Numeric BKCT;
Begin
   If(BKFLG == 0)
   {
      BKID = A_SendOrder(Enum_Buy,Enum_Entry,1,Price("Ask1"));
      BKFLG = 1;
   }
   Else If(BKFLG == 1)
   {
      If(F_OrderStatus(BKID) == Enum_Filled)
      {
         DV = DayVol;
         BKCT = CurrentTime();
         BKFLG = 2;
      }
   }
   Else If(BKFLG == 2)
   {
      If(TimeDiff(BKCT,CurrentTime()) >= 30)
      {
         If(DayVol == DV)
         {
            A_SendOrder(Enum_Sell,Enum_Exit,1,Price("Bid1"));
         }
         BKFLG = 3;
      }
   }
End