目標:找出從今天起算,往前50~60天,這10天之中的收盤價之最高價
下面這兩種哪個是正確的
這兩個運算的結果會有甚麼不一樣
謝謝
highest(close,10)[50];
highest(close[50],10);
目標:找出從今天起算,往前50~60天,這10天之中的收盤價之最高價
下面這兩種哪個是正確的
這兩個運算的結果會有甚麼不一樣
謝謝
highest(close,10)[50];
highest(close[50],10);
兩個結果都一樣,但是執行邏輯方式不同,我的理解是以下解釋,
highest(close,10)[50]; 是highest()所在的頻率往前50根K棒,然後在第50根K棒在執行 highest(close,10)
highest(close[50],10); 是抓取close所在的頻率往前50根K棒的close值,然後放到 highest()裡面運算,而由於close是序列值,所以highest會用當下的close值得J棒往前找出10根K棒最高值。
以上解釋如果有誤請依XQ小編為準
Hello George L,
由於 highest 函數是用節省效能的寫法,所以 highest(close,10)[50]; 這種運用方式可能會導致計算錯誤。
highest(close[50],10); 這種是可行的。
另外,simplehighest 是較耗效能但能保證正確性的函數, simplehighest(close,10)[50] 和 simplehighest(close[50],10) 兩者計算出來應該會相同。
兩者的運算邏輯都可以在XS編輯器裡的內建函數腳本中看到。
感謝 musashi 的熱心回覆。
2 評論