In deze blog neem ik je mee in de wereld van de Slimme Trend Volger, een krachtig systeem voor MetaTrader 5 dat ontworpen is om automatisch markttendensen te volgen en handelsposities te beheren. Laten we de belangrijkste elementen van deze Expert Advisor (EA) bekijken!
1. Enum Types (enumJnsSignal, enumOrderType)
- enumJnsSignal - Dit enum definieert het type signaal dat gebruikt wordt in de EA. Er zijn twee signaalopties:
eTypeCrossMA: Gebruikt het signaal van Cross 2 MA (de kruising van twee Moving Averages).eTypeTrend: Volgt de trend met behulp van Moving Averages en Stochastic.- enumOrderType - Dit enum definieert het type order:
eBuy: Een Koop order.eSell: Een Verkoop order.eNone: Geen order uitgevoerd.
2. Invoervariabelen
- inMagicNumber - Een uniek magisch nummer dat gebruikt wordt om orders van deze EA te onderscheiden.
- inLotSize - De initiële lotgrootte voor elke order.
- inMultiply - De vermenigvuldigingsfactor die gebruikt wordt in de lotgrootte strategie.
- inJarakLayer - De pip-afstand tussen handelsposities in de grid/layer strategie.
- inMAPeriodFast & inMAPeriodSlow - De periodes voor de snelle en langzame Moving Averages.
- inSTOKPeriod, inSTODPeriod, inSTOSlowing - Parameters voor de Stochastic Oscillator.
- inTakeProfit & inStopLoss - De instellingen voor Take Profit en Stop Loss.
3. Struct dataTrades
Deze struct wordt gebruikt om gegevens op te slaan die verband houden met open handelsposities, zoals het totale aantal posities (ttlPos), de gemiddelde prijs van posities (hargaTA, hargaTB), en het totale volume (ttlLot).
4. OnInit() Functie
Deze functie behandelt de initialisatie van de EA, inclusief het valideren van invoervariabelen (bijv. zorgen dat de snelle MA-periode kleiner is dan de langzame MA-periode) en het aanmaken van handles voor de MA en Stochastic indicatoren.
5. OnTick() Functie
De hoofd functie die elke keer wordt uitgevoerd wanneer de prijs beweegt (tick). Het roept de functie aan om te controleren op een nieuw signaal met GetSignal(), en als er een signaal wordt gevonden, wordt manageTrading() gebruikt om handelstransacties uit te voeren. Ook wordt setTPSL() aangeroepen om ervoor te zorgen dat Take Profit en Stop Loss altijd worden bijgewerkt.
6. isNewCandle() Functie
Deze functie detecteert of er een nieuwe kaars is gevormd. Dit is belangrijk omdat de EA alleen op nieuwe kaarsformaties naar signalen kijkt.
7. GetSignal() Functie
Deze functie bepaalt of er een geldig handels signaal bestaat op basis van de gekozen strategie:
- Voor eTypeCrossMA wordt het signaal bepaald door de kruising van de snelle en langzame Moving Averages.
- Voor eTypeTrend gebruikt het signaal bevestiging van MA en Stochastic.
8. manageTrading() Functie
Deze functie beheert de uitvoering van transacties. Als er een geldig signaal is gedetecteerd, opent de EA een positie met de lotgrootte die wordt bepaald met de getLotSize() functie. Een grid/layer strategie wordt ook toegepast om extra posities te openen op basis van de prijsafstand (inJarakLayer).
9. updateDataTrades() Functie
Deze functie werkt de gegevens bij die verband houden met lopende handelsposities, zoals het berekenen van de gemiddelde prijs en het totale volume van open posities.
10. openTrade() Functie
Deze functie opent een nieuwe handelspositie op basis van het gegenereerde signaal en de berekende lotgrootte. Het gebruikt OrderSend() om de order uit te voeren.
11. setTPSL() Functie
Deze functie stelt of werkt de Take Profit en Stop Loss in voor elke open positie bij.
12. modifTPSL() Functie
Deze functie wijzigt de Take Profit en Stop Loss van bestaande posities als de waarden verschillen van wat eerder is ingesteld.
13. validateLot() Functie
Deze functie zorgt ervoor dat de gebruikte lotgrootte binnen het toegestane minimum en maximum bereik ligt, evenals in lijn met de minimum lotstap (gLotStep).
14. getLotSize() Functie
Deze functie berekent de lotgrootte die gebruikt moet worden op basis van de initiële lotgrootte en het aantal al geopende posities, rekening houdend met de vermenigvuldigingsfactor (inMultiply).
Deze code is ontworpen om markttendensen vast te leggen en handelsposities automatisch te beheren met behulp van technische signalen van Moving Averages en Stochastic.
Gerelateerde berichten
- MQL5 Wizard: Creëer Handelsstrategieën met Bullish en Bearish Engulfing Candlestick Patronen en Stochastic
- Efficiënt Trendvolgend Handelsysteem met Exp_X2MA_JFatl voor MetaTrader 5
- Close Cross MA: Efficiënt Orders Sluiten met MetaTrader 4
- Efficiënt Handelen met het ColorSchaffJCCXTrendCycle Systeem voor MetaTrader 5
- Efficiënt Handelen met de Ang_Zad_C Indicator voor MetaTrader 5