Home Systeemhandel Bericht

Zelflerende Expert Advisor voor MetaTrader 5: Optimaliseer je Trading

Bijlage
1108.zip (5.21 KB, Downloaden 0 keer)

De Expert Advisor is herschreven vanuit MQL4 door de auteur lsv. Je kunt de bron vinden via deze link: Expert Advisor Bron.

Hoe het Werkt

De Expert Advisor werkt op ticks, ongeacht de tijdsperiode waarin het opereert. Het systeem analyseert prijs patronen van de huidige markt. Er worden verschillende patronen gevormd met uiteenlopende parameters. Het aantal patronen wordt ingesteld in de Nidelt variabele. Voor het eerste patroon wordt de dstop parameter gebruikt, voor het tweede patroon dstop*2, enzovoort tot dstop*N, waarbij N het aantal patronen is. Wanneer de prijs verandert tot de waarde dstop*N, wordt er een nieuw patroonpunt vastgelegd. Het laatste punt wordt verwijderd, waardoor het patroon een vaste lengte van Nidelt punten heeft. Hoe meer instellingen een patroon heeft, hoe dieper het de geschiedenis vastlegt. Zo wordt de markt gelijktijdig in verschillende dieptes van de geschiedenis onderzocht.

Wanneer er een verandering in een patroon optreedt (bijvoorbeeld door een wijziging in de marktsituatie), wordt er een virtuele positie geopend. Het doel is om deze positie te koppelen aan een specifieke marktsituatie. Dit gebeurt door de prijswaarde sequentie om te zetten naar een binaire sequentie: als de waarde van een punt hoger is dan de vorige waarde, is het 1; anders is het 0. In deze sequentie wordt het unieke patroon nummer berekend (dit betekent de conversie van binaire cijfers naar decimale cijfers).

De Expert Advisor kan één tot drie virtuele posities openen, met individuele Stop Loss/Take Profit waarden. De waarden voor Stop Loss en Take Profit zijn voor elke positie gelijk. De waarde van Stop Loss/Take Profit wordt bepaald door de dstop parameter: voor de eerste positie wordt dstop*1 gebruikt, voor de tweede dstop*2, enzovoort. Als de prijs stijgt, zal de waarde voor deze patroon stijgen; als de prijs daalt, zal deze waarde ook dalen. Virtuele posities worden geopend voor elk van de drie patronen: patroon parameter, patroon nummer en voor elke waarde van Stop Loss/Take Profit. Voor elke combinatie wordt een kans op virtuele handel naar boven of beneden berekend.

Als er volgens een combinatie van drie parameters (parameter, nummer, Stop Loss/Take Profit) minimaal 10 virtuele transacties worden gecreëerd, kan het openen van een positie worden overwogen als er eenzelfde marktsituatie optreedt (bepaalde parameter en nummer patroon worden automatisch gedetecteerd). In dat geval kan de positieopening worden uitgevoerd met een richting die is vastgesteld op basis van de berekende kans op basis van deze statistieken door de waarde van Stop Loss/Take Profit.

Het verzamelen van statistieken kost veel tijd. Zoals de auteur van de Expert Advisor opmerkt: "Het kan enkele weken duren". Dit proces kan worden versneld met de tester. Houd er echter rekening mee dat de prijsveranderingen in de tester en de echte markt aanzienlijk kunnen verschillen. De auteur raadt aan om het als volgt te doen: leer de Expert Advisor in de tester en voer deze vervolgens ongeveer een week op een demo-account uit. Als de Expert Advisor positieve resultaten laat zien (waardoor het een beetje leert), kan deze op een echt account worden gebruikt.

Voorbereiden van een Expert Advisor

De eerste stap bij het voorbereiden van de Expert Advisor is het optimaliseren van de parameters: Nidel, Nstop, dstop, forg, Probab, NN, delta. In deze fase wordt de optimalisatie uitgevoerd met de parameters ReadHistory en SaveHistory uitgeschakeld. Zodra er een acceptabele combinatie van parameters is gevonden, moet er een test worden uitgevoerd met SaveHistory=true. Voer daarna de Expert Advisor uit op een account met ReadHistory=true - de Expert Advisor begint onmiddellijk met werken zodra deze voldoende statistieken in de tester heeft verzameld. Het is aan te raden SaveHistory in te schakelen wanneer je werkt op een account, zodat gegevens automatisch worden opgeslagen wanneer de Expert Advisor is overgeleerd en klaar is om te starten in geval van een herstart.

Bij gebruik van SaveHistory in de tester worden de leerdata opgeslagen in een bestand met de naam FD_[Symbool]. Als de Expert Advisor test op EURUSD, zal het bestand de naam FD_EURUSD hebben; als het op GBPUSD test, zal het FD_GBPUSD zijn, enzovoort. De bestanden worden opgeslagen in de Bestanden map, welke de algemene gegevensmap is voor alle terminals. Je kunt de algemene gegevensmap vinden via het hoofdmenu van MetaEditor – open de algemene gegevensmap. Via deze map worden gegevens gelezen door ReadHistory.

Naast het opslaan van leerresultaten, slaat de Expert Advisor twee bestanden op die noodzakelijk zijn voor het handelsproces. Deze bestanden hebben de namen: FDlast_buy[Symbool][Tijdsperiode] en FDlast_sell[Symbool][Tijdsperiode]. Let niet te veel op deze bestanden.

De Expert Advisor is alleen afhankelijk van de tijdsperiode wat betreft de periodiciteit van het opslaan van leerdata en de minimale tijd tussen virtuele transacties. Dit is gelijk aan de dichtheid van twee candles, dus er is enige variatie in de resultaten van de Expert Advisor op verschillende tijdsperiodes.

 

Parameters

  • ReadHistory - Geschiedenis van leren lezen.
  • SaveHistory - Geschiedenis van leren opslaan. Tijdens testen wordt de geschiedenis tot het einde van de test opgeslagen; wanneer er op een account wordt gewerkt, regelmatig door middel van overleren.
  • Lots - Positiegrootte.
  • Nidelt - Aantal patronen mag niet meer dan 30 zijn.
  • Nstop - Aantal virtuele positieparameters (verschillende waarden van Stop Loss en Take Profit, Stop Loss en Take Profit zijn gelijk), 1, 2 of 3.
  • dstop - Stap van veranderingen in virtuele positieparameters (Stop Loss en Take Profit).
  • forg - Verhouding van het vergeten van leerresultaten; waarde moet iets meer dan 1 zijn.
  • Probab - Kansniveau gedefinieerd door leerresultaten waarop de positieopening plaatsvindt.
  • NN - Grootte van het patroon mag niet meer dan 12 zijn.
  • delta - Stap van verandering van patroonparameters.
  • ReplaceStops - Stop Loss/Take Profit aanpassen bij nieuwe openingssignalen. Stop Loss/Take Profit transpositie vindt alleen plaats tot de positie richting.
  • Trailing - Trailing stop niveau; wanneer de waarde 0 is, is de trailing stop uitgeschakeld.

Gerelateerde berichten

Reactie (0)