台指60分K程式單觸發進出場條件會在收K後才觸發進出場,遇到收盤會造成無法確實執行,如果使用洗價模式,會有假訊號的情況(盤中有達到條件,收K條件不符合),有辦法撰寫程式碼指定在特定時間洗價嗎,例如早盤13:45收盤,程式設定在收盤前十分鐘13:35才會洗價,如此一來收盤這根K棒如果有訊號就不會漏掉交易訊號
台指波段程式單問題
- 219
- 最後發表 股海茫茫 2023 二月 13
Hello 股海茫茫,
由於您最後收盤前要在Bar結束前運算下單,所以策略需要勾選逐筆洗價才可以。
最接近的方式應該是逐筆洗價平時用上一根Bar的運算結果,在13:35以後才改為當根Bar的運算結果。
舉例來說:
condition1 = 進場條件;
if position = 0 and filled = 0 and ((condition1[1] and currenttime <= 133500) or (condition1 and currenttime > 133500)) then setposition(1, market);
謝謝小編的回覆,想再多請教一下,如果要加入要接入夜盤收盤前10分鐘(早上04:50)一起判斷怎麼撰寫會比較好呢
Hello 股海茫茫,
小幫手不太確定您的問題是什麼,不過策略是要有洗價才會運算,所以若那段時間沒有交易的話,策略不會運算。
至於要用夜盤前收盤10分鐘當作條件,您可以用 currenttime 當作條件:
condition1 = 045000 < currenttime and currenttime < 050000;
這樣條件就只會在 04:50 ~ 05:00 這段時間內符合。
謝謝小編的回覆,不好意思我表達的不是很清楚,
我的意思是如同第一則回覆說的
一般的k棒收k才觸發訊號,而收盤那根k棒的最後十分鐘才觸發洗價(如早盤的13:35跟夜盤的04:50)把早夜班的收盤都納入考量,該如何撰寫比較好
Hello 股海茫茫,
您只要用前後時間做限制即可。
舉例來說:
condition1 = 133500 < currenttime and currenttime < 134500;
condition2 = 045000 < currenttime and currenttime < 050000;
這樣condition1 就是在 13:35 ~ 13:45 之間符合,condition2 是在 04:50 ~ 05:00 之間符合。
藉此來決定進出場條件是要用上一根Bar的還是當下的Bar來判斷。
5 評論