如何實現信號出現后延時數秒發送委托單 [開拓者 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 進行 有償 編寫!(不貴!點擊查看價格!)