在分鐘頻率裡抓前一天收盤投信買賣超,回測可以測,但自動交易會有問題

  •   90 
  • 最後發表   edward0112  2023 一月 09
edward0112 發文於   2023/01/06

SettotalBar(270); 

if barFreq<> "min" or barinterval<> 1 then 

raiseRunTimeError("請設定1分頻率"); 

 

condition2 = GetField("投信買賣超", "D") > 0;

 

如標題,想先進行抓取前一日收盤的投信買賣超來用,用在1min頻率的其他功能,回測沒問題,但自動交易會有問題。

請問該怎麼調整,謝謝!

 

 

XQ小幫手 發文於   2023/01/09

Hello edward0112,

 

您的 condition2 = GetField("投信買賣超", "D") > 0; 抓到的會是當天的投信買賣超資料,在回測中可以使用是因為回測時當天的資料已經公布。

可以將其修改為 GetField("投信買賣超", "D")[1] 這樣取得的就會是前一日的資料。

或是

if getfielddate("Date", "D") <> getfielddate("投信買賣超", "D") then value1 = GetField("投信買賣超", "D")[1] else value1 = GetField("投信買賣超", "D");

condition2 = value1 > 0;

 

這樣就會視資料是否有更新決定取前一日或當日的資料。

發表回覆
Close