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

 
Potete dirmi se un EA scritto per MT5 può essere eseguito sull'ultimo MT4 e viceversa?
 
borilunad:

Piccolo errore: 0=Close, 1=Open, il resto è corretto.

Aprire non è necessario. Il compito principale era come mettere le variabili nel tester per fare eseguire EA basati sull'indicatore, che può essere costruito su diversi tipi di prezzi.

Qui non dobbiamo dimenticare di impostare il prezzo da 1 a 6, con incrementi di uno, quando si ottimizza.

 
rambo:
Potete dirmi se un EA scritto per MT5 può essere eseguito sull'ultimo MT4 e viceversa?
Se compila, potete eseguirlo, ma se funzionerà come previsto, questa è la domanda.
 
Forexman77:

Aprire non è necessario. Il compito principale era come mettere le variabili nel tester per fare eseguire EA basati sull'indicatore, che può essere costruito su diversi tipi di prezzi.

Qui non bisogna dimenticare di impostare il prezzo da 1 a 6, con incrementi di uno, quando si effettua l'ottimizzazione.


Ma il prezzo Open è 1, il prezzo Close è 0. Vedi Doc!
 
Forexman77:

Se qualcuno ne ha bisogno, ho capito come fare il rendering di un indicatore di prezzo senza costruzioni complicate:

input ENUM_APPLIED_PRICE price=0;

price=iMA(NULL, 0, 1, 0, MODE_SMA, price, i);

Questo potrebbe essere più facile, ma se hai bisogno di aggiungere più tipi di prezzo, è certamente meglio farlo a modo tuo, o piuttosto un modo combinato
 
evillive:
Se compila, potete eseguirlo, ma la domanda è se funzionerà come previsto.

grazie
 
Vinin:

Forse è più facile, ma se hai bisogno di aggiungere più tipi di prezzi, allora ovviamente è meglio farlo a modo tuo, o meglio un metodo combinato

È geniale! Non avevo pensato a questo metodo.

 
borilunad:

Ma il prezzo di apertura è 1 e il prezzo di chiusura è 0. Vedi Doc!

Se usate le enumerazioni "ENUM_APPLIED_PRICE".

Ma io non li uso, uso solo un operatore condizionale per controllare tutte e sei le opzioni per la verità e solo una condizione funziona sempre.

Per esempio, la condizione ha funzionato e abbiamo calcolato il prezzo:

if(price==5)ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i])/3);//рассчитали весь буффер индикатора 
Ricevo il prezzo di chiusura da calcolare. Cioè, preparo io stesso i prezzi e non li prendo dall'enumerazione "ENUM_APPLIED_PRICE".
 
Forexman77:

È geniale! Non avevo pensato a questo modo.


Questo metodo funziona solo quando si chiamano gli indicatori tecnici, se si deve cambiare il tipo di prezzo in altri calcoli attraverso le impostazioni (ad esempio, si vuole confrontare qualche valore con Close[i] e passarlo attraverso l'ottimizzatore per confrontarlo con (High[i]+Low[i])/2, cioè con PRICE_MEDIAN), non funziona.
 
evillive:

Questo modo funziona solo quando si chiamano gli indicatori tecnici, se si deve cambiare il tipo di prezzo in altri calcoli attraverso le impostazioni (per esempio, si confronta qualche valore con Close[i] e si vuole passare attraverso l'ottimizzatore per confrontarlo con (High[i]+Low[i])/2, cioè con PRICE_MEDIAN), non funziona.

I prezzi sono necessari solo per calcolare l'indicatore.

Ho fatto così:

extern ENUM_APPLIED_PRICE price=PRICE_CLOSE;

for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=iMA(NULL,0,1,0,MODE_SMA,price,i);

Ho confrontato questa variante ed è tutto uguale quando si cambia.