lowest有bug請修正

  •   155 
  • 最後發表   xcm  2020 四月 20
xcm 發文於   2020/04/17

請看上傳的圖plot2 跟 plot3 數值應該要一樣才對,但是遇到這種K線圖會出錯

 

附上測試代碼,麻煩測試修正.

// Lowest有BUG

//

input: Region(100);

variable: getRegion(0);

SetFirstBarDate(20180101);

getRegion = HighestBar(high, Region) * 2;

if low <= Lowest(low[1], getRegion) then

begin

plot1(getRegion);

plot2(Lowest(low, 52));

plot3(Lowest(low, getRegion));

end;

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/04/20

Hi xcm

建議您下次截圖可以附上完整畫面喔,是幾分K棒,小幫手猜了好一段時間才試出來

或是您可以把完整的自訂畫面匯出檔案(*.daox)提供給小幫手

我們起初的lowest函數是有依據lowest前面的值去重複計算,因此後面的參數必須為固定值

您的語法中,getregion是一個變動值,這樣就不能使用lowest

我們會再將相關敘述寫入lowest說明,謝謝。

為了解決此問題,後續我們有發展simplelowest語法,避免此問題

因此將您的語法改如下圖所示,就可以解決此問題,以上說明,謝謝。

語法如下

input: Region(100);

variable: getRegion(0);

SetFirstBarDate(20180101);

getRegion = HighestBar(high, Region) * 2;

if low <= Lowest(low[1], getRegion) then

begin

plot1(getRegion);

plot2(Lowest(low, 52));

plot3(simplelowest(low, getRegion));

end;

 

xcm 發文於   2020/04/20

其實不管幾分K,Lowest就是有這bug.

想請教,還有哪些函數是不能帶變數進去的?

另外,再請教為何不調整lowest這函數的設計方式? 而要多弄一個simplelowest?

因為這不是腳本語言該有的做法,理論上應該要改lowest的寫法,而不是要使用者自己區分變數不能帶入.

函數帶入的值不應該區分是否為變數,而結果不同.

發表回覆
Close