La Media Mobile è un esperto progettato per generare segnali di trading utilizzando una singola media mobile. Le aperture e le chiusure delle posizioni avvengono quando la media mobile incontra il prezzo sulla barra più recente (indice della barra uguale a 1). La dimensione del lotto sarà ottimizzata secondo un algoritmo specifico.
L'EA analizza la coincidenza tra la media mobile e il grafico dei prezzi di mercato. Il controllo avviene attraverso la funzione CheckForOpen(). Se la media mobile si trova in una posizione tale che è superiore al prezzo di apertura ma inferiore al prezzo di chiusura, si aprirà una posizione di acquisto (BUY). Al contrario, se la media mobile è inferiore al prezzo di apertura e superiore al prezzo di chiusura, si aprirà una posizione di vendita (SELL).
La gestione del denaro utilizzata nell'esperto è molto semplice, ma efficace: il controllo del volume di ciascuna posizione si basa sui risultati delle transazioni precedenti. Questo algoritmo è implementato dalla funzione LotsOptimized(). La dimensione di base del lotto viene calcolata in base al rischio massimo consentito:
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
DecreaseFactor rappresenta la misura in cui la dimensione del lotto verrà ridotta dopo operazioni non redditizie. Valori normali sono 2, 3, 4, 5. Se le transazioni precedenti sono state non redditizie, i volumi successivi diminuiranno di un fattore pari a DecreaseFactor per superare il periodo negativo. Questo è il fattore principale nell'algoritmo di gestione del capitale. L'idea è molto semplice: se il trading genera profitti, l'esperto lavora con il lotto di base per massimizzare i guadagni. Dopo la prima operazione non redditizia, l'esperto "ridurrà la velocità" fino a quando non verrà effettuata una nuova operazione positiva. L'algoritmo consente di disattivare la "riduzione della velocità" impostando DecreaseFactor = 0. Il numero delle ultime transazioni non redditizie viene calcolato nella cronologia delle operazioni. La dimensione di base del lotto sarà ricalcolata in base a questo:
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
if(lot<0.1) lot=0.1;
I risultati dei test sono riportati nel report.
Report del Tester di Strategia
Media Mobile
Simbolo EURUSD (Euro vs Dollaro USA) Periodo 1 Ora (H1) 2003.01.08 00:00 - 2003.11.25 00:00 Modello Ogni tick (basato su tutti i timeframe disponibili con interpolazione frattale di ogni tick) Parametri Lots=0.1; MaximumRisk=0.01; DecreaseFactor=1; MovingPeriod=16; MovingShift=11; Barre nel test 19371 Ticks modellati 656918 Qualità di modellazione 25.00% Deposito iniziale 10000.00 Profitto netto totale 1695.20 Profitto lordo 4293.20 Perdita lorda -2598.00 Fattore di profitto 1.65 Rendimento atteso 10.80 Drawdown assoluto 40.35 Drawdown massimo (%) 318.50 (3.0%) Operazioni totali 157 Posizioni corte (percentuale vinta) 73 (26.03%) Posizioni lunghe (percentuale vinta) 84 (32.14%) Operazioni vincenti (% del totale) 46 (29.30%) Operazioni perdenti (% del totale) 111 (70.70%) Maggior operazione profittevole 262.55 operazione perdente -91.00 Media operazione profittevole 93.33 operazione perdente -23.41 Massimo vittorie consecutive (profitto in denaro) 2 (387.15) perdite consecutive (perdita in denaro) 7 (-287.25) Massimo profitto consecutivo (numero di vittorie) 387.15 (2) perdita consecutiva (numero di perdite) -287.25 (7) Media vittorie consecutive 1 perdite consecutive 3
Post correlati
- MQL5 Wizard: Creare Trading Signals con Morning/Evening Stars e MFI per MetaTrader 5
- Utilizzare MQL5 Wizard per generare segnali di trading: Hammer e Hanging Man con CCI
- MQL5 Wizard: Strategia di Trading con Dark Cloud Cover/Piercing Line e RSI
- MQL5 Wizard: Creare Trade Signals con Hammer/Hanging Man e RSI
- MQL5 Wizard: Crea Trading Signals con 3 Corvi Neri/3 Soldati Bianchi e RSI