Discussion de l'article "Optimisation. Quelques idées simples"

 

Un nouvel article Optimisation. Quelques idées simples a été publié :

Le processus d'optimisation peut nécessiter des ressources importantes de votre ordinateur ou même des agents de test de MQL5 Cloud Network. Cet article comprend quelques idées simples que j'utilise pour faciliter le travail et améliorer le testeur de stratégie de MetaTrader 5. J'ai eu ces idées dans la documentation, le forum et les articles.

MQL5 fournit un ensemble complet de périodes : à partir de M1, M2, M3, M4,... H1, H2,... aux graphiques mensuels. Au total, il y a 21 périodes. Dans le processus d'optimisation, cependant, nous voulons savoir quelles périodes conviennent le plus à notre stratégie - les périodes courts comme М1 et М5, les périodes moyens - comme H2 et H4 ou les périodes longs - D1 et W1.

Au départ, nous n'avons pas besoin de cette diversité d'options. Dans tous les cas, si nous pouvons constater que la stratégie s'avère efficace sur la période М5, alors à la prochaine étape d'optimisation, nous pouvons vérifier si elle va fonctionner sur М3 ou М6.

Si on utilise une variable de type ENUM_TIMEFRAMES comme paramètre d'entrée :

input ENUM_TIMEFRAMES marcoTF= PERIOD_M5; 

alors l'Optimiseur offrira 21 variantes d'optimisation. Avons-nous vraiment besoin de cette quantité ?

 Options standard d'une période


Auteur : Jose Miguel Soriano

 

Mon Dieu, quelle traduction cauchemardesque !

Je me demande si les rétro-traductions en espagnol sont les mêmes ?

Il faut faire quelque chose à ce sujet.

 
La traduction a été adaptée. Merci pour votre commentaire !
 
Un plaisir de lire un article dans un développeur espagnol.
Sa proposition s'appliquerait aussi pour une optimisation des temps d'entrée ? Si j'ai bien compris l' article. C'est que je suis relativement novice dans la programmation électronique.
Un salut et un remerciement
 
decolimper:
Un plaisir de lire un article dans un développeur espagnol.
Sa proposition s'appliquerait aussi pour une optimisation des temps d'entrée ? Si j'ai bien compris l' article. C'est que je suis relativement novice dans la programmation électronique.
Un salut et un remerciement

Si vous êtes espagnol... nous parlons espagnol.

Je comprends que vous me demandez si j'optimise les périodes d'entrée.

Le problème est que toutes les fonctions du code doivent avoir un paramètre qui vous informe de la période dans laquelle l'EA travaille. Il ne suffit pas de laisser PERIOD_CURRENT par défaut, il faut passer à toutes les fonctions qui utilisent la période de temps une variable globale (marcoTF, par exemple) qui stocke la période de temps dans laquelle l'EA travaille.

Pour mon code, le graphique dans lequel vous chargez l'EA n'a pas d'importance. Il fonctionne toujours dans le cadre que j'indique dans le paramètre d'entrée qui se rapporte plus tard à "marcoTF".

Si vous êtes espagnol ... parlez en espagnol.

Je comprends que l'on me pose des questions si j'optimise les périodes d'entrée.

Le problème est que toutes les fonctions du code doivent avoir un paramètre pour rendre compte de l'horizon temporel dans lequel l'EA travaille. Vous ne pouvez pas utiliser PERIOD_CURRENT par défaut, il faut passer à toutes les fonctions utilisant le temps une variable globale (marcoTF, par exemple) qui stocke l'horizon temporel dans lequel l'EA travaille.

Pour mon code, il est indifférent de savoir sous quel graphique télécharger l'EA. Il travaille toujours dans le cadre indiqué sur le paramètre d'entrée qui informe par la suite "marcoTF".

 

En fait, c'est intéressant... Mais ce n'est pas très différent de l'optimisation habituelle en fonction des paramètres choisis par le trader sur son expérience....

Je suis beaucoup plus intéressé par la question de savoir s'il est possible de transférer automatiquement les paramètres optimisés dans les paramètres de l'EA...

En d'autres termes, est-il possible d'optimiser et de ré-optimiser automatiquement l'Expert Advisor après une période de temps définie par le trader ?

 
josemiguel1812:

Si vous êtes espagnol... nous parlons espagnol.

Je comprends que vous me demandiez si j'optimise les périodes d'entrée.

Le problème est que toutes les fonctions du code doivent avoir un paramètre qui vous informe de la période dans laquelle l'EA travaille. Il ne suffit pas de laisser PERIOD_CURRENT par défaut, il faut passer à toutes les fonctions qui utilisent la période de temps une variable globale (marcoTF, par exemple) qui stocke la période de temps dans laquelle l'EA travaille.

Pour mon code, le graphique dans lequel vous chargez l'EA n'a pas d'importance. Il fonctionne toujours dans le cadre que j'indique dans le paramètre d'entrée qui se rapporte plus tard à "marcoTF".

Si vous êtes espagnol ... parlez en espagnol.

Je comprends que l'on me pose des questions si j'optimise les périodes d'entrée.

Le problème est que toutes les fonctions du code doivent avoir un paramètre pour rendre compte de l'horizon temporel dans lequel l'EA travaille. Vous ne pouvez pas utiliser PERIOD_CURRENT par défaut, il faut passer à toutes les fonctions utilisant le temps une variable globale (marcoTF, par exemple) qui stocke l'horizon temporel dans lequel l'EA travaille.

Pour mon code, il est indifférent de savoir sous quel graphique télécharger l'EA. Il travaille toujours dans le cadre indiqué sur le paramètre d'entrée qui informe par la suite "marcoTF".

 
Bonjour, José Miguel, j'aimerais vous contacter par courrier, est-ce possible ?
 
Très bon article José ! Je cherchais un moyen d'optimiser non seulement par période, mais aussi par actifs. Félicitations pour votre initiative !!!

Si cela vous intéresse, j'ai une suggestion qui pourrait vous être utile. Serait-il intéressant d'optimiser de cette manière ?

Paramètres externes à optimiser :

Nombre d'actifs : 1
Actifs : EURUSD

ou

Nombre d'actifs : 2
Actifs : EURUSD ; USDJPY
ou
Asset1 : EURUSD
Asset2 : USDJPY

Etc.

Optimisant ainsi le nombre d'actifs et d'actifs. Dans votre cas, l'optimisation est-elle effectuée individuellement pour chaque actif ou une configuration pour tous les actifs en même temps ?

Une autre façon serait d'automatiser l'optimisation dès que vous exécutez l'EA sur un graphique. Pour les EA qui ne fonctionnent que par fermeture de bougie (dans mon cas, par exemple), serait-il possible d'optimiser par les bougies sur le graphique, sans utiliser Strategy Tester ?
 

Un bon article. Je trouve curieux d'avoir également été confronté à ce problème avec des solutions très similaires aux vôtres. Une autre piste intéressante est l'optimisation "virtuelle" présentée dans cet article :

https://www.mql5.com/en/articles/143

En tout cas, merci de lutter contre la solitude du programmeur :)

Adaptive Trading Systems and Their Use in the MetaTrader 5 Client Terminal
Adaptive Trading Systems and Their Use in the MetaTrader 5 Client Terminal
  • 2010.09.14
  • MetaQuotes Software Corp.
  • www.mql5.com
This article suggests a variant of an adaptive system that consists of many strategies, each of which performs its own "virtual" trade operations. Real trading is performed in accordance with the signals of a most profitable strategy at the moment. Thanks to using of the object-oriented approach, classes for working with data and trade classes of the Standard library, the architecture of the system appeared to be simple and scalable; now you can easily create and analyze the adaptive systems that include hundreds of trade strategies.
 
Jose:

Un bon article. Je trouve curieux d'avoir également été confronté à ce problème avec des solutions très similaires aux vôtres. Une autre piste intéressante est l'optimisation "virtuelle" présentée dans cet article :

https://www.mql5.com/en/articles/143

En tout cas, merci de lutter contre la solitude du programmeur :)

Je fais de la programmation structurée et je ne "lis" pas bien la programmation orientée objet.

Je ne comprends pas la stratégie elle-même car je ne vois pas comment elle obtient le résultat virtuel de toutes les stratégies sur la bougie 1 pour choisir ce que je fais à l'ouverture de la bougie 0. Sur la bougie 100 (numérotation du présent vers le passé), par exemple, si je peux estimer le résultat sur la bougie 98 en me "déplaçant" dans le futur avec l'historique connu et le priceBID que le système de test MT5 me donnera.... mais sur la bougie 1 comment estimer le résultat virtuel ?