我想寫一個當沖策略,希望可以當天的9:10進場,並在當天的13:20出場完成當沖,但是我回測了之後發現還是有些股票沒辦法做到當天買賣,而是隔了幾天才賣,需要加入什麼條件才能確保能夠當天買賣? 以下是我的程式碼,還有我回測後的截圖
// 設定可調整的參數
input: Entry_Time(091000, "進場時間(HHMMSS)"); // 9:10整
input: Exit_Time(132000, "出場時間(HHMMSS)"); // 13:20
// 變數宣告
var: intrabarpersist HasEntered(false); // 記錄是否已經進場
var: intrabarpersist Entry_Date(00000000); // 記錄進場日期
var: intrabarpersist HasExited(false); // 記錄是否已經出場
// 設定總Bar數
settotalbar(5);
// 交易邏輯
if Position = 0 and not HasEntered and (CurrentTime >= Entry_Time and CurrentTime < Entry_Time + 100) then begin // 在9:10到9:11之間
SetPosition(-1, Market); // 以市價賣出做空
HasEntered = true; // 標記已進場
end;
if Position < 0 and CurrentTime >= Exit_Time then begin
SetPosition(0, Market); // 以市價買進回補
end;

4 評論