開拓者 TB 5條均線按值的大小再進行從大道小的順序從新排序 [開拓者 TB]
- 咨詢內容: 想實現以個簡單的排序功能,把5條均線按值的大小再進行從大道小的順序從新排序,保存在全局變量中
Params
numeric length(5);
MA1=Average(C,5);
MA2=Average(C,10);
MA3=Average(C,20);
MA4=Average(C,30);
MA5=Average(C,60);
SetGlobalVar(0,MA1);
SetGlobalVar(1,MA2);
SetGlobalVar(2,MA3);
SetGlobalVar(3,MA4);
SetGlobalVar(4,MA5);
// 排序
for i=0 to length-2
{
for j=1 to length-1
{
if (GetGlobalVar(i)<GetGlobalVar(j))
{
intermediate=GetGlobalVar(i);
SetGlobalVar(i,GetGlobalVar(j));
SetGlobalVar(j,intermediate);
}
}
}
PlotNumeric("1",GetGlobalVar(0));
PlotNumeric("2",GetGlobalVar(1));
PlotNumeric("3",GetGlobalVar(2));
PlotNumeric("4",GetGlobalVar(3));
PlotNumeric("5",GetGlobalVar(4));
但輸出的結果排序結果經常不對,請問是我程序的問題還是什么問題嗎,謝謝 - TB技術人員: i = 0 to length-2
j = i to length-1
快速排序嘛 - TB客服:
sorakiraa 發表于 2013-3-25 15:58
i = 0 to length-2
j = i to length-1
謝謝大俠的回復 試了下 的確這次排序就對了
但不是很明白為什么呀? - 網友回復:
woshibing 發表于 2013-3-26 08:43
謝謝大俠的回復 試了下 的確這次排序就對了
但不是很明白為什么呀?
因為你是要把大的數換到前面來,所以只用將下標大于i 的與其比較
比如i=0的一輪過后,最大的已經換到0處了,就不需要再將其與后面的比較了
這是個基本算法。。。應該不難理解 - 網友回復: 恩 對的 明白了 謝謝啦
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 262069696 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容