Question sur l'optimisation génétique - page 4

 

Donc seule cette ligne iCustom est modifiée ? Nous devons alors examiner cet indicateur en détail.

 

Vous avez le mauvais sujet. Vous vous concentrez sur l'optimisation, alors que le problème vient manifestement de l'EA(transferts de paramètres, etc.). Oubliez l'optimisation pendant un moment, mettez des commentaires et des imprimantes dans l'EA, exécutez avec différents paramètres dans le visuel, contrôlez les données intermédiaires, trouvez toutes les erreurs, puis revenez à l'optimisation.

Les mêmes résultats indiquent que les paramètres optimisés n'affectent pas la formation du signal de trading, ce qui est le problème de l'EA, et non du testeur.

 
Angela >> :

Si je règle les paramètres comme ceci : (iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits) ; - tous les zéros apparaissent, comme j'ai donné un exemple ci-dessus.

Si je mets iCustom(NULL, 0, "ART", 0, 1), Digits) ; - alors les valeurs calculées apparaissent,

mais ils sont tous identiques, bien que dans le testeur, lorsqu'ils sont exécutés avec différents paramètres, les résultats des transactions soient très différents.

Angela, pour que l'optimisation fonctionne, vous devez utiliser les valeurs modifiées par l'optimiseur dans l'algorithme d'une manière ou d'une autre, en particulier vous devez les transmettre à l'indicateur. Il est nécessaire de passer des paramètres à l'indicateur, si vous voulez l'optimiser. Lorsque vous appelez l'indicateur sans paramètres (c'est-à-dire le deuxième cas iCustom(NULL, 0, "ART", 0, 1)), vous omettez en fait les paramètres et il fonctionne avec ceux par défaut, qui sont enregistrés dans ART (bien sûr, ils ne sont pas optimisés). L'appel complet avec paramètres - la première option - est ce dont vous avez besoin pour l'optimisation. Le plus souvent, le problème est que vous ne passez pas les paramètres correctement. Par exemple, si leur nombre dans l'indicateur est inférieur, et que vous passez une meilleure valeur, ou vice versa, si vous ne leur donnez pas tous les paramètres. Si l'indicateur est un secret, donnez au moins la liste de ses paramètres.

 

Merci à tous, la raison était triviale, l'ordre dans lequel les paramètres envoyés de l'indicateur à l'EA ne correspondaient pas :

dans le conseiller expert était

extern int MA_Period=151 ; // 101 10 201
extern double KFK=0.9 ; // 0.7 0.005 1.

dans l'indicateur au contraire

extern double KFK=0.9 ; // 0.7 0.005 1.

extern int MA_Period=151 ; // 101 10 201

cela a fonctionné dans le mode de visualisation, mais pas dans le mode d'optimisation.

 

Félicitations. Je me souviens aussi avoir eu du mal à passer des paramètres, jusqu'à ce que je m'habitue à être scrupuleux. Maintenant je copie un morceau de code d'indicateur avec tous les externes dans Expert Advisor et j'écris iCustom, en regardant l'exemple. C'est un peu obtus, mais depuis, il n'y a plus d'erreurs.

Et encore une chose. Je me suis renseigné sur le style illustratif de komposter pour écrire iCustom. Tout est dans la paume de ma main.

/*
Входные параметры индикатора
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
*/
double signal=iCustom(Symbol(),Period(),"MACD",
                                       FastEMA,   //параметр 1
                                       SlowEMA,   //параметр 2
                                       SignalSMA, //параметр 3
                                       0,         //номер буфера индикатора    
                                       SignalBar);//бар, с которого получаем данные (внешняя переменная)
 

Je suis en train de déboguer la deuxième version de mon TS, par rapport à la première, le nombre de transactions a augmenté et le nombre de paramètres optimisables a considérablement diminué, bien que le drawdown ait doublé.

Cependant j'ai quelques doutes, le système n'est pas très stable d'un mois à l'autre. Je ne l'ai pas encore optimisé mais le résultat avec GA sera disponible dans 48 heures. 800+ runs ne sont pas encourageants et les résultats de l'optimisation en juin sont pires que ceux des tests avec les paramètres initiaux pour la même période. J'apporte trois statistiques, pour juin, juillet et août, jusqu'à présent je n'ai débogué que Buy. Puis-je retirer un tel système pour cause d'optimisation avec des résultats stables ou dois-je commencer à en développer un nouveau tout de suite ?

Rapport du testeur de stratégie
ABC_exp
Alpari-Demo (Build 225)

Symbole GBPUSD (Livre sterling contre Dollar US)
Période 5 Minutes (M5) 2009.06.01 00:00 - 2009.06.30 23:59 (2009.06.01 - 2009.07.01)
Modèle Par les prix d'ouverture (seulement pour les Expert Advisors avec un contrôle explicite de l'ouverture des barres)
Paramètres Lots=0.1 ; TrailingStop1=3110 ; StopLoss1=1500 ; TrailingStop2=3110 ; StopLoss2=1500 ; MAGIC_1=12345 ; MAGIC_2=23456 ; MA_Period=151 ; KFK=0.9 ;
Les bars dans l'histoire 7288 Tiques modélisées 13573 Qualité de la simulation s/o
Erreurs de concordance des graphiques 0
Dépôt initial 1000.00
Bénéfice net 503.82 Bénéfice total 643.12 Perte totale -139.30
Rentabilité 4.62 Gain attendu 27.99
Dégradation absolue 8.70 Abaissement maximal 103.20 (7.77%) Abattement relatif 7.77% (103.20)
Total des transactions 18 Positions courtes (% de gain) 0 (0.00%) Positions longues (% de gain) 18 (66.67%)
Transactions rentables (% de toutes) 12 (66.67%) Transactions à perte (% de toutes) 6 (33.33%)
Le plus grand commerce profitable 107.32 transaction perdante -43.00
Moyenne opération rentable 53.59 commerce perdant -23.22
Maximum gains continus (profit) 5 (263.10) Pertes continues (perte) 3 (-74.00)
Maximum Profit continu (nombre de victoires) 263.10 (5) Perte continue (nombre de pertes) -74.00 (3)
Moyenne gains continus 2 Perte continue 2

Temps Type Commandez Volume Prix S / L T / P Profit Balance
1 2009.06.01 16:10 acheter 1 0.10 1.63896 1.62396 0.00000
2 2009.06.01 17:55 fermer 1 0.10 1.64462 1.62396 0.00000 56.60 1056.60
3 2009.06.02 12:55 acheter 2 0.10 1.64588 1.63088 0.00000
4 2009.06.02 14:05 fermer 2 0.10 1.64768 1.63088 0.00000 18.00 1074.60
5 2009.06.09 08:15 acheter 3 0.10 1.60495 1.58995 0.00000
6 2009.06.09 09:00 fermer 3 0.10 1.61273 1.58995 0.00000 77.80 1152.40
7 2009.06.09 13:25 acheter 4 0.10 1.61447 1.59947 0.00000
8 2009.06.09 14:00 fermer 4 0.10 1.61788 1.59947 0.00000 34.10 1186.50
9 2009.06.10 13:05 acheter 5 0.10 1.63679 1.62179 0.00000
10 2009.06.10 13:35 fermer 5 0.10 1.64445 1.62179 0.00000 76.60 1263.10
11 2009.06.11 01:30 acheter 6 0.10 1.63664 1.62164 0.00000
12 2009.06.11 02:00 fermer 6 0.10 1.63577 1.62164 0.00000 -8.70 1254.40
13 2009.06.11 15:45 acheter 7 0.10 1.64653 1.63153 0.00000
14 2009.06.11 16:50 fermer 7 0.10 1.65300 1.63153 0.00000 64.70 1319.10
15 2009.06.12 17:15 acheter 8 0.10 1.65102 1.63602 0.00000
16 2009.06.12 18:10 fermer 8 0.10 1.65011 1.63602 0.00000 -9.10 1310.00
17 2009.06.16 08:50 acheter 9 0.10 1.63621 1.62121 0.00000
18 2009.06.16 09:00 fermer 9 0.10 1.63396 1.62121 0.00000 -22.50 1287.50
19 2009.06.16 17:05 acheter 10 0.10 1.64623 1.63123 0.00000
20 2009.06.16 18:40 fermer 10 0.10 1.64199 1.63123 0.00000 -42.40 1245.10
21 2009.06.18 08:50 acheter 11 0.10 1.64200 1.62700 0.00000
22 2009.06.18 09:30 fermer 11 0.10 1.64352 1.62700 0.00000 15.20 1260.30
23 2009.06.19 07:45 acheter 12 0.10 1.63728 1.62228 0.00000
24 2009.06.19 11:50 fermer 12 0.10 1.64252 1.62228 0.00000 52.40 1312.70
25 2009.06.19 17:30 acheter 13 0.10 1.64542 1.63042 0.00000
26 2009.06.19 18:10 fermer 13 0.10 1.65045 1.63042 0.00000 50.30 1363.00
27 2009.06.23 17:40 acheter 14 0.10 1.63475 1.61975 0.00000
28 2009.06.24 02:40 fermer 14 0.10 1.64549 1.61975 0.00000 107.32 1470.32
29 2009.06.24 15:15 acheter 15 0.10 1.65717 1.64217 0.00000
30 2009.06.24 15:35 fermer 15 0.10 1.65287 1.64217 0.00000 -43.00 1427.32
31 2009.06.26 08:50 acheter 16 0.10 1.64036 1.62536 0.00000
32 2009.06.26 12:00 fermer 16 0.10 1.64922 1.62536 0.00000 88.60 1515.92
33 2009.06.29 12:15 acheter 17 0.10 1.65490 1.63990 0.00000
34 2009.06.29 12:35 fermer 17 0.10 1.65354 1.63990 0.00000 -13.60 1502.32
35 2009.06.29 20:25 acheter 18 0.10 1.65678 1.64178 0.00000
36 2009.06.29 21:25 fermer 18 0.10 1.65693 1.64178 0.00000 1.50 1503.82
 
Rapport du testeur de stratégie
ABC_exp
Alpari-Demo (Build 225)

Symbole GBPUSD (Livre sterling contre Dollar US)
Période 5 Minutes (M5) 2009.07.01 00:00 - 2009.07.31 22:59 (2009.07.01 - 2009.08.01)
Modèle Par les prix d'ouverture (seulement pour les Expert Advisors avec un contrôle explicite de l'ouverture des barres)
Paramètres Lots=0.1 ; TrailingStop1=3110 ; StopLoss1=1500 ; TrailingStop2=3110 ; StopLoss2=1500 ; MAGIC_1=12345 ; MAGIC_2=23456 ; MA_Period=151 ; KFK=0.9 ;
Les bars dans l'histoire 7560 Tiques modélisées 14120 Qualité de la simulation s/o
Erreurs de concordance des graphiques 0
Dépôt initial 1000.00
Bénéfice net 137.84 Bénéfice total 239.34 Perte totale -101.50
Rentabilité 2.36 Gain attendu 9.85
Dégradation absolue 24.16 Abaissement maximal 121.88 (11.10%) Abattement relatif 11.10% (121.88)
Total des transactions 14 Positions courtes (% de gain) 0 (0.00%) Positions longues (% de gain) 14 (71.43%)
Transactions rentables (% de toutes) 10 (71.43%) Transactions à perte (% de toutes) 4 (28.57%)
Le plus grand commerce profitable 58.00 transaction perdante -57.20
Moyenne opération rentable 23.93 Perte de marché -25.38
Nombre maximal gains continus (profit) 6 (82.92) Pertes continues (perte) 2 (-63.70)
Maximum Profit continu (nombre de victoires) 117.12 (3) Perte continue (nombre de pertes) -63.70 (2)
Moyenne gains continus 3 Perte continue 1

Temps Type Commandez Volume Prix S / L T / P Profit Balance
1 2009.07.14 08:35 acheter 1 0.10 1.62852 1.61352 0.00000
2 2009.07.14 08:40 fermer 1 0.10 1.62629 1.61352 0.00000 -22.30 977.70
3 2009.07.14 23:00 acheter 2 0.10 1.63120 1.61620 0.00000
4 2009.07.15 02:30 fermer 2 0.10 1.63191 1.61620 0.00000 7.02 984.72
5 2009.07.15 13:35 acheter 3 0.10 1.64028 1.62528 0.00000
6 2009.07.15 14:30 fermer 3 0.10 1.64286 1.62528 0.00000 25.80 1010.52
7 2009.07.16 12:45 acheter 4 0.10 1.64466 1.62966 0.00000
8 2009.07.16 15:05 fermer 4 0.10 1.64481 1.62966 0.00000 1.50 1012.02
9 2009.07.20 03:35 acheter 5 0.10 1.63951 1.62451 0.00000
10 2009.07.20 04:35 fermer 5 0.10 1.63994 1.62451 0.00000 4.30 1016.32
11 2009.07.20 18:45 acheter 6 0.10 1.65356 1.63856 0.00000
12 2009.07.20 21:30 fermer 6 0.10 1.65368 1.63856 0.00000 1.20 1017.52
13 2009.07.22 16:55 acheter 7 0.10 1.64327 1.62827 0.00000
14 2009.07.22 18:55 fermer 7 0.10 1.64758 1.62827 0.00000 43.10 1060.62
15 2009.07.23 08:30 acheter 8 0.10 1.65223 1.63723 0.00000
16 2009.07.23 08:35 fermer 8 0.10 1.65068 1.63723 0.00000 -15.50 1045.12
17 2009.07.23 16:45 acheter 9 0.10 1.65286 1.63786 0.00000
18 2009.07.23 17:35 fermer 9 0.10 1.65679 1.63786 0.00000 39.30 1084.42
19 2009.07.24 09:10 acheter 10 0.10 1.65293 1.63793 0.00000
20 2009.07.24 10:35 fermer 10 0.10 1.64721 1.63793 0.00000 -57.20 1027.22
21 2009.07.27 08:35 acheter 11 0.10 1.65044 1.63544 0.00000
22 2009.07.27 08:45 fermer 11 0.10 1.64979 1.63544 0.00000 -6.50 1020.72
23 2009.07.27 13:45 acheter 12 0.10 1.65005 1.63505 0.00000
24 2009.07.28 09:45 fermer 12 0.10 1.65467 1.63505 0.00000 46.12 1066.84
25 2009.07.30 08:50 acheter 13 0.10 1.64618 1.63118 0.00000
26 2009.07.30 09:30 fermer 13 0.10 1.64748 1.63118 0.00000 13.00 1079.84
27 2009.07.31 16:50 acheter 14 0.10 1.65534 1.64034 0.00000
28 2009.07.31 17:15 fermer 14 0.10 1.66114 1.64034 0.00000 58.00 1137.84
Rapport du testeur de stratégie
ABC_exp
Alpari-Demo (Build 225)

Symbole GBPUSD (Livre sterling contre Dollar US)
Période 5 Minutes (M5) 2009.08.03 00:00 - 2009.08.11 23:59 (2009.08.02 - 2009.08.12)
Modèle Par les prix d'ouverture (seulement pour les Expert Advisors avec un contrôle explicite de l'ouverture des barres)
Paramètres Lots=0.1 ; TrailingStop1=3110 ; StopLoss1=1500 ; TrailingStop2=3110 ; StopLoss2=1500 ; MAGIC_1=12345 ; MAGIC_2=23456 ; MA_Period=151 ; KFK=0.9 ;
Les bars dans l'histoire 3005 Tics simulés 5007 Qualité de la simulation s/o
Erreurs de concordance des graphiques 0
Dépôt initial 1000.00
Bénéfice net 90.68 Bénéfice total 146.52 Perte totale -55.84
Rentabilité 2.62 Gain attendu 22.67
Dégradation absolue 4.30 Abaissement maximal 63.18 (5.68%) Abattement relatif 5.68% (63.18)
Total des transactions 4 Positions courtes (% de gain) 0 (0.00%) Positions longues (% de gain) 4 (50.00%)
Transactions rentables (% de toutes) 2 (50.00%) Transactions à perte (% de toutes) 2 (50.00%)
Le plus grand commerce profitable 92.80 accord perdant -39.84
Moyenne opération rentable 73.26 commerce perdant -27.92
Nombre maximal gains continus (profit) 1 (92.80) Pertes continues (perte) 1 (-39.84)
Maximum Profit continu (nombre de victoires) 92.80 (1) Perte continue (nombre de pertes) -39.84 (1)
Moyenne gains continus 1 Perte continue 1

Temps Type Commandez Volume Prix S / L T / P Profit Balance
1 2009.08.03 09:45 acheter 1 0.10 1.67460 1.65960 0.00000
2 2009.08.03 10:50 fermer 1 0.10 1.68388 1.65960 0.00000 92.80 1092.80
3 2009.08.04 11:25 acheter 2 0.10 1.69389 1.67889 0.00000
4 2009.08.04 14:45 fermer 2 0.10 1.69229 1.67889 0.00000 -16.00 1076.80
5 2009.08.04 19:50 acheter 3 0.10 1.69312 1.67812 0.00000
6 2009.08.05 12:40 fermer 3 0.10 1.69850 1.67812 0.00000 53.72 1130.52
7 2009.08.05 18:45 acheter 4 0.10 1.70146 1.68646 0.00000
8 2009.08.06 04:45 fermer 4 0.10 1.69750 1.68646 0.00000 -39.84 1090.68
 
Si seul le code mql est impliqué dans l'EA, alors quelque chose doit être mal codé, car avec le modèle de prix d'ouverture 800 exécutions ne devraient pas être si lentes. Ou peut-être que j'ai mal compris quelque chose. Habituellement, les experts qui utilisent des liaisons externes, telles que des bibliothèques de réseaux neuronaux, etc. sont très lents. Bien sûr, on peut aussi supposer que mql a beaucoup de boucles imbriquées (ou des appels de certains indicateurs "voraces") - alors il peut être complètement ralenti. Par conséquent, je ne peux que répéter l'idée du besoin supposé de refactoring ;-) - Revérifiez et retransformez certains fragments de code ou l'ensemble du code.
 
marketeer писал(а) >>
Si seul le code mql est impliqué dans l'Expert Advisor, quelque chose doit être mal codé à cet endroit car les 800 exécutions ne devraient pas ralentir aux prix d'ouverture. Ou est-ce que je comprends mal quelque chose. Habituellement, les experts qui utilisent des liaisons externes, telles que des bibliothèques de réseaux neuronaux, etc. sont très lents. Bien sûr, on peut aussi supposer que mql a beaucoup de boucles imbriquées (ou des appels de certains indicateurs "voraces") - alors il peut être complètement ralenti. Par conséquent, je ne peux que répéter l'idée du besoin supposé de refactoring ;-) - Revérifiez et retransformez certains fragments de code ou l'ensemble du code.

Au moment de la rédaction de ce billet, 800 des plus de 8000 passages avaient été effectués, avec 5 heures d'optimisation, et il restait encore 2 jours. Mais je n'ai pas attendu la fin, j'ai réduit la plage d'énumération de certains paramètres, j'ai redémarré et en 8 heures, toute l'optimisation s'est déroulée.

Meilleur résultat :

     Прибыль     Всего сделок     Прибыльность   Матожидание     Просадка$    Просадка%
673  597.40         23            4.80            25.97           67.90         4.81%    Threshold1=109 Threshold2=227 USL=0.0037 MA_Period=58
 

Le nombre de trades rentables est supérieur au nombre de trades perdants, la moyenne des trades rentables supérieure à celle des trades perdants est un très bon signe. À mon avis, vous ne devez pas abandonner ce système, vous devez étudier son comportement sur une plus longue période. Vous pouvez aussi le mettre sur une autre croix.