Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1081

 
Pokrov:
Ciao, potresti dirmi come ottenere i dati dell'ultima barra dall'array collegato tramite SetIndexBuffer? Grazie.
massiv[1]
 
Foxonn:
Ciao, puoi consigliarmi come trovare il punto basso e il punto alto, diciamo dalle 08:00 alle 15:00 ora del broker su M5 timeframe?
iBarShift(), iLowest(), iHighest().
 
evillive:
massiv[1]
Che ne dite se nel ciclo, massiv[i+1] dàun array fuori portata

 
Pokrov:
Che ne dite se nel ciclo, massiv[i+1] dà un array fuori portata

In questo modo, è difficile da dire.
 
evillive:
ciclo qui, è così difficile da dire.
int i,limit;
   limit=rates_total-prev_calculated;
if(prev_calculated<1) limit=rates_total-1;
for(i=limit; i>0; i--)
   
{
internal_channelUp[i]= iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,internal_channel,i));
internal_channelDn[i]= iLow(NULL,0,iLowest(NULL,0,MODE_LOW,internal_channel,i));
}
Servono i dati dell'ultima barra
 
Pokrov:
Servono i dati dell'ultima barra
int i,limit;
   limit=rates_total-prev_calculated-1;
if(prev_calculated<1) limit=rates_total-1;
for(i=limit; i>0; i--)
   
{
internal_channelUp[i]= iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,internal_channel,i+1));
internal_channelDn[i]= iLow(NULL,0,iLowest(NULL,0,MODE_LOW,internal_channel,i+1));
}
 
evillive:
Non ne ho visto uno nelle condizioni, mi dispiace, ora controllo tutto.
 
evillive:
iBarShift(), iLowest(), iHighest().
Puoi spiegare più dettagliatamente come collegare tutto questo insieme e impostare l'intervallo di tempo dei punti alti e bassi? (se puoi vivere il codice di esempio)
P.s: inizierò a studiare mql, abbiate pazienza =)
 
evillive:
Tutto funziona, grazie mille!
 
Foxonn:
Posso avere maggiori dettagli su come legare il tutto e impostare l'intervallo di tempo per trovare i punti alti e bassi? (se puoi vivere il codice di esempio)
P.s: inizierò a imparare mql, per favore siate pazienti =)

Si possono leggere molte informazioni interessanti da queste parole chiave nell'aiuto, basta premere F1 nel codice di esempio sulla parola richiesta.

Approssimativamente, il codice da incorporare nell'indicatore sarà come questo:

input datetime timestart=D'2016.08.10 08:00'; //время поиска, от
input datetime timeend=D'2016.08.10 15:00';  //и до

int shiftstart=0,shiftend=0,diff=0; 
double hi=0,lo=0;

int OnCalculate()
{
/////
shiftstart=iBarShift(_Symbol,PERIOD_M5,timestart);                                 //выясняем индекс бара с временем старта поиска
shiftend=iBarShift(_Symbol,PERIOD_M5,timeend);                                     //выясняем индекс бара с временем финиша поиска 
diff=shiftstart-shiftend;                                                      //вычисляем кол-во баров для поиска экстремумов
lo=iLow(_Symbol,PERIOD_M5,iLowest(_Symbol,PERIOD_M5,MODE_LOW,diff,shiftend));  //выясняем минимум 
hi=iHigh(_Symbol,PERIOD_M5,iHighest(_Symbol,PERIOD_M5,MODE_HIGH,diff,shiftend)); //и максимум
//////
}