目前打期貨全日盤遇到每日最多進場次數設定一次 , 實際上每天會打超過一單 造成額外損失的問題
爬文之後有先在程式內用條件嘗試做一天只打一單的安控,回測時有發揮作用
(回測選擇每次進場次數不限,確實一個交易日只會打一單,我寫的安控邏輯在下面 請參考)
但實際上還是每天會打超過一次
想請問
1.請問系統安控失效的原因是什麼?有辦法改善嗎?
2.若只能自己用程式實現安控 , 請問還有什麼建議寫法? 要如何驗證是否有效呢 ?
以下是成交紀錄時間軸 ,附檔也有紀錄
1.4/29 早上進場 4/29下午出場 (這邊換日 所以不算一天進場一次限制)
2.4/29下午進場 4/29下午出場(這邊以全日盤來看算是今天第一次進場)
3.4/30早上進場 4/30早上出場(這邊以全日盤來看算是今天第二次進場 -> 安控失效)
4.4/30下午進場 4/30下午出場(這邊以全日盤來看算是今天第一次進場)
另外這是我的虛擬程式碼(在程式內條件嘗試過濾,頻率為60分k )
洗價設定為逐筆洗價+自動洗價 洗價間隔一秒,自訂洗價時段為00:00-00:00
有開啟排程 時間為08:46-05:15
策略部位與庫存同步,並只啟用 庫存異動時自動同步數值
var: CurrentSec(0); CurrentSec = mod(CurrentTime, 100); condition1 = CurrentSec>=59 ; //在每個分K快收K時進場 var: intraBarPersist OnOff(0); if currenttime >=150000 and currenttime <=150050 then OnOff=0; // 每次換日 reset 只下一筆單的flag IF Position = 0 and OnOff=0 and condition1 THEN BEGIN SetPosition(1,MARKET,label:="多單"); OnOff=1; End; if position > 0 and condition1 and Close >= FilledAvgPrice + 100 THEN BEGIN SetPosition(0,MARKET,label:="多單停利"); End; if position > 0 and condition1 and Close <= FilledAvgPrice - 100 THEN BEGIN SetPosition(0,MARKET,label:="多單停損"); End;
再麻煩協助解決 感謝幫忙
13 評論