請問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;
2 評論