文章 "“EA 交易”运行期间平衡曲线斜率的控制" - 页 5

 
solandr:

让我们看看这些变化对 EA 的影响有多大

到目前为止,没有发生任何根本性的变化。在所有货币对上同时运行的结果仍存在差异。我会继续研究。
 
solandr:
到目前为止,没有任何根本性的变化。同时运行所有配对的结果都存在同样的差异。我将进一步研究。
结果如下:在任何测试模式 下,交易列表都是完全一致的--无论是所有交易对还是只测试一对交易对。只有切换平衡控制的时刻不一致?
 
Dima_S:
也就是说,在任何测试模式 下,交易清单都是完全相同的,无论是测试所有配对,还是只测试一对。只有平衡控制切换的时刻不一致?

是的。

这就是我今天的发现。

我进入包括尼克在内的仪器,开始在一些有趣的地方打印,结果在测试多对仪器时发现了这个问题。通常情况下,数据或多或少都能满足要求,但有时阵列中的单个数据会飞上天。这种情况从何而来?以下是事务参数等于 15 的工作变体:

2012.08.08 15:03:00 this.group_result_array[0]=3.105036941761521e+231
ER 0 Core 1 12:09:30 2012.08.08 08 15:03:00 this.group_result_array[1]=497.99999999999
JG 0 Core 1 12:09:30 2012.08.08.08 15:03:00 this.group_result_array[2]=-1447.0
ON 0 Core 1 12:09:30 2012.08.08.08 15:03:00 this.group_result_array[3]=-75.0
ND 0 Core 1 12:09:30 2012.08.08.08 15:03:00 this.group_result_array[4]=-1173.0
DH 0 Core 1 12:09:30 2012.08.08 15:03:00 this.group_result_array[5]=4697.0
GS 0 Core 1 12:09:30 2012.08.08.08 15:03:00 this.group_result_array[6]=-56.999999999999
DD 0 Core 1 12:09:30 2012.08.08 15:03:00 this.group_result_array[7]=187.0
JH 0 Core 1 12:09:30 2012.08.08 15:03:00 this.group_result_array[8]=-914.0
HQ 0 Core 1 12:09:30 2012.08.08 15:03:00 this.group_result_array[9]=-982.0
MJ 0 Core 1 12:09:30 2012.08.08 15:03:00 this.group_result_array[10]=805.0
GL 0 Core 1 12:09:30 2012.08.08 15:03:00 this.group_result_array[11]=385.0
ID 0 Core 1 12:09:30 2012.08.08 15:03:00 this.group_result_array[12]=-798.0
DJ 0 Core 1 12:09:30 2012.08.08 15:03:00 this.group_result_array[13]=1561.0
FR 0 Core 1 12:09:30 2012.08.08 15:03:00 X[0]=22183803.0 Y[0]=1561.0
FH 0 Core 1 12:09:30 2012.08.08 15:03:00 X[1]=22186960.0 Y[1]=763.0
GL 0 Core 1 12:09:30 2012.08.08 15:03:00 X[2]=22197303.0 Y[2]=1148.0
RE 0 Core 1 12:09:30 2012.08.08 15:03:00 X[3]=22207443.0 Y[3]=1953.0
OM 0 Core 1 12:09:30 2012.08.08 15:03:00 X[4]=22212063.0 Y[4]=971.0
MG 0 Core 1 12:09:30 2012.08.08.08 15:03:00 X[5]=22225383.0 Y[5]=57.0
FK 0 Core 1 12:09:30 2012.08.08 08 15:03:00 X[6]=22248723.0 Y[6]=244.0
QR 0 Core 1 12:09:30 2012.08.08 08 15:03:00 X[7]=22265943.0 Y[7]=187.0
MJ 0 Core 1 12:09:30 2012.08.08 15:03:00 X[8]=22335543.0 Y[8]=4884.0
JS 0 Core 1 12:09:30 2012.08.08 15:03:00 X[9]=22338363.0 Y[9]=3711.0
JD 0 Core 1 12:09:30 2012.08.08 15:03:00 X[10]=22349163.0 Y[10]=3636.0
OM 0 Core 1 12:09:30 2012.08.08 15:03:00 X[11]=22358283.0 Y[11]=2189.0
FF 0 Core 1 12:09:30 2012.08.08 15:03:00 X[12]=22400283.0 Y[12]=2687.0
GS 0 Core 1 12:09:30 2012.08.08 15:03:00 X[13]=22407303.0 Y[13]=3.105036941761521e+231
NL 0 Core 1 12:09:30 2012.08.08.08 15:03:00 var_0=3.960436915196813e+236 var_1=86864140528.35715
RD 0 Core 1 12:09:30 2012.08.08.08 15:03:00 this.current_slope=4.559346228613075e+225

 

顺便说一下,我刚刚在测试其中一对时发现了上述效果。似乎有什么地方没有清零,或者访问的区域已经存在错误数据。如何检测并消除这种情况?我想我们需要加强对进入数组的数据的控制。如何做到这一点?

2012.05.31 14:41:59 this.group_result_array[0]=-279.9
PF 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[1]=-275.4
MH 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[2]=-302.5
OQ 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[3]=-281.4999999999999
PE 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[4]=-274.4
QN 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[5]=-323.9999999999999
LL 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[6]=1.61390681602331e+116
QE 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[7]=-249.0
PO 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[8]=-249.0
CQ 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[9]=-250.0
OI 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[10]=-249.0
RO 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[11]=-249.0
ME 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[12]=-249.0
DK 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[13]=-250.0
CQ 0 Core 1 12:48:50 2012.05.31 14:41:59 this.group_result_array[14]=-249.0
IE 0 Core 1 12:48:50 2012.05.31 14:41:59 X[0]=22193876.0 Y[0]=-249.0
NL 0 Core 1 12:48:50 2012.05.31 14:41:59 X[1]=22194448.0 Y[1]=-499.0
JG 0 Core 1 12:48:50 2012.05.31 14:41:59 X[2]=22194812.0 Y[2]=-748.0
PN 0 Core 1 12:48:50 2012.05.31 14:41:59 X[3]=22195279.0 Y[3]=-997.0
CR 0 Core 1 12:48:50 2012.05.31 14:41:59 X[4]=22195447.0 Y[4]=-1246.0
LK 0 Core 1 12:48:50 2012.05.31 14:41:59 X[5]=22195632.0 Y[5]=-1496.0
MP 0 Core 1 12:48:50 2012.05.31 14:41:59 X[6]=22196242.0 Y[6]=-1745.0
OI 0 Core 1 12:48:50 2012.05.31 14:41:59 X[7]=22196301.0 Y[7]=-1994.0
PS 0 Core 1 12:48:50 2012.05.31 14:41:59 X[8]=22269123.0 Y[8]=1.61390681602331e+116
DH 0 Core 1 12:48:50 2012.05.31 14:41:59 X[9]=22276026.0 Y[9]=1.61390681602331e+116
HE 0 Core 1 12:48:50 2012.05.31 14:41:59 X[10]=22276174.0 Y[10]=1.61390681602331e+116
QR 0 Core 1 12:48:50 2012.05.31 14:41:59 X[11]=22287959.0 Y[11]=1.61390681602331e+116
NO 0 Core 1 12:48:50 2012.05.31 14:41:59 X[12]=22289679.0 Y[12]=1.61390681602331e+116
DD 0 Core 1 12:48:50 2012.05.31 14:41:59 X[13]=22307227.0 Y[13]=1.61390681602331e+116
EP 0 Core 1 12:48:50 2012.05.05.31 14:41:59 X[14]=22307921.0 Y[14]=1.61390681602331e+116
HM 0 Core 1 12:48:50 2012.05.05.31 14:41:59 var_0=5.571865878831281e+121 var_1=33339632014.93333
HE 0 Core 1 12:48:50 2012.05.31 14:41:59 this.current_slope=1.671243964641108e+111

 
solandr:

顺便说一下,我刚刚在测试其中一对时发现了上述效果。似乎有什么地方没有清零,或者访问的区域已经存在错误数据。如何检测并消除这种情况?我想我们需要加强对进入数组的数据的控制。如何做到这一点?

是的,情况似乎就是这样。我周末会去看看。也很有趣)
 

我在 includnik 中找到了一个 "狗在洞里 "的地方!数组排序 出现故障。我插入了排序前后的打印文本:

//我的支票
        for( index = 0; index < count; index++ )
        {
   
      Print("BEFORE SORTING org_result_array[",index,"]=",org_result_array[ index ]," this.org_datetime_array[",index,"]=",this.org_datetime_array[ index ]);
        
        }
// 按订单关闭日期/时间对 "原始 "数组排序:
        SortMasterSlaveArray( this.org_datetime_array, this.org_result_array );

//我的支票
        for( index = 0; index < count; index++ )
        {
   
      Print("AFTER SORTING org_result_array[",index,"]=",org_result_array[ index ]," this.org_datetime_array[",index,"]=",this.org_datetime_array[ index ]);
        
        }

下面是对其中一对进行测试时弹出的结果:

MQ 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[0]=-279.9 this.org_datetime_array[0]=22307921.0
QQ 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[1]=-275.4 this.org_datetime_array[1]=22307227.0
QR 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[2]=-302.5 this.org_datetime_array[2]=22289679.0
QR 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[3]=-281.4999999999999 this.org_datetime_array[3]=22287959.0
PQ 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[4]=-274.4 this.org_datetime_array[4]=22276174.0
PR 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[5]=-323.99999999999 this.org_datetime_array[5]=22276026.0
IP 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[6]=5354.0 this.org_datetime_array[6]=22269123.0
MQ 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[7]=-249.0 this.org_datetime_array[7]=22196301.0
GR 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[8]=-249.0 this.org_datetime_array[8]=22196242.0
GR 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[9]=-250.0 this.org_datetime_array[9]=22195632.0
GS 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[10]=-249.0 this.org_datetime_array[10]=22195447.0
NS 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[9]=-250.0 this.org_datetime_array[9]=22195632.31 14:41:59 BEFORE SORTING org_result_array[11]=-249.0 this.org_datetime_array[11]=22195279.0
DS 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[12]=-249.0 this.org_datetime_array[12]=22194812.0
QS 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[13]=-250.0 this.org_datetime_array[13]=22194448.0
OL 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[14]=-249.0 this.org_datetime_array[14]=22193876.0
OL 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[15]=-315.0 this.org_datetime_array[15]=22188593.0
EL 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[16]=-249.0 this.org_datetime_array[16]=22188401.0
LL 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[17]=-249.0 this.org_datetime_array[17]=22188390.0
KM 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[18]=-318.0 this.org_datetime_array[18]=22178692.0
NM 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[19]=-250.0 this.org_datetime_array[19]=22171680.0
QM 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[20]=-249.0 this.org_datetime_array[20]=22168711.0
OM 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[21]=-250.0 this.org_datetime_array[21]=22168595.0
KN 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[22]=-248.9 this.
CN 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[23]=-249.5 this.org_datetime_array[23]=22167843.0
PN 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[24]=-249.0 this.org_datetime_array[24]=22165238.0
FN 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[25]=-249.6 this.org_datetime_array[25]=22165036.0
MO 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[26]=-271.0 this.org_datetime_array[26]=22164783.0
GO 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[27]=-256.0 this.org_datetime_array[27]=22161600.0
QO 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[28]=-249.0 this.org_datetime_array[28]=22158602.0
OO 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[29]=-250.0 this.org_datetime_array[29]=22158129.0
PH 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[30]=-249.0 this.org_datetime_array[30]=22157426.0
MH 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[31]=-249.0 this.org_datetime_array[31]=22156983.0
KH 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[32]=-249.0 this.org_datetime_array[32]=22156408.0
FH 0 Core 1 13:48:51 2012.05.05.31 14:41:59 BEFORE SORTING org_result_array[33]=-249.0 this.org_datetime_array[33]=22154526.0
EI 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[34]=-249.0 this.org_datetime_array[34]=22153931.0
PI 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[35]=-271.0 this.
MH 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[36]=2387.0 this.org_datetime_array[36]=22153263.0
KI 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[37]=-274.0 this.org_datetime_array[37]=22135056.0
DJ 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[38]=-273.0 this.org_datetime_array[38]=22132446.0
FJ 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[39]=-277.0 this.org_datetime_array[39]=22132307.0
DJ 0 Core 1 13:48:51 2012.05.31 14:41:59 BEFORE SORTING org_result_array[40]=-597.0 this.org_datetime_array[40]=22093229.0
NG 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[0]=-279.9 this.org_datetime_array[0]=22307921.0
DF 0 Core 1 13:48:51 2012.05.31 14:41:59 排序后 org_result_array[1]=-275.4 this.org_datetime_array[1]=22307227.0
FI 0 FI 0 Core 1 13:48:51 2012.05.31 14:41:59 排序后31 14:41:59 AFTER SORTING org_result_array[2]=-302.5 this.org_datetime_array[2]=22289679.0
HI 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[3]=-281.4999999999999 this.org_datetime_array[3]=22287959.0
GF 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[4]=-274.4 this.org_datetime_array[4]=22276174.0
MI 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[5]=-323.99999999999 this.org_datetime_array[5]=22276026.0
FG 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[6]=5354.0 this.org_datetime_array[6]=22269123.0
GG 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[7]=1.61390681602331e+116 this.org_datetime_array[7]=22269123.0
PF 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[8]=-249.0 this.
PK 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[9]=7.869518189098558e-151 this.org_datetime_array[9]=22196301.0
RG 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[10]=-249.0 this.org_datetime_array[10]=22196242.0
LG 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[11]=-250.0 this.org_datetime_array[11]=22195632.0
NF 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[12]=-249.0 this.org_datetime_array[12]=22195447.0
IF 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[13]=-249.0 this.org_datetime_array[13]=22195279.0
MF 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[14]=-249.0 this.org_datetime_array[14]=22194812.0
RI 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[15]=-250.0 this.org_datetime_array[15]=22194448.0
NI 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[16]=-249.0 this.org_datetime_array[16]=22193876.0
LI 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[17]=-315.0 this.org_datetime_array[17]=22188593.0
DH 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[18]=-249.0 this.org_datetime_array[18]=22188401.0
CH 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[19]=-249.0 this.org_datetime_array[19]=22188390.0
JK 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[20]=-318.0 this.org_datetime_array[20]=22178692.0
IK 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[21]=-250.0 this.org_datetime_array[21]=22171680.0
HK 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[22]=-249.0 this.org_datetime_array[22]=22168711.0
PJ 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[23]=-250.0 this.org_datetime_array[23]=22168595.0
RJ 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[24]=-248.9 this.org_datetime_array[24]=22168313.0
HJ 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[25]=-249.5 this.org_datetime_array[25]=22167843.0
QM 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[26]=-249.0 this.org_datetime_array[26]=22165238.0
MM 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[27]=-249.6 this.org_datetime_array[27]=22165036.0
HL 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[28]=-271.0 this.org_datetime_array[28]=22164783.0
LL 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[29]=-256.0 this.org_datetime_array[29]=22161600.0
HL 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[30]=-249.0 this.org_datetime_array[30]=22158602.0
PO 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[31]=-250.0 this.org_datetime_array[31]=22158129.0
MO 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[32]=-249.0 this.org_datetime_array[32]=22157426.0
RO 0 Core 1 13:48:51 2012.05.31 14:41:59 排序后 org_result_array[33]=-249.0 this.org_datetime_array[33]=22156983.0
NN 0 Core 1 13:48:51 2012.05.31 14:41:59 排序后 org_result_array[34]=-249.0 this.org_datetime_array[34]=22156408.0
MN 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[35]=-249.0 this.org_datetime_array[35]=22154526.0
PQ 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[36]=-249.0 this.org_datetime_array[36]=22153931.0
CQ 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[37]=-271.0 this.org_datetime_array[37]=22153579.0
DP 0 Core 1 13:48:51 2012.05.31 14:41:59 排序后 org_result_array[38]=2387.0 this.org_datetime_array[38]=22153263.0
LP 0 Core 1 13:48:51 2012.05.31 14:41:59 排序后 org_result_array[39]=-274.0 this.org_datetime_array[39]=22135056.0
IP 0 Core 1 13:48:51 2012.05.31 14:41:59 AFTER SORTING org_result_array[40]=-273.0 this.org_datetime_array[40]=22132446.0

 

耶我解决了这个问题!
如果首先将对象数组复制到一个普通数组中,然后将这个临时数组转移到排序函数中,就不会出现意外故障。此外,货币对联合运行的最终余额几乎完全一致(差异微乎其微)。
以下是测试结果和我用来消除故障的代码。(请注意,当前的数据与代码修复前的数据不同,即使是在第一个货币对的单次运行中也是如此。

solandr 2012.09.26 23:16 2012.09.26 23:16:04 )

启用批量控制后
34 0 0 0 6487.33 第一对
0 36 0 5556.60 第二对
0 0 0 168 4374.44 第三对
34 36 168 16418.47 所有三对
三对的余额总和 16418.37 (与联合运行的差异为 0.1)

关闭批量控制后
0 0 0 6702.44 第一对
0 0 0 5742.89 第二对
0 0 0 0 4358.22 第三对
0 0 0 0 16804.53 所有三对
三对余额之和 16803.55 (与联合运行的差值为 0.98)。

double temp_array1[],temp_array2[];
ArrayResize(temp_array1,count);
ArrayResize(temp_array2,count);

        for( index = 0; index < count; index++ )
        {
           temp_array1[index]=this.org_datetime_array[index];
           temp_array2[index]=this.org_result_array[index];
        }



// 按订单关闭日期/时间对 "原始 "数组排序:
        //SortMasterSlaveArray( this.org_datetime_array, this.org_result_array ); - 这段代码并非总能正确运行
        SortMasterSlaveArray(temp_array1,temp_array2);

        for( index = 0; index < count; index++ )
        {
           this.org_datetime_array[index]=temp_array1[index];
           this.org_result_array[index]=temp_array2[index];
        }       

请修改文章中的 includnik,以免其他人为不同的测试而绞尽脑汁好几天。谢谢!

 

我认为,您应该写信给服务台,而不是更改包含器。

事情不应该是这样的。从任何角度看,不必要的复制都是不必要的。总的来说,你做得很好!

通过服务台给自己一个好评)) ))

 

给 MQ 团队的信息:

亲爱的 MT5 开发人员,我想提请您注意在 Windows 7 Enterprise(授权,英文)下运行的 MT5 Build 695(2012 年 9 月 6 日,冠军终端-2012,账户:1101505,服务器:MetaQuotes-Demo)测试过程中发现的一些意外问题。问题是通过引用传递给排序功能的数据(作为对象元素的数组)出现莫名其妙的扭曲。

随附原始(有错误)和修正(无错误)源代码的源文件,以及 Expert Advisor 的工作日志文件,显示这两种代码变体的工作情况。在相同的测试条件下,数据失真的错误被稳定地重现。请注意 2012.02.24 08:03:40 (数组数据混淆)和 2012.05.31 14:41:59 (数据 "飞上天")的日志。

谢谢!

 
solandr:

给 MQ 团队的留言

亲爱的 MT5 开发人员,我想提请您注意在 Windows 7 Enterprise(授权,英文)下运行的 MT5 Build 695(2012 年 9 月 6 日,冠军终端-2012,账户:1101505,服务器:MetaQuotes-Demo)测试过程中发现的一些意外问题。问题是通过引用传递给排序功能的数据(作为对象元素的数组)出现无法解释的扭曲。

随附原始(有错误)和修正(无错误)源代码的源文件,以及 Expert Advisor 的工作日志文件,展示了这两种代码变体的工作情况。在相同的测试条件下,数据失真的错误被稳定地重现。请注意 2012.02.24 08:03:40 (数组数据混淆)和 2012.05.31 14:41:59 (数据 "飞上天")的日志。

谢谢!



GetTradeResultsArray 函数中的用户端错误。

准备了一个包含 X 个数据的动态数组,但却填充了 N 个数据(N<X),例如,如果有一笔带有 "外星人 "魔法的交易。

在排序前,输出 N 个数据,但排序中涉及 X,当然 X-N 数据是内存中的随机数。


解决方案:
1) 在数组填充到 N 后对其进行 "修剪"
2) 将 N 传递给排序函数
3) 用明显偏大/偏小的数据初始化数组 X,排序后这些数据将被 "抛弃"。