Benvenuto, grazie per esserti iscritto

Dunque, andiamo per ordine.
Il
magic number serve ad identificare tutti gli ordini eseguiti tramite l'Expert Advisor, in questo modo da codice riuscirai a filtrare tutti gli ordini eseguiti in automatico.
Per settare il magic number su un ordine è semplicissimo, ecco lo schema di un semplice EA.
- Codice: Seleziona tutto
extern int MAGIC = 1234;
int init(){
return(0);
}
int start(){
//Invio ordine
int ticket = OrderSend(Symbol(), OP_BUY, 1, Ask, 3, Ask-25*Point, Ask+25*Point, "commento", MAGIC, 0, Green);
if(ticket > 0){
Print("Ordine inviato correttamente");
}
//Controllo solo gli ordini eseguiti dall'expert advisor
for(int i=0; i < OrdersTotal(); i++){
if(OrderSelect(i, SELECT_BY_POS)){
if (OrderMagicNumber() == MAGIC){
//Trovato un ordine eseguito dall'expert advisor
}
}
}
return(0);
}
come puoi notare abbiamo la variabile MAGIC (input), settata a 1234, che verrà poi passata alla funzione
OrderSend per identificare in futuro l'ordine qualora volessimo fare altre operazioni/controlli.
Tramite la for seguente, andrai a scorrere tutti gli ordini inviati e poi, con quella if(OrderMagicNumber() == MAGIC) filtrerai solo quelli con il magic number uguale a quello da te impostato.
Per quanto riguarda tutte le altre operazioni, tipo, apri un ordine quando il primo è chiuso oppure apri un ordine distante X pips dal quello precedente, è facile e sicuramente posso darti una mano a far funzionare il tutto, l'importante è avere la strategia ben chiara per poi poter buttare giu il codice.
Fammi sapere
Ciao
P.S. Attenzione ad eseguire l'EA che ho postato su un conto REAL, che l'ordine parte per davvero
