Einzelnen Beitrag anzeigen
  #16 (permalink)  
Alt 08.08.18
FatSpiderman FatSpiderman ist offline
Neues Mitglied
 
Registriert seit: Dec 2016
Beiträge: 16
FatSpiderman befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Angel Beitrag anzeigen
... "Verbinde Close[85] mit Close[84]" mit einer folgenden Linie : Farbe = Rot, Dicke = x, Linienart=y usw. Das macht das Ganze unheimlich schwer. Stattdessen muss man X- (Zeit) und Y-(Preis) Koordinaten kennen und die muss man erst mühsam ausrechnen, und zwar über Sekunden seit 01.01.1970 (?) und da frage ich mich, ob es nicht einen anderen Weg gibt...
Da muss man gar nichts rechnen.
Du solltest dich mit den Indikator-Buffer auseinandersetzten und die Funktionen SetIndexStyle() und SetIndexBuffer() machen nach der Übergabe der Werte an den Inikator-Buffer genau das, was du oben willst.

Code:
//---- buffers

double ATR_upper_1[];    //Buffer 0
double ATR_lower_1[];    //Buffer 1

//---- Input Variables

...

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

   SetIndexStyle(0,DRAW_LINE,ATR_1_style,ATR_1_width,ATR_1_COLOR);   //Buffer 0 (ATR_upper_1[])
   SetIndexBuffer(0,ATR_upper_1);
   
   SetIndexStyle(1,DRAW_LINE,ATR_1_style,ATR_1_width,ATR_1_COLOR);   //Buffer 1 (ATR_lower_1[])
   SetIndexBuffer(1,ATR_lower_1);
  
//---
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {

//Code zur Berechnung des ATR (über iATR) und Übergabe der Werte an ATR_upper_1[] und ATR_lower_1[]

return(rates_total);
  }