同問。
這兩天在回測時也出現類似的情況,使用還原值回測時,addspread抓到的價格並不正確,我猜想是使用addspread時,它抓到的是原始值,以致於交易動作錯誤。
例如以下述簡單程式為例,股價大於等於漲停下一檔時買進,隔日出。回測中環2323,
以2018/10/15日為例,當天若以原始值計算漲停參考價約6.27元,若以原始值來看當天漲幅只有-0.7%遠不及漲停價,但以還原值來看,高低價分別為7.73及7.57,因此若以下述程式回測還原價,會觸發買入條件,若以原始值回測,則不會有錯誤動作。
經反覆測試之後,我猜想應該是addspread這個函數抓到的是原始值的價格包含漲跌停價,提供給工程師參考一下,謝謝!!
{
漲停板下一檔買進,隔日出
}
if position = 0 and close >= addSpread(upLimit(closeD(1)),-1) then setposition(1); //漲停下一檔買進
if filled <>0 then begin
if date <> filledRecordDate(filledRecordCount) then begin //隔日賣出
setposition(0);
end;
end;
2 評論