MetaTrader5
Proffessor v3: De Ultieme EA voor MetaTrader 5
De auteur van het idee: vitalyMQL5 code auteur: barabashkakvnDeze handelsstrategie is eenvoudig te begrijpen. Een BUY of SELL positie wordt geopend en beschermd door een uitstaande Stop order op een afstand van Delta 1. Vervolgens wordt er een grid opgebouwd met Limit of Stop uitstaande orders op een afstand van Delta 2 van elkaar. Het aantal uitstaande orders in elke richting wordt ingesteld in Max Lines. Deze uitstaande orders (Buy Limit, Sell Limit, Buy Stop en Sell Stop) worden geplaatst via een enkele PendingOrder functie, waarin het type uitstaande order (order_type), volume (volume), stop loss (sl) en take profit (tp) worden doorgegeven.//+------------------------------------------------------------------+
//| Uitstaande order |
//+------------------------------------------------------------------+
void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp)
{
sl=m_symbol.NormalizePrice(sl);
tp=m_symbol.NormalizePrice(tp);
if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0,
m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp)))
{
if(m_trade.ResultOrder()==0)
{
Print("#1 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(),
", beschrijving van resultaat: ",m_trade.ResultRetcodeDescription());
PrintResultTrade(m_trade,m_symbol);
}
else
{
Print("#2 ",EnumToString(order_type)," -> true. Result Retcode: ",m_trade.ResultRetcode(),
", beschrijving van resultaat: ",m_trade.ResultRetcodeDescription());
PrintResultTrade(m_trade,m_symbol);
}
}
else
{
Print("#3 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(),
", beschrijving van resultaat: ",m_trade.ResultRetcodeDescription());
PrintResultTrade(m_trade,m_symbol);
}
//---
}Wanneer het Profit Close doel bereikt is, sluit dan alle posities en verwijder alle uitstaande orders. Je kunt ook alle posities sluiten en uitstaande orders verwijderen als je meer dan Loss close verliest (als je Loss close op 0.0 instelt, wordt de parameter uitgeschakeld).De werking van de EA (openen van posities en instellen van beschermende uitstaande orders) vindt plaats binnen het werk tijdsinterval van Start uur tot Eind uur (Start uur kan minder zijn dan Eind uur of deze overstijgen).HoofdideeHet analyseren van de ADX-waarde op de Work TimeFrame tijdsperiode. Als de ADX onder de 40 is, wordt dit als flat beschouwd en worden Limit uitstaande orders geplaatst. Anders worden Stop uitstaande orders gebruikt;Als DI+ hoger is dan DI-, dan koop je, anders verkoop je.De beste optimalisatieresultaten van de twee parameters (Current bar ADX van 0 tot 2, stap 1 en Work TimeFrame van M1 tot H1)EURUSD, Current bar ADX 0, Work TimeFrame H1USDJPY, Current bar ADX 2, Work TimeFrame M1In het geval van EURUSD, Current bar ADX 0, Work TimeFrame H1, maar de Loss Close parameter is ingesteld op "0.0"en USDJPY, Current bar ADX 2, Work TimeFrame M1, maar de Loss Close parameter is ingesteld op "0.0"
2018.10.26