Tuesday, May 17, 2011

Personalizzare i commenti della funzione OrderSend()

type="html">


Se osservate il terminale di metatrader potrete notare un campo denominato commento:

storico operazioni metatrader

Se state inserendo un ordine manualmente è possibile valorizzare il campo tramite l'apposita maschera:

invio ordini metatrader

Se gli ordini vengono invece aperti da un expert advisor sarà sufficiente valorizzare il parametro comment della funzione OrderSend():

int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

Potreste però avere l'esigenza di far girare lo stesso expert advisor con settaggi differenti e di voler distinguere gli ordini aperti dalle 2 versioni.

La soluzione è molto semplice: basta dichiarare una variabile esterna di tipo string ed utilizzarla direttamente come parametro comment ogni volta che si utilizza la funzione OrderSend.

extern string comment = "Super Expert Advisor 1";
....
....
start(){
....
OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, Bid + (Stoploss Point), Bid - (TakeProfit * Point), comment, MagicID, 0, Red);
....
}

Con questo piccolo stratagemma sarà sufficiente diversificare la variabile comment quando attaccate l'ea su di un nuovo grafico per avere dei commenti personalizzati.

Di seguito potete scaricare la versione 5 del key level stop & reverse EA con l'aggiunta di questa piccola modifica.

Sorgente: Key_Level_Stop_Reverse_EA_v5_comment.mq4
Eseguibile: Key_Level_Stop_Reverse_EA_v5_comment.ex4

No comments:

Post a Comment