MT5 编程求解

 

各位大佬  如下我分别求10个交易品种的收盘价-开盘价,请问我如何获得对应值最大的三个品种,或者如何将交易品种由大到小排序  请赐教  谢谢

    double b1=iClose(Sym01,zhouqi,1)-iOpen(Sym01,zhouqi,1);
    double b2=iClose(Sym02,zhouqi,1)-iOpen(Sym02,zhouqi,1);
    double b3=iClose(Sym03,zhouqi,1)-iOpen(Sym03,zhouqi,1);
    double b4=iClose(Sym04,zhouqi,1)-iOpen(Sym04,zhouqi,1);
    double b5=iClose(Sym05,zhouqi,1)-iOpen(Sym05,zhouqi,1);
    double b6=iClose(Sym06,zhouqi,1)-iOpen(Sym06,zhouqi,1);
    double b7=iClose(Sym07,zhouqi,1)-iOpen(Sym07,zhouqi,1);
    double b8=iClose(Sym08,zhouqi,1)-iOpen(Sym08,zhouqi,1);
    double b9=iClose(Sym09,zhouqi,1)-iOpen(Sym09,zhouqi,1);
    double b10=iClose(Sym10,zhouqi,1)-iOpen(Sym10,zhouqi,1);

 

定义一个数组把这10个值赋值给数组  用ArraySort排列获 就可以得到数值大小顺序了

定义一个字符串数组 arrs[10];

arrs[0]=b1+"_"+Sym01;

....

然后通过最大值查找这个字符数组,得到了 你需要的 bx+"_"+Sym0x; 然后字符串截取,就得到了最大的值对应的品种了

.....

 

1. 定义一个常量字符串数组,元素为 你的10个品种名

2. 定义一个二维数组,第一列为数据b1,b2,b3...b10,第二列为固定的顺序值0,1,2,3,...,9 (对应1中定义的品种名称)

    ArraySort函数对这个二维数组排序即可。


//---

思路2:定义一个结构体,再定义一个结构体数组,写个对该结构体排序的函数。