大家好,

在撰寫 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 也有試過回測也可行,以上供參考,謝謝。