Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1136

 
Iurii Tokman:

Ecco il codice che disegna una linea su 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));

Vorrei che all'inizio di ogni ora su M5 si tracciasse una linea che non sia collegata a quelle precedenti. Cioè solo una linea orizzontale, non una linea spezzata. La linea è il prezzo medio dell'ora precedente.

E se rimuoviamo la proprietà *fascio* di questa linea, sarebbe perfetto.

 
      
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:

Non funziona. Disegna solo una linea all'avvio e basta.

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:

Non funziona. Disegna solo una linea all'avvio e basta.

Di quanti ne avete bisogno?

 
Iurii Tokman:

Di quanto avete bisogno?

Vorrei che all'inizio di ogni ora su M5 si tracciasse una linea che non sia collegata a quelle precedenti. Cioè solo una linea orizzontale, non una linea spezzata. La linea è il prezzo medio dell'ora precedente.
 
Snajper007:
Vorrei vedere una linea disegnata all'inizio di ogni ora su M5 che non sia collegata alle precedenti. Cioè solo una linea orizzontale, non una linea spezzata. La linea è il prezzo medio dell'ora precedente.

al centro della barra H1?

 
Iurii Tokman:

al centro della barra H1?

Sì, solo sulla M5.
 
Snajper007:
Sì, solo sulla M5.

disegnare un'immagine come dovrebbe essere, e non con una linea

 
Iurii Tokman:

disegnare un'immagine come dovrebbe essere, e non con una linea

Ecco
File:
 
Snajper007:
***

A proposito, perché disegnare esattamente con l'oggetto grafico Horizontal Line? Non sarebbe meglio farlo con un indicatore e lo stileDRAW_ARROW?

Qualcosa come questo display:

Resistenza e supporto 2