Umstieg von mt4 zu mt5 OnChartEvent problem

 

Hallo und Grüße an alle.

Ich versuche grade meinen mt4 indikator neu in mql5 zu schreiben. 

Ziel:

Eine Trendlinie zeichen und aus Anfangs und Endpunkt die Preisdifferenz in Prozent ausgeben.


MT4 Code (funktioniert wie geplant):

     if(id == CHARTEVENT_OBJECT_CREATE) {
      if(StringFind(sparam, "Trendline", 0) < 0)return;
      double p1 = NormalizeDouble(ObjectGet(sparam, OBJPROP_PRICE1), _Digits),
             p2 = NormalizeDouble(ObjectGet(sparam, OBJPROP_PRICE2), _Digits),
             prozent = NormalizeDouble(p2 / 100, _Digits),
             prozent2 = NormalizeDouble((p2 - p1) / prozent, 2);
      datetime t2 = ObjectGet(sparam, OBJPROP_TIME2);
      int plshift = iBarShift(_Symbol, _Period, t2);
      double highlow, hdistance, ldistance;
      switch(_Period) {
      case 1:
         ldistance = 2;
         hdistance = 15;
         break;
      case 5:
         ldistance = 2;
         hdistance = 5;
         break;
      case 15:
         ldistance = 10;
         hdistance = 20;
         break;
      case 30:
         ldistance = 10;
         hdistance = 30;
         break;
      case 60:
         ldistance = 10;
         hdistance = 30;
         break;
      case 240:
         ldistance = 20;
         hdistance = 60;
         break;
      case 1440:
         ldistance = 40;
         hdistance = 120;
         break;
      case 10080:
         ldistance = 60;
         hdistance = 360;
         break;
      case 43200:
         ldistance = 60;
         hdistance = 1200;
         break;
      }
      p1 > p2 ? highlow = Low[plshift] - (ldistance * _Point) : highlow = High[plshift] + (hdistance * _Point);
      if(keydown == true) {
         if(StringFind(sparam, "Trendline", 0) >= 0) {
            drawLabel(sparam + "_", DoubleToString(prozent2, 2) + "%", highlow, clrLightGray, plshift, 9);
         }
      }
   }

Wenn ich das so in mql5 mache, beginnt er schon beim ersten Klick mit der Berechnung wobei p1 der Anfangspunkt und p2 immer 0 ist. Er muss aber warten bis die Trendlinie fertig ist.

Ich komme da leider nicht weiter und brauche eure Hilfe

Schonmal vielen Danke

VG Wolfgang

Dokumentation zu MQL5: Konstanten, Enumerationen und Strukturen / Objektkonstanten / Objekttypen
Dokumentation zu MQL5: Konstanten, Enumerationen und Strukturen / Objektkonstanten / Objekttypen
  • www.mql5.com
Bei der Erzeugung des graphischen Objekts durch die Funktion ObjectCreate() muss man Typ des zu erzeugenen Objekts angeben, der einen der Werte der...
 

Es gibt ca viel  zu diesem Thema.Auch eine Doku: https://www.mql5.com/de/docs/migration

https://www.mql5.com/en/search#!keyword=migration%20MQL4%20to%20MQL5&module=mql5_module_articles

Wenn der Artikel in englisch ist, ersetze einfach /en/ durch /de/ in der Url oder drück auf die deutsch Fahne rechts oben.

oder google nach: "site:mql5.com migration mql4 to mql5"

Documentation on MQL5: Moving from MQL4
Documentation on MQL5: Moving from MQL4
  • www.mql5.com
MQL5 is the evolution of its predecessor - the MQL4 programming language, in which numerous indicators, scripts, and Expert Advisors were written...