Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1531
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
Comment faire face à un gel terminal ?
Le code est simple, mais il est très lent.
Il est plus facile et plus sûr de mettre le drapeau de premier démarrage dans OnTick().
Il doit effectuer les calculs et le rendu en même temps, même, par exemple, le week-end.
Je ne vais pas deviner ce qui va se passer, la première chose que je vois est que vous avez fait une pause pour obtenir les valeurs de l'indicateur dans OnInit() - que se passera-t-il si l'utilisateur change de TF à ce moment-là ?
SZY : Comment se comporterait votre code si vous exécutez une EA, puis fermez le terminal et le rouvrez avec une EA en cours d'exécution ?
ces variantes sont considérées
S'il te plaît, rappelle-moi une chose insignifiante. Mon EA ouvre et ferme les ordres dans le testeur normalement. Cela fait déjà une semaine que je travaille avec la démo et tout va bien. Mais dans deux cas, lors de l'ouverture du deuxième ordre (pour une position Mart), il n'a pas fermé les deux lorsque le solde est positif, mais un seul s'est battu avec le deuxième jusqu'à ce que je ferme l'ordre de prise. J'ai regardé le journal - le prixétait "requalification". Cela ne devrait pas être un problème et devrait se fermer de toute façon, mais ce n'est pas le cas.
Ainsi, je n'ai pas écrit la fonction ENVOYER (OBLIGATOIRE) DE LA FERMETURE DE LA COMMANDE en cas de condition. S'il vous plaît, dites-moi comment écrire cette banalité. Merci.
S'il te plaît, rappelle-moi une chose insignifiante. Mon EA ouvre et ferme les ordres dans le testeur normalement. Cela fait déjà une semaine que je travaille avec la démo et tout va bien. Mais dans deux cas, lors de l'ouverture du second ordre (Marting), mon EA n'a pas fermé les deux lorsque le solde est positif, mais un seul s'est battu avec le second jusqu'à ce que je ferme l'ordre de prise. J'ai regardé le journal - le prixétait "requalification". Cela ne devrait pas être un problème et devrait se fermer de toute façon, mais ce n'est pas le cas.
Je n'ai donc pas écrit la fonction ENVOI (OBLIGATOIRE) DE LA FERMETURE DE LA COMMANDE en cas de condition. S'il vous plaît, dites-moi comment écrire cette banalité. Merci.
Ou augmenter le glissement.
Merci de votre réponse. Pourquoi 138 ???? S'agit-il d'un numéro d'erreur ? Et de combien augmenter le glissement (veuillez expliquer la signification de l'augmentation). Merci.
Pourquoi 138 ???? S'agit-il d'un numéro d'erreur ?
Oui
Et de combien augmenter le glissement (veuillez expliquer la signification de l'augmentation).
C'est vous qui voyez, plus il y a de glissement, moins il y a de requêtes.
Comment faire face à un gel terminal ?
Le code est simple, mais il est très chargé.
C'est étrange...
Je l'ai fait avec int start() au lieu de OnCalculate et il ne se bloque pas du tout.
Pourquoi ?
Il est nécessaire de faire les calculs et les rendus en une seule fois, même, par exemple, le week-end.
Les indicateurs fonctionnent en un seul fil, si l'un d'eux attend, tous les autres attendent, jusqu'à ce que le terminal se bloque.
Lors du démarrage de MT, l'initialisation de l'indicateur (-s) peut se faire avant l'initialisation des variables terminales, c'est-à-dire qu'il est très facile d'attraper un hang.