[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 410

 
costy_:

Beh, dov'è l'indicatore?! (indovinando dai fondi di caffè Tel. https://www.mql5.comhttps://www.mql5.com/ru/)

Correzione...

Il problema è che l'indicatore non viene ridisegnato all'apparire di una nuova barra.

Il codice dell'indicatore è nel file allegato. Non posso metterlo via src (il codice non è troppo grande).

Grazie in anticipo per l'aiuto.

 
Gente, per favore, ditemi come descrivere la seguente situazione in modo elegante. Supponiamo di aver appena formato una barra su un TF alto (per esempio iHigh[NULL,1440,1]). Come descrivere la prima barra nel codice su un TF inferiore mentre si forma iHigh[NULL,1440,0]? ? Posso solo pensare a strutture ingombranti. Grazie!
 
costy_:

Leggi

prima imposta la dimensione dell'array

buf[2]; .

assegnare

buf[0]=x1; buf[1]=x2;

Perleggere ci vorranno 2 minuti.

Grazie. L'ho già letto, credo di non aver prestato molta attenzione.
 
001:
Potrebbe dirci come descrivere la situazione nel modo seguente? Supponiamo di avere solo una barra formata su un TF alto (per esempio iHigh[NULL,1440,1]). Come descrivere la prima barra nel codice su un TF inferiore mentre si forma iHigh[NULL,1440,0]? ? Posso solo pensare a strutture ingombranti. Grazie!

Cioè, sai se una nuova candela giornaliera si è aperta su un timeframe inferiore?

O confini in barre di una candela di 1 giorno su un minimo (non 0)

 
LOA:

Correzione...

Il problema è che l'indicatore non ridisegna con la comparsa di una nuova barra.

Il codice dell'indicatore è nel file allegato. Non sono riuscito a metterlo via src (il codice sembra essere piccolo).

Sono molto grato per l'aiuto.

ex4 non è visualizzabile, bisogno di mq4
 
costy_:

Cioè, sai se una nuova candela giornaliera si è aperta su un timeframe inferiore?

O confini in barre di una candela di 1 giorno su un minimo (non 0)


Quando una nuova candela si è aperta nel TF alto, restituisce il valore di una certa candela in un TF basso, ma entro i limiti della candela, che si è formata (è ora sull'alto 0-esimo), nel TF alto. Cioè mentre c'è ancora una candela 0 sul TF alto, per restituire il valore di una certa candela sul TF basso.

Nel mio caso abbiamo bisogno di sapere che questa candela su (M1 per esempio) ha chiuso sopra l'alto su D1 (per esempio).

 

Come posso fare:

se la Condizione1 è vera, poi non controllarla ad ogni tick, e nei tick successivi controllare anche la Condizione2 e poi anche la Condizione3 fino a dichiarare tutte le bandiere false?

static bool Val_max, Cl_dn, Val_min; //static or global
                                        |
//+------------------------------------------------------------------+
int start()
  {
   int j;
   double bid;                                         
   bid=Bid;                                    // Текущая цена продажи
   string
   Symb=Symbol();                               // Название фин.инстр.
double Value_max=1.0000;
double Value_min=0.9980;
double Open_1=Open[1];
double Close_1=Close[1];
//----

//--------------------------------------------------------------- 4 --

double Val=iCustom(NULL, 0, "Название Польз. Индикатора",0,0);   // Присваиваем пер. Val значение польз. индикатора
if (Условие1)
{
 Val_max=true;                  // 
 Alert("Значение инд. >= Value_max (исп. 1-е усл.)");
}
if (Условие2)
{
 Cl_dn=true;
 Alert("1 бар закрылся падением (исп. 2-е усл.)");
}
if (Условие3 && Cl_dn==true)
{
 Val_min=true;
 Alert("Значение инд. <= Value_min (исп. 3-е усл.)");
}
if (Val_max==true && Cl_dn==true && Val_min==true)
  {
   for (j = 0; j < OrdersTotal(); j++)
    {
     OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol() == Symbol())
      {
      if (OrderType() == OP_SELL) return(0);
      }
    }
   
   OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),2,Bid+400*Point,Bid-400*Point,"",3,Red);  // Открытие SELL
   Val_max=false; Cl_dn=false; Val_min=false;
  }

//----
   return(0);
  }
 
costy_:
ex4 non è visualizzabile, bisogno di mq4

Ok, scusate...
 
001:


Quando una nuova candela si è aperta sul TF alto, restituisce il valore di una certa candela sul TF basso, ma all'interno della candela in formazione (è ancora 0 sull'alto), sul TF alto. Cioè, mentre c'è ancora una candela 0 sul TF alto, per restituire il valore di una certa candela sul TF basso.

Nel mio caso particolare, ho bisogno di sapere che questa candela su (M1 per esempio) ha chiuso sopra l'alto su D1 (per esempio).

Ancora non capisco

iBarShift(0,0,iTime(0,1440,iBarShift(0,1440,Time[0]))) //вернет бар открытия текущего дня на любом текущем тф
iBarShift(0,0,iTime(0,1440,1+iBarShift(0,1440,Time[0]))) //вернет бар открытия вчерашнего дня на любом текущем тф

L'immagine è probabilmente più facile da spiegare.

 
LOA:

Ok, scusate...
iCustom (NULL,0,"ME_Proboy_F5_For_EX",0,i+1)

legge i dati della barra che ha già stabilito (precedente) i+1 rimuovere. Ma l'algoritmo del creatore sarà rotto (lui lo sa meglio, io lavoro anche su dati aperti e generati +1)

Motivazione: