Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1136

 
Iurii Tokman:

Aquí está el código que dibuja una línea en M5:

      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));

Me gustaría que al principio de cada hora se dibujara una línea en la M5 que no se conectara con las anteriores. Es decir, sólo una línea horizontal, no una línea discontinua. La línea es el precio medio de la hora anterior.

Y si eliminamos la propiedad de *viga* de esta línea, sería perfecto.

 
      
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:

No funciona. Sólo dibuja una línea en el arranque y ya está.

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:

No funciona. Sólo dibuja una línea en el arranque y ya está.

¿Cuántos necesita?

 
Iurii Tokman:

¿Cuánto necesitas?

Me gustaría que al principio de cada hora se dibujara una línea en la M5 que no se conectara con las anteriores. Es decir, sólo una línea horizontal, no una línea discontinua. La línea es el precio medio de la hora anterior.
 
Snajper007:
Me gustaría que se dibujara una línea al principio de cada hora en la M5 que no se conectara con las anteriores. Es decir, sólo una línea horizontal, no una línea discontinua. La línea es el precio medio de la hora anterior.

¿en medio de la barra H1?

 
Iurii Tokman:

¿en medio de la barra H1?

Sí, sólo en la M5.
 
Snajper007:
Sí, sólo en la M5.

dibujar un cuadro como debe ser, y no con una sola línea

 
Iurii Tokman:

dibujar un cuadro como debe ser, y no con una sola línea

Aquí está
Archivos adjuntos:
 
Snajper007:
***

Por cierto, ¿por qué dibujar exactamente con el objeto gráfico Línea Horizontal? ¿No sería mejor hacerlo con un indicador y estiloDRAW_ARROW?

Algo como esta pantalla:

Resistencia y soporte 2

Razón de la queja: