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

 
ALex2008:
Quindi, invece di PERIOD_M1, ecc., si può semplicemente mettere un numero intero corrispondente al periodo? In particolare, invece di iOpen(NULL,PERIOD_M1,1, può iOpen(NULL,1,1 ?

Sì, avete capito bene.
 
FAQ:
Ci siamo quasi. Grazie!
 
Fox_RM:
Ci siamo quasi. Grazie!


Cosa vuol dire "quasi"? Non abbiamo bisogno di quello, abbiamo bisogno di un successo assoluto :)

 
Potete suggerirmi un buon consulente?
 
kuk:
Cos'è un buon consigliere?

Che stampa la propria pasta e porta il caffè a letto...

E consiglia sempre ...

Sotto il presidente di tutta la Russia... DDD


L'EA scritto in proprio è il migliore (se si può fare così)

 

Ragazzi, per favore ditemi come estrarre i valori day_max e day_min da un indicatore. È chiaro che iCustom, ma come? Cioè il gufo ha un tale indicatore inserito in esso.

ecco l'intestazione...

#property copyright "DOC"
#property link "none"


#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Green
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double day_max;
double day_min;

 
DOCTORS:

Ragazzi, per favore ditemi come estrarre i valori day_max e day_min da un indicatore. È chiaro che iCustom, ma come? Cioè il gufo ha un tale indicatore inserito in esso.

Ecco l'intestazione...

#property copyright "DOC"
#property link "none"


#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Green
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double day_max;
double day_min;


Perché preoccuparsi di tirarli fuori, quando sarebbe molto più facile da calcolare nell'EA.

Tanto più che si possono prendere solo buffer di indicatori dall'indicatore

 
Vinin:


E perché toglierli quando è più facile calcolarli nell'EA.

Soprattutto perché si possono prendere i buffer dell'indicatore solo dall'indicatore


Beh, almeno mostra i buffer degli indicatori... :( Sono solo confuso in questo momento, se nel tabellone per cercare il max/min del giorno precedente. Cioè nel mio indicatore è facile - quindi loop, ma il mio gufo si blocca...+ problema con il conteggio dalla barra corrente (perché posso usare il gufo in qualsiasi momento) all'ultima barra del giorno precedente (per calcolare i massimi). Forse puoi dirmi come arrivare dalla barra attuale all'ultima barra del giorno precedente? almeno la formula per 30 minuti, cioè voglio vedere l'algoritmo...
 
DOCTORS:

Beh, almeno mostrare i buffer dell'indicatore ...:( Ho appena bloccato in questo momento, se il consiglio di prescrivere una ricerca di max/min del giorno precedente. Cioè nel mio indicatore è facile - quindi loop, ma il mio gufo si blocca...+ problema con il conteggio dalla barra corrente (perché il gufo può essere attivato in qualsiasi momento) all'ultima barra del giorno precedente (per calcolare i massimi). Forse puoi dirmi come arrivare dalla barra attuale all'ultima barra del giorno precedente? almeno la formula per 30 minuti, cioè voglio vedere l'algoritmo...


iHigh(NULL, PERIOD_D1,1) - il massimo di ieri

iLow(NULL, PERIOD_D1,1) - il minimo di ieri

iOpen(NULL, PERIOD_D1,1) - apertura di ieri

iClose(NULL, PERIOD_D1,1) - la chiusura di ieri

 

Vinin:



iHigh(NULL, PERIOD_D1,1) - il massimo di ieri

iLow(NULL, PERIOD_D1,1) - il minimo di ieri

iOpen(NULL, PERIOD_D1,1) - apertura di ieri

iClose(NULL, PERIOD_D1,1) - chiusura di ieri


Mi scuso per la mia mancanza di correttezza in relazione alle mie richieste... La linea di fondo è che il calcolo sui massimi dei diversi timeframes è diverso, questo è comprensibile, quindi ho fatto quanto segue (necessario per una strategia di trading su diversi timeframes):

double ExtMapBuffer1[];

double day_max;

......

int start()

{

int counted_bars = IndicatorCounted();

int limit;
//---- последний посчитанный бар будет пересчитан

if((counted_bars > 0))

counted_bars--;
limit = Bars - counted_bars;
//---- основной цикл

for(int i = 1; i < limit; i++)
{int k,z,t,b,l,n;

k=TimeHour(Time[i]);
z=TimeMinute(Time[i]);
t=Period();

if (t==60){b=24; //значение b определяет количество баров для дня на таймфрейме.
l=24*Period()*60; //l используется для доп. значений, тут не актуально
}


if (t==30){b=48;
l=48*Period()*60;
}

....

....

if (Close[iHighest(NULL,0,MODE_CLOSE,b,i)]> Open[iHighest(NULL,0,MODE_OPEN,b,i)])
{

ExtMapBuffer1[i] = Close[iHighest(NULL,0,MODE_CLOSE,b,i)];
day_max=Close[iHighest(NULL,0,MODE_CLOSE,b,i)];//сделал для того, что значение ExtMapBuffer1[i] при выводе на экран почему-то 0, тогда как day_max показыает правильно...
..... //тут графика

}

else if (Close[iHighest(NULL,0,MODE_CLOSE,b,i)]<= Open[iHighest(NULL,0,MODE_OPEN,b,i)])
{ExtMapBuffer1[i] = Open[iHighest(NULL,0,MODE_OPEN,b,i)];
day_max= Open[iHighest(NULL,0,MODE_OPEN,b,i)];

//опять графика

}

....}