Caractéristiques du langage mql5, subtilités et techniques - page 203
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
Nous étendons les séquences d'initialisation "{ ... }", dans la prochaine version, toute expression sera autorisée, pas seulement une constante.
Au lieu de ce changement, il y aura une restriction sur l'utilisation des constantes pour les énumérations (comme pour une expression normale) : si une constante ne fait pas partie d'une énumération, une erreur appropriée sera générée.
L'analyse des codes existants a montré que la séquence de zéro unique "{0}" est souvent utilisée de manière incorrecte.
Par exemple, comme ceci :
Une telle notation signifie que la valeur zéro est attribuée au premier champ de la structure et que les autres champs sont mis à zéro.
Pour la ligne de code ci-dessus, selon les nouvelles règles, il y aura une erreur puisque le premier champ a le type ENUM_TRADE_REQUEST_ACTIONS, une énumération qui n'a pas la valeur "0".
La manière correcte serait :
MqlTradeRequest request={};
C'est exact :
MqlTradeRequest request={};
Et alors, à quoi serait égale la requête.action ?
Et alors, à quoi serait égale la requête.action ?
Zéro, bien sûr, comme si ZeroMemory était appelé pour l'objet de cette structure.
Comment garder la trace des séries chronologiques et des indicateurs basés sur celles-ci ?
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Bugs, bugs, questions
Slava, 2021.05.29 18:16
Je tiens à vous rappeler.
1. Pour chaque symbole, pour lequel au moins un graphique est ouvert, un thread séparé fonctionne pour traiter les ticks entrants. Plusieurs graphiques peuvent être ouverts pour un certain symbole, mais il n'y aura toujours qu'un seul fil.
2. Le fil des symboles gère les séries chronologiques, pas les graphiques. C'est-à-dire, les mêmes tableaux de données, qui sont soumis à la requête CopyRates.
3. il est inutile de demander à votre symbole dans OnTick ou OnCalculate, s'il est synchronisé. Bien sûr qu'elle l'est !
4. Toutes les séries chronologiques sont traitées dans l'ordre, du plus bas au plus haut. Nous appliquons d'abord le tick, puis le calcul de tous les indicateurs, créés à cette série temporelle. Si vous demandez des données pour le même symbole H1 à l'indicateur, qui travaille sur M1, vous n'obtiendrez jamais de données avec le tick appliqué. Les données seront toujours en retard d'un tick, peu importe les astuces que vous appliquerez. Parce qu'il y a un fil par symbole avec un traitement consécutif dans le temps.
5. La déclaration précédente ne s'applique pas aux EA et aux scripts, car ces derniers fonctionnent chacun dans leur propre fil conducteur.
Comment garder la trace des séries chronologiques et des indicateurs basés sur celles-ci ?
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Bugs, bugs, questions
Slava, 2021.06.01 06:34
Lors de la première demande, il se peut que l'indicateur ne reçoive pas les données de son symbole mais d'un autre cadre temporel pour une seule raison : la série temporelle requise n'a pas encore été construite ou a déjà été détruite après un certain temps, lorsqu'il n'y avait pas de demandes.
Après une demande infructueuse, il suffit d'envoyer une commande à votre graphique pour le mettre à jour et de mettre immédiatement fin à OnCalculate. Il est garanti que OnCalculate sera appelé et que la série chronologique sera prête à ce moment-là.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Caractéristiques du langage mql5, subtilités et astuces
fxsaber, 2017.11.30 09:48
Mémo
Le point est différent - pourrait-il s'agir d'un oubli plutôt que d'un changement délibéré de comportement ? Tu l'as découvert ?
Le point est différent - pourrait-il s'agir d'un oubli plutôt que d'un changement délibéré de comportement ? Vous l'avez reconnu ?
Je ne l'ai pas fait. Le retour d'information est presque inexistant. Cependant, il y a une fonctionnalité que je viens de découvrir.
Ce conseiller expert émet des alertes lors du passage d'un compte à l'autre. Il semblerait qu'il ne devrait pas le faire selon la règle.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Caractéristiques du langage mql5, subtilités et astuces
fxsaber, 2017.11.30 09:48
Mémo
Ce conseiller émet des alertes lorsqu'il passe d'un compte à l'autre. Il semblerait qu'elle ne devrait pas le faire, selon la règle
Personne n'a garanti que les autres gestionnaires d'événements seront interrompus (ou ne seront pas exécutés).
Après l'alerte, deinit et init se produisent, non ?