如何实现信号出现后延时数秒发送委托单 [开拓者 TB]
判断收到成交回报需要使用
if(A_OrderStatus==Enum_Filled)
- 咨询内容: 就是出现信号不马上发送,延时2-3秒这样发送单子。能实现这样的功能不
- TB技术人员: 回复 1# hal5667
请参考这段代码:
以下代码把平仓和反手进行延时处理- Params
- Numeric FastLength(5);
- Numeric SlowLength(20);
- Numeric DelayTicks(5);
- Vars
- NumericSeries AvgValue1;
- NumericSeries AvgValue2;
- Numeric LastBarTime;
- Numeric TickCounter;
- Begin
- AvgValue1 = AverageFC(Close,FastLength);
- AvgValue2 = AverageFC(Close,SlowLength);
- LastBarTime = GetGlobalVar(0);
- TickCounter = GetGlobalVar(1);
- If(BarStatus==2 && LastBarTime != Time)
- {
- LastBarTime = Time;
- TickCounter = 0;
- }
- If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
- {
- If(MarketPosition==0 || BarStatus!=2)
- {
- Buy(1,Open);
- }Else
- {
- 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
- {
- 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);
- End
- TB客服: 谢谢
- 网友回复: 那实现K线出现有第一个成交回报的时候再发送也是把DelayTicks调成1就得了是吗?
- 网友回复:
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)