Doel van de EA
Deze Expert Advisor (EA) is ontworpen om te werken met elke Aangepaste indicator die koop- en verkooppijlen trekt, behalve indicatoren met stringparameters.
De naam van de Aangepaste indicator wordt gespecificeerd in de parameters van de EA, evenals de lijst van de indicatorparameters en de nummers van de buffers voor het tekenen van de koop- en verkooppijlen.

Ondanks het gebruik van een stringlijst met parameters, is het mogelijk om tot vijf parameters van de indicator te optimaliseren. In plaats van de variabelen van de iCustomParam stringlijst, kan de waarde van een van de variabelen Opt_1_Value - Opt_5_Value worden gebruikt.

Parameters van de Expert Advisor
- TimeFrame - werk tijdsframe van de EA: 0 - tijdsframe van de grafiek waarop de EA draait, of welke is geselecteerd in de tester. Of een specifieke waarde 1,5,15,30,60,240,1440...
- iCustomName - naam van de Aangepaste indicator.
- iCustomParam - de lijst van parameters gescheiden door "/". Voor booleaanse variabelen gebruik je 1 in plaats van true, 0 in plaats van false. Als de indicatorparameters stringvariabelen bevatten, werkt de EA niet!
- iBuyBufIndex - index van de buffer met de kooppijlen.
- iSellBufIndex - index van de buffer met de verkooppijlen.
- iShift - offset van de indicator. 1 - werkt op de gevormde bars, 0 - op de vormende bar (niet aangeraden). Er kan ook een waarde 2,3,4... worden ingevoerd.
- Opt_1_Use - gebruik de variabele 1 om te optimaliseren. Wanneer de te optimaliseren variabele is geactiveerd, wordt in plaats van de waarde uit de iCustomParam string, de waarde van de Opt_X_Value variabele gebruikt.
- Opt_1_Index - index van de te optimaliseren variabele 2 in de parameterarray (in de iCustomParam string). De nummering begint bij nul.
- Opt_1_Value - de waarde van de variabele 1 om te optimaliseren.
- Opt_2_Use - gebruik de variabele 2 om te optimaliseren.
- Opt_2_Index - index van de te optimaliseren variabele 2 in de parameterarray (in de iCustomParam string). De nummering begint bij nul.
- Opt_2_Value - de waarde van de variabele 2 om te optimaliseren.
- Opt_3_Use - gebruik de variabele 3 om te optimaliseren.
- Opt_3_Index - index van de te optimaliseren variabele 3 in de parameterarray (in de iCustomParam string). De nummering begint bij nul.
- Opt_3_Value - de waarde van de variabele 3 om te optimaliseren.
- Opt_4_Use - gebruik de variabele 4 om te optimaliseren.
- Opt_4_Index - index van de te optimaliseren variabele 4 in de parameterarray (in de iCustomParam string). De nummering begint bij nul.
- Opt_4_Value - de waarde van de variabele 4 om te optimaliseren.
- Opt_5_Use - gebruik de variabele 5 om te optimaliseren.
- Opt_5_Index - index van de te optimaliseren variabele 5 in de parameterarray (in de iCustomParam string). De nummering begint bij nul.
- Opt_5_Value - de waarde van de variabele 5 om te optimaliseren.
- MMMethod - MM methode: 0-Lots, 1-deel (Risico) van de vrije marge, 2-deel (Risico) van de vrije marge genormaliseerd door de MeansStep (bijvoorbeeld, Risico=0.1, MeansStep=1000, als de marge minder is dan 2000, is de lotgrootte gelijk aan 0.1, als de marge groter is dan 2000 of meer - 0.2 lot, 3000 of meer - 0.3 lot, enzovoort).
- Lots - het aantal lots bij MMMethod=0.
- Risk - risico. De waarde is gebaseerd op de fondsen bij FixedLot=false.
- MeansType - type fondsen gebruikt in de lotberekening. 1 - Balans, 2 - Eigen vermogen, 3 - Vrije marge.
- MeansStep - stap van de fondsen. Gebruikt bij MMMethod=2.
- LotsDigits - het aantal decimalen in de lotwaarde.
- Slippage - toegestane afwijking van de aangevraagde prijs.
- StopLoss - stop verlies.
- TakeProfit - neem winst.
- Magic_N - magic nummer.
- MaxOrdersCount - maximaal totaal aantal geopende orders. -1 - niet beperkt.
- MaxBuyCount - maximaal aantal geopende kooporders. -1 - niet beperkt.
- MaxSellCount - maximaal aantal geopende verkooporders. -1 - niet beperkt.
- SleepBars - timeout na het openen van een order als een aantal bars van het werk tijdsframe.
- CancelSleeping - activering van de timeout annulering bij het openen van een order in de tegenovergestelde richting.
- CloseOnRev - sluit orders in de tegenovergestelde richting voordat je opent.
- TrailingStop_Use - activering van de trailing stop functie.
- TrailingStopStart - winst van de order om de trailing stop te activeren.
- TrailingStop - het niveau van de trailing stop.
- BreakEven_Use - activering van de breakeven functie.
- BreakEvenStart - orderwinst om de breakeven te activeren.
- BreakEvenLevel - het niveau om de stop loss te plaatsen vanaf de breakeven activeringsprijs.
Opmerking
De archief met de expert bevat het bestand test_example.set met een voorbeeld van instellingen voor het gebruik van de ind_Test indicator (kruising van twee MA's) en de variabelen die geoptimaliseerd moeten worden. De ind_Test indicator is bijgevoegd.
Versie 2
1. De mogelijkheid toegevoegd om verschillende indicatoren te gebruiken voor openings- en sluitingssignalen. De parameters voor de openingsindicator beginnen met het voorvoegsel _O_, voor de sluitingsindicator - met het voorvoegsel _C_.
Er zijn drie mogelijke modi voor het gebruik van de openings- en sluitingsindicatoren (gedefinieerd door de _OC_Mode variabele):
- Modus 1 - de indicator wordt niet gebruikt voor sluiting. Sluiten is alleen mogelijk door stopverlies en neem winst.
- Modus 2 - de sluitingsindicator wordt niet gebruikt. Naast sluiten door stopverlies en neem winst, wordt het sluiten van tegenovergestelde orders uitgevoerd door openingssignalen. Stopverlies en neem winst kunnen worden uitgeschakeld - stel de waarde 0 in voor de variabelen StopLoss en/of TakeProfit (geldt voor alle modi).
- Modus 3 - aparte sluitingssignalen op basis van de sluitingsindicator (_C_) worden gebruikt. In deze modus is het mogelijk om een extra modus te gebruiken voor het kopiëren van de parameters van de openingsindicator naar de parameters van de sluitingsindicator (de C_UseOpenParam variabele), tegelijkertijd worden de indicatornaam en zijn parameters gekopieerd. Deze modus is gemaakt voor de indicatoren die openings- en sluitingssignalen genereren om de snelheid van optimalisatie te verhogen (de geoptimaliseerde parameters worden ook gekopieerd).
2. Het is mogelijk om niet alleen de indicatoren met pijlen te gebruiken, maar ook indicatoren met lijnen. Het is mogelijk om twee lijnen te gebruiken (kruising van de hoofd- en signaallijnen) en een lijn - de kruising met de niveaus. Gebruik de _O_Mode variabele (en _C_Mode in het sluitingsblok) om het type indicator te selecteren.
- Modus 1 - de indicator tekent pijlen. De _O_M1_iBuyBufIndex en _O_M1_iSellBufIndex variabelen worden gebruikt voor het specificeren van de buffernummers, en in het sluitingsblok - _C_M1_iCloseBuyBufIndex en _C_M1_iCloseSellBufIndex.
- Modus 2 - de hoofd- en signaallijn van de indicator worden gebruikt. Als de hoofd lijn de signaallijn van onder kruist - signaal voor het openen van een Koop of het sluiten van een Verkoop. De _O_M2_iMainBufIndex, _O_M2_iSignalBufIndex en _C_M2_iMainBufIndex, _C_M2_iSignalBufIndex variabelen worden gebruikt voor het specificeren van de buffers.
- Modus 3 - er wordt één indicatorlijn gebruikt. Het buffernummer wordt gespecificeerd in de _O_M3_iBufIndex variabele (of _C_M3_iBufIndex in het sluitingsblok). De _O_M3_BuyLevel en _O_M3_SellLevel (_O_M3_CloseBuyLevel en _C_M3_CloseSellLevel in het sluitingsblok) worden gebruikt voor het specificeren van de niveauw waarde. Kruising van het Koopniveau van onderen - koop, kruising van het Verkoopniveau van boven - verkoop.
Versie 3
Nog een _O_Mode modus (en _S_Mode) toegevoegd
Modus 4 - Extremum door drie punten. Gebruikt één indicatorlijn. Het buffernummer wordt gespecificeerd in de _O_M4_iBufIndex (of _C_M4_iBufIndex in het sluitingsblok) variabele.

Versie 4
1. Werken met pending orders toegevoegd.
2. Sectiescheiders in het eigenschappenvenster toegevoegd (van stringvariabelen).
Selectie van het type order wordt uitgevoerd door de OrdType variabele: 0 - markt, 1 - stop, 2 - limiet (de variabele is in de "Order" sectie).
De sectie "Pending orders" voor het beheren van de werking van de pending order:
- PendLevel - het niveau van de huidige marktprijs om de pending order te plaatsen.
- PendPromPrice - de prijs om de pending order te plaatsen wordt berekend vanaf de prijs van de nulbar, bij de waarde PendPromPrice=0 - vanaf de sluitprijs (komt overeen met de huidige marktprijs), 1 - vanaf de openingsprijs van de bar.
- PendNewSigMode - de methode voor het controleren van de pending order op een nieuw handels signaal: 0 - als er al een order is geplaatst, dan worden er geen acties ondernomen wanneer er een nieuw handels signaal verschijnt, 1 - vervang de order bij een nieuw signaal, 2 - bij een nieuw signaal wordt de order alleen vervangen naar een "beter niveau" - koop-stop alleen omlaag, koop-limiet alleen omhoog, verkoop-stop alleen omhoog, verkoop-limiet alleen omlaag.
- PendPriceFollow - prijsvolgmodus. De order wordt gewijzigd bij elke wijziging van een bepaalde variabele PendPromPrice, de order wordt alleen vervangen naar een "betere prijs" (zie de beschrijving van de PendNewSigMode variabele).
- PendDelete - verwijder de pending order bij een tegenovergestelde handels signaal. Bij de waarde false is het mogelijk dat twee pending orders in verschillende richtingen tegelijkertijd bestaan.
- PendExpiration - vervaltijd van de order in minuten (de minimale waarde is 11 minuten).
Gerelateerde berichten
- MQL5 Wizard: Handelsignalen Geïnspireerd Door Morning/Evening Stars + MFI voor MetaTrader 5
- MQL5 Wizard: Handelsignalen Geïnspireerd door Morning/Evening Stars en RSI voor MetaTrader 5
- Handelssignalen met MQL5 Wizard: EMA Crossover Strategie met Tijdfilter
- Visuele Orderverwerking: De Expert voor MetaTrader 4
- Handelen met MQL5 Wizard: Signalen op Basis van Prijsoverschrijding met MA en ADX