Indicator voor het Evalueren van Handelsstrategieën in MetaTrader 4

Mike 2010.04.01 19:46 50 0 0
Bijlage

Als traders willen we vaak op een visuele manier inzicht krijgen in de tekortkomingen van onze handelsstrategieën. Het zou fantastisch zijn als we tegelijkertijd ook de objectieve handelsstatistieken kunnen zien.

Hoewel MetaTrader 4 een backtester heeft, kost het veel tijd om een backtest visueel uit te voeren voor elke wijziging in je EA. Daarnaast zijn de visuele mogelijkheden vrij beperkt en kun je geen multi-valuta strategieën testen, althans niet efficiënt.

Om deze problemen aan te pakken heb ik een open-source indicator ontwikkeld voor visueel testen van handelsstrategieën. Hoewel het niet mogelijk is om een volledig universele indicator te maken, kan het huidige framework eenvoudig worden aangepast en uitgebreid voor specifieke behoeften, zoals multi-valuta.


Bij de ontwikkeling is er speciale aandacht besteed aan spreadbeheer. De indicator houdt rekening met de spread, net zoals die voorkomt in de echte handel en in de MT4 backtester. Als je de indicator voor jouw doeleinden wilt aanpassen, is het belangrijk om het spreadbeheer goed te bestuderen. Anders kan het zijn dat je geweldige resultaten ziet op een M1-tijdframe, terwijl de werkelijkheid een ramp zou zijn. :-)

Als demonstratie van de strategie-testindicator voeg ik een handelsindicator toe met een eenvoudige handelsstrategie. De regels van de strategie zijn gebaseerd op MA-kruisingen in relatie tot prijsactie (zodat trades geplaatst kunnen worden nog voordat ze daadwerkelijk kruisen, om vertraging te voorkomen). Ook is er een exit-strategie aanwezig (gebruikmakend van tegenovergestelde signalen en langzame MA-kruisingen op een tegenovergestelde manier), en het stop-loss beheer is geïmplementeerd via een aangepaste Chandelier SL-strategie. Deze indicator dient als voorbeeld dat kan worden uitgebreid voor specifieke behoeften, maar sommige traders vinden hem zelfs goed genoeg voor handmatig handelen.

Het idee achter het hele systeem

Het indicatorensysteem is modulair opgebouwd. Eerst moeten we een handelsstrategie implementeren in een handelsindicator, waar momenteel twee buffers worden gebruikt voor instapsignalen, twee voor uitstapsignalen en één voor stop loss. Een voorbeeld van een dergelijke indicator met volledige functionaliteit is de bijgevoegde StrategyIndi_1.0.

Vervolgens kunnen we deze strategie evalueren met de strategie-testindicatorStrategySym_1.0. Als we niet tevreden zijn met de resultaten, kunnen we de handelsindicator optimaliseren en de resultaten van de wijzigingen in real-time en objectief bekijken via statistieken.


Als we later een EA willen implementeren, is dat heel eenvoudig, omdat we door een aangepaste handelsindicator aan te roepen, alle instap- en uitstapsignalen en SL-waarden krijgen.

Hoe gebruik je dit systeem en pas je het aan jouw wensen aan?

Om het systeem te gebruiken zoals het is, kopieer je beide indicatoren naar je MetaTrader\experts\indicators map. Zorg ervoor dat je de terminal opnieuw opstart voordat je ze gebruikt, zodat ze gecompileerd worden.

Er zijn bepaalde instellingen die je misschien wilt aanpassen; de meeste zijn vanzelfsprekend aan de hand van hun namen, dus ik zal alleen de andere beschrijven:

Parameters voor StrategyIndi:

  • ChandBars = 7 - aantal bars voor de Chandelier SL-strategie
  • ChandATRFact = 2.0 - factor om de langetermijn ATR mee te vermenigvuldigen, om de Chandelier afstand te krijgen
  • RiskPercent = 2.0 - risico in procenten van het vrije rekening saldo voor lotberekening volgens de start SL (dit is alleen voor handmatige handelsinformatie)
  • Offset = 10 - offset van bars op de chart voor het plaatsen van pijlen, in 4-cijferige pips
  • BarsBack = 2000 - aantal bars om te verwerken, uit het verleden
  • AlertSound = "alert.wav" - WAV-bestand voor geluidswaarschuwingen
  • UseSoundAlert = true - als we geluidswaarschuwingen willen (voor handmatig handelen)
  • UsePopupAlert = true - als we pop-up vensterwaarschuwingen willen (voor handmatig handelen)
  • WriteToLog = false - als we logdetails willen schrijven (voor debugging)

Parameters voor StrategySim:

  • MaxLossAtSL = 200.0 - hoeveel geld (in accountvaluta) we bereid zijn te verliezen bij elke SL (voor sommigen is dit intuïtiever dan procenten, maar kan makkelijk worden aangepast)
  • BarsBack = 2000 - aantal bars om te verwerken voor de strategie-evaluatie
  • WriteToLog = false - als we logdetails willen schrijven (voor debugging)

Als je het systeem aanpast aan je eigen behoeften, moet je aan de StrategySym-indicator alle parameters toevoegen van je eigen StrategyIndi-indicator – die relevant zijn voor de simulatie. Deze worden later gebruikt in de GetIndiSignals-methode en je plaatst gewoon vaste waarden voor andere parameters (zoals UseSoundAlert). Er hoeft verder niets te worden gewijzigd in de StrategySim, tenzij je het voor andere doeleinden wilt (zoals multi-valuta strategieën). In dat geval zullen de code-opmerkingen en variabelen hopelijk voldoende duidelijk zijn. Als je hulp nodig hebt, helpen we je graag, neem gewoon contact met ons op via het onderstaande webadres.

Met dit systeem wil ik bijdragen aan de objectiviteit bij het evalueren van handelsstrategieën (voor handmatige systemen of EAs), omdat de huidige marketingbenaderingen vaak zeer manipulatief zijn en daardoor veel beginners hun zuurverdiende geld verliezen.

Groeten, Robert

Voor opmerkingen, MT4-programmering of advies over dit onderwerp, neem contact met me op via robert [dot] leskovar [at] gmail [dot] com. De MQLTools-website in de broncode is niet meer actief.

Lijst
Reactie 0