Aiuto!

 
Come prescrivere che all'apertura di una candela si apriva un ordine, e all'apertura della successiva si chiudeva e se ne apriva uno nuovo!
 
Anton Tarasov:
Come specificare che con l'apertura di una candela è stato aperto un ordine, e con l'apertura della successiva è stato chiuso e ne è stato aperto uno nuovo!
La prima cosa da fare è specificare la piattaforma.
 
Alexey Kozitsyn:
Per prima cosa è necessario specificare la piattaforma.
Mt4
 
Anton Tarasov:
Mt4

Ecco la funzione per determinare l'inizio di una nuova barra

/// Определяет начало нового бара
bool NewBar()
{
    static datetime lastbar = 0;
    datetime curbar = iTime(Symbol(), PERIOD_M1, 0);
    if(lastbar!=curbar)
    {
        lastbar=curbar;
        return (true);
    }
    return(false);
}
 
Alexey Volchanskiy:

Ecco una funzione per determinare l'inizio di una nuova barra

Grazie!

 
Alexey Volchanskiy:

Ecco una funzione per determinare l'inizio di una nuova barra

questa non è la funzione giusta!!!

Darà un falso segnale alla prima esecuzione dell'EA

Questo è il modo corretto e affidabile:

// =========================================================================================================// 
bool NewBar()
  {
   static datetime time=0;
   datetime cur_time = iTime(Symbol(), PERIOD_CURRENT, 0);
   if(time==0)
     {
      time=cur_time;
      return false;
     }
   if(time!=cur_time)
     {
      time=cur_time;
      return true;
     }
   return false;
  }
// =========================================================================================================//
 
Vladimir Pastushak:

questa non è la funzione giusta!!!

Darà un falso segnale al primo avvio dell'EA

Questo è il modo giusto e affidabile per farlo:

Un se in più all'EA è come un sasso sul collo.
 
Anton Tarasov:
Come prescrivere che con l'apertura di una candela si apriva un ordine, e con l'apertura della candela successiva si chiudeva e se ne apriva uno nuovo!
Se il tempo di apertura di una barra dell'ordine è inferiore a Time[0], allora lo chiudiamo. Se non ci sono ordini dopo, ne apriamo uno nuovo.
 
Dmitry Fedoseev:
Un se inutile è come un sasso sul collo dell'EA.
Metti un secondo altro poi
 
bool NEW_BAR() еще короче
 {
  static int nBars=0;
  if(nBars!=Bars)
   {
    nBars=Bars;
    return(true);
   }
  return(false);
 }
 
Alexey Busygin:
Metti giù il secondo allora.
Ed è lo stesso del cazzo.