您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

如何实现信号出现后延时数秒发送委托单 [开拓者 TB]

回复 4# hal5667


判断收到成交回报需要使用
if(A_OrderStatus==Enum_Filled)
  • 咨询内容: 就是出现信号不马上发送,延时2-3秒这样发送单子。能实现这样的功能不

     

  • TB技术人员: 回复 1# hal5667


    请参考这段代码:
    以下代码把平仓和反手进行延时处理
    1. Params

    2.         Numeric FastLength(5);

    3.         Numeric SlowLength(20);

    4.         Numeric DelayTicks(5);

    5. Vars

    6.         NumericSeries AvgValue1;

    7.         NumericSeries AvgValue2;

    8.         Numeric LastBarTime;

    9.         Numeric TickCounter;

    10. Begin

    11.         AvgValue1 = AverageFC(Close,FastLength);

    12.         AvgValue2 = AverageFC(Close,SlowLength);

    13.        

    14.         LastBarTime = GetGlobalVar(0);

    15.         TickCounter = GetGlobalVar(1);

    16.         If(BarStatus==2 && LastBarTime != Time)

    17.         {

    18.                 LastBarTime = Time;

    19.                 TickCounter = 0;

    20.         }

    21.        

    22.         If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])

    23.         {

    24.                 If(MarketPosition==0 || BarStatus!=2)

    25.                 {

    26.                         Buy(1,Open);

    27.                 }Else

    28.                 {

    29.                         BuyToCover(1,Open);

    30.                         If(TickCounter==0)

    31.                         {

    32.                                 TickCounter = 1;

    33.                         }else If(TickCounter < DelayTicks)

    34.                         {

    35.                                 TickCounter = TickCounter + 1;                       

    36.                         }else

    37.                         {

    38.                                 Buy(1,Open);

    39.                         }

    40.                 }

    41.         }

    42.        

    43.         If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])

    44.         {

    45.                 If(MarketPosition==0 || BarStatus!=2)

    46.                 {

    47.                         SellShort(1,Open);

    48.                 }Else

    49.                 {

    50.                         Sell(1,Open);

    51.                         If(TickCounter==0)

    52.                         {

    53.                                 TickCounter = 1;

    54.                         }else If(TickCounter < DelayTicks)

    55.                         {

    56.                                 TickCounter = TickCounter + 1;                       

    57.                         }else

    58.                         {

    59.                                 SellShort(1,Open);

    60.                         }

    61.                 }

    62.         }

    63.        

    64.         SetGlobalVar(0,LastBarTime);       

    65.         SetGlobalVar(1,TickCounter);

    66. End
    复制代码

     

  • TB客服: 谢谢  

     

  • 网友回复: 那实现K线出现有第一个成交回报的时候再发送也是把DelayTicks调成1就得了是吗?

     

  • 网友回复:

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 262069696  点击在线交流进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章