小編好、大家好,我目前正在使用以下腳本來觀察回檔角度與上漲角度,但遇到了「請增加 settotalbar 長度或減少腳本計算的資料長度」的錯誤訊息。但即使已將 `settotalbar` 設定為 300,程式碼本身也不長,仍然無法正常運行。
腳本摘要:settotalBar(300);
input: period(60);
var:ld(0),hd(0),ldprice(0),hdprice(0),nowprice(0);
var:slope1(0),slope2(0);
//取得區間最高價與最低價相對位置
hd=highestBar(high,period);
ld=lowestBar(low,hd);
//取得區間最高價、最低價、當前收盤價
ldprice=getfield("Low", "D", Adjusted:=true)[ld];
hdprice=getfield("high", "D", Adjusted:=true)[hd];
nowprice=getfield("close", "D", Adjusted:=true);
///記算斜率
//分母可能為0會造成錯誤,所以要寫以下式子
if (hd-ld) <> 0
then slope1=(ldprice-hdprice)/hdprice*100/(hd-ld)
else if (hd-ld)=0
then slope1 = 0;
if ld <> 0
then slope2 = (nowprice - ldprice) / hdprice * 100 / ld
else if ld=0
then slope2 = 0;
//把斜率轉成角度
value1=arcTangent(slope1);
value2=arcTangent(slope2);
plot1(value1,"回檔角度");
plot2(value2,"上漲角度");
遇到的問題:
`ld = lowestBar(low, hd);` 這行程式碼會導致「請增加 settotalbar 長度或減少腳本計算的資料長度」的錯誤訊息。我已將 `settotalbar` 設為 300,但仍然出現該錯誤。
我的理解是,這行程式碼的目的是從 `hd` 計算的最高點之後,尋找該區間內的最低價,但不確定為什麼會導致該錯誤。
請問有沒有人遇到過類似問題,或知道這個錯誤訊息原因?非常感謝!
4 評論