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

 
Craft:

Buon pomeriggio, cercando di capire come scrivere un EA. Ho preso il modello EA dall'articolo sul sito mql4, ho aggiunto le mie condizioni per capire il debug e la funzionalità, ho inserito le condizioni di apertura delle posizioni:

Ho aggiunto le mie condizioni (o cambiato quelle esistenti) per assicurarmi che gli ordini fossero eseguiti da fakut.

vedere tre post sopra - analizzare solo le barre formate, a partire da 1
 

o usare la condizione - se non ci sono ordini aperti sulla barra zero, va bene aprire:

if((OrdersTotal()>0&&iBarShift(OrderOpenTime())>0)||OrdersTotal()==0)
{
   //открываемся
}
 
alsu:
vedere tre post sopra - analizzare solo le barre formate da 1
Ma per questo iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1) e prescritto 1 alla fine, e Open[0] non è cambiato durante la barra e ne avrò bisogno.
 
Craft:
Ma per questo iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1 ) e prescritto 1 alla fine e Open[0] non è cambiato durante la barra e ne avrò bisogno.
ma Ask e Bid sono cambiati su ogni tick - ecco perché la condizione può essere attivata più volte durante una barra
 
alsu:
ma Asc e Bid cambiano ad ogni tick - quindi la condizione può essere attivata molte volte durante una singola barra
Cosa dovremmo fare per far sì che l'esecuzione avvenga una volta sola, magari sostituendoli con High[0] e Low[0]? O ci sono altri comandi, forse la condizione da eseguire all'interno di una barra una volta?
 
Craft:
Che dire dell'esecuzione una volta, forse sostituirli con High[0] e Low[0]? O ci sono altri comandi, forse la condizione da eseguire all'interno della barra una volta?
L'ho già scritto sopra, no?
 
alsu:
L'ho già scritto sopra.

Ho letto, mi sono divertito sul fondo prima, ora voglio provare il forex. In WelsLab sul fondo questo è facile da fare via stop:

MyATR = SMA.Series((((High-Low)/Low), PerB)[i-1] ;

se (BuyAtStop(i, (Open[i] + Open[i]*MyATR), "") ;

Non si può fare in MetaTrader?

 
Craft:

Ho letto, mi sono divertito sul fondo prima, ora voglio provare il forex. In WelsLab sul fondo questo è facile da fare via stop:

MyATR = SMA.Series((((High-Low)/Low), PerB)[i-1] ;

se (BuyAtStop(i, (Open[i] + Open[i]*MyATR), "") ;

Non si può fare questo in MetaTrader?

No, non funzionerà. solo attraverso l'analisi della cronologia degli ordini. il nostro MQL è così - non è molto buono, ma ha le sue caratteristiche :))) ecco perché la maggior parte delle funzioni utili sono scritte a mano.
 
alsu:
No, non funzionerà. solo attraverso l'analisi della cronologia degli ordini. il nostro MQL è così - non è molto buono, ma ha le sue caratteristiche :))) ecco perché la maggior parte delle funzioni utili sono scritte a mano.
Posso avere un esempio o un link funzionante?
 
Craft:
Non mi dispiace, posso avere un esempio funzionante o un link?
Esco stasera, o forse qualcuno me ne darà uno prima.
Motivazione: