Encerramento de operações após X minutos da abertura - erro

Elias Nunes Da Silva  

Fala pessoal, tudo certo?

Estou desenvolvendo um código para encerramento de todas posições após 30 minutos da abertura, mas está dando erro...

Já li as bibliotecas, mas não consegui corrigir.

Se alguém puder me ajudar, agradeço muito!!!



void OnTick()
  {
    
   datetime horario_controle;
   datetime horario_abertura;
   horario_controle=TimeCurrent();
   horario_abertura=PositionGetInteger(POSITION_TIME);
  
   if(horario_controle>=horario_abertura+1800)
      {
        CloseAllPositions();
      }
   }


void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) 
      if(m_position.SelectByIndex(i))  
         m_trade.PositionClose(m_position.Ticket()); 
  }
জচেলিনো  
bool_el:

Fala pessoal, tudo certo?

Estou desenvolvendo um código para encerramento de todas posições após 30 minutos da abertura, mas está dando erro...

Já li as bibliotecas, mas não consegui corrigir.

Se alguém puder me ajudar, agradeço muito!!!


O problema pode estar nesta função que você criou " CloseAllPositions();" e que não mostra o código.

Elias Nunes Da Silva  
void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) 
      if(m_position.SelectByIndex(i))  
         m_trade.PositionClose(m_position.Ticket()); 
  }
Elias Nunes Da Silva  

Consegui ajustar...


   datetime horario_controle;
   datetime horario_abertura;
   horario_controle=(datetime)TimeCurrent();
   horario_abertura=(datetime)PositionGetInteger(POSITION_TIME);
Razão: