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
Salutations à tous.
Question - Je veux utiliser les méthodes de la classe CTrade dans mon EA. Quelles commandes dois-je ajouter au code pour cela ?
J'ai beaucoup essayé avec #include, #import... Rien ne sort encore :(
Salutations à tous.
Question - Je veux utiliser les méthodes de la classe CTrade dans mon EA. Quelles commandes dois-je ajouter au code pour cela ?
J'ai beaucoup essayé avec #include, #import... Rien ne fonctionne pour l'instant :(
L'exemple de conseiller expert MACD peut vous aider.
Connectez le module de la manière suivante
#include <Trade\Trade.mqh>
Déclarer une variable de l'une des deux façons suivantes (en fonction de l'algorithme et de la nécessité de certaines caractéristiques d'implémentation)
Cela peut être fait en tant qu'objet indépendant, ou en tant que partie de la classe principale.
Un exemple de fermeture d'une position (en détail dans le code).
m_trade.PositionClose(Symbol())
Exemple de modification d'une position (voir détails dans le code).
m_trade.PositionModify(Symbol(),sl,tp)
PS
Vous pouvez également étudier en détail la farce CExpert.
Qu'est-ce que ça veut dire ?
2011.07.15 13:30:35 2011.07.08 00:00:01 Boucle de veille infinie détectée pendant le test.
Ce que cela signifie ?
Théoriquement, c'est une raison pour disqualifier un participant au championnat (du moins, des problèmes lors du test automatique de l'EA), mais en fait, c'est un travail incorrect avec sleep().
Je conseille d'étudier cet article (et peut-être d'autres) plus en détail.
En ce qui concerne votre question, voici la citation de l'article:
Fonction Sleep() dans le testeur
La fonction Sleep() permet de suspendre l'exécution d'un programme mql5 pendant un certain temps lors du travail sur un graphique dans un Expert Advisor ou un script. Cela peut être nécessaire lorsque vous demandez des données qui ne sont pas prêtes au moment de la demande et que vous devez attendre qu'elles le soient. Un exemple détaillé de l'utilisation de la fonction Sleep() se trouve dans la section Organisation de l'accès aux données.
Dans le testeur, les appels de Sleep() ne retardent pas le processus de test. Lorsque Sleep() est appelé, les ticks générés sont "joués" dans le délai spécifié, ce qui permet de déclencher des ordres en attente, des stops, etc. Après l'appel de Sleep(), le temps simulé dans le testeur est augmenté de l'intervalle spécifié dans le paramètre de la fonction Sleep.
Si, à la suite de l'exécution de Sleep(), le temps actuel dans le testeur dépasse la fin de la période de test, une erreur "boucle infinie dans Sleep" sera reçue. Si une telle erreur se produit, les résultats des tests ne sont pas abandonnés, tous les calculs sont effectués (nombre de transactions, drawdown, etc.) et les résultats sont transmis au terminal.
La fonction Sleep() ne fonctionnera pas dans OnDeinit() car après son appel, le temps du testeur est garanti au-delà de l'intervalle de test.
Camarades !
Je vais ajouter une analyse historique au conseiller expert. Pouvez-vous me dire comment organiser la sortie des données ?
Disons, la barre la plus longue d'une année d'histoire. Comment obtenir la valeur est clair, mais où sortir ? Il serait plus pratique de le sortir directement sur le graphique. Ou en utilisant la fonction d'impression du journal, mais je ne sais pas comment cela fonctionnerait ? Réimprimera-t-il continuellement des valeurs ? Devrais-je définir une condition délicate pour l'impression ? Quelle serait votre recommandation générale ?
Camarades !
Je vais ajouter une analyse historique au conseiller expert. Pouvez-vous me dire comment organiser la sortie des données ?
Disons, la barre la plus longue d'une année d'histoire. Comment obtenir la valeur est clair, mais où sortir ? Il serait plus pratique de le sortir directement sur le graphique. Ou en utilisant la fonction d'impression du journal, mais je ne sais pas comment cela fonctionnerait ? Réimprimera-t-il continuellement des valeurs ? Devrais-je définir une condition délicate pour l'impression ? Quelle serait votre recommandation générale ?
Essayez d'utiliser la fonction Comment(). Il place le texte dans le coin supérieur gauche du graphique.
Vous pouvez également utiliser le symbole "\n" pour passer à la ligne suivante. Malheureusement, "\t" ne fonctionne pas.
Essayez d'utiliser la fonction Comment(). Il place le texte dans le coin supérieur gauche du graphique.
Vous pouvez également utiliser "\n" pour passer à la ligne suivante. Malheureusement, "\t" ne fonctionne pas.
Pouvez-vous me dire combien de données on peut faire tenir dans un tableau ? Dans le tableau de la structure MqlRates, je vais mettre tout l'historique des barres horaires depuis 2009, cela conviendra-t-il ?
p.s. Autre chose avec le testeur de stratégie, il ne fonctionne pas le week-end car le serveur n'est pas disponible ou quelque chose m'a échappé ? Il semblait fonctionner correctement le vendredi))
1. Le tout semble être. S'il y a une limite, elle se situe au niveau du seuil int ou long. Il n'y a pas beaucoup de RAM dans l'ordinateur. =)
2. Décrivez plus précisément le problème du testeur qui ne fonctionne pas. Codes d'erreur, captures d'écran...