記事"Expert Advisor動作中のバランス曲線勾配調整"についてのディスカッション - ページ 5 123456 新しいコメント Иван 2012.09.28 08:39 #41 solandr:これらの変更がEAにどれほどの影響を与えるか見てみよう。 今のところ、根本的には何も変わっていない。全ペアで同時実行した結果にも同じ不一致がある。調査を続ける。 Dmitriy Skub 2012.09.28 09:11 #42 solandr: 今のところ、根本的には何も変わっていない。すべてのペアで同時に実行しても、結果は同じように食い違う。さらに掘り下げてみる。 つまり、以下のことが判明した。どのテストモードでも、すべてのペアでも、1つのペアだけをテストした場合でも、ディールのリストは絶対に一致する。バランスコントロールを切り替えた瞬間だけが一致しない? Иван 2012.09.28 10:18 #43 Dima_S: つまり、どのテストモードでも、すべてのペアでも、1つのペアだけをテストする場合でも、ディールのリストはまったく同じであることがわかった。バランスコントロールが切り替わる瞬間だけが一致しない? そうです。 これは今日すでに見つけたことだ。 私はインクルードニクに入り、興味深い場所にプリントを貼り始めた。 そしてこれが、複数のペアを走らせたときにわかったことだ。通常、データは多かれ少なかれ適切なのだが、時々、アレイからの個々のデータが空に飛んでしまうのだ。これはどこから起こるのだろうか?以下は、トランザクションのパラメーターを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 15:03:00 this.group_result_array[1]=497.999999999 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 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.9999999999 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 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 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 コア 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.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 15:03:00 this.current_slope=4.559346228613075e+225 Discussion of article "Controlling Bug!!in Tester,some bars are Errors, bugs, questions Иван 2012.09.28 10:39 #44 ところで、あるペアでテストしたところ、上記のような効果があることがわかりました。どこかで何かがゼロになっていないか、すでに不正確なデータが存在する領域にアクセスしているようです。どうすればこれを検出し、取り除くことができるでしょうか?配列に入ってくるデータの制御を厳しくする必要があるのでしょう。どうすればいいでしょうか? 2012.05.31 14:41:59 this.group_result_array[0]=-279.9 PF 0 コア 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.49999999999 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.99999999999 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 コア 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.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.6712439641108e+111 Discussion of article "Controlling Errors, bugs, questions エラー、バグ、質問 Dmitriy Skub 2012.09.28 11:24 #45 solandr:ところで、あるペアでテストしたところ、上記のような効果があることがわかりました。どこかで何かがゼロになっていないか、すでに不正確なデータが存在する領域にアクセスしているようです。どうすればこれを検出し、取り除くことができるでしょうか?配列に入ってくるデータの制御を厳しくする必要があるのでしょう。その方法は? そうだね。週末に見てみるよ。こちらも興味深い) Иван 2012.09.28 11:44 #46 インクルードニクで「犬が穴の中にいる」場所を見つけた!配列の並べ替えに 不具合がある。ソート前とソート後のプリントを挿入してみた: //MY CHECK 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 ]); } // "raw "配列を、注文が終了した日時でソートする: SortMasterSlaveArray( this.org_datetime_array, this.org_result_array ); //MY CHECK 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 ]); } ペアの1つでテストしたときに表示された結果は以下の通り: 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.499999999 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.999999999 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[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.org_datetime_array[22]=22168313.0 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.org_datetime_array[35]=22153579.0 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 AFTER SORTING 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 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.49999999999 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.999999999 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.org_datetime_array[8]=22196301.0 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 AFTER SORTING 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 AFTER SORTING 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 ソート後 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 AFTER SORTING 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 AFTER SORTING 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 ソート後 org_result_array[40]=-273.0 this.org_datetime_array[40]=22132446.0 Discussion of article "Controlling Circular Buffer Issue MQL5 ASCTrend system Иван 2012.09.28 23:37 #47 やったー!問題は解決した! まずオブジェクト配列を通常の配列にコピーし、この一時的な配列をソート関数に転送すれば、予期せぬ不具合は発生しない。配列のデータが空に飛ぶこともなく、すべてのロットスイッチが一致します。 また、通貨ペアの共同実行における最終残高もほぼ完全に一致します(差は微小です)。 以下はテスト結果と、私が不具合を解消するために使用しているコードです。(現在のデータは、最初のペアの単独実行でさえ、コード修正前に得られたデータとは異なっていることに注意してください。 solandr 2012.09.26 23:16 2012.09.26 23:16:04 #) ロットコントロール有効時 34 0 0 0 6487.33 1組目 0 36 0 5556.60 2組目 0 0 168 4374.44 3組目 34 36 168 16418.47 3組とも 3組の収支の合計 16418.37 (ジョイントランとの差 0.1) ロット制御をオフにした場合 0 0 0 0 6702.44 第1ペア 0 0 0 5742.89 第2ペア 0 0 0 4358.22 第3ペア 0 0 0 16804.53 全3ペア 3ペアの収支合計 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]; } // "raw "配列を、注文が終了した日時でソートする: //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を変更してください。ありがとう! Discussion of article "Controlling PREDICT time period Help me write an Dmitriy Skub 2012.09.29 21:30 #48 IMHOとしては、includerを変更するのではなく、service-deskに書き込むべきだ。このようにすべきではありません。不必要なコピーは、あらゆる観点から見て不必要だ。そして一般的に、あなたは優秀です!service-desk経由で自分自身にプラス評価を与えてください))) Иван 2012.10.02 08:06 #49 MQチームへのメッセージ 親愛なるMT5開発者の皆様、Windows 7 Enterprise (licensed, English)上で動作しているMT5 Build 695 (6 Sep 2012, Championship Terminal-2012, Account: 1101505, Server: MetaQuotes-Demo)のテスト中に検出された予期せぬ問題にご注意ください。問題は、ソート関数への参照によって渡されたデータ(オブジェクト要素としての配列)の不可解な歪みです。 ORIGINAL(エラーあり)とCORRECTED(エラーなし)のソースコードとExpert Advisorの動作のログファイルを添付します。データの歪みを伴うエラーは、同じ指定されたテスト条件下で安定的に再現されます。2012.02.24 08:03:40(配列データが混在)と2012.05.31 14:41:59(データが「空に飛んだ」)のログに注目してください。 ありがとうございました! ファイル: BalanceSlopeControl_ORIGINAL.mqh 36 kb BalanceSlopeControl_CORRECTED.mqh 36 kb 20121002_ORIGINAL.log 786 kb 20121002_CORRECTED.log 785 kb Ilyas 2012.10.02 11:46 #50 solandr:MQチームへのメッセージ親愛なるMT5開発者の皆様、Windows 7 Enterprise(ライセンス、英語)上で動作するMT5 Build 695(2012/9/6, Championship Terminal-2012, Account: 1101505, Server: MetaQuotes-Demo)のテスト中に検出された予期せぬ問題にご注意ください。問題は、ソート関数への参照によって渡されたデータ(オブジェクト要素としての配列)の原因不明の歪みです。 ORIGINAL(エラーあり)とCORRECTED(エラーなし)のソースコードと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を明らかに大きい/小さいデータで初期化。 123456 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これらの変更がEAにどれほどの影響を与えるか見てみよう。
今のところ、根本的には何も変わっていない。すべてのペアで同時に実行しても、結果は同じように食い違う。さらに掘り下げてみる。
つまり、どのテストモードでも、すべてのペアでも、1つのペアだけをテストする場合でも、ディールのリストはまったく同じであることがわかった。バランスコントロールが切り替わる瞬間だけが一致しない?
そうです。
これは今日すでに見つけたことだ。
私はインクルードニクに入り、興味深い場所にプリントを貼り始めた。 そしてこれが、複数のペアを走らせたときにわかったことだ。通常、データは多かれ少なかれ適切なのだが、時々、アレイからの個々のデータが空に飛んでしまうのだ。これはどこから起こるのだろうか?以下は、トランザクションのパラメーターを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 15:03:00 this.group_result_array[1]=497.999999999
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 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.9999999999
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 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 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 コア 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.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 15:03:00 this.current_slope=4.559346228613075e+225
ところで、あるペアでテストしたところ、上記のような効果があることがわかりました。どこかで何かがゼロになっていないか、すでに不正確なデータが存在する領域にアクセスしているようです。どうすればこれを検出し、取り除くことができるでしょうか?配列に入ってくるデータの制御を厳しくする必要があるのでしょう。どうすればいいでしょうか?
2012.05.31 14:41:59 this.group_result_array[0]=-279.9
PF 0 コア 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.49999999999
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.99999999999
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 コア 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.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.6712439641108e+111
ところで、あるペアでテストしたところ、上記のような効果があることがわかりました。どこかで何かがゼロになっていないか、すでに不正確なデータが存在する領域にアクセスしているようです。どうすればこれを検出し、取り除くことができるでしょうか?配列に入ってくるデータの制御を厳しくする必要があるのでしょう。その方法は?
インクルードニクで「犬が穴の中にいる」場所を見つけた!配列の並べ替えに 不具合がある。ソート前とソート後のプリントを挿入してみた:
ペアの1つでテストしたときに表示された結果は以下の通り:
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.499999999 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.999999999 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[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.org_datetime_array[22]=22168313.0
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.org_datetime_array[35]=22153579.0
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 AFTER SORTING 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 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.49999999999 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.999999999 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.org_datetime_array[8]=22196301.0
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 AFTER SORTING 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 AFTER SORTING 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 ソート後 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 AFTER SORTING 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 AFTER SORTING 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 ソート後 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 1組目
0 36 0 5556.60 2組目
0 0 168 4374.44 3組目
34 36 168 16418.47 3組とも
3組の収支の合計 16418.37 (ジョイントランとの差 0.1)
ロット制御をオフにした場合
0 0 0 0 6702.44 第1ペア
0 0 0 5742.89 第2ペア
0 0 0 4358.22 第3ペア
0 0 0 16804.53 全3ペア
3ペアの収支合計 16803.55 (共同実行との差 0.98).
他の人が乖離したテストで何日も頭を悩ませることがないように、記事のincludnikを変更してください。ありがとう!
IMHOとしては、includerを変更するのではなく、service-deskに書き込むべきだ。
このようにすべきではありません。不必要なコピーは、あらゆる観点から見て不必要だ。そして一般的に、あなたは優秀です!
service-desk経由で自分自身にプラス評価を与えてください)))
MQチームへのメッセージ
親愛なるMT5開発者の皆様、Windows 7 Enterprise (licensed, English)上で動作しているMT5 Build 695 (6 Sep 2012, Championship Terminal-2012, Account: 1101505, Server: MetaQuotes-Demo)のテスト中に検出された予期せぬ問題にご注意ください。問題は、ソート関数への参照によって渡されたデータ(オブジェクト要素としての配列)の不可解な歪みです。
ORIGINAL(エラーあり)とCORRECTED(エラーなし)のソースコードとExpert Advisorの動作のログファイルを添付します。データの歪みを伴うエラーは、同じ指定されたテスト条件下で安定的に再現されます。2012.02.24 08:03:40(配列データが混在)と2012.05.31 14:41:59(データが「空に飛んだ」)のログに注目してください。
ありがとうございました!
MQチームへのメッセージ
親愛なるMT5開発者の皆様、Windows 7 Enterprise(ライセンス、英語)上で動作するMT5 Build 695(2012/9/6, Championship Terminal-2012, Account: 1101505, Server: MetaQuotes-Demo)のテスト中に検出された予期せぬ問題にご注意ください。問題は、ソート関数への参照によって渡されたデータ(オブジェクト要素としての配列)の原因不明の歪みです。
ORIGINAL(エラーあり)とCORRECTED(エラーなし)のソースコードと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を明らかに大きい/小さいデータで初期化。