Especialistas: ZigZag EA - página 6

 

Com certeza.

Ele não é exibido de forma alguma nos Especialistas.

Quando o abro no editor e o recompilo, recebo o seguinte erro:


'INIT_FAILED' - expression not boolean ZigZag EA.mq5 427 20

'INIT_FAILED' - expressão não booleana ZigZag EA.mq5 433 17

 
Satbieter #:

Com certeza.

Ele nem sequer é exibido nos Especialistas.

Quando o abro no editor e o recompilo, recebo o seguinte erro:


'INIT_FAILED' - expression not boolean ZigZag EA.mq5 427 20

'INIT_FAILED' - expressão não booleana ZigZag EA.mq5 433 17

O OnInit é encerrado com um erro (INIT_PARAMETERS_INCORRECT, linha 135), portanto, não aparece no gráfico.

Então, o que você especificou para:

input double      InpLots           = 0;              // Lotes (ou "Lotes">0 e "Risco"==0 ou "Lotes"==0 e "Risco">0)
input double      Risk              = 5;              // Risco (ou "Lotes">0 e "Risco"==0 ou "Lotes"==0 e "Risco">0)
 
 

Agora está funcionando.

Perfeito.

 

Prezado Vladimir,

é bom conhecer esse EA. Você poderia adicionar mais dois indicadores de ziguezague? Regra de entrada e saída: entrada de 2 ziguezagues em 1 preço, saída de 2 ziguezagues em 1 preço. Você pode fazer opções, se deve usar essa entrada/saída ou não.

Obrigado pela confirmação.

 
Não consegui encontrar a versão 1.006. Alguém pode me ajudar?
 
precisa melhorar, adicionar um fractal para evitar notícias, adicionar stop e take em pips em vez de fibo, e adicionar reversão, e assim a coruja é excelente, você pode escolher as configurações lucrativas e adicionar um limite de ordens para hedge.
 
Ótimo consultor !!!!!!!
 
Bom, saudações, obrigado por suas contribuições, apenas um comentário o robô tem dois erros de compilação, você poderia dizer como corrigi-los, é retorno
 
YANETT PIRELA erros de compilação você poderia dizer como corrigir, é retorno

O erro está nessa função:

//+------------------------------------------------------------------+
//| Lotes ou risco em porcentagem para um negócio a partir de uma margem livre
//+------------------------------------------------------------------+
bool LotsOrRisk(const double lots,const double risk,const int digits_adjust)
  {
   if(lots<0.0 && risk<0.0)
     {
      Print(__FUNCTION__,", ERROR: Parameter (\"lots\" or \"risk\") can't be less than zero");
      return(false);
     }
   if(lots==0.0 && risk==0.0)
     {
      Print(__FUNCTION__,", ERROR: Trade is impossible: You have set \"lots\" == 0.0 and \"risk\" == 0.0");
      return(false);
     }
   if(lots>0.0 && risk>0.0)
     {
      Print(__FUNCTION__,", ERROR: Trade is impossible: You have set \"lots\" > 0.0 and \"risk\" > 0.0");
      return(false);
     }
   if(lots>0.0)
     {
      string err_text="";
      if(!CheckVolumeValue(lots,err_text))
        {
         Print(__FUNCTION__,", ERROR: ",err_text);
         return(false);
        }
     }
   else if(risk>0.0)
     {
      if(m_money!=NULL)
         delete m_money;
      m_money=new CMoneyFixedMargin;
      if(m_money!=NULL)
        {
         if(!m_money.Init(GetPointer(m_symbol),Period(),m_symbol.Point()*digits_adjust))
            return(INIT_FAILED);
         m_money.Percent(risk);
        }
      else
        {
         Print(__FUNCTION__,", ERROR: Object CMoneyFixedMargin is NULL");
         return(INIT_FAILED);
        }
     }
//---
   return(true);
  }

Para que ela funcione, você deve alterar return (INIT_FAILED); por return false;

Acho que isso funcionaria em uma versão anterior, mas agora não é uma expressão booleana.