Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1478

 
MakarFX:
Oui

Merci pour votre aide. Si je ne me trompe pas, malgré le fait que void OnTick() gère chaque tick, si nous utilisonsTimeSeconds() à l'intérieur, alors void OnTick() ne gérera pas chaque tick, mais seulement le début de chaque bougie minute et donc économisera le temps d'exécution de tout le code.

Dites-moi, si au lieu de TimeSeconds(), vous écrivez dans la condition if(Minute() != x), et à la fin x= Minute(), cela aura le même effet que TimeSeconds() ?

Merci.

 
ANDREY:

Merci pour votre aide. Si je ne me trompe pas, malgré le fait que void OnTick() gère chaque tick, si nous utilisonsTimeSeconds() à l'intérieur, alors void OnTick() ne gérera pas chaque tick, mais seulement le début de chaque bougie minute et donc économisera le temps d'exécution de tout le code.

Dites-moi, si au lieu de TimeSeconds(), vous écrivez dans la condition if(Minute() != x), et à la fin x= Minute(), cela aura le même effet que TimeSeconds() ?

Merci

bool FlagNewBar=false,
     FlagBegin=true;

void OnTick()

FlagNewBar=false;
   if(BarTime!=Time[0])
     {
      BarTime=Time[0];
      FlagNewBar=true;
     }


   if(FlagNewBar || FlagBegin)
     {
      FlagBegin=false;
.......

)

Mieux encore, vous disposerez d'un minuteur en dehors des sessions également. Et seulement sur une nouvelle bougie.

Mais pourquoi en avez-vous besoin ainsi puisqu'il est plus facile de placer une grille d'ordres en attente au premier extremum ? C'est essentiellement la même chose avec vous. La première condition est d'identifier l'extremum et ensuite, si la tendance va vers le bas, les ordres seront placés après 30 points.

Le drapeau est nécessaire pour travailler immédiatement après avoir été jeté sur la carte. Si cela n'est pas nécessaire, retirez le marquage.

 
Valeriy Yastremskiy:

Mieux encore, vous ferez en sorte que le chronomètre n'ait plus de sessions. Mais seulement sur une nouvelle bougie.

Et pourquoi feriez-vous cela, parce qu'il est plus facile de placer une grille d'ordres en attente à partir du premier extremum ? C'est essentiellement la même chose avec vous. La première condition est d'identifier l'extremum et ensuite, si la tendance va vers le bas, les ordres seront placés après 30 points.

Le drapeau est nécessaire pour travailler immédiatement après avoir été jeté sur la carte. S'il n'est pas nécessaire, supprimez le marquage.

Mon ordre s'ouvre 30 pips au-dessus du bas local, c'est-à-dire BID moins MINIMUM >= 30 pips.
Merci pour votre participation. Je vais maintenant commencer à fouiller dans vos conseils.....

 
Valeriy Yastremskiy:

Mieux encore, vous ferez en sorte que le chronomètre n'ait plus de sessions. Mais seulement sur une nouvelle bougie.

Et pourquoi feriez-vous cela, parce qu'il est plus facile de placer une grille d'ordres en attente à partir du premier extremum ? C'est essentiellement la même chose avec vous. La première condition est d'identifier l'extremum et ensuite, si la tendance va vers le bas, les ordres seront placés après 30 points.

Le drapeau est nécessaire pour travailler immédiatement après avoir été jeté sur la carte. Si nous n'en avons pas besoin, nous enlèverons le marquage.

Il y avait un minimum local. Et j'ai placé 10 ordres en attente à la distance de 30, 32, 34 ... pips du minimum local. Ensuite, le niveau local le plus bas a été mis à jour avant que le prix n'atteigne le premier ordre en attente, et je dois à nouveau définir tous les ordres en attente. De la manière dont je vois les choses, la définition et la réinitialisation des ordres en attente prennent beaucoup de temps. Et j'essaie de le sauver.

 
Valeriy Yastremskiy:

Mieux encore, vous ferez en sorte que le chronomètre n'ait plus de sessions. Mais seulement sur une nouvelle bougie.

Et pourquoi feriez-vous cela, parce qu'il est plus facile de placer une grille d'ordres en attente à partir du premier extremum ? C'est essentiellement la même chose avec vous. La première condition est d'identifier l'extremum et ensuite, si la tendance va vers le bas, les ordres seront placés après 30 points.

Le drapeau est nécessaire pour travailler immédiatement après avoir été jeté sur la carte. Si ce n'est pas nécessaire, retirez le marquage.

Je serais heureux si mon minuteur battait la mesure. Mais comme il s'est avéré dans le testeur MT4, la minuterie ne fonctionne pas.

 
ANDREY:

Merci pour votre aide. Si je ne me trompe pas, malgré le fait que void OnTick() gère chaque tick, si nous utilisonsTimeSeconds() à l'intérieur, alors void OnTick() ne gérera pas chaque tick, mais seulement le début de chaque bougie minute et donc économisera le temps d'exécution de tout le code.

Dites-moi, si au lieu de TimeSeconds(), vous écrivez dans la condition if(Minute() != x), et à la fin x= Minute(), cela aura le même effet que TimeSeconds() ?

Merci.

      if(TimeMinute(TimeCurrent())!=x)
         x=TimeMinute(TimeCurrent();
 
Valeriy Yastremskiy:

C'est mieux comme ça,

Pouvez-vous me dire pourquoi nous avons besoin d'un "FlagNewBar" ?

Ce n'est pas la même chose ?

   if(BarTime!=Time[0])
     {
      ........
      BarTime=Time[0];
     }
 

MakarFX:

if(TimeMinute(TimeCurrent())!=x)
         x=TimeMinute(TimeCurrent();


Je ne comprends toujours pas si l'utilisation des fonctions TimeSeconds() ou TimeMinute() dans ce cas est fondamentale et obligatoire ? Après tout, vous pouvez obtenir le même résultat qu'avec ces fonctions en utilisant une seule fonction - Minute()

if(Minute()!= x)
{

action
x= Minute();

}

Merci.

 
ANDREY:

Je ne comprends toujours pas si l'utilisation des fonctions TimeSeconds() ou TimeMinute() dans ce cas est fondamentale et obligatoire ? Après tout, vous pouvez obtenir le même résultat qu'avec ces fonctions en utilisant une seule fonction - Minute()

if(Minute()!= x)
{

action
x= Minute();

}

Merci.

Ce n'est pas une question de principe. Ce qui vous convient le mieux
 
MakarFX:

Pouvez-vous me dire pourquoi le "FlagNewBar" est nécessaire ?

Ce n'est pas la même chose ?

C'est une habitude du BASIC. Il est plus facile de l'utiliser) Vous pouvez le faire sans lui). Et si la condition est insérée à plusieurs endroits, l'enregistrement est plus court.

Zy. Si la logique est ramifiée et à hystérésis, vous ne pouvez pas vous passer de drapeaux. Et c'est pratique de les imprimer)