开拓者 TB实现以个简单的排序功能 [开拓者 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 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容