如何利用nthMaxList和NthExtremesArray排序並標示序列名稱?

  •   336 
  • 最後發表   XQYi  2024 十二月 15
XQYi 發文於   2024/12/14

例如有以下6個數據

value1=open; //開盤

value2=high; //最高

value3=low; //最低

value4=low[1]; // 前日低

value5=high[1]; //前日高

value6=close[2]; //前2日收

如何利用nthMaxList 和 NthExtremesArray這兩個函數來排序並標示其序列名稱?

 

排序方式: 標準 | 最新
Robert168 發文於   2024/12/15

首先需要理解 nthMaxList 和 NthExtremesArray 這兩個函數的作用。nthMaxList 用於找到數列中的第 n 個最大值,而 NthExtremesArray 則用於創建一個極值數組,並將找到的極值添加到該數組中。

接下來,我們需要將 value1 到 value6 這六個數據進行排序,並標示其序列名稱。

為了實現這一點,我們可以先使用 nthMaxList 函數來找到這些數據中的最大值,然後使用 NthExtremesArray 函數將這些最大值添加到極值數組中。

最後,我們可以對極值數組進行排序,並根據排序後的位置來標示序列名稱。

以下是實現這一過程的 XScript 程式碼:

// 宣告變數

var: value1(0), value2(0), value3(0), value4(0), value5(0), value6(0);

var: max1(0), max2(0), max3(0), max4(0), max5(0), max6(0);

var: sortedArray[6](0);

 

// 賦值

value1 = open; // 開盤

value2 = high; // 最高

value3 = low; // 最低

value4 = low[1]; // 前日低

value5 = high[1]; // 前日高

value6 = close[2]; // 前2日收

 

// 使用 nthMaxList 找到第 n 個最大值

max1 = nthMaxList(value1, value2, value3, value4, value5, value6, 1); // 最大值

max2 = nthMaxList(value1, value2, value3, value4, value5, value6, 2); // 第二大值

max3 = nthMaxList(value1, value2, value3, value4, value5, value6, 3); // 第三大值

max4 = nthMaxList(value1, value2, value3, value4, value5, value6, 4); // 第四大值

max5 = nthMaxList(value1, value2, value3, value4, value5, value6, 5); // 第五大值

max6 = nthMaxList(value1, value2, value3, value4, value5, value6, 6); // 第六大值

 

// 將最大值添加到極值數組中

sortedArray[1] = max1;

sortedArray[2] = max2;

sortedArray[3] = max3;

sortedArray[4] = max4;

sortedArray[5] = max5;

sortedArray[6] = max6;

 

// 標示序列名稱

plot1(sortedArray[1], "Max1");

plot2(sortedArray[2], "Max2");

plot3(sortedArray[3], "Max3");

plot4(sortedArray[4], "Max4");

plot5(sortedArray[5], "Max5");

plot6(sortedArray[6], "Max6");

 

這段程式碼首先將 value1 到 value6 的數據賦值給變數,然後使用 nthMaxList 函數找到這些數據中的第 n 個最大值,並將這些最大值添加到 sortedArray 數組中。最後,使用 plot 函數標示排序後的序列名稱。

這樣就可以利用 nthMaxList 和 NthExtremesArray 這兩個函數來排序並標示其序列名稱。

XQYi 發文於   2024/12/15

感謝大大

測試 Value1 改為Valu1 後結果如下

希望的是Max1-6 能標示出Valu1-6的//中文名稱

發表回覆
Close