VasiliKolchanov: Bonjour à tous, pourriez-vous me dire comment mettre en pause une fonction, pas toute l'EA, mais seulement une fonction, par exemple une alerte ?
Comment ça se fait ? Jusqu'à présent, seule une situation plutôt comique apparaît : l'homme continue, mais qu'il laisse sa tête à cet endroit pendant un moment. Ensuite, nous le ramènerons.
VasiliKolchanov: Bonjour à tous ! Pourriez-vous me dire comment mettre en pause une fonction, pas toute l'EA, mais juste une fonction, par exemple les alertes ?
Vous pouvez tout faire avec un programme qui peut être décrit avec des mots, dans votre question, vous avez décrit ce que vous avez à faire. Voici comment on procède : vous décrivez la variable globale (enfin, presque en haut du programme) dans le programme : bool pauza=false ; Quand c'est faux - la fonction fonctionne, vrai - la fonction est en pause. Maintenant, la fonction doit réagir à la pauza. Pour ce faire, ajoutez if(pauza)return ; au début de la fonction, ou quelque chose de similaire à l'endroit de l'appel de la fonction.
Il reste dans la fonction principale à vérifier l'état et à gérer la fonction à travers la variable pauza.
Si vous avez besoin de contrôler depuis l'extérieur du programme (depuis un autre script, un Expert Advisor, un indicateur), alors utilisez la variable globale du terminal
Comment ça se fait ? Jusqu'à présent, seule une situation plutôt comique apparaît : l'homme continue, mais qu'il laisse sa tête à cet endroit pendant un moment. Ensuite, nous le ramènerons.
J'ai déclenché l'alerte à un certain niveau de prix, il y a beaucoup d'instruments et le prix ne va pas immédiatement s'éloigner du niveau d'action de l'alerte, bien sûr il va continuer à chasser et chasser. Vous pouvez désactiver l'alerte en utilisant le drapeau, mais comme il y a beaucoup d'instruments, il est facile d'oublier d'activer l'alerte, donc pour cela je dois la désactiver temporairement et la réactiver (ou plutôt sa fonction) après une période de temps spécifiée.
VasiliKolchanov: J'ai une alerte déclenchée à un certain niveau de prix, il y a beaucoup d'instruments, et le prix ne s'éloigne pas immédiatement du niveau de déclenchement de l'alerte, bien sûr, il va hacher et hacher encore. Vous pouvez désactiver l'alerte à l'aide d'un drapeau, mais comme il y a beaucoup d'instruments, il est facile d'oublier d'activer l'alerte, donc pour cela j'ai besoin de la désactiver temporairement et de la réactiver (ou plutôt sa fonction) après une période de temps spécifiée.
Dans ce cas, vous pouvez définir une période de déclenchement de l'alerte. Disons en quelques secondes :
inputuint i_uAlertPeriod = 120; // Период отображения Alert, сек.
...
void DoAlert(string sText)
{
staticdatetime dtLastTime = 0;
if (TimeCurrent() - dtLastTime < i_uAlertPeriod)
return;
dtLastTime = TimeCurrent();
Alert(sText);
}
Analyse de l'historique MT4 (transactions fermées)
Aidez-moi à traiter l'historique des transactions dans MT4
J'ai besoin de prendre les données de la dernière transaction fermée, plus précisément, j'ai besoin de la valeur du lot, comment puis-je enregistrer cela dans Mt4 ?
J'ai cherché partout, il y en a un pour Mt5, mais pas pour Mt4.
Analyse de l'historique MT4 (transactions fermées)
Aidez-moi à traiter l'historique des transactions dans MT4
J'ai besoin de prendre les données de la dernière transaction fermée, plus précisément, j'ai besoin de la valeur du lot, comment puis-je enregistrer cela dans Mt4 ?
J'ai cherché partout, il y en a un pour Mt5, mais pas pour Mt4.
Dans ce cas, vous pouvez définir une période de déclenchement de l'alerte. Disons en quelques secondes :
Ihor merci pour la réponse, juste une question, ne s'agira-t-il pas d'un délai d'action, c'est-à-dire que pendant la pause les alertes s'accumuleront à chaque tick, et quand le temps expirera l'EA me les donnera encore (toutes accumulées) ? Cela peut sembler ridicule, mais désolé, je suis en train d'apprendre.
Tout ceci est tout à fait faisable
Bonjour à tous, pourriez-vous me dire comment mettre en pause une fonction, pas toute l'EA, mais seulement une fonction, par exemple une alerte ?
Comment ça se fait ? Jusqu'à présent, seule une situation plutôt comique apparaît : l'homme continue, mais qu'il laisse sa tête à cet endroit pendant un moment. Ensuite, nous le ramènerons.
Il s'agit probablement d'autre chose.
Bonjour à tous ! Pourriez-vous me dire comment mettre en pause une fonction, pas toute l'EA, mais juste une fonction, par exemple les alertes ?
Vous pouvez tout faire avec un programme qui peut être décrit avec des mots, dans votre question, vous avez décrit ce que vous avez à faire.
Voici comment on procède : vous décrivez la variable globale (enfin, presque en haut du programme) dans le programme : bool pauza=false ;
Quand c'est faux - la fonction fonctionne, vrai - la fonction est en pause.
Maintenant, la fonction doit réagir à la pauza.
Pour ce faire, ajoutez if(pauza)return ; au début de la fonction, ou quelque chose de similaire à l'endroit de l'appel de la fonction.
Il reste dans la fonction principale à vérifier l'état et à gérer la fonction à travers la variable pauza.
Si vous avez besoin de contrôler depuis l'extérieur du programme (depuis un autre script, un Expert Advisor, un indicateur), alors utilisez la variable globale du terminal
Comment ça se fait ? Jusqu'à présent, seule une situation plutôt comique apparaît : l'homme continue, mais qu'il laisse sa tête à cet endroit pendant un moment. Ensuite, nous le ramènerons.
Ça doit être autre chose.
J'ai une alerte déclenchée à un certain niveau de prix, il y a beaucoup d'instruments, et le prix ne s'éloigne pas immédiatement du niveau de déclenchement de l'alerte, bien sûr, il va hacher et hacher encore. Vous pouvez désactiver l'alerte à l'aide d'un drapeau, mais comme il y a beaucoup d'instruments, il est facile d'oublier d'activer l'alerte, donc pour cela j'ai besoin de la désactiver temporairement et de la réactiver (ou plutôt sa fonction) après une période de temps spécifiée.
Dans ce cas, vous pouvez définir une période de déclenchement de l'alerte. Disons en quelques secondes :
J'ai besoin de prendre les données de la dernière transaction fermée, plus précisément, j'ai besoin de la valeur du lot, comment puis-je enregistrer cela dans Mt4 ?
J'ai cherché partout, il y en a un pour Mt5, mais pas pour Mt4.
J'ai besoin de prendre les données de la dernière transaction fermée, plus précisément, j'ai besoin de la valeur du lot, comment puis-je enregistrer cela dans Mt4 ?
J'ai cherché partout, il y en a un pour Mt5, mais pas pour Mt4.
En fait, ce devrait être l'inverse)
Dans ce cas, vous pouvez définir une période de déclenchement de l'alerte. Disons en quelques secondes :