Dynamische/Flexible Linie per Expert in Chart einzeichnen

 

Hallo zusammen,


ich würde gerne in meinem Expert - Code eine dynamische Linie in Chart einzeichnen.

Tatsächlich geht es um ein Bollinger Band, einer anderen Zeiteinheit.


Mit folgendem Code habe ich experimentiert, doch hier lassen sich ja nur starre Linien Zeichnen.

 ObjectCreate(0,"Sm_Line", OBJ_TREND, 0, TimeCurrent()-3600, price1,TimeCurrent(),price2);

 ObjectSetInteger(0, "Sm_Line", OBJPROP_COLOR, Yellow);


Kann mir jemand sagen, wie ich flexible Linie zeichnen kann? Die Suche ergab leider immer nur starre Linien.


Danke im Voraus.

LG

 

Wirf mal einen Blick da hinein:

https://www.mql5.com/de/code/19640

Ist allerdings schon sehr advanced code.

Mit vier Klicks einen bogenförmigen Kanal zeichnen
Mit vier Klicks einen bogenförmigen Kanal zeichnen
  • www.mql5.com
Diese Implementierung wurde mehr als Schulungsmaterial und als Versuch unternommen, die Entwickler von MetaTrader 5 zu inspirieren, ein solches Tool zu dem Standardsatz von MetaTrader-5-Objekten hinzuzufügen. Es ist nicht in Form einer Klasse implementiert, Speichern und Übergeben von Parametern bei Änderung des Zeitrahmens, keine zusätzlichen...
 
Marc-André:

Hallo zusammen,


ich würde gerne in meinem Expert - Code eine dynamische Linie in Chart einzeichnen.

Tatsächlich geht es um ein Bollinger Band, einer anderen Zeiteinheit.


Mit folgendem Code habe ich experimentiert, doch hier lassen sich ja nur starre Linien Zeichnen.

 ObjectCreate(0,"Sm_Line", OBJ_TREND, 0, TimeCurrent()-3600, price1,TimeCurrent(),price2);

 ObjectSetInteger(0, "Sm_Line", OBJPROP_COLOR, Yellow);


Kann mir jemand sagen, wie ich flexible Linie zeichnen kann? Die Suche ergab leider immer nur starre Linien.


Danke im Voraus.

LG

  1. Du musst für jede Bar des Zeitrahmens im Chart den Indikatorwert errechnen und als einzelnen Punkt einzeichnen
  2. Einen eigenen Indikator schreiben/verwenden, der die Werte des Ursprungsindikator in den Puffer des Indikators schreibt zB. der hier: https://www.mql5.com/en/code/23311
    (nach ein bisschen suchen gefunden)
    Zumindest kann man den als Basis verwenden, sich etwas Eigenes zu programmieren.
    Wie schon ein paar Mal gesagt, es gibt fast nichts, was nichts schon in MQL4/5 vorprogrammiert wurde!
BTF_BB
BTF_BB
  • www.mql5.com
Bigger Time Frame Bollinger Bands displays Bolinger Bands indicator data of a higher timeframe on the current one. The indicator has nine adjustable parameters: BB period - Bollinger Bands calculation periodBB deviation - Bollinger Bands deviation valueBB applied price - Bollinger Bands calculation priceBB timeframe - displayed Bollinger Bands...
 
Carl Schreiber:
  1. Du musst für jede Bar des Zeitrahmens im Chart den Indikatorwert errechnen und als einzelnen Punkt einzeichnem

Lieben Dank für die Antworten!

Insbesondere btfbb werde ich mir ansehen, das scheint in die richtige Richtung zu gehen.


Dennoch würde ich gerne das "als einzelnen Punkt einzeichnen" genauer verstehen.

Meinst du so? Ergibt sich dann eine zusammenhängende Linie?

Gefunden in Recherche:
void DrawDot()   {  
         string objName = "Bullseye" + Time[1]; 
         ObjectCreate(objName, OBJ_TEXT, 0, Time[1], High[1]+10*Point); 
         ObjectSetText(objName, CharToStr(159), 14, "Wingdings", Red); 
      }
 
Marc-André:

Lieben Dank für die Antworten!

Insbesondere btfbb werde ich mir ansehen, das scheint in die richtige Richtung zu gehen.

Dennoch würde ich gerne das "als einzelnen Punkt einzeichnen" genauer verstehen.

Meinst du so? Ergibt sich dann eine zusammenhängende Linie?

Gefunden in Recherche:

Ich würde das eher als Indicator realisieren als mit graphischen Objekten.

Achtung: Jedes Grafikobjekt benötigt einen eindeutigen Namen. Und Diese Objekte sind sehr langsam!

 
Otto Pauser:

Ich würde das eher als Indicator realisieren als mit graphischen Objekten.

Achtung: Jedes Grafikobjekt benötigt einen eindeutigen Namen. Und Diese Objekte sind sehr lan

Danke nochmal.


Ich hab mal weiter experimentiert.


Der BTF_BB Indikator ist perfekt für die Ansprüche, die ich habe! 


Nun überlege ich, wie ich den programmatisch in den Chart bekomme.

Wollte folgendes probieren, frage mich aber, wie ich an das Handle von dem Custom indicator komme?

Jemand ne Idee?


Danke im Voraus.

     int handleIndicator= <wie komme ich hier an das Handle von dem custom indicator?>  ;



if(handleIndicator==INVALID_HANDLE)

     {

      Print("Failed to create indicator. Error code ",GetLastError());

      return(INIT_FAILED);

     }

   bool added=ChartIndicatorAdd(0,0,handleIndicator);

   if(!added)

     {

      PrintFormat("Failed to add indicator on %d chart window. Error code  %d",

                  0,GetLastError());

      return(INIT_FAILED);

     }
 

Schau dir mal iCustom an

für die berechnung brauchst du Indicator add nicht, das ist nur wenn er auch mit dem ea auf den chart soll

 
amando:

Schau dir mal iCustom an

für die berechnung brauchst du Indicator add nicht, das ist nur wenn er auch mit dem ea auf den chart soll

Perfekt, das löst mein Problem.


Herzlichen Dank!!!