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

 

Je ne comprends pas ce qui se passe. J'ai décidé de simplifier la tâche, j'ai pris seulement 3 paramètres pour l'optimisation, je l'ai mis sur l'optimisation normale au lieu de l'optimisation génétique, je n'ai pas du tout mis de restrictions dans les paramètres de l'EA. J'ai exécuté, rien n'est apparu dans les fenêtres "Résultat d'optimisation" et "Graphique d'optimisation", j'ai donc décidé d'attendre la fin de l'exécution, l'exécution de l'optimisation a duré 8 heures 47 minutes, aucune information n'est apparue dans "Résultat d'optimisation" et "Graphique d'optimisation" après la fin de l'exécution dans mon fichier journal :

00:44:09 ABC_exp : optimisation commencée
09:31:09 ABC_exp : optimisation arrêtée

dans le fichier journal :

2009.08.03 00:44:09 ABC_exp : l'optimisation a commencé
2009.08.03 09:31:09 ABC_exp : l'optimisation s'est arrêtée
2009.08.03 09:31:09 Il y a eu 768 passages effectués pendant l'optimisation, 768 résultats ont été écartés car non significatifs
lorsqu'il a été testé sur le même intervalle, il y a eu des pertes, mais le solde a fluctué autour du dépôt initial.

 
Angela писал(а) >>

Je ne comprends pas ce qui se passe. J'ai décidé de simplifier la tâche, je n'ai pris que 3 paramètres pour l'optimisation, je l'ai mis sur l'optimisation normale au lieu de l'optimisation génétique, je n'ai pas du tout mis de restrictions dans les paramètres de l'EA. J'ai décidé d'attendre la fin de l'exécution, l'exécution de l'optimisation a duré 8 heures et 47 minutes, aucune information n'est apparue dans les fenêtres "Résultat d'optimisation" et "Graphique d'optimisation" après l'exécution :

00:44:09 ABC_exp : optimisation commencée
09:31:09 ABC_exp : optimisation arrêtée

dans le fichier journal :

2009.08.03 00:44:09 ABC_exp : optimisation commencée
2009.08.03 09:31:09 ABC_exp : optimisation arrêtée
2009.08.03 09:31:09 Il y a eu 768 passages effectués pendant l'optimisation, 768 résultats ont été rejetés car non significatifs.
Lors du test sur le même intervalle, il y a eu des pertes, mais le solde fluctuait autour du dépôt initial.

Laissez-moi vérifier. Ça va vous prendre beaucoup de temps pour le trouver.

 
Il y a eu 768 passages effectués pendant l'optimisation, 768 résultats ont été écartés comme non significatifs - il n'y a pas eu de passages rentables. Autrement dit, le dépôt final était toujours inférieur au dépôt initial. Ou c'était égal à ça. Vous pouvez essayer, lorsque les transactions sont exécutées, d'écrire dans le fichier le numéro du ticket, le prix ou autre chose. Pour comprendre si l'algorithme fonctionne. Peut-être qu'il ne peut pas échanger à cause de quelque chose.
 
Vinin писал(а) >>

Laissez-moi vérifier. Ça va vous prendre beaucoup de temps pour le trouver.

Merci pour l'offre, mais je vais essayer de creuser un peu plus moi-même.

 
OrlandoMagic писал(а) >>
Il y a eu 768 passages effectués pendant l'optimisation, 768 résultats ont été écartés comme non significatifs - il n'y a pas eu de passages rentables. Cela signifie que le dépôt final était toujours inférieur au dépôt initial. Ou c'était égal à ça. Vous pouvez essayer, lorsque les transactions sont exécutées, d'écrire dans le fichier le numéro du ticket, le prix ou autre chose. Pour comprendre si l'algorithme fonctionne. Peut-être qu'il ne peut pas échanger à cause de quelque chose.

En mode de visualisation chez l'agresseur, les métiers vont.

 
Eh bien, autour de ces paramètres, qui sont sur la steute, nous devons exécuter l'optimisation.
 
OrlandoMagic писал(а) >>
Or, c'est autour de ces paramètres, qui se trouvent sur la pile, que nous devons exécuter l'optimisation.

>> Je le fais.

 

Jusqu'à présent, rien de bon ne ressort de l'optimisation. Je définis les paramètres optimisés et leur plage de variation dans les propriétés de l'Expert Advisor, je lance l'optimisation, j'énumère les paramètres, mais j'obtiens le même résultat à chaque étape de l'optimisation. J'ai l'impression que, bien que le conseiller expert recherche les paramètres, il utilise le même ensemble de paramètres que celui qui a été défini au départ. Je soupçonne que j'ai défini quelque chose de mal dans la fonction .

Commençons par le commencement :

J'ai défini des paramètres dans mon EA qui doivent être optimisés comme ceux définis dans l'indicateur :

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

Je fais référence à l'indicateur dans la fonction int start() :

B3= NormalizeDouble(iCustom(NULL, 0, "ART",0,1),Digits) ;
BT=GlobalVariableGet(NameGlobalVariableBT) ;

Question : Après "ART", dois-je insérer les paramètres à modifier ?

Si je ne l'insère pas, l'optimisation est effectuée, mais le résultat est le même, si je l'insère, le résultat est nul :

1 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=101 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
2 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=111 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
3 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=121 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
4 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=131 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
5 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=141 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456

 

Eh bien, ils devraient être dans le texte du programme quelque part. S'ils sont tous des zéros, cela signifie qu'il n'y a pas eu de transaction... Ou pas ?

En général, les paramètres sont alarmants... Il existe des variables - MA_Period, et leurs valeurs - 101, 102, 103, que le testeur insère lui-même lors des exécutions.

B3= NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits) ; Lire l'aide iCustom (désolé d'écrire des choses évidentes)

Vous pouvez également voir ce que l'indicateur considère si vous écrivez, par exemple, Print (B3) après lui

 
OrlandoMagic писал(а) >>

Eh bien, ils devraient être dans le texte du programme quelque part. S'ils sont tous des zéros, cela signifie qu'il n'y a pas eu de transaction... Ou pas ?

En général, les paramètres sont alarmants... Il existe des variables - MA_Period, et leurs valeurs - 101, 102, 103, que le testeur insère lui-même lors des exécutions.

B3= NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits) ; Lire l'aide iCustom (désolé d'écrire des choses évidentes)

Vous pouvez également voir ce que l'indicateur considère si vous le faites suivre, par exemple, de Print (B3).

Si je règle les paramètres de la manière suivante : (iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits) ; - nous obtenons tous les zéros, comme je l'ai indiqué ci-dessus.

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

1 299.70 36 1.80 8.33 153.30 11.51% Seuil1=90 Seuil2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7 FB=0.0025 FNS=0.0005 USL=0.0051
2 299.70 36 1.80 8.33 153.30 11.51% Seuil1=91 Seuil2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7 FB=0.0025 FNS=0.0005 USL=0.0051
3 299.70 36 1.80 8.33 153.30 11.51% Seuil1=92 Seuil2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7 FB=0.0025 FNS=0.0005 USL=0.0051
4 299.70 36 1.80 8.33 153.30 11.51% Threshold1=93 Threshold2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7 FB=0.0025 FNS=0.0005 USL=0.0051
..........

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.