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

 
MakarFX:

void()

Et dans mon code, que j'ai posté ici, où doit être inséré ce void() ?
Merci.

 
ANDREY:

Et dans mon code que j'ai posté ici, où doit être inséré ce void() ?
Merci

ne pas insérer - créer

supprimer de OnTick()

et ensuite

//--- input parameters
input int      Points=30;
double LoU;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(60); // таймер в секундах
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   LoU=Bid;
   if(Low[0]<LoU) {LoU=Low[0];}
   SendOrder(); 
  }
//+------------------------------------------------------------------+
void SendOrder()
  {
   if ((Bid-Points*Point)>=LoU)
     {
      if(OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,0,0,"300",0)) LoU=Low[0];
     }
  }
 
MakarFX:

ne pas insérer - créer

supprimer de OnTick()

et puis...

Je suis intrigué par cela..... Et que fait exactement ce void() par rapport à mon code et par rapport à mon objectif ?

J'ai compris que les calculs de OnTick() sont transmis à d'autres fonctions. Et chaque fois qu'il y a void(), quelle fonction exécute-t-il ?
Merci.

 
ANDREY:

Je suis intrigué par cela..... Et que fait exactement ce void() par rapport à mon code et par rapport à ma cible ?
Merci

Fonctionne avec une minuterie.

 
MakarFX:

Travailler avec un minuteur

La minuterie indique-t-elle au programme la fréquence à laquelle il doit vérifier le code, à chaque tick, ou à chaque chandelier minute, horaire ou quotidien ?
Si c'est le cas, dois-je régler le minuteur pour qu'il vérifie toutes les minutes les bougies et cela prendra beaucoup moins de temps pour exécuter le code pendant les tests ?

 
ANDREY:

La minuterie indique-t-elle au programme la fréquence à laquelle il doit vérifier le code, à chaque tic-tac, ou à chaque bougie de minute, d'heure ou de jour ?

Je l'ai signé.

EventSetTimer(60); // таймер в секундах
 
MakarFX:

Je l'ai signé.

Pourquoi pas en quelques minutes ?

Ou est-ce en fait en minutes ? Ou bien le code sera-t-il exécuté à chaque seconde, et non à chaque tic. Il y a plus de tics que de secondes et parfois beaucoup plus...
 
ANDREY:

Pourquoi pas en quelques minutes ?

Andrei, décidez ce que vous voulez. soit chaque tick, soit en secondes. réglez-le sur 86400 secondes... et ce sera une fois par jour.

 
MakarFX:

ne pas insérer - créer

supprimer de OnTick()

et ensuite

Voici votre code

input int      Points=30;
double LoU,Pr;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(60); // таймер в секундах
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   LoU=Bid;
   if(Low[0]<LoU) {LoU=Low[0];}
   SendOrder(); 
  }
//+------------------------------------------------------------------+
void SendOrder()
  {
   if ((Bid-Points*Point)>=LoU)
     {
      if(OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,0,0,"300",0)) LoU=Low[0];
     }
  }

Mais ça n'a pas ouvert de commande pour une raison quelconque.

 
MakarFX:

Andrei, décidez ce que vous voulez, soit chaque tick, soit en secondes. Mettez 86400 secondes... et c'est une fois par jour.

Je l'ai maintenant. C'est ce que je voulais entendre, que vous pouvez le régler sur n'importe quel intervalle.
Merci.