Idee van: Vladimir Pastushak.
MQL5-code door: Vladimir Karputov.
Deze EA maakt gebruik van de Moving Average indicator, waarbij alle voorbereidings- en handelsfuncties zijn geïmplementeerd in de CMoving handelsklasse, opgeslagen in een apart bestand genaamd Moving.mqh.
Instellingen
- magic number - de unieke identificatie voor de EA;
- Lots - positievolume (het positievolume moet boven nul zijn of er moet een risico van boven nul worden opgegeven);
- Risico - risico in procenten van de vrije marge per trade (het positievolume moet boven nul zijn of er moet een risico van boven nul worden opgegeven);
- MA: periode - Moving Average indicator: Tijdframe;
- MA: gemiddelde periode - Moving Average indicator: Gemiddelde periode;
- MA: horizontale verschuiving - Moving Average indicator: Horizontale verschuiving;
- MA: gladheidsmethode - Moving Average indicator: Gemiddelde methode;
- MA: prijs type - Moving Average indicator: Type prijzen waarop de indicator is berekend;
- Take Profit - Take Profit (voor het geval er één positie open is);
- Lotvermenigvuldiger voor een serie posities - het volume van een positie verhogen voor een serie posities;
- Afstand van de Moving Average - afstand van de Moving Average indicator;
- Additief bij algemene winst - toevoegen aan de indent, als er algemene winst is.
De EA maakt gebruik van het swingprincipe, met de mogelijkheid om het aantal lots te verhogen; een eenvoudige strategie wordt gebruikt voor de werking:
- Als de prijs boven de Moving Average indicator ligt op een vooraf ingestelde Afstand van Moving Average, openen we een BUY positie;
- Als de prijs naar beneden beweegt vanaf de Moving Average indicator op een vooraf ingestelde Afstand van Moving Average, openen we een SELL positie met hetzelfde lot;
- Als de prijs omhoog is gegaan van de BUY positie met de hoogste prijs op een vooraf ingestelde Afstand van Moving Average, openen we de volgende BUY positie;
- Als de prijs naar beneden is gegaan van de BUY positie met de laagste prijs op een vooraf ingestelde Afstand van Moving Average, openen we de volgende SELL positie;
Klasse CMoving
| Instellingsparameters | |
Initialisatie |
Primaire initialisatie - de volgende parameters worden ingesteld:
|
GetFlag |
Dit geeft de status van de initialisatie vlag terug. Het wordt gebruikt als een hulpfunctie bij het aanroepen vanuit de basis EA om de status van de interne m_init variabele van de klasse CMoving te controleren. |
LotsOfRisico |
Definieert het type berekening van positie lots: of handmatig (de lots parameter is boven nul) of in procenten van de vrije marge per trade (de risico parameter is boven nul). |
CreateMA |
Creëert de Moving Average indicator. |
TakeProfit |
Definieert de Take Profit parameter. |
Multiplier |
Definieert de parameter voor het verhogen van het lot. |
DistanceMA |
Definieert de indent van de Moving Average indicator. |
ProfitPlus |
Definieert de extra indent bij algemene winst. |
| Hoofdfunctie | |
Processing |
Hoofdfunctie, waarin alle berekeningen worden uitgevoerd. |
| Klassefuncties met de beschermde toegangspecificatie | |
RefreshRates |
Bijwerken van quotes voor het symbool. |
CheckVolumeValue |
Controleren of het ingevoerde positievolume correct is (de controle wordt gebruikt bij het definiëren van het positievolume handmatig). |
IsFillingTypeAllowed |
Controleren van de ordervulmodus. |
iMAGet |
Verkrijgen van de waarden van de Moving Average indicator op de bar met de index index. |
CalculateAllPositions |
Verkrijgen van informatie over posities per oproep:
|
Prices |
Verkrijgen van de referentieprijzen voor BUY en SELL posities, rekening houdend met de vooraf ingestelde Afstand van Moving Average. |
LotCheck |
Controleren en normaliseren van het positievolume (dit wordt gebruikt bij het handmatig definiëren van de positieomvang). |
OpenBuy |
Opening van een BUY positie. |
OpenSell |
Opening van een SELL positie. |
PrintResult |
Afdrukken van de resultaten van een handelsoperatie voor het openen van een positie. |
SetTakeProfit |
Instellen van het Take Profit-niveau voor posities of het verwijderen van alle Take Profit en Stop Loss niveaus (waarbij de delete_take_profit parameter gelijk is aan "true"). |
CompareDoubles |
Vergelijken van twee reële getallen op gelijkheid. |
AwerageTakeProfit |
Berekenen en instellen van het enkele Take Profit-niveau voor een positie van een bepaald type pos_type. |
GBPUSD, H1, "Elke tick gebaseerd op echte ticks."

Reactie 0