Ciao a tutti, oggi voglio parlarvi di un Expert Advisor che ho creato, basato su due linee della Media Mobile. Il codice è stato sviluppato da Sergey Diubakin.
Questa versione dell'EA è stata utilizzata per il trading su un conto PAMM, dove ho ottenuto un profitto netto del 20%. Il massimo profitto raggiungibile si attesta all'84% del deposito iniziale.
Periodo di trading reale: dal 23.02.2015 al 23.07.2015.
Secondo le mie osservazioni, per operare con questo EA è necessario un deposito consistente, minimo 15.000 - 20.000 euro.
Il valore dell'indicatore Media Mobile è utilizzato per le operazioni. Se la linea della Media Mobile veloce si trova sopra quella lenta e la distanza tra le due supera un certo valore, l'EA apre un ordine di acquisto.
Per aprire un ordine di vendita si utilizzano i valori opposti degli indicatori. La chiusura degli ordini avviene secondo i valori delle Medie Mobili.
Questo EA include anche moduli aggiuntivi: la distanza tra le linee della Media Mobile veloce e lenta, Take Profit, Stop Loss, Trailing Stop, distanza tra gli ordini (in alto e in basso), metodo di mediazione del Take Profit, orario di trading, Turn, e aumento del primo lotto principale in caso di chiusura in perdita del lotto precedente.
Algoritmo dell'EA:
- L'EA controlla se ci sono ordini aperti in precedenza.
- Se non ci sono ordini aperti, l'EA analizza il grafico e, se tutte le condizioni specificate nelle impostazioni sono soddisfatte, apre il primo ordine principale.
- Dopo aver aperto il primo ordine, l'EA imposta i livelli di Take Profit e Stop Loss (se i moduli sono abilitati).
- Se il primo ordine principale si chiude in perdita, può essere aperto un ordine successivo con un aumento della dimensione.
- Se il primo ordine principale è aperto e i moduli Step Up e Step Down sono attivi, quando il prezzo raggiunge i valori specificati, vengono inseriti ordini aggiuntivi. Gli ordini aggiuntivi per i moduli Step Up e Step Down possono essere inseriti solo se l'EA ha precedentemente aperto il primo ordine principale o se ci sono ordini aggiuntivi non chiusi.
- Questo Expert Advisor ha 2 modalità operative:
- a) Se la Media Mobile veloce è sopra la Media Mobile lenta, l'EA piazza ordini di acquisto. Quando la tendenza cambia (la Media Mobile veloce è sotto la Media Mobile lenta), tutti gli ordini aperti vengono chiusi e vengono piazzati ordini di vendita.
- b) Se l'EA ha aperto ordini di acquisto e la tendenza cambia (la Media Mobile veloce è sotto la Media Mobile lenta), gli ordini rimangono aperti. L'EA può piazzare ordini di vendita solo quando la Media Mobile veloce diventa inferiore alla Media Mobile lenta e tutti gli ordini dell'EA sono chiusi (Take Profit, Stop Loss raggiunti o chiusi "manualmente").
- Questo Expert Advisor ha un modulo di orario di trading che, se attivato, consente all'EA di aprire il primo ordine principale solo nel periodo specificato. Questo modulo non si applica agli ordini aggiuntivi per i moduli Step Up, Step Down e Turn. Quindi, se ci sono ordini aperti dall'EA e uno dei moduli Step Up, Step Down o Turn è attivato, ordini aggiuntivi per questi moduli verranno piazzati indipendentemente dall'orario.
Impostazioni dell'Expert Advisor:
Modalità operativa:
- 1 — se la tendenza cambia, tutti gli ordini aperti vengono chiusi e vengono aperti ordini opposti;
- 2 — se la tendenza cambia, gli ordini aperti non vengono chiusi (l'EA aspetta fino a quando non vengono raggiunti Take Profit, Stop Loss o chiusi "manualmente").
Media Mobile Veloce — impostazioni per il plugin dell'indicatore Media Mobile: periodo, offset, metodo MA. Si utilizza la Media Mobile inclusa nel terminale MetaTrader 4.
Media Mobile Lenta — impostazioni per il plugin dell'indicatore Media Mobile: periodo, offset, metodo MA. Si utilizza la Media Mobile inclusa nel terminale MetaTrader 4.
Lotto Iniziale
4.1. Lotto Iniziale
- LotConst_or_not — consente all'utente di scegliere se iniziare a fare trading dallo stesso lotto o ricalcolare il lotto iniziale in base al cambiamento del deposito:
true — il primo lotto sarà costante e uguale al valore specificato di Lots;
false — il primo lotto cambierà dinamicamente in base al cambiamento del deposito e dipenderà dal parametro RiskPercent e dalla dimensione del deposito. Lots = AccountBalance() * (RiskPercent / 100.0) / 10000.0 - Lots — imposta il lotto iniziale per il trading;
RiskPercent — imposta il lotto iniziale in base al deposito.
4.2. Aumento del lotto
- FirstLotMultiplicator — parametro responsabile del rapporto di aumento di ogni successivo primo ordine principale in caso di chiusura in perdita del precedente (chiuso da Stop Loss, "manualmente" o semplicemente in perdita);
- First_LotSize — se il primo ordine principale raggiunge un valore specificato in questa riga, l'EA piazza Take Profit al livello impostato nella riga successiva (First_LotSize_TakeProfit), ma non nel punto 5 delle impostazioni dell'EA;
- First_LotSize_TakeProfit — un nuovo livello di Take Profit per il primo ordine principale, nel caso raggiunga la dimensione impostata nella riga First_LotSize;
- First_MaxLotSize — il valore massimo al quale l'EA aumenterà il primo ordine principale. Se la dimensione del primo ordine principale da piazzare è maggiore del valore specificato in questa riga, l'EA piazza il primo ordine principale secondo il punto 3.1. delle impostazioni dell'EA.
- LotConst_or_not — consente all'utente di scegliere se iniziare a fare trading dallo stesso lotto o ricalcolare il lotto iniziale in base al cambiamento del deposito:
Impostazioni della distanza tra la Media Mobile Veloce e Lenta
- Distanza — la distanza richiesta tra la Media Mobile Veloce e Lenta per aprire un ordine, misurata in punti del grafico a cui è attaccato l'EA.
true — il modulo Distanza è attivato (on),
false — il modulo Distanza è disattivato (off).
- Distanza — la distanza richiesta tra la Media Mobile Veloce e Lenta per aprire un ordine, misurata in punti del grafico a cui è attaccato l'EA.
Profitto in punti — TP
- TakeProfit — il valore desiderato di profitto in punti quando si chiude un ordine o un gruppo di ordini.
true — il modulo TakeProfit è attivato (on),
false — il modulo TakeProfit è disattivato (off).
- TakeProfit — il valore desiderato di profitto in punti quando si chiude un ordine o un gruppo di ordini.
Metodo di mediazione — Varyant — una variante del metodo di mediazione del livello TakeProfit (selezionabile tra 1 o 2).
- Varyant 1. La mediazione del livello avviene secondo questa formula: (prezzo di apertura 1 + prezzo di apertura 2 + prezzo di apertura 3 + prezzo di apertura N) / N + livello di Take Profit specificato nelle impostazioni dell'EA.
- Varyant 2. La mediazione del livello avviene come segue: l'EA determina il "livello senza perdita" di ogni posizione (considerando ogni swap e commissioni sugli ordini aperti dall'EA al momento della mediazione del livello di Take Profit) e aggiunge il livello di Take Profit specificato nelle impostazioni dell'EA a quel prezzo.
Stop in punti — SL
- StopLoss — valore della perdita in punti che può essere ricevuta, se il prezzo si muove nella direzione opposta (a quella dell'ordine aperto).
true — il modulo StopLoss è attivato (on),
false — il modulo StopLoss è disattivato (off).
- StopLoss — valore della perdita in punti che può essere ricevuta, se il prezzo si muove nella direzione opposta (a quella dell'ordine aperto).
Distanza tra ordini (Step Up) — la distanza (intervallo) tra ordini aperti nella griglia degli ordini, impostata lungo la "tendenza".
true — il modulo Step Up è attivato (on),
false — il modulo Step Up è disattivato (off).9.1. Trailing stop — livello di Stop Loss mobile.
true — il modulo Trailing stop è attivato (on),
false — il modulo Trailing stop è disattivato (off).Distanza tra ordini (Step Down) — la distanza (intervallo) tra ordini aperti nella griglia degli ordini, impostata contro la "tendenza".
true — il modulo Step Down è attivato (on),
false — il modulo Step Down è disattivato (off).Identificatore degli ordini dell'EA — Magic (Magic Number) — il parametro aiuta gli EA a riconoscere i propri ordini durante il trading in un unico terminale.
Logo e output dati — ShowTableOnTesting — il parametro consente di attivare o disattivare la tabella (guadagni oggi, ieri, ecc.): vero - attivato, falso - disattivato.
Time frame — codice del programma che determina quale timeframe del grafico sarà utilizzato dall'EA per il trading.
- Corrente — il timeframe del grafico specificato nel terminale.
- M1, M5, M15, M30, H1, H4, D1, W1, MN1 — timeframe fissi.
Tempo di trading — modulo per aprire il primo ordine principale a un orario specifico.
true — il modulo Tempo di trading è attivato (on),
false — il modulo Tempo di trading è disattivato (off).Turn — piazza ordini a limite secondo il livello di Stop Loss del primo ordine principale nella direzione opposta.
true — il modulo Turn è attivato (on),
false — il modulo Turn è disattivato (off).- Turn — la distanza alla quale viene piazzato l'ordine pendente opposto.
- LotMultiplicator — il parametro responsabile del rapporto di aumento degli ordini piazzati dal modulo Turn, nel caso in cui l'ordine precedente si chiuda in perdita (chiuso da Stop Loss, "manualmente" o semplicemente in perdita);
- Turn_TakeProfit — il livello di Take Profit per gli ordini piazzati dal modulo Turn;
- Turn_LotSize — se l'ordine da piazzare dal modulo Turn supera il valore impostato in questa riga, allora si utilizza un nuovo livello di Take Profit per quell'ordine, specificato dal modulo Turn nella riga successiva, ma non nella riga Turn_TakeProfit;
- Turn_LotSize_TakeProfit — un nuovo livello di Take Profit per gli ordini del modulo Turn, nel caso in cui gli ordini da piazzare superino la dimensione specificata nella riga Turn_LotSize;
- Turn_MaxLotSize — la dimensione massima di un ordine da piazzare dal modulo Turn. Se l'ordine da piazzare supera la dimensione specificata, allora l'EA non lo piazza.
Risultati del Trading:

Questa versione dell'Expert Advisor è stata utilizzata per il trading su un conto PAMM. Periodo di trading reale: dal 23.02.2015 al 23.07.2015.
Il massimo profitto raggiungibile si è attestato all'84% del deposito iniziale. Tuttavia, a causa di mie interferenze, il profitto netto è stato solo del 20%. La ragione è stata che ho interferito con il trading dell'EA.
I test che ho condotto hanno mostrato rendimenti netti del 5%, 10%, 15% al mese con un drawdown massimo non superiore al 20% del deposito.
P.S. Gli set allegati hanno funzionato solo sul conto su cui ho fatto trading. Sono necessarie impostazioni personalizzate per ogni DC/broker e conto (demo o reale).
Non lasciatevi trasportare dall'ottimizzazione, perché non sempre aiuta e potrebbe non tenere conto della velocità di piazzamento degli ordini durante movimenti molto rapidi.
Post correlati
- Rilevare il Venerdì della Prima Settimana del Mese: La Guida per il Giorno NFP
- EA Efficiente: Come Aggiungere la Chiusura del Venerdì per Migliorare le Performance
- RRS Impulse: Il Tuo Esperto per MetaTrader 4
- Utilità Market Watch Panel: il tuo alleato in MetaTrader 4
- X-liquidex: Il Miglior EA per Trading di Volatilità e Breakout su MetaTrader 4