PercentB %B指標函數 在不同頻率都有無法被除的BUG存在

  •   161 
  • 最後發表   GammaCEO  2018 十二月 22
GammaCEO 發文於   2018/12/21

如題

X = 隨機數

value1 = PercentB(Close,20,2,2); 

value2 = X / value1;

plot1(value2,"隨機%B");

在不同頻率中想要以一個數來除value1時,都會有很多個股出現『計算停止,請檢查腳本分母是否為0 』,

但分母X明明不等於0也一樣無法顯示,用整數、小數、負數試過通通一樣;

尤其是在5分鐘頻率的線圖最常見,幾乎90%以上個股無法顯示,

其餘日、週、月、1分、15分、30分..等都一半一半,

所以想請教小幫手,看此問題是否有解,還是這又是一種系統BUG,一樣目前無解.....。

謝謝!

 

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2018/12/22

Hi GammaCEO,

但分母X明明不等於0也一樣無法顯示,用整數、小數、負數試過通通一樣;

您好,這裡應該是指「但分母 value1 明明不等於 0 也一樣無法顯示」若是的話,

value1 是有可能等於 0 的,

因為 percentb 函數在第15行~第18行是

up = bollingerband(Price, Length, UpperBand);
down = bollingerband(Price, Length, -1 * LowerBand);

if up - down <> 0 then 
    percentb = 100 * (Price - down) / (up - down) 
else 
    percentb = 0;

故 up - down 若 = 0,則 percentb 為 0,所以 value1 就會有 0 的機會出現。


可以將您的自訂指標腳本改成如下範例,加上if避開分母為0的狀況,以上方向供您參考,謝謝:

value1 = PercentB(Close,20,2,2); 

if value1 <> 0 then
    value2 = 100 / value1
else
    value2 = 0;

plot1(value2,"隨機%B");

 

GammaCEO 發文於   2018/12/22

感謝小幫手

原來問題是出現在分子PercentB而不是分母隨機數,

以後出現類似停止計算的問題我知道怎麼修正了。

發表回覆
Close