Discussion de l'article "Systèmes de trading adaptatifs et leur utilisation dans le terminal client MetaTrader 5" - page 3

Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Chère Forexistence,
>>Chère
Vous avez répondu à votre question :)
>> Oui, j'ai peut-être en partie répondu à ma question moi-même, et j'ai juste besoin d'une confirmation ou d'opinions différentes.
Vous avez raison, il y a deux façons de modifier les conditions de trading, d'un côté nous pouvons ajouter de nouvelles conditions à la stratégie CStrategyMA (mais nous obtiendrons la nouvelle stratégie, différente de l'initiale), l'autre façon est de créer une nouvelle classe (par exemple, CStrategyMA34) et d'y ajouter des conditions d'achat/vente supplémentaires.
Mais bien sûr, vous devez inclure le fichier avec votre nouvelle stratégie et ajouter ces nouvelles stratégies à la fonction Expert_OnInit de la classe CAdaptiveStrategy :
La deuxième méthode est plus efficace, car elle permet d'ajouter de nombreuses stratégies et leurs variantes.
Il n'est pas nécessaire de supprimer les instances de la classe CStrategyMA (si vous en avez), nous ne regarderons pas dans leurs bacs à sable car leurs résultats seront mauvais.
Le marché nous aidera à déterminer la meilleure stratégie dans la liste des stratégies, incluse dans m_all_strategies.
>> Ok, j'ai compris ce que je voulais dire.
Mais la question, maintenant, est autre... Je suis en train de travailler à "l'infusion" de l'EA dans le but de travailler avec des optimisations.
Je veux dire par exemple des morceaux de code comme celui-ci :
où (déclarations) :
et où les variables :
RSItempoframe, RSIappprice, RSIvarA_root, RSIvarB_root
travailler en collaboration avec
Ma question est la suivante :
Il est opportun de modifier le code, afin d'avoir une variable d'entrée au niveau du classfile de la stratégie (fichier include i.e. CStrategyRSI.mqh), ou avec l'hiérachie/connexions/arbres appropriés au niveau de l'autre class/includes (CAdaptiveStrategy.mqh) ?
En d'autres termes, pour affecter le système de base de l'idée EA, avec l'ajout de quelques paramètres d'entrée pour les tests d'optimisation,
je devrais faire quelque chose comme ceci : (variables d'entrée dans CAdaptiveStrategy.mqh)
ou quelque chose comme ceci : (variables d'entrée dans CSampleRSI.mqh)
En d'autres termes, les variables d'entrée doivent être utilisées dans le fichier d'inclusion de la stratégie, avant la déclaration de la classe (exemple2, juste ce qui précède ici) ou les variables d'entrée doivent
dériver du cycle "for" de la stratégie CAdaptive, et prendre en compte l'initialisation de toutes les classes et les paramètres d'entrée ? (Je veux dire pour ce premier exemple (juste au-dessus de ce code ci-dessus) :)
public :
// initialisation de la stratégie
int Initialization(int period,bool virtual_trade_flag,ENUM_TIMEFRAMES RSItempoframe,
ENUM_APPLIED_PRICE RSIappprice,int RSIvarA_root, int RSIvarB_root) ;
Comment la différence affectera le cœur du système, si l'on utilise des variables d'entrée dans le fichier CStrategyRSI.mqh ou dans le fichier CAdaptiveStrategy.mqh ?
Je suppose que si c'est juste pour tester, je peux utiliser les variables d'entrée dans le fichier CStrategyRSI.mqh, mais si je veux à la fois tester et affecter le système de base de l'EA, l'idée est la suivante
Si je veux à la fois tester et affecter le système central de l'idée EA (le système adaptatif et le simulateur de trade, l'inclusion du trader virtuel), je devrais déclarer
les variables d'entrée non pas dans l'include de la stratégie, mais dans le fichier d'include du système adaptatif, avec toutes les connexions et appels appropriés des entrées/sorties du système adaptatif.
d'entrée/sortie de l'inizialization et de la déclaration des classes/fonctions ?
C'est bien cela ?
J'espère que vous avez compris ce que je voulais dire.
Tnkx
....Mais la question, maintenant, est une autre... Je travaille à "l'introduction" de l'EA dans le but de travailler avec des optimisations....
Si vous voulez trouver les meilleurs paramètres de la stratégie en utilisant l'option d'optimisation dans le testeur de stratégie, il est préférable de réécrire l'EA avec une stratégie particulière et de jouer avec.
Le concept de l'EA adaptatif et sa structure ne permettent pas d'optimiser ses paramètres dans le testeur de stratégie directement, parce qu'il n'y a pas de stratégie particulière et de paramètres à optimiser.
Lorsque nous utilisons l'EA adaptatif dans le trading ou que nous le testons dans le Testeur de stratégie, nous disposons d'un système de trading sous la forme d'un ensemble de signaux provenant des différentes stratégies. En d'autres termes, le Testeur ne peut pas accéder aux bacs à sable virtuels que nous avons créés et il ne sait rien à leur sujet.
Si vous voulez utiliser les paramètres d'entrée pour configurer les paramètres des stratégies de trading à utiliser, il est préférable d'utiliser les fichiers, cela vous permettra de configurer les paramètres et la liste des stratégies de trading.
Si vous voulez trouver les meilleurs paramètres de la stratégie en utilisant l'option d'optimisation dans le testeur de stratégie, il est préférable de réécrire l'EA avec une stratégie particulière et de jouer avec.
>> Ok, j'ai compris. Ce ne sera pas une tâche facile...
Le concept de l'EA adaptatif et sa structure ne permettent pas d'optimiser ses paramètres dans le testeur de stratégie directement, parce qu'il n'y a pas de stratégie et de paramètres particuliers à optimiser.
>> Oui. L'EA est idéalisé pour fonctionner avec desparamètres encore optimisés pour les stratégies. Ce que j'ai compris, c'est qu'il utilise différentes stratégies en fonction de la façon dont le marché réagit (ou vice versa d'un autre point de vue...).
Lorsque nous utilisons l'EA adaptatif en trading ou que nous le testons dans le testeur de stratégie, nous avons un système de trading sous la forme d'un ensemble de signaux provenant des différentes stratégies. En d'autres termes, le testeur ne peut pas accéder aux bacs à sable virtuels que nous avons créés et il ne sait rien à leur sujet.
>> J'ai compris ce concept, mais pas complètement.
Je comprends que cela n'a aucun sens d'interagir avec le testeur avec des bacs à sable virtuels, aucun sens logique de trading.
Mon seul but était de faire modifier l'EA, afin de l'utiliser avec un addon : l'objectif étant d'utiliser cet EA aussi pour optimiser les paramètres, sans réécrire un autre EA, ou réécrire toutes les stratégies, ou tester chaque stratégie individuellement. Mon idée était seulement pour le "confort" de la possibilité d'optimiser les paramètres, dans le même EA, mais cette optimisation n'est pas destinée à fonctionner avec le commerce virtuel / système adaptatif. Il s'agit simplement d'avoir la possibilité d'optimiser les paramètres des stratégies, en utilisant la même fenêtre d'entrée de l'EA, et non pas d'écrire un autre EA pour chaque stratégie, d'obtenir les paramètres d'optimisation, et de les mettre en tant que valeurs fixes dans le système de stratégie adaptative. J'espère que vous avez compris ce que je voulais dire.
Si vous voulez utiliser les paramètres d'entrée pour configurer les paramètres des stratégies de trading à utiliser, il est préférable d'utiliser les fichiers, cela vous permettra de configurer les paramètres et la liste des stratégies de trading.
>> De quels fichiers parlez-vous ? ( Si vous voulez utiliser les paramètres d'entrée pour configurer les paramètres des stratégies de trading à utiliser, il est préférable d'utiliser les fichiers ).
Parlez-vous d'utiliser CStrategyXXX.mqh ou du fait d'écrire un autre EA individuel pour chaque stratégie, de l'optimiser et de copier les paramètres comme valeurs fixes dans CStrategyXXX.mqh ?
Are you talking about to use CStrategyXXX.mqh or the fact to write another individual EA for each strategy, optimize it, and copy the parameters as fixed values in CStrategyXXX.mqh?
Je veux dire que le conteneur de stratégie peut être rempli en fonction de certains paramètres de l'EA adaptatif.
Par exemple, dans Adaptive_Expert.Expert_OnInit() il peut charger un fichier avec les paramètres de l'EA adaptatif :
MA;15
MA;25
Stoch;3;12;20
Stoch;3;15;30
Stratégie1;Param1;Param2 ;
Stratégie2;Param1;Param2 ;
En analysant chaque ligne, il reconnaît la stratégie à inclure et l'ajoute avec les paramètres correspondants spécifiés. C'est l'une des façons de configurer l'EA adaptatif sans compilations. Pour des raisons de simplicité, je ne l'ai pas envisagé dans l'article.
Je comprends que cela n'a pas de sens d'interagir avec le testeur avec des bacs à sable virtuels, cela n'a pas de sens logique pour le trading.
Mon seul but était de faire modifier l'EA, afin de l'utiliser avec un addon : l'objectif étant d'utiliser cet EA aussi pour optimiser les paramètres, sans réécrire un autre EA, ou réécrire toutes les stratégies, ou tester chaque stratégie individuellement. Mon idée était seulement pour le "confort" de la possibilité d'optimiser les paramètres, dans le même EA, mais cette optimisation n'est pas destinée à fonctionner avec le commerce virtuel / système adaptatif. Il s'agit simplement d'avoir la possibilité d'optimiser les paramètres des stratégies, en utilisant la même fenêtre d'entrée de l'EA, et non pas d'écrire un autre EA pour chaque stratégie, d'obtenir les paramètres d'optimisation, et de les mettre en tant que valeurs fixes dans le système de stratégie adaptative. J'espère que vous avez compris ce que je voulais dire.
Il y a une façon de considérer les bacs à sable. Cela peut être fait indirectement en utilisant le testeur de stratégie.
Supposons que nous voulions reproduire les résultats présentés à la figure 2 de l'article.
Nous avons besoin de la version debug de l'EA adaptative adaptive-systems-mql5-sources-debug-fr.zip (elle rapporte les sandboxes). Ensuite, compilez et ouvrez Adaptive_Expert_Sample dans Strategy tester, sélectionnez EURUSD H1 01.01.2010 au 20.08.2010 et commencez à tester. Les bacs à sable et les résultats de la stratégie adaptative seront sauvegardés dans tester\files\equity_res.txt En utilisant cette méthode, il est très facile de reproduire tous les chiffres.
L'analyse des actions et des soldes commerciaux virtuels vous permettra de simplifier l'optimisation.
Bonjour à tous,
Merci pour cet excellent article, je travaille actuellement sur un EA adaptatif.
Cependant, je ne sais pas où inclure une fonction de stop suiveur dans ce type d'EA.
Je pense qu'une telle fonction pourrait être ajoutée dans la partie CAdaptiveStrategy.mqh.
Est-ce que l'un d'entre vous pourrait m'aider ? Peut-être avez-vous déjà développé une telle fonction ?
Je vous remercie d'avance !
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées,
Patrick
Je n'arrive pas à reproduire les résultats de l'article.
J'ai téléchargé les fichiers sources, compilé et exécuté sur la même période (EURUSD H1, 04/01/2010 - 20/08/2010) et j'obtiens un résultat différent.
J'ai utilisé les fichiers de débogage et vérifié les résultats des transactions virtuelles ... les graphiques d'équité virtuelle sont identiques, cependant, les transactions réelles ne correspondent pas.
Sans fichier journal des transactions réelles, il est difficile de trouver pourquoi mes transactions ne correspondent pas à celles de l'article.
Vous avez une idée de la raison pour laquelle mes transactions ne correspondent pas à celles de l'article ?