[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 335

 
snowman647 >> :

Questo è tutt'altro che casuale. Voglio un Expert Advisor che utilizzi variabili casuali il più possibile casuali)) se non lo trovo, lo posterò.

Per quanto ne so non c'è un numero casuale in MCL. c'è un numero pseudo-casuale. quindi è più o meno lo stesso dello schema che ho suggerito.

In realtà, sui numeri pseudo-casuali leggete qui https://www.mql4.com/ru/search/?keyword=%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%BE%D0%B5+%D1%87%D0%D0%B8%D1%81%D0%BB%D0%BE

 
vik-777 >> :
>> Ciao, potresti dirmi come cercare una barra per tempo e visualizzare il prezzo di apertura e chiusura?

Di nuovo, davvero bisogno di

 
Stepan241 >> :

Prima di tutto, la voce non è del tutto corretta

MA_1 = iMA(NULL,0,Period_MA_1,Sdvig_1,MODE_SMA,PRICE_CLOSE,0); // Chiama la funzione indicatore
MA_2 = iMA(NULL,0,Period_MA_2,Sdvig_2,MODE_SMA,PRICE_CLOSE,0);

Gli zeri devono essere sostituiti con 1

Per determinare il momento di attraversamento, non solo il valore attuale (sopra o sotto, ma anche il valore precedente) dovrebbe essere considerato

Quindi dovremmo aggiungere

MA_1_Prev = iMA(NULL,0,Period_MA_1,Sdvig_1,MODE_SMA,PRICE_CLOSE,2); // Chiama la funzione indicatore
MA_2_Prev= iMA(NULL,0,Period_MA_2,Sdvig_2,MODE_SMA,PRICE_CLOSE,2);

nota numero 2

In altre parole, questo blocco sarà ora simile a

MA_1 = iMA(NULL,0,Period_MA_1,Sdvig_1,MODE_SMA,PRICE_CLOSE,1); // Chiama la funzione indicatore
MA_2 = iMA(NULL,0,Period_MA_2,Sdvig_2,MODE_SMA,PRICE_CLOSE,1);

MA_1_Prev = iMA(NULL,0,Period_MA_1,Sdvig_1,MODE_SMA,PRICE_CLOSE,2); // Chiama la funzione indicatore
MA_2_Prev= iMA(NULL,0,Period_MA_2,Sdvig_2,MODE_SMA,PRICE_CLOSE,2);

La linea

se (MA_2 < MA_1 && Fact_Up == true)

sostituire con if (MA_2 < MA_1 && MA_2_Prev>MA_1_Prev && Fact_Up == true)


Fate la stessa sostituzione per la seconda condizione e la condizione di uscita. La nuova condizione è segnata in blu. Ora entreremo in una posizione lunga quando la prima media mobile è maggiore della seconda, mentre il valore precedente della prima media mobile è inferiore al valore precedente della seconda.

Grazie.

 
vik-777 писал(а) >>

>> di nuovo, ho davvero bisogno

 
DDFedor >> :

>> questo è tutto, trova quanti secondi a quella barra.

datetime some_time=D'2004.03.21 12:00';

int shift=iBarShift("EUROUSD",PERIOD_M1,some_time);

 
vik-777 >> :

>> questo è tutto, trova quanti secondi a quella barra.

ma come conoscere il prezzo di apertura e di chiusura di questa barra

 
vik-777 писал(а) >>

e come scoprire il prezzo di apertura e di chiusura di questa barra

https://docs.mql4.com/ru/series

allora il numero della barra trovata è usato nelle funzioni di serie temporali...

double MyOpenPrice =  iOpen(Symbol(),Period(),iBarShift(Symbol(),Period(), some_time));
 

Non capisco come fare, ho già cercato un esempio su internet (2 giorni) e non l'ho trovato.

 
DDFedor >> :

https://docs.mql4.com/ru/series

Poi il numero della barra trovata è usato nelle funzioni di serie temporali...

grazie mille

 
vik-777 >> :
>> Ciao, potresti dirmi come cercare una barra per tempo e visualizzare il prezzo di apertura e chiusura?


datetime some_time=D'2009.12.07 01:15';
int shift=iBarShift("EURUSD",PERIOD_M1,some_time);

Alert("бар: ",shift," * время: ",TimeToStr(some_time)," * цена откр.: ",
iOpen("EURUSD",PERIOD_M1,shift)," * цена закр.: ",iClose("EURUSD",PERIOD_M1,shift));

Motivazione: