Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 168
![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
S'il vous plaît, dites-moi ce que je fais mal. J'essaie de créer un indicateur simple :
Il fonctionne dans la fenêtre du graphique, mais lorsque j'essaie de le tester dans le conseiller expert, il dessine soit ce qu'il est, soit "aucune étape".
S'il vous plaît, dites-moi ce que je fais mal. J'essaie de créer un indicateur simple :
Il fonctionne dans la fenêtre du graphique, mais lorsque j'essaie de le tester dans le conseiller expert, il dessine soit ce qu'il est, soit "aucune étape".
Je l'ai essayé. Même juste dans la fenêtre, ça ne marche pas comme ça. Apparemment, il y a une sorte d'astuce ici. Cela fonctionne de cette façon maintenant, mais c'est terriblement lent :
Ceci avec la vérification du recalcul de la dernière barre désactivée.
Bonjour, gourous de la programmation MQL4 ! Veuillez me dire comment cela est possible :
Un morceau de code de programme :
Un morceau de bois pour cette section :
La question est de savoir comment, pour la même commande, les conditions auraient pu fonctionner :Je ne comprends pas quelque chose, mais alors logiquement il s'avère que pour cet ordre :
En fait, je ne me soucie pas de savoir pourquoi cela se produit, ce qui compte c'est que sellCntr++ et buyCntr++ soient exécutés sans ambiguïté pour un certain type d'ordre ouvert, aidez-moi à corriger cela ?Bonjour, gourous de la programmation MQL4 ! Veuillez me dire comment cela est possible :
Un morceau de code de programme :
Un morceau de bois pour cette section :
La question est de savoir comment, pour la même commande, les conditions auraient pu fonctionner :Je ne comprends pas quelque chose, mais alors logiquement il s'avère que pour cet ordre :
En fait, je me fiche de savoir pourquoi cela se produit, ce qui compte c'est que sellCntr++ et buyCntr++ soient exécutés sans ambiguïté pour un certain type d'ordre ouvert, aidez-moi à réparer ?TrailingByShadows(OrderTicket(), Period(), 11, 0); ?????????????????????????????? Вы при трале разве ордера не перебираете ??????????
Comment pouvez-vous être sûr qu'il s'agit du même ordre ? Vous n'imprimez pas le ticket ;).... J'en suis sûr : quand on chaloupe, l'ordre est suréchantillonné ;) - L'erreur induite vient de là.
Logiquement, pourquoi passerais-je en revue les commandes dans le chalut si je sais déjà quelle commande spécifique je dois chaluter ? Il n'y a pas de force brute, voici le code :
PS : A propos, ce problème ne se produit qu'en conditions réelles, c'est-à-dire qu'il n'est pas reproduit dans le testeur.Un tel problème s'est posé. Le testeur de stratégie ne fonctionne qu'une fois. Plus précisément, le test de visualisation est déclenché une fois, et les fois suivantes où vous appuyez sur le bouton "start", la case "visualisation" est remise à zéro et rien ne se passe (en quelque sorte ne se passe pas). Comment peut-on vaincre cela ?
Logiquement, pourquoi passerais-je en revue les commandes dans le chalut si je sais déjà quelle commande spécifique je dois chaluter ? Il n'y a pas de force brute, voici le code :
PS : A propos, ce problème ne se produit qu'en conditions réelles, c'est-à-dire qu'il n'est pas reproduit dans le testeur.Essayez de l'exécuter dans cette variante :
Voyez ce que le journal dira.
WindowBarsPerChart() - WindowFirstVisibleBar() - 2;
vous pouvez, mais comment l'exposer.
Ajouté
Il semble que vous puissiez le faire de manière programmatique par le biais de modèles. Créer un modèle avec un indicateur, avec _lread kernel32.dll lire la valeur shift_size, avec _lwrite y écrire un nombre de 10 à 50, comme de telles plages peuvent accepter ce paramètre, puis par InternalMsg charger un modèle. Mais nous ne savons pas si c'est 33511 ou 35511. Dans WinUser32.mqh, c'est la première option, tandis que dans le forum, c'est la deuxième. La question doit être adressée à Junko. C'est beaucoup plus facile dans MT5. CHART_SHIFT_SIZE y est disponible via ChartSetString() et ChartGetString() à n'importe quel endroit du code... Peut-être existe-t-il d'autres options dans MT4 ? Question stupide, cependant...