Het idee voor deze Expert Advisor komt van mij, maar de codering is gedaan door Sergey Diubakin.
Deze versie van de Expert Advisor is gebruikt voor handelen op een PAMM-account. Door menselijke fouten aan mijn kant was de netto winst 20%. De maximale winst die gehaald kon worden, was 84% van het oorspronkelijke deposito.
Werkelijke handelsperiode: van 23.02.2015 tot 23.07.2015.
Volgens mijn observaties vereist het handelen met deze Expert Advisor een groot deposito (minimaal €15.000 - €20.000).
De waarden van de Moving Average indicator worden gebruikt voor het handelen. Als de snelle Moving Average-lijn boven de langzame Moving Average-lijn ligt en de afstand tussen deze twee lijnen groter is dan gespecificeerd, dan wordt er een kooporder geopend.
Voor het openen van een verkooporder worden de tegenovergestelde waarden van de indicatoren gebruikt. Het sluiten van een order gebeurt volgens de waarden van de Moving Average indicator.
Deze EA heeft ook extra pluginmodules: de afstand tussen de snelle en langzame Moving Average lijnen, Take Profit, Stop Loss, Trailing Stop, de afstand tussen orders (omhoog en omlaag), de methode voor het middelen van Take Profit, handelsuren, Turn, en de verhoging van de eerste hoofdlots als de vorige met verlies is gesloten.
Het algoritme van de EA:
- De EA controleert of er open orders zijn die eerder zijn geopend.
- Als er geen open orders zijn, analyseert de EA de grafiek, en als aan alle voorwaarden in de instellingen is voldaan, opent het de eerste hooforder.
- Na het openen van de eerste hooforder stelt de EA de Take Profit en Stop Loss niveaus in (als deze modules zijn ingeschakeld).
- Als de eerste hooforder met verlies sluit, kan de volgende order worden geopend met een vergrote omvang.
- Als de eerste hooforder is geplaatst, worden de Step Up en Step Down modules ingeschakeld en als de prijs de gespecificeerde waarden bereikt, worden er extra orders voor deze modules geplaatst. Extra orders voor de Step Up en Step Down modules kunnen alleen worden geplaatst als de EA ziet dat het eerder de eerste hooforder heeft geopend of er ongesloten extra orders zijn.
- Deze Expert Advisor heeft 2 operationele modi:
- a) Eerste modus is dat als de snelle MA boven de langzame MA ligt, de EA kooporders plaatst, en zodra de trend verandert (de snelle MA ligt onder de langzame MA), worden alle geopende orders gesloten en verkooporders geplaatst.
- b) Tweede modus is dat als de EA kooporders heeft geopend en de trend verandert (de snelle MA ligt onder de langzame MA), de orders geopend blijven. De EA kan alleen verkooporders plaatsen als de snelle MA lager wordt dan de langzame MA en alle orders van de EA zijn gesloten (Take Profit, Stop Loss zijn bereikt, of gesloten "handmatig").
- Deze Expert Advisor heeft een handelsuurmodule, die, indien geactiveerd, de EA toestaat om de eerste hooforder alleen te plaatsen op het tijdsinterval dat in deze module is gespecificeerd. Deze module is niet van toepassing op extra orders voor de Step Up, Step Down en Turn modules. Dat wil zeggen, als er eerder door de EA orders zijn geopend, en een van de Step Up, Step Down of Turn modules is geactiveerd, dan worden extra orders voor deze modules geplaatst ongeacht de tijd.
Instellingen voor de Expert Advisor:
Operationele modus:
- 1 — als de trend verandert, worden alle geopende orders gesloten en worden de tegenovergestelde orders geopend;
- 2 — als de trend verandert, worden de geopende orders niet gesloten (de EA wacht tot Take Profit, Stop Loss zijn bereikt, of gesloten "handmatig").
Snelle MA — instellingen voor de Moving Average indicatorplugin: periode, offset, MA-methode. De Moving Average die in de MetaTrader 4 terminal is inbegrepen, wordt gebruikt.
Langzame MA — instellingen voor de Moving Average indicatorplugin: periode, offset, MA-methode. De Moving Average die in de MetaTrader 4 terminal is inbegrepen, wordt gebruikt.
Initiële lot
4.1. Initiële lot
- LotConst_of_not — laat de gebruiker kiezen of hij vanaf dezelfde lot wil beginnen of dat de initiële lot opnieuw wordt berekend afhankelijk van de wijziging van het deposito:
true — de eerste lot blijft constant en gelijk aan de hieronder gespecificeerde waarde;
false — de eerste lot zal dynamisch veranderen afhankelijk van de wijziging van het deposito en zal afhankelijk zijn van de RiskPercent parameter en de grootte van het deposito. Lots = AccountBalance() * (RiskPercent / 100.0) / 10000.0 - Lots — stelt de initiële lot voor de handel in;
RiskPercent — stelt de initiële lot in afhankelijk van het deposito.
4.2. Verhoging van de lot
- FirstLotMultiplicator — parameter die verantwoordelijk is voor de verhogingsratio van elke volgende eerste hooforder in geval de vorige eerste hooforder met verlies is gesloten (gesloten door Stop Loss, "handmatig" of simpelweg met verlies);
- First_LotSize — als de eerste hooforder een waarde bereikt die in deze regel is gespecificeerd, plaatst de EA Take Profit op het niveau dat in de volgende regel is ingesteld (First_LotSize_TakeProfit), maar niet in punt 5 van de EA-instellingen;
- First_LotSize_TakeProfit — een "nieuw" Take Profit niveau van de eerste hooforder, in het geval het de grootte bereikt die in de First_LotSize regel is ingesteld;
- First_MaxLotSize — de maximale waarde tot welke de EA de eerste hooforder zal verhogen. Als de grootte van de eerste hooforder groter is dan de waarde die in deze regel is gespecificeerd, dan plaatst de EA de eerste hooforder volgens p.3.1. van de EA-instellingen.
- LotConst_of_not — laat de gebruiker kiezen of hij vanaf dezelfde lot wil beginnen of dat de initiële lot opnieuw wordt berekend afhankelijk van de wijziging van het deposito:
Instellingen van de afstand tussen de Snelle MA en de Langzame MA
- Afstand — de vereiste afstand tussen de Snelle MA en de Langzame MA om een order te openen, gemeten in punten van de grafiek waaraan de EA is gehecht.
true — de Afstandmodule is geactiveerd (aan),
false — de Afstandmodule is gedeactiveerd (uit).
- Afstand — de vereiste afstand tussen de Snelle MA en de Langzame MA om een order te openen, gemeten in punten van de grafiek waaraan de EA is gehecht.
Winst in punten — TP
- TakeProfit — de gewenste waarde van winst in punten bij het sluiten van een order of een groep orders.
true — de TakeProfitmodule is geactiveerd (aan),
false — de TakeProfitmodule is gedeactiveerd (uit).
- TakeProfit — de gewenste waarde van winst in punten bij het sluiten van een order of een groep orders.
Methode voor middelen — Variant — een variant van de methode voor het middelen van het TakeProfit niveau (selecteerbaar tussen 1 of 2).
- Variant 1. Het middelen van het niveau gebeurt volgens deze formule: (opening prijs 1 + opening prijs 2 + opening prijs 3 + opening prijs N) / N + Take Profit niveau, gespecificeerd in de EA-instellingen.
- Variant 2. Het middelen van het niveau vindt plaats als volgt: de EA bepaalt het "verliesloze niveau" van elke positie (rekening houdend met elke swap en commissies op orders die door de EA zijn geopend op het moment van het middelen van het Take Profit niveau) en voegt het Take Profit niveau, gespecificeerd in de instellingen van de EA, aan die prijs toe.
Stop in punten — SL
- StopLoss — waarde van het verlies in punten, dat kan worden ontvangen als de prijs in de tegenovergestelde (naar de geopende order) richting beweegt.
true — de StopLossmodule is geactiveerd (aan),
false — de StopLossmodule is gedeactiveerd (uit).
- StopLoss — waarde van het verlies in punten, dat kan worden ontvangen als de prijs in de tegenovergestelde (naar de geopende order) richting beweegt.
De afstand tussen orders (Step Up) — de afstand (interval) tussen geopende orders in het ordergrid, ingesteld langs de "trend".
true — de Step Up module is geactiveerd (aan),
false — de Step Up module is gedeactiveerd (uit).9.1. Trailing stop — beweegbaar Stop Loss niveau.
true — de Trailing stop module is geactiveerd (aan),
false — de Trailing stop module is gedeactiveerd (uit).Afstand tussen orders (Step Down) — de afstand (interval) tussen geopende orders in het ordergrid, ingesteld tegen de "trend".
true — de Step Down module is geactiveerd (aan),
false — de Step Down module is gedeactiveerd (uit).De identifier van de orders van de EA — Magic (Magic Number) — de parameter helpt EA's om hun orders te herkennen bij het handelen in één terminal.
Logo en dataweergave — ShowTableOnTesting — de parameter maakt het mogelijk om de tabel (winst vandaag, gisteren, enz.) aan en uit te zetten: true - aan, false - uit.
Tijdsframe — programmatuur die bepaalt welk grafiektijdframe door de EA voor handelen zal worden gebruikt.
- Huidig — het grafiektijdframe, gespecificeerd in de terminal.
- M1, M5, M15, M30, H1, H4, D1, W1, MN1 — vaste tijdframes.
Handelsuur — module voor het openen van de eerste hooforder op een specifieke tijd.
true — de Handelsuurmodule is geactiveerd (aan),
false — de Handelsuurmodule is gedeactiveerd (uit).Turn — plaatst limietorders volgens het Stop Loss niveau van de eerste hooforder in de tegenovergestelde richting.
true — de Turn module is geactiveerd (aan),
false — de Turn module is gedeactiveerd (uit).- Turn — de afstand waartegen de tegenovergestelde pending order wordt geplaatst.
- LotMultiplicator — de parameter die verantwoordelijk is voor de verhogingsratio van de orders geplaatst door de Turn module, in geval de vorige order met verlies is gesloten (gesloten door Stop Loss, "handmatig" of simpelweg met verlies);
- Turn_TakeProfit — het Take Profit niveau voor orders geplaatst door de Turn module;
- Turn_LotSize — als de order die door de Turn module moet worden geplaatst de waarde ingesteld in deze regel overschrijdt, dan wordt een nieuw Take Profit niveau gebruikt voor die order, dat door de Turn module in de volgende regel is gespecificeerd, maar niet in de Turn_TakeProfit regel;
- Turn_LotSize_TakeProfit — een nieuw Take Profit niveau voor de orders van de Turn module, in geval de orders die moeten worden geplaatst de grootte overschrijden die in de Turn_LotSize regel is gespecificeerd;
- Turn_MaxLotSize — de maximale grootte van een order die door de Turn module kan worden geplaatst. Als de te plaatsen order de gespecificeerde grootte overschrijdt, plaatst de EA deze niet.
Handelsresultaten:

Deze versie van de Expert Advisor is gebruikt voor handelen op een PAMM-account. Werkelijke handelsperiode: van 23.02.2015 tot 23.07.2015.
De maximale winst die behaald kon worden, was 84% van het oorspronkelijke deposito. Echter, door mijn eigen tussenkomst was de netto winst slechts 20%. De reden was dat ik de handel van de EA verstoorde.
De test runs die ik heb uitgevoerd lieten een netto winst van 5%, 10%, 15% per maand zien met een drawdown van niet meer dan 20% van het deposito.
P.S. De bijgevoegde sets werkten alleen op het account waarop ik handelde. Aangepaste EA-instellingen zijn vereist voor elke DC/broker en account (demo of real).
Laat je niet te veel meeslepen door de optimalisatie, want dat helpt niet altijd en kan de snelheid van het plaatsen van orders bij zeer snelle bewegingen negeren.
Gerelateerde berichten
- MQL5 Wizard: Creëer Handelsstrategieën met Bullish en Bearish Engulfing Candlestick Patronen en Stochastic
- MQL5 Wizard: Handelsignalen Geïnspireerd Door Morning/Evening Stars + MFI voor MetaTrader 5
- MQL5 Wizard: Handelsignalen Geïnspireerd door Morning/Evening Stars en RSI voor MetaTrader 5
- Efficiënt Trendvolgend Handelsysteem met Exp_X2MA_JFatl voor MetaTrader 5
- Close Cross MA: Efficiënt Orders Sluiten met MetaTrader 4