SetBarMode 如官網解釋如下, EMA之類的函數理應使用 mode 2 才能運算, 但我實際測試就算在 EMA 這類的函式之中將 SetBarMode 設為1, 得到的結果還是一樣!
我還測試過其它的函數, 結果 mode 0, 1, 2 所得到的結果都是一樣的!
請問, 這個 SetBarMode 真的有在運作嗎?


SetBarMode 如官網解釋如下, EMA之類的函數理應使用 mode 2 才能運算, 但我實際測試就算在 EMA 這類的函式之中將 SetBarMode 設為1, 得到的結果還是一樣!
我還測試過其它的函數, 結果 mode 0, 1, 2 所得到的結果都是一樣的!
請問, 這個 SetBarMode 真的有在運作嗎?


Hello GaryChiang,
SetBarMode 並不會強制您的腳本不能取用 / 可以取用腳本的前期值。
SetBarMode(2) 是在特殊情況下腳本沒有運算該函數時,下次運算到該函數時會將之前沒運算的部分補起來。
另外,小幫手和工程師確認後得知,目前如果您在腳本中有使用到 [1] 來取前期值時,系統會修改設定為2。
如果您要測試 setbarmode(1) 會發生什麼事的話,可以將 setbarmode(1) 放到腳本最下面。
接著用像是指標函數畫出:
if mod(currentbar,10) = 1 then begin
value1 = EMA_1(close, 10);
end;
value2 = EMA_1(close, 10);
value3 = ema(close, 10);
plot1(value1);
plot2(value2);
plot3(value3);
您就可以看出plot1 和另外兩個的差別。(參考附圖)
1 評論