Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 897
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Le problème est que normalizeDouble produit parfois 1.23499999999999999 ou 1.234500000000001 et que les boucles d'arrêt ou les bénéfices ne fonctionnent pas comme le programme le prévoit. J'ai besoin de savoir combien de chiffres après la virgule sont dans un nombre pour le réécrire manuellement s'il est plus grand que la variable digits.Au début j'ai trouvé une sorte de sortie doubleToString et retour stringToDouble, mais en testant tout de même il y a eu quelques moments où même après cela l'imprécision était faible.
Quelque part dans la documentation, il y avait un avertissement selon lequel vous ne devez pas comparer directement des nombres de type double et comparer leur différence avec zéro ou une valeur valide.
Bonjour à tous. Écriture d'un panneau interactif (boutons) void OnChartEvent . Cela ne fonctionne pas dans le testeur de stratégie. Les boutons sont pressés (changement de teinte) mais les commandes ne sont pas ouvertes.
Les indicateurs qui utilisent des données TF (H4) différentes de la période de visualisation (M15) ne fonctionnent pas correctement ou ne fonctionnent pas du tout.
Veuillez me conseiller sur la manière de traiter ce problème. Peut-être cette question a-t-elle déjà été abordée quelque part ?
Je ne sais rien du sous-sol. Certains indicateurs doivent être placés dans des fenêtres d'indicateurs (sous-fenêtres), qui sont conçues spécifiquement à cet effet,
Sinon, vous obtiendrez ceci. Vous pouvez placer des objets graphiques supplémentaires comme vous le souhaitez. Lisez davantage et soyez plus attentif.
Je ne sais rien du sous-sol. Certains indicateurs doivent être placés dans des fenêtres d'indicateurs (sous-fenêtres), qui sont conçues spécifiquement à cet effet,
Sinon, vous obtiendrez ceci. Vous pouvez placer des objets graphiques supplémentaires comme vous le souhaitez. Lisez davantage et soyez plus attentif.
#property indicator_separate_window //Affichage de l'indicateur dans une fenêtre séparée
J'ai la propriété suivante
#property indicator_chart_window //Affichage de l'indicateur dans une fenêtre graphique
Mais jusqu'à présent, il n'est pas possible de l'afficher en haut.
Il peut y avoir plus d'une fenêtre d'indicateur, mais cela ne veut pas dire que le graphique sera désormais appelé un sous-sol à plusieurs niveaux (je plaisante).
Essayez de copier le texte de l'indicateur, en remplaçant _separate_ par _chart_. Créez un nouvel indicateur. Ne mettez pas de coche devant (Indicateur dans une fenêtre séparée).
ne le vérifiez pas. Supprimez les lignes dans le nouvel indicateur. Insérez le texte de l'ancien. Voyez ce que vous obtenez.
Le sous-sol est soit moi, soit les programmeurs appellent cette sous-fenêtre supplémentaire sous le graphique lui-même et si je l'ai dans mon indicateur...
#property indicator_separate_window //Affichage de l'indicateur dans une fenêtre séparée
J'ai la propriété suivante
#property indicator_chart_window //Affichage de l'indicateur dans une fenêtre graphique
Mais jusqu'à présent, il n'est pas possible de l'afficher en haut.
Bonjour à tous. Écriture d'un panneau interactif (boutons) avec lafonction de gestion void OnChartEvent(). Cela ne fonctionne pas dans le testeur de stratégie. Les boutons sont cliqués (changement de teinte) mais les commandes ne sont pas ouvertes.
Les indicateurs utilisant des données de cadre temporel (par exemple H4) qui diffèrent de la période de test (par exemple M15) ne fonctionnent pas correctement ou ne fonctionnent pas du tout dans le testeur de stratégie.
Veuillez me conseiller sur la façon de le réparer. Peut-être ce sujet a-t-il déjà été abordé quelque part ?
Rebonjour à tous. Je vais décrire plus précisément les problèmes avec le testeur de stratégie en général, ou avec mon terminal en particulier.
J'ai découvert via le(s) commentaire(s) que dans le testeur de stratégie,la fonction du gestionnairevoid OnChartEvent() n'est pas exécutée,
probablement en raison du manque d'événements pour le tableau de visualisation.
J'ai lu que les fonctions iBarShift, iOpen, iHigh, iLow, iClose ne fonctionnent pas dans le testeur de stratégie. Ce n'est pas vrai. L'indicateur est dessiné correctement
sur l'historique avant le test. Dès que les tests commencent, les barres des périodes plus anciennes ne sont pas mises à jour, et ces fonctions voient le plus proche de lui-même
par la barre de temps zéro. Si nous générons de force plus tôtHistoryTime=ObjectGet("VLine", OBJPROP_TIME1)sans interrompre le testeur
pour la fonction iBarShift des anciennes TF,vous verrez bientôt les barres 1, 2, 3 etc. desanciennes périodes. Les iOpen, iHigh, iLow, iClose affichent les prix corrects.
Si vous redémarrez le testeur pendant son fonctionnement et que le graphique indicateur est rendu de manière incorrecte, il sera à nouveau rendu correctement jusqu'à ce moment-là.
Peut-être que, lors de la formation de nouvelles barres de TF plus élevées (autres), la réindexation n'a pas lieu. Il existe peut-être des méthodes de réindexation forcée des données de la
d'autres TF par analogie avec la détermination du prix non standard : if ( IsTesting() ) { bid=Close[0] ; ask = Close[0]+MarketInfo(Symbol(),MODE_SPREAD )*Point ; }
Peut-être que quelqu'un a écrit des analogues de ces fonctions en utilisant les barres de la période de test actuelle (basse).
Veuillez partager vos expériences sur ce sujet.
Cet indicateur ne fonctionne pas correctement dans le testeur de stratégie. Ce qu'il faut faire pour que ça marche.