大家好,
在撰寫 GetField("內外盤","Tick") 時,蠻常碰到資料讀取錯誤,
原因是 Tick 資料僅提供近 10 日的資料,故建議另外撰寫 SetBarMode(1) 的函數去取值,
就能避免雷達的資料讀取筆數設定超過 10 日的時候 Tick 資料不支援的狀況。
範例函數腳本與撰寫邏輯如下:
//使用 setbarmode(1) 搭配 if 判斷,腳本就能避免強制讀取資料。
setbarmode(1);
//使用 DateDiff(CurrentDate, Date) 用交易日相減的方式來判斷資料讀取在10日內則取內外盤Tick
if DateDiff(CurrentDate, Date) < 10 then
_InOut=GetField("內外盤","Tick")
else
_InOut=0;
搭配的簡單警示範例腳本與法語撰寫邏輯如下:
value1=_InOut; condition1 = true; //簡單的範例來代表雷達在讀取很多的資料筆數時,也能執行成功。 ret=condition1 and value1=1;
有興趣的同學可以匯入附檔範例雷達匯出檔案,自行試試跑跑看,
Jack 也有試過回測也可行,以上供參考,謝謝。