XS如何自動排序plot價位?

  •   210 
  • 最後發表   XQYi  2024 四月 30
XQYi 發文於   2024/04/11

1. XS內有不同的訊號價位多組,如何自動依價位大小排序後再依序plot出來

 

value1=average(Close,5);

value2=EMA( Close,12) ;

value3=EMA( Close,26) ;

value4=average(Close,60);

value20=close;

 

input:_a1(value1),_a2(value2),_a3(value3),_a4(value4),_a9(value20);

array: sort[9](0);

sort[1]=-a1;

sort[2]=-a2;

sort[3]=-a3;

sort[4]=-a4;

 

sort[9]=-a9;

 array_Sort(sort,1,9,true);

plot5(_a1,"d5",checkbox:=0);

plot6(_a2,"d12",checkbox:=0);

plot7(_a3,"d26",checkbox:=0);

plot8(_a5,"d60",checkbox:=0);

plot9(_a9,"收",checkbox:=0);

2. 不支援使用value1的形式,如何修正?

3.及如下圖為何不會顯示當日的圖形?

 

4.周K圖的SMA5,要在日K圖顯示時的程式碼average(CloseW(0),5)?

5.日線圖 average(CloseW(0),1) = close 這兩個數據會相等?

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/04/15

(1)參數的數值必須為常數或價格序列。不能用變數處理。

(2)周K圖的SMA5,要在日K圖顯示時的程式碼average(CloseW(0),5),這裡牽涉到跨頻率的處理,要小心處理,否則會有邏輯的問題。以週五為例,average(CloseW(0),5)會被計算成週一的週收盤價(亦即週一的日收盤價)、週二的週收盤價(亦即週二的日收盤價)...週五的週收盤價(亦即週五的日收盤價)的平均。若要計算這五週的收盤平均,應該用average(getField("收盤價","W"),5)。

(3)日線圖 average(CloseW(0),1) 會等於 close。

XQYi 發文於   2024/04/16

感謝提醒!

XQ小幫手 發文於   2024/04/30

Hello, xqyi.

若您要排序,可以試試看用array_Sort2d(...),來達成,

https://xshelp.xq.com.tw/XSHelp/?HelpName=Array_Sort2d&group=ARRAYFUNC

 

參考程式如下:

value1=average(Close,5);
value2=EMA( Close,12) ;
value3=EMA( Close,26) ;
value4=average(Close,60);
value20=close;

//input:_a1(value1),_a2(value2),_a3(value3),_a4(value4),_a9(value20);
array: sort[5, 2](0);

sort[1,1]=5;
sort[1,2]=value1;
sort[2,1]=12;
sort[2,2]=value2;
sort[3,1]=26;
sort[3,2]=value3;
sort[4,1]=60;
sort[4,2]=value4;
sort[5,1]=0;
sort[5,2]=value20;

array_Sort2d(sort, 1, 5, 2, true);


plot5(sort[1,2],"1",checkbox:=0);
plot6(sort[2,2],"",checkbox:=0);
plot7(sort[3,2],"",checkbox:=0);
plot8(sort[4,2],"",checkbox:=0);
plot9(sort[5,2],"",checkbox:=0);

setplotLabel(5, text(numToStr(sort[1,1],0),"MA"));
setplotLabel(6, text(numToStr(sort[2,1],0),"MA"));
setplotLabel(7, text(numToStr(sort[3,1],0),"MA"));
setplotLabel(8, text(numToStr(sort[4,1],0),"MA"));
setplotLabel(9, text(numToStr(sort[5,1],0),"MA"));

1714382130656

後續問題,許教授已經先行回覆您了,

 

謝謝。

也感謝許教授熱心回覆~~

發表回覆
Close