Home Trading Sistematico Post

Media Mobile: L'Esperto per MetaTrader 4

Allegato
7927.zip (5.09 KB, Scarica 0 volte)


    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);

    Il parametro MaximumRisk rappresenta la percentuale di rischio di base per ogni transazione, di solito compresa tra 0,01 (1%) e 1 (100%). Ad esempio, se il margine libero (AccountFreeMargin) è di 20.500€ e le regole di gestione del capitale prevedono di utilizzare un rischio del 2%, la dimensione di base del lotto sarà di 20500 * 0.02 / 1000 = 0.41. È fondamentale controllare l’accuratezza della dimensione del lotto e normalizzare il risultato con i valori consentiti. Normalmente, sono consentiti lotti frazionari con un passo di 0.1. Pertanto, una transazione con volume di 0.41 non verrà eseguita. Per normalizzare, si utilizza la funzione NormalizeDouble() con un’accuratezza di 1 cifra dopo il punto. Questo porta a un lotto di base di 0.4. Il calcolo della dimensione del lotto in base al margine libero consente di aumentare i volumi delle operazioni in base al successo del trading, ossia di operare con reinvestimento. Questo è il meccanismo di base con gestione del capitale obbligatoria per aumentare l'efficacia del trading.

    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);

    In questo modo, l'algoritmo consente di ridurre efficacemente il rischio derivante da una serie di operazioni non redditizie. La dimensione del lotto viene sempre verificata per la dimensione minima consentita alla fine della funzione, poiché i calcoli precedenti potrebbero portare a lot = 0:

    if(lot<0.1) lot=0.1;

    L'esperto è principalmente destinato a operare con periodi giornalieri e, in modalità di test, per operare sui prezzi di chiusura. Effettuerà operazioni solo all'apertura di una nuova barra, quindi non sono necessari i modelli di ogni tick.

    I risultati dei test sono riportati nel report.

Report del Tester di Strategia

Media Mobile


SimboloEURUSD (Euro vs Dollaro USA)
Periodo1 Ora (H1) 2003.01.08 00:00 - 2003.11.25 00:00
ModelloOgni tick (basato su tutti i timeframe disponibili con interpolazione frattale di ogni tick)
ParametriLots=0.1; MaximumRisk=0.01; DecreaseFactor=1; MovingPeriod=16; MovingShift=11;

Barre nel test19371Ticks modellati656918Qualità di modellazione25.00%

Deposito iniziale10000.00



Profitto netto totale1695.20Profitto lordo4293.20Perdita lorda-2598.00
Fattore di profitto1.65Rendimento atteso10.80

Drawdown assoluto40.35Drawdown massimo (%)318.50 (3.0%)


Operazioni totali157Posizioni 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%)
Maggioroperazione profittevole262.55operazione perdente-91.00
Mediaoperazione profittevole93.33operazione perdente-23.41
Massimovittorie consecutive (profitto in denaro)2 (387.15)perdite consecutive (perdita in denaro)7 (-287.25)
Massimoprofitto consecutivo (numero di vittorie)387.15 (2)perdita consecutiva (numero di perdite)-287.25 (7)
Mediavittorie consecutive1perdite consecutive3

Post correlati

Commento (0)