Heb je ooit nagedacht over het gebruik van een Expert Advisor (EA) voor jouw trading? Ik heb dat gedaan, en ik wil mijn ervaring delen over de eenvoudigste EA die ik ooit heb gehad. Neem even de tijd om het te lezen en laat me weten wat je ervan vindt!
Deze EA is specifiek ontworpen voor één valutapaar. In de instellingen kun je eenvoudig de tijdsinstelling, lotgrootte, stop loss en take profit aanpassen.

extern ENUM_TIMEFRAMES TF = PERIOD_CURRENT;// Selecteer tijdsframe extern int period = 8;// Periode DeMarker extern double lt = 0.01;// Lots extern int sl = 100;// Stop Loss extern int tp = 100;// Take Profit extern double OB = 0.7;// Over Verkocht extern double OS = 0.3;// Over Gekocht extern bool OPENBAR = false;// Handel op nieuwe bar open prijs
Het geheim? Ik heb de variabelen verdeeld in drie delen:
1. gegevens | tijdsframe
2. order
3. paar
//+------------------------------------------------------------------+ //-- tijdsframe|indicator double dmrk[5]; int signal = -1;//-- 0.koop 1.verkoop int hold = 0; //-- order int ticket = 0; double lot = 0.0; int typ = -1; //-- paar datetime t1 = 0; bool newbar = false; bool entry = false; //+------------------------------------------------------------------+
In de functie OnInit() initialiseert de EA de DeMarker-indicator en controleert het de minimale lotgrootte op basis van de vereisten van de specifieke broker.
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnInit() { ArrayInitialize(dmrk,0.0); //--- const double test_lot = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN); if(lt < test_lot) lt = test_lot; }
In de OnTick() functie berekent de EA de indicator en bepaalt het koop- en verkoopsignalen.
//--------------------------------------------------------------------------- signal = -1; //--------------------------------------------------------------------------- //---berekening for(int i = 0; i < ArraySize(dmrk); i++) { dmrk[i] = iDeMarker(Symbol(), TF, period, i); } //--- if(dmrk[1] > OB) { hold = 1;//instellen } else if(dmrk[1] < OS) { hold = -1;//instellen } else { hold = 0;//resetten } if(hold == 1) { if(dmrk[0] < OB && dmrk[1] > OB) { signal = OP_SELL; } } if(hold == -1) { if(dmrk[0] > OS && dmrk[1] < OS) { signal = OP_BUY; } }
Om een koop- of verkoopsignaal te openen...
//--------------------------------------------------------------------------- if(signal != -1) if(newbar == true) if(entry == false)//deur open { //--- entry = true;//instellen //--- if(signal == OP_BUY) { ticket = OrderSend(Symbol(), OP_BUY, lt, Ask, (int)((Ask - Bid) / Point), sl > 0?Bid - sl * Point:0.0, tp > 0?Bid + tp * Point:0.0, EAName + ":signal= " + IntegerToString(signal) + ":hold= " + IntegerToString(hold), EANumber, 0, clrBlue); signal = -1; //hold = 0; }//reset }//reset signal }
En voor het sluiten van de posities...
if(entry == true) // sluiten { if(OrderSelect(ticket, SELECT_BY_TICKET)) { if(OrderCloseTime() == 0)//-- order actieve trade { /* todo voorwaarde om te sluiten */ //entry = false; } //else if(OrderCloseTime() != 0)//-- sluiten door 1. handmatig 2. sl/tp 3. ea { entry = false;//reset entry } } }


Gerelateerde berichten
- MQL5 Wizard: Creëer Handelsstrategieën met Bullish en Bearish Engulfing Candlestick Patronen en Stochastic
- 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
- Efficiënt Trendvolgend Handelsysteem met Exp_X2MA_JFatl voor MetaTrader 5
- Close Cross MA: Efficiënt Orders Sluiten met MetaTrader 4