venerdì 22 aprile 2011

Personalizzare i commenti della funzione OrderSend()

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.
 

domenica 3 aprile 2011

Key Level Stop & Reverse EA versione 5: aggiunta del trailing level

In questo articolo vado a presentare le novità introdotte nella quinta versione dell'expert advisor Key Level Stop & Reverse.

Francesco ha pensato che, per poter sfruttare i backtest di metatrader, poteva essere interessante rendere il livello dinamico spostandolo ad una certa distanza dal prezzo una volta che questo si trova in gain di un determinato numero di pips.

Abbiamo inserito quindi una specie di trailing stop che in realtà non va a modificare lo stoploss dell'ordine aperto ma modifica il livello chiave impostato manualmente nelle variabili esterne dell'ea:

extern   double   e_TrailingLevel            = 30;

Dopo alcune prove però ho osservato che con questo meccanismo, in caso di trailing non molto elevato, si introducevano delle situazioni anomale. A volte il livello modificato si veniva a trovare tra il prezzo e la media mobile e scombinava quindi il normale funzionamento.
La soluzione che ho adottato è stata quella di utilizzare come riferimento per il trailing level la media mobile veloce al posto del prezzo.