operacional

Na Onda  

fala comigo experts 


preciso de uma ajuda, ja pesquise nao achei nada referente


vamos la , tenho um EA com diversos operacionais que usa o keltner, gostaria de saber como faço para limitar um desses operacionais, 

tipo ele vai entrar naquele operacional somente uma vez no dia, msm que ele fique ativado ele vai operar somente uma vez , msm se der gain ou loss 



   if(tocar==true && PosicaoTotal()==false)//1 = Tocar
   {
      if( (me2 || !b2) && (me1 || !b1) && (me || !b) && rates[0].close<=bufferLow[0] && c!=iTime(_Symbol,PERIOD_M1,0) && rates[1].close>bufferLow[1] && operarCompra==1)//Compra
      {
         double Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK);
         if ( trade.Buy(novoLote,NULL,Ask,Ask-NormalizeTick(stopLoss),Ask+NormalizeTick(takeProfit),NULL) )
         c=iTime(_Symbol,PERIOD_M1,0);
         PrecoMedio(Ask,2);
         salvaVela = rates[1].time;      
      }
      if( (!me2 || !b2) && (!me1 || !b1) && (!me || !b) && rates[0].close>=bufferHigh[0] && c!=iTime(_Symbol,PERIOD_M1,0) && rates[1].close<bufferHigh[1] && operaVenda==1)//venda   
      {
         double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID);
         if ( trade.Sell(novoLote,NULL,Bid,Bid+NormalizeTick(stopLoss),Bid-NormalizeTick(takeProfit),NULL) )
         c=iTime(_Symbol,PERIOD_M1,0);
         PrecoMedio(Bid,1);
         salvaVela = rates[1].time;
      }
   }
Flavio Javier Jarabeck  
Na Onda:

fala comigo experts 


preciso de uma ajuda, ja pesquise nao achei nada referente


vamos la , tenho um EA com diversos operacionais que usa o keltner, gostaria de saber como faço para limitar um desses operacionais, 

tipo ele vai entrar naquele operacional somente uma vez no dia, msm que ele fique ativado ele vai operar somente uma vez , msm se der gain ou loss 

Foi você quem criou esse código?
Na Onda  
Flavio Jarabeck #:
Foi você quem criou esse código?

nao totalmente

Samuel Manoel De Souza  
Na Onda #:

caracas, pessoal tudo joga pra jobs, ajudar nimquem ajuda 

É porque sua duvida não é sobre a mql e sim sobre lógica. 

A resposta está na pergunta. Se quer que opere apenas uma vez ao dia, basta verificar se já foi realizado algum operação no dia, antes de chamar a rotina específica, e salvar a data da operação quando executar uma operação. Como fazer isso? Depende...

Um exemplo.

void OnTick(void)
  {
   static string dataUltimaOp = "" ;
   if(TimeToString(TimeCurrent(),TIME_DATE) != dataUltimaOp)
     {
      if(Buy())
        {
         dataUltimaOp = TimeToString(TimeCurrent(),TIME_DATE);
        }
     }
  }

bool Buy(void)
  {
   return true;
  }
Na Onda  
Samuel Manoel De Souza #:

É porque sua duvida não é sobre a mql e sim sobre lógica. 

A resposta está na pergunta. Se quer que opere apenas uma vez ao dia, basta verificar se já foi realizado algum operação no dia, antes de chamar a rotina específica, e salvar a data da operação quando executar uma operação. Como fazer isso? Depende...

Um exemplo.

obrigado isso ja me da um norte

Razão: