Home Systeemhandel Bericht

Slimme Trend Volger - Systeem voor MetaTrader 5

Bijlage
53022.zip (3.5 KB, Downloaden 1 keer)

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

Reactie (0)