Expert Advisors: ZigZag EA - Seite 6

 

Klar.

Er wird mir bei den Experts gar nicht angezeigt.

Wenn ich ihn im Editor öffne und neu kompiliere erhalten ich folgenden Fehler:


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

'INIT_FAILED' - expression not boolean ZigZag EA.mq5 433 17

 
Satbieter #:

Klar.

Er wird mir bei den Experts gar nicht angezeigt.

Wenn ich ihn im Editor öffne und neu kompiliere erhalten ich folgenden Fehler:


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

'INIT_FAILED' - expression not boolean ZigZag EA.mq5 433 17

OnInit wird mit einem Fehler (INIT_PARAMETERS_INCORRECT, Zeile 135) bendet - dadurch erscheint er nicht auf dem Chart.

Also, was hast Du denn angegeben für:

input double      InpLots           = 0;              // Lots (or "Lots">0 and "Risk"==0 or "Lots"==0 and "Risk">0)
input double      Risk              = 5;              // Risk (or "Lots">0 and "Risk"==0 or "Lots"==0 and "Risk">0)
 

Verwenden Sie die Version 1.006

 

Now it works .

Perfect.

 

Lieber Vladimir,

schön, diesen EA zu kennen. Könnten Sie 2 weitere ZigZag-Indikatoren hinzufügen? Eintrag und Ausfahrt Regel: Eintrag 2 Zigzag treffen in 1 Preis, Ausfahrt 2 Zigzag treffen in 1 Preis. tun das gleiche mit 3 Zigzag. Sie können es Optionen, sollte diese Eingabe / Ausstieg oder nicht verwenden.

Danke für die weitere Bestätigung.

 
Ich konnte die Version 1.006 nicht finden. Bitte helfen Sie mir?
 
müssen zu verbessern, fügen Sie ein Fraktal von Nachrichten zu speichern, fügen Sie stoppen und nehmen in Pips statt Fibo, und fügen Sie Umkehrung, und so die Eule ist ausgezeichnet, können Sie die Einstellungen profitabel, und fügen Sie ein Limit von Aufträgen für Hedge.
 
großartiger Berater !!!!!!!
 
Gut, Grüße Dank für Ihre Beiträge, nur ein Kommentar der Roboter hat zwei Kompilierungsfehler, könnten Sie sagen, wie man sie korrigieren, ist es zurück
 
YANETT PIRELA Kompilierungsfehler könnten Sie sagen, wie zu korrigieren, ist zurück

Der Fehler liegt in dieser Funktion:

//+------------------------------------------------------------------+
//| Lots oder Risiko in Prozent für ein Geschäft aus einer freien Marge |
//+------------------------------------------------------------------+
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);
  }

Damit es funktioniert, müssen Sie return (INIT_FAILED); durch return false ändern ;

Ich vermute, dass es in einer früheren Version funktionieren würde, aber jetzt ist es kein boolescher Ausdruck.