Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 845
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
Pokrov, Je t'ai dit ce que tu regardais...
Voici la réponsehttps://www.mql5.com/ru/forum/131277/page295#455199
Merci à l'auteur.
Pouvez-vous me dire si le bloc de gestion des erreurs ci-dessous est correctement orthographié ou s'il y a une erreur ? Ne jurez pas tout de suite ))))
Comment l'indicateur peut-il sauvegarder l'historique des valeurs dans un fichier (et le charger plus tard) ? Existe-t-il des solutions toutes faites ?
Pouvez-vous me dire si le bloc de gestion des erreurs ci-dessous est correctement orthographié ou s'il y a une erreur? Ne jurez pas tout de suite ))))
À mon avis, la gestion des erreurs doit prendre la forme d'une fonction définie par l'utilisateur, qui doit être appelée après toute action liée à l'accès au serveur.
Par exemple, OrderSend() renvoie le ticket de commande ou -1 en cas d'échec, c'est-à-dire en cas d'erreur. Vous devez donc appeler le gestionnaire d'erreur en cas d'échec de l'exécution de la commande et lui transmettre le code d'erreur. Et dans le gestionnaire d'erreur, nous devons fournir une valeur de retour à laquelle l'action qui a échoué est répétée ou à laquelle elle est arrêtée.
Par exemple, les prix ont changé, RefreshRates() ; et réessayer, et s'il n'y a pas assez d'argent, il est probablement préférable d'arrêter d'essayer.
À mon avis, la gestion des erreurs doit prendre la forme d'une fonction définie par l'utilisateur, qui doit être appelée après toute action liée à l'accès au serveur.
Par exemple, OrderSend() renvoie le ticket de commande ou -1 en cas d'échec, c'est-à-dire en cas d'erreur. Vous devez donc appeler le gestionnaire d'erreur en cas d'échec de l'exécution de la commande et lui transmettre le code d'erreur. Et dans le gestionnaire d'erreur, nous devons fournir une valeur de retour à laquelle l'action qui a échoué est répétée ou à laquelle elle est arrêtée.
Par exemple, les prix ont changé, RefreshRates() ; et réessayer, et en cas de fonds insuffisants, il est probablement préférable d'arrêter d'essayer.
J'ai GetLastError après les fonctions et si une erreur se produit, ne va-t-on pas aller dans ce bloc (tel qu'il est écrit) et les commandes ne seront pas exécutées ? Je comprends la chaîne, par exemple OrderSend() -> GetLastError -> bloc d'erreur Sleep(3000) RefreshRates() -> sortie du bloc et si les conditions demeurent OrderSend() est demandé à nouveau. Ou bien mon raisonnement et mes concepts sont erronés. Je comprends que vous voulez écrire la valeur de retour 1 ou 0 dans le bloc, mais mes fonctions sont simples et ne sont pas liées à des valeurs booléennes comme SignalBuy, si je comprends bien, les valeurs de retour devraient être retournées là.