if Position <> 0 and filled <> 0 then begin
SetPosition(0, market);
end;
Hello Johnny0495,
要麻煩您提供更詳細的說明,小幫手才能理解狀況並嘗試解決。
就這腳本來看,在策略的部位和庫存不為0的狀況下都會出場,除非腳本前面已經先執行了其他的交易指令,因為每次腳本運算只會執行第一個交易指令。
細節可以參考 setposition。
Hello Johnny0495,
如果是這樣的話,應該跟您的策略設定比較有關。
1.是否有設定為依庫存。
2.執行商品是否有包含有庫存的商品。
3.B策略是否是在A策略賣出後才啟動策略。
4.啟動策略時策略是否有正確的讀取到實際庫存。
如果以上都有達成但策略還是沒有交易的話,麻煩您提供 策略匯出檔勾選(包含)交易腳本 以及 XQ Log ,並告知問題發生的日期時間讓相關人員確認。
Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。
您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。
感謝。
以上皆是。
下周操作後若執行仍無回補再LOG提供。
Hello Johnny0495,
小幫手補充,要商品有洗價,腳本有運算才會下單。
所以如果該商品一直都沒有洗價的話,是有可能發生策略啟動後完全不交易的狀況。
Hello Johnny0495,
啟動策略後,策略會先運算資料讀取筆數,等運算完並顯示開始即時洗價的時候才會開始運算新進來的資訊。
此時若您有勾選逐筆洗價的話,當商品有交易有Tick資訊進來洗價時,腳本會運算,此時才會觸發。
若沒有勾選逐筆洗價的話,則要等到該根Bar結束後的洗價腳本才會運算並觸發。
兩者的共同點是,如果商品本身沒有交易導致洗價的話,腳本是不會運算的,而沒運算的話就不會交易。
小幫手認為間隔16秒可能是因為16秒間沒有交易,或是策略沒有勾選逐筆洗價所造成。
理解了,所以要開啟逐筆洗價。
確實沒有勾選逐筆洗價,可能先前交易商品是成交量較少速度較慢,又沒勾選逐筆洗價,導致未能即時進行回補動作。
感謝您的回覆,謝謝!
抱歉,請問資料讀取筆數應該設定多少筆較佳呢?
假設跑1分K,只讀取1筆可以嗎?
10 評論