Retarder l'alerte de plusieurs secondes - page 3

 
GumRai:

Que voulez-vous dire ?

Pourquoi pas ? Il n'y a rien de mal à utiliser Time[0] pour détecter une nouvelle barre.

Mon code est correct. Il veut 3 secondes après le début de la barre.

Parfois, lorsque l'historique est mis à jour, Time[0] ne fonctionne pas.

https://forum.mql4.com/ru/65066/page6#1016370

(rus)

 
omissamf:
Bonjour les gars, vous êtes géniaux ! !!
Je ne sais pas comment vous remercier pour votre coopération.
Le code posté eevviill fonctionne très bien, c'est ce que je voulais dire.
Le code GumRai par contre fait repeindre et donne le signal chaque fois que le RSI traverse les niveaux 30/70.
J'insère le code qui fonctionne selon les suggestions d' eevviill, en espérant qu'il servira un peu plus.

Merci pour tout, Massimo.


Tout le plaisir est pour moi.
 
Bonjour eevviill, juste par curiosité: que voulais-tu dire par:
P.S. N'utilisez pas Time [0], utilisez Bars ?
Est-il possible de changer le coodice qui a posté GumRai?
c'est juste ma curiosité, car j' essaie de comprendre et d'étudier le langage.
Merci, Max.
 
eevviill: P.S. N'utilisez pas Time[0], utilisez Bars.
N'utilisez pas les barres, elles peuvent changer lors d'un rafraîchissement (nouvel historique téléchargé.) N'utilisez pas le volume (vous pouvez manquer des ticks) Utilisez toujours le temps.
 
omissamf:
Bonjour eevviill, juste par curiosité: que voulais-tu dire par:
P.S. N'utilisez pas Time [0], utilisez Bars ?
Est-il possible de changer le coodice qui a posté GumRai?
c'est juste ma curiosité, parce que j' essaie de comprendre et d'étudier le langage.
Merci, Max.

Dans mon code Bars. Vous pouvez le vérifier.

Pour détecter une nouvelle barre, utilisez uniquement Bars.

 
WHRoeder:
N'utilisez pas les barres, elles peuvent changer lors d'un rafraîchissement (nouvel historique téléchargé.) N'utilisez pas le volume (vous pouvez manquer des ticks) Utilisez toujours le temps.

Et ? Les barres restent les mêmes ?

Vous avez tort.

 
omissamf:
Le code GumRai au contraire fait le repeint et donne le signal chaque fois que le RSI traverse les niveaux 30/70.


Vous faites référence à l'exemple que j'ai posté ?

   static datetime BarStart=0;
   static bool check=false;
   if(BarStart!=Time[0])
     {
      BarStart=Time[0];
      check=true;
     }
   if(check && TimeCurrent()>=Time[0]+3)
     {
      check=false;
      //Check Condition
     }

Je ne pense pas que cela entraînera un repeint ou des signaux supplémentaires.

Cela doit être votre code. Il est possible que vous ayez placé le code pour vérifier les conditions et l'alerte en dehors du

   if(check && TimeCurrent()>=Time[0]+3)
     {
      check=false;
      //Check Condition
     }

bloc.

 
eevviill:

Et ? Les barres restent les mêmes ?

Vous avez tort.

Si un nouvel historique est reçu, les barres changent. Cependant, cela n'indique pas à l'EA qu'une nouvelle barre s'est formée.

 
WHRoeder:

Si un nouvel historique est reçu, les barres changent. Cependant, cela n'indique pas à l'EA qu'une nouvelle barre s'est formée.



Si l'historique du graphique est mis à jour et que le nombre de barres augmente, alors les barres ne changeront pas ????.

 

J'ai édité les 2 derniers messages. S'il vous plaît, arrêtez de vous chamailler, cela ne sert à rien.

Je vais continuer à utiliser Time[0] pour détecter une nouvelle barre car je n'ai jamais eu de problèmes avec.

Pour être honnête, je ne sais pas ce qui se passe lorsque Bars atteint le maximum dans l'historique, donc je n'utiliserai pas Bars. Si eevviil préfère utiliser Bars, c'est son choix. WHRoeder est un contributeur extrêmement expérimenté et précieux sur ce forum et tout ce qu'il dit ne doit pas être rejeté à la légère.

Raison: