盤中成交單的時間差 新問題

  •   116 
  • 最後發表   BLin  2021 五月 14
BLin 發文於   2021/05/11

 

請問XS小幫手

目前有一個想要寫出來的進場條件是

當下成交的tick跟前一個tick 成交時間差距小於30秒才進場 

我的目的是要避開"緩漲"   因為緩漲會有兩分鐘沒成交紀錄的情況 

以下是我的寫法

var: intraBarPersist tick_count(0);

 

array: intraBarPersist Deal_Time[2](0);

if tick_count = 0 and GetInfo("IsRealTime") = 1 then begin

 Deal_Time[1] = q_Time;

 Deal_Time[1] = q_Time;

 tick_count += 1;

 end

else if tick_count > 0 and GetInfo("IsRealTime") = 1 then begin

    Deal_Time[1] = Deal_Time[2];

    Deal_Time[2] = q_Time;

    tick_count += 1;

    end;

但是今天有一檔華紙 9:03 22秒 發生緩漲成交的tick ,以上的寫法卻把時間差抓成0 應該要抓成120秒 抓錯了 

請問這寫法要怎麼改, 才可以達成避開緩漲的目的?

 

之前也有問過類似的問題如下, 請不要回覆我idx=2的這種寫法, 我想知道有沒有其他方法

改成idx=2 這寫法 , 我發現這寫法會把idx=1的tick會漏掉  沒進場

 

idx - 1 這種寫法是可以的,不過 for 迴圈要修改成從 2 開始以避免超出索引值。

另外時間的減法請用 TimeDiff 函數。

這是修改後的範例:

row_count = ReadTicks(tick_array, last_seqno);

for idx = 2 to row_count begin

condition = TimeDiff(tick_array[idx, 2], tick_array[idx-1, 2], "S") <30;

end;

 

 

排序方式: 標準 | 最新
黑框 發文於   2021/05/11

我也是有遇到緩漲搓合時間差跟上一筆為0的問題,因此用時間卡進場無法成功

不知道小幫手有甚麼方法來避開緩漲搓合?

XQ小幫手 發文於   2021/05/14

Hello 黑框,

 

小幫手在另一篇相同的文章中已經回覆了 BLin 的問題,您可以參考該篇文章。

另外關於避開緩漲搓合的方法小幫手會再想想,如果有其他新的方法的話會再回覆至另一篇相同的文章。

感謝。

發表回覆
Close