martedì 5 luglio 2011

Error 4109: Trade is not allowed

Uno dei primi errori che si incontrano su metatrader quando si passa dai backtest al demo è l'errore 4109. Se pensate di aver fatto tutte per bene e non sapete dove sbattere la testa non dovete allarmarvi, si tratta di un problema facilmente risolvibile agendo sulle impostazioni di metatrader.

Nella casella consiglieri avrete una situazione simile alla seguente:

metatrader errore 4109: TRADE NOT ALLOWED

La metaqutoes in questo caso ci offre una spiegazione molto precisa in grado di condurci alla risoluzione del problema con un paio di click:

ERR_TRADE_NOT_ALLOWED 4109 Trade is not allowed. Enable checkbox "Allow live trading" in the expert properties.

Un altro elemento che ci dovrebbe allarmare è il fatto che, una volta caricato l'expert advisor, notiamo che la faccina in alto a destra sul grafico è triste:

metatrader expert advisor con faccina triste
 

lunedì 20 giugno 2011

Metatrader: orderSend error 130

Una delle prime cose che si imparano una volta terminata la scrittura dei primi expert advisor è quella di effettuare la stampa degli errori che vengono sollevati durante la gestione degli ordini. Ad esempio è possibile visualizzare le motivazioni della mancata apertura di un ordine utilizzando la funzione GetLastError() subito dopo aver invocato la funzione orderSend:

v_ticket=OrderSend(Symbol(), OP_BUY, e_Lots, Ask, 3, Ask - (e_Stoploss*g_Point), Ask + (e_TakeProfit*g_Point), "my first EA", e_MagicID, 0, Green);
if(v_ticket>0){
if(OrderSelect(v_ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);

Gli errori sollevati a run-time da metatrader possono essere visualizzati:

  • sul diario se stiamo eseguendo un backtest
  • sulla casella consiglieri se stiamo utilizzando l'ea in demo o con denaro reale
metatrader error 130

E' possibile visualizzare la lista completa degli errori di metatrader al seguente link:
 

giovedì 19 maggio 2011

Metatrader automated trading championship 2011: iniziano i preparativi

Oggi sono iniziati ufficialmente (per quanto ci riguarda) i preparativi alla metatrader automated championship 2011. Competizione che, come da tradizione, dovrebbe avere il via in Ottobre:

Expert Advisor per la Metatrader championship 2011

L'obbiettivo di questa squadra sarà quello di comportarsi dignitosamente in questa edizione del campionato e magari essere i primi tra gli italiani.

Le edizioni precedenti di questo torneo infatti ci hanno abituato a performance a dir poco mostruose da parte dei primi classificati ed un piazzamento al vertice è un sogno che non ci permettiamo nemmeno di fare.
 

domenica 1 maggio 2011

Zulutrade e metatrader: gestione del conto a pc spento

E' ormai da un paio d'anni che sento parlare di zulutrade e, non avendo mai approfondito l'argomento, ero convinto che si trattasse di un sistema di gestione dei conti su piattaforma metatrader che utilizzava l'interfaccia client per la gestione e l'invio degli ordini.

In realtà i ragazzi di zulutrade.com hanno fatto le cose per bene ed hanno brevettato un sistema che può funzionare anche senza il bisogno di mantenere acceso il pc, dalle FAQ infatti si può leggere quanto segue:

ZuluTrade riceve i loro consigli e controlla i Fornitori di segnale che hai scelto nel tuo profilo di conto e decide se utilizzare o meno i loro servizi nel tuo conto live utilizzando una connessione diretta e sicura con il backend del broker. Il meccanismo brevettato di ZuluTrade effettua compravendite automaticamente senza l’intervento dell’uomo. Il servizio ZuluTrade si basa sul server, in altre parole non c’è bisogno di tenere il computer acceso.

La domanda successiva che mi sono posto è stata quindi la seguente: per permettere a zulutrade di operare con il mio conto dovrò fornirgli i miei dati di accesso? Anche in questo caso troviamo la risposta ad una delle domande frequenti:
 

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.
 

domenica 27 marzo 2011

Key Level Stop & Reverse EA versione 4

Nella versione precedente di questo expert advisor era emerso un problema sul mancato reverse degli ordini.

Francesco aveva individuato che molto spesso il Key Level Stop & Reverse EA non reversava la posizione, ecco un esempio:

mancata apertura ordine su eur chfy

Nella figura sopra infatti possiamo osservare che l'ordine short aperto il 7 Febbraio 2011 non viene chiuso il giorno 8 Febbraio intorno alle ore 14.
 

mercoledì 2 marzo 2011

Bilancio primi giorni di trading

Nella giornata di ieri non ho potuto chiudere la posizione aperta il giorno 28, verso le ore 18 avevo controllato la candela che era positiva e pertanto ho pensato di mantenere aperto il long.

Sono riuscito a chiuderlo solo questa sera portando a casa un gain di 80 pips:

28/02/2010 LONG EUR/USD a 1.3789 -> chiusura posizione a 1.3869 +80 pips

Non ho però aperto altre posizioni dato che ho visto che l'euro ha ragginuto il massimo registrato in data 2 Febbraio.

In generale non sono soddisfatto delle mie operazioni, cerco una semplice strategia trend following ma in questo modo mi sembra di tirare un pò a caso. Meglio pensare ad un'altra strategia, l'obbiettivo è comunque quello di entrare nel mercato verso questo orario senza dedicare troppo tempo al forex.
 

lunedì 28 febbraio 2011

Seconda settimana di forex trading con la strategia set and forget

Inizio la seconda settimana di trading lasciando invariata la strategia, la candela di oggi sul cross EUR/USD è attualmente positiva ed apro quindi una nuova posizione buy:

28/02/2010 LONG EUR/USD a 1.3789

Ricordo che attualmente il conteggio dei pips è in passivo con un bel -84, niente di irrecuperabile per ora.
 

venerdì 25 febbraio 2011

Risultati dopo la prima settimana di trading con la strategia set and forget

Chiuso il long su euro dollaro a -42 pips:

24/02/2010 LONG EUR/USD a 1.3797 -> chiusura posizione a 1.3755 -42 pips

Per questa settimana mi fermo qui, chiudo la metatrader e la riapro lunedì sera sempre verso le 19.

Non mi piace mantenere posizioni aperte sul forex durante il weekend!

La settimana non è andata bene, il conteggio dei pips è negativo, ma è necessario attendere un periodo più lungo prima di apportare dei cambiamenti al trading system.
 

giovedì 24 febbraio 2011

Set and forget: -42 pips

Chiuso la posizione long di ieri a +52 pips:

23/02/2010 LONG EUR/USD a 1.3745 -> chiusura posizione a 1.3797 +52 pips

Aperto nuova posizione buy:

24/02/2010 LONG EUR/USD a 1.3797

 

mercoledì 23 febbraio 2011

Set and forget: -94 pips

La prima giornata si è rivelata una vera bastonata, ho chiuso l'operazione di ieri sera a -94 pis:

22/02/2010 SHORT EUR/USD a 1.3650 -> chiusura posizione ad 1.3744 -94 pips

Aperta nuova posizione:

23/02/2010 LONG EUR/USD a 1.3745

 

martedì 22 febbraio 2011

Strategia giornaliera set and forget

E' da un pò di tempo che ho voglia di ricominciare a fare trading ma gli impegni di lavoro mi impediscono di monitorare il forex durante il giorno.
Ho pensato quindi di utilizzare un approccio di tipo set and forget ovvero inserire degli ordini in base a dei criteri definiti e di non guardarli più fino al giorno successivo.

Visto che l'orario migliore per me è dalle 19 alle 20 ho pensato di partire con una strategia molto semplice che subirà dei cambiamenti nel corso del tempo man mano che mi vengono delle idee.

Applicherò la strategia su di un conto demo piattaforma metatrader.
 

sabato 5 febbraio 2011

clouse7575 EA versione 2

La seconda versione del clouse7575 EA introduce una fondamentale modifica al trading system:

  • se la distanza tra le due medie è maggiore di 50 pips si attende il superamento di una delle 2 medie per aprire una posizione
  • se la distanza tra le due medie è minore di 50 pips il prezzo deve superare entrambe le medie prima di aprire una posizione
clouse7575 EA v2 trading system
 

Key Level Stop & Reverse EA versione 3

Questa nuova versione del Key Level Stop & Reverse EA va a sistemare 2 problemi emersi in fase di test:

  • Apertura di nuovi ordini subito dopo la chiusura del precedente senza che si fossero verificati nuovi breakout;
  • Modifica del comportamento della variabile nPips che in precedenza non considerava lo spread.
key level stop reverse ea v3
 

domenica 30 gennaio 2011

La progressione di D'Alembert applicata al Money Management

In questo articolo andiamo ad analizzare una tecnica di money management che sfrutta la progressione di D'Alembert, di seguito un esempio per capire come funziona:

Regole: le posizioni vengono chiuse esclusivamente per il raggiungimento dello stop loss o del take profit impostato in questo caso a 100 pips:
  1. operazione negativa 1 lot = -100 pip = scarto -1
  2. operazione negativa 2 lot = -200 pip = scarto -2
  3. operazione positiva 3 lot = +300 pip = scarto -1
  4. operazione negativa 2 lot = -200 pip = scarto -2
  5. operazione positiva 3 lot = +300 pip = scarto -1
  6. operazione negativa 2 lot = -200 pip = scarto -2
  7. ........

Quello che vogliamo realizzare è un'indicatore che ci fornisca lo scarto attuale in modo da richiamarlo con la funzione iCustom all'interno dei nostri expert advisor in modo da calcolare dinamicamente il numero di lotti da utilizzare in ogni operazione. La chiamata da utilizzare all'interno degli ea sarà la seguente:
 

venerdì 28 gennaio 2011

clouse7575 EA: EMA 100/200 e Pivot

Il clouse7575_EA prende il nome dal suo ideatore clouse7575 che da tempo porta avanti un ottimo thread operativo all'interno della sezione Live Forex:

[LIVE FOREX] SEGNALI OPERATIVI FOREX INTRADAY IN REAL TIME

Potete invece trovare gli sviluppi di questo ea all'interno del seguente topic:

EXPERT ADVISOR MEDIA 100/200, OPENPRICE, PIVOT

In sintesi, le regole d'ingresso sono le seguenti:

 

mercoledì 26 gennaio 2011

Key Level Stop & Reverse EA versione 2

La versione 2 del Key Level Stop & Reverse EA introduce principalmente due modifiche all'expert advisor:
  • Se una posizione viene chiusa per raggiungimento del take profit si attende un nuovo segnale prima di aprire nuovi ordini;
  • Eventuale gestione di un ordine aperto manualmente.
La gestione dell'ordine inserito manualmente avviene grazie all'introduzione di una nuova variabile esterna: la variabile Ticket.
Se si intende utilizzare questa funzionalità è necessario specificare il numero del ticket che si vuole far gestire dall'expert advisor.
Non ho avuto tempo di effettuare un test in demo sul ticket quindi se la modifica non funziona non abbiate paura di segnalarmelo.
 

domenica 16 gennaio 2011

Key Level Stop & Reverse EA

Il Key Level Stop & Reverse EA nasce da una richiesta di francesco72 nella seguente discussione:

Proposta automatizzazione metodo

La strategia è la seguente:
  • si imposta manualmente il valore di un livello chiave;
  • si applica una media mobile veloce per filtrare i breakout;
  • short se la media rompe verso il basso il supporto;
  • long se la media rompe verso l'alto la resistenza.
Il segnale viene generato esclusivamente nella candela successiva alla rottura se il prezzo supera di tot pips la candela precedente.
Si utilizza inoltre una strategia di Stop and Reverse: quando il prezzo torna sui suoi passi ed abbiamo una rottura verso l'alto del supporto o verso il basso della resistenza si chiude la posizione e se ne apre una opposta.

key_level_stop_reverse_ea.gif

 

martedì 4 gennaio 2011

Mql 5 e Metatrader 5: creiamo un wiki in italiano?

Sarà colpa delle ferie dal lavoro ma in questi giorni ho in mente un'idea che non riesco ad allontanare dalla mia testa, creare un wiki in italiano su metatrader 5 ed il suo linguaggio mql 5.

Recentemente ho installato la versione 5 della piattaforma e mi sono documentato un pò sulle differenze tra il vecchio ed il nuovo, traduco liberamente da un articolo trovato su mql5.com alcune delle principali novità:

  • Le funzioni start(), init() e deinit() sono state sostituite da altre simili;
  • Il numero di buffer negli indicatori è illimitato;
  • Le dll vengono scaricate immediatamente dopo il download di un programma in MQL5;
  • Quando i limiti di un array vengono superati, l'esecuzione viene interrotta ed il programma restituisce un errore;
  • Precedenza degli operatori come in C++;
  • Il linguaggio offre il cast implicito dei tipi (anche da stringa a un numero);
  • Le variabili locali non vengono inizializzate automaticamente;
  • Linguaggio ad oggetti.