Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1136

 
Iurii Tokman:

Hier ist der Code, der eine Linie auf M5 zeichnet:

      int Price_high  = iHighest(Symbol(), 0, MODE_HIGH, 11, 1);
       int Price_low   = iLowest(Symbol(), 0, MODE_LOW, 11, 1);
            
       ObjectCreate("TrendLine", OBJ_TREND, 0, Time[11], NormalizeDouble( (High[Price_high] + Low[Price_low])/2, Digits), Time[1], 
                     NormalizeDouble( (High[Price_high] + Low[Price_low])/2, Digits));

Ich möchte, dass zu Beginn jeder Stunde auf der M5 eine Linie gezogen wird, die nicht mit den vorherigen verbunden ist. D.h. nur eine horizontale Linie, keine gestrichelte Linie. Die Linie ist der Durchschnittspreis der letzten Stunde.

Und wenn Sie die Eigenschaft *Balken* dieser Zeile entfernen, wäre das großartig.

 
      
int Price_high  = iHighest(Symbol(), 0, MODE_HIGH, 11, 1);
int Price_low   = iLowest(Symbol(), 0, MODE_LOW, 11, 1);

if(!NewBar(PERIOD_H1)) return;
            
ObjectCreate("TrendLine", OBJ_TREND, 0, Time[11], NormalizeDouble( (High[Price_high] + Low[Price_low])/2, Digits), Time[1], 
              NormalizeDouble( (High[Price_high] + Low[Price_low])/2, Digits));


//---
//---
bool NewBar(ENUM_TIMEFRAMES TF = 0)
  {
   static datetime NewTime=0;
   if(NewTime!=iTime(Symbol(),TF,0))
     {
      NewTime=iTime(Symbol(),TF,0);
      return(true);
     }
   return(false);
  }
//----
 
Iurii Tokman:

Das funktioniert nicht. Beim Start wird nur eine Linie gezeichnet und das war's.

void OnTick()
{
  
int Price_high  = iHighest(Symbol(), 0, MODE_HIGH, 11, 1);
int Price_low   = iLowest(Symbol(), 0, MODE_LOW, 11, 1);

if(!NewBar(PERIOD_H1)) return;
            
ObjectCreate("TrendLine", OBJ_TREND, 0, Time[11], NormalizeDouble( (High[Price_high] + Low[Price_low])/2, Digits), Time[1], 
              NormalizeDouble( (High[Price_high] + Low[Price_low])/2, Digits));

}
//+------------------------------------------------------------------+ 
//---
bool NewBar(ENUM_TIMEFRAMES TF = 0)
  {
   static datetime NewTime=0;
   if(NewTime!=iTime(Symbol(),TF,0))
     {
      NewTime=iTime(Symbol(),TF,0);
      return(true);
     }
   return(false);
  }
//----
//+------------------------------------------------------------------+
 
Snajper007:

Das funktioniert nicht. Beim Start wird nur eine Linie gezeichnet und das war's.

Wie viele brauchen Sie?

 
Iurii Tokman:

Wie viel brauchen Sie?

Ich möchte, dass zu Beginn jeder Stunde auf der M5 eine Linie gezogen wird, die nicht mit den vorherigen verbunden ist. D.h. nur eine horizontale Linie, keine gestrichelte Linie. Die Linie ist der Durchschnittspreis der letzten Stunde.
 
Snajper007:
Ich möchte, dass zu Beginn jeder Stunde auf der M5 eine Linie gezogen wird, die nicht mit den vorhergehenden verbunden ist. D.h. nur eine horizontale Linie, keine gestrichelte Linie. Die Linie ist der Durchschnittspreis der letzten Stunde.

Mitte des Balkens H1 ?

 
Iurii Tokman:

Mitte des Balkens H1 ?

Ja, nur auf der M5.
 
Snajper007:
Ja, nur auf der M5.

ein Bild so zeichnen, wie es sein soll, und nicht mit einer Linie

 
Iurii Tokman:

ein Bild so zeichnen, wie es sein soll, und nicht mit einer Linie

Hier ist
Dateien:
 
Snajper007:
***

Übrigens, warum genau mit dem grafischen Objekt Horizontale Linie zeichnen? Wäre es nicht besser, dies mit einem Indikator und dem StilDRAW_ARROW zu tun?

Etwa diese Anzeige:

Widerstand und Unterstützung 2

Grund der Beschwerde: