若有四隻策略,兩隻09:15開始做,另外兩隻10:15開始做。 但早上08:50就會四隻策略都打開,以防盤中打開有問題。 不知道10:15這兩隻策略在09:15-10:00這段區間,會不會拖慢另外兩隻正在跑的策略。可以寫什麼語法讓 10:15開始做的策略,10:00再開始執行程式?(排程08:50開,不太希望排程設定在10:00開)
目前只有想到,在程式碼第一行加入 if time>=100000 then begin
主程式
......
最後一行 end。
謝謝🙏
若有四隻策略,兩隻09:15開始做,另外兩隻10:15開始做。 但早上08:50就會四隻策略都打開,以防盤中打開有問題。 不知道10:15這兩隻策略在09:15-10:00這段區間,會不會拖慢另外兩隻正在跑的策略。可以寫什麼語法讓 10:15開始做的策略,10:00再開始執行程式?(排程08:50開,不太希望排程設定在10:00開)
目前只有想到,在程式碼第一行加入 if time>=100000 then begin
主程式
......
最後一行 end。
謝謝🙏
用Time控制,對效能的影響應該不大。
所以 if time 放在程式第一行,是可行的方案? 謝謝
Hello 石頭,
您可以在腳本開頭藉由此條件來避免腳本完整運算來提升效率沒錯。
不過須注意腳本中是否有需要用到前期值的部分,例如MACD、KD這類的指標。
若有的話則需要確保這部分的腳本在指定時間前也需要運算。
我昨天嘗試if time>=100000 放第一行,執行回測卻跑不出資料。
腳本裡面會抓昨天日k的資訊,也有用if date<>date[1]來限制判斷一次。
盤中的條件,應該跟幾點開始進入time沒關係,都是宣告當天D的資訊
不知哪有問題?
if time >=100000 then begin
分k偵錯
變數宣告
If date<>date[1] then begin
判斷昨日日k資訊
end
盤中條件
If condition then 進場
If condition then 出場.
.
.
end
謝謝
Hello 石頭,
小編建議您使用 print 函數將相關數值印出,會比較好確認問題原因。
推測您遇到的情況可能是回測使用日頻率導致time為0 (time在日頻率會回傳0,可以改用 currenttime 來作替代)。
或是盤中條件運算時會使用到前期變數值,導致結果和沒有加上time >=100000時不同。
若還是有問題的話,麻煩提供 回測腳本、回測設定 (截圖或回測報告皆可) 以及 XQ Log 來檢驗。
Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。
您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小編才能盡早處理)。
感謝。
5 評論