在副圖中顯示10日平均振幅

  •   183 
  • 最後發表   crswin  2024 三月 06
crswin 發文於   2024/03/02

// 定義一個空的陣列來存儲最近10日的振幅

var amplitudeArray = [];

 

// 從過去的10個交易日中獲取每日的最高價和最低價,並計算振幅

for (var i = 1; i <= 10; i++) {

    var highPrice = GetField("最高價", "D-" + i); // 獲取第i天的最高價

    var lowPrice = GetField("最低價", "D-" + i); // 獲取第i天的最低價

    

    if (highPrice != null && lowPrice != null) {

        var amplitude = (highPrice - lowPrice) / highPrice * 100; // 計算振幅,以百分比表示

        amplitudeArray.push(amplitude); // 將振幅添加到陣列中

    }

}

 

// 計算最近10日振幅的平均值

var sum = 0;

for (var j = 0; j < amplitudeArray.length; j++) {

    sum += amplitudeArray[j];

}

var averageAmplitude = sum / amplitudeArray.length;

 

// 輸出結果

Output("最近10日振幅的平均值為:" + averageAmplitude.toFixed(2) + "%");

想請問該如何修正?

排序方式: 標準 | 最新
LeoWmLin 發文於   2024/03/03

average(highd(1)-lowd(1),10)

會不會簡單一點

要百分比再修正一下就好

XS小編 發文於   2024/03/06

Hello crswin,

 

您可以參考小編在 在副圖中顯示10日平均振幅 裡的回覆。

 

LeoWmLin 您的寫法可以使用在日頻率上,但分鐘頻率上計算就有可能出問題。

建議您改用 getfield("High", "D") 和 getfield("Low", "D") 會比較適合。

發表回覆
Close