小幫手你好!
我的交易腳本如附檔,現遇到問題是:2375 在2023/11/24、11/28各有符合條件,但是11/27、11/29卻沒有任何下單動作,在符合條件的日期有 print 出,數值條件都符合....怎麼都看不出問題在哪,想請小幫手幫忙找錯誤~先謝謝啦!!
聽網友說用的通訊是SeedNet跟TTN也有差, 哪個通訊才比較可靠呢?
Hello 尼莫,
要麻煩您提供回測的設定 (截圖或回測報告皆可),這樣小編才有辦法測試。
由於您沒有印出time,小編推測您可能是使用在日頻率(強制逐筆洗價),建議您可以一併印出currenttime (逐筆洗價的1分鐘Bar時間)以及 getfield("Volume", "1") (對應的1分鐘成交量)。
若洗價該根1分鐘Bar沒有成交量的話也不會下單。
小幫手,我問的是2475,附的print檔也是2475,您可否針對有問題的做檢查呢? 感謝~
我發現我在交易中心設定交易開始日期為D日,資料讀取數100筆,頻率為日
跑完之後發現print檔顯示currenttime在D+9那天才開始有數值,在D~D+8這幾天currenttime=0,並且這期間符合條件的訊號都不會出現,試了不同的日期都是如此,請問這是哪裡的問題?
Hello 尼莫,
如果您是執行自動交易策略並設定策略部位計算起點的話,那麼currenttime應該不會為0,因為在即時執行的狀況下,包含資料讀取筆數到策略部位計算期間都會有數值,且是啟動策略當下的時間。
麻煩提供 自動交易中心匯出檔 以及 XQ Log 來確認。
Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。
您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。
感謝。
Hello 尼莫,
1. currenttime = 0 代表腳本正在資料讀取筆數運算,在資料讀取筆數運算時不會進出場。
所以就算您有print出來也不會有交易。
2. 因為您腳本中計算時有 highest(close,30) 和 highest(volume,30) 等函數計算。
這代表腳本最初要運算時,需要至少30筆往前的資料。
在沒有另外設定的情況下,資料引用筆數預設為20筆 (少了10筆),故需要壓縮回測範圍。
而這會導致回測範圍被壓縮,造成 D+8天的currenttime為0 (還在資料讀取筆數期間) 的原因。
若不希望發生此狀況,可以使用 setbackbar 來設定資料引用筆數。
如果您將腳本的筆數設定改為
setbackBar(31);
SetTotalBar(100);
的話,2375就會在 11/27 時進場。
關於資料讀取筆數與資料引用筆數,您可以參考 資料讀取範圍與腳本執行的關係 裡的說明。
感謝小編! 問題已解決 !!
10 評論