und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
Proffessor v3 - Experte für den MetaTrader 5
- Veröffentlicht:
- Vladimir Karputov
- Ansichten:
- 688
- Rating:
- Veröffentlicht:
- 2018.11.05 13:52
- Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Autor der Idee: vitaly
Autor des MQL5-Codes: barabashkakvn
Die Handelsstrategie ist einfach. Kauf- und Verkaufsposition werden eröffnet und durch eine Pending-Stop-Order in einem Abstand von Delta 1 geschützt. Anschließend wird ein Gitter aus Limit- oder Stop-Pending-Aufträgen in einem Abstand von Delta 2 voneinander erstellt. Die Anzahl der Pending-Order jeder Richtung wird in Max Lines eingestellt. Pending-Order (Buy Limit, Sell Limit, Buy Stop und Sell Stop) werden über eine einzige Funktion PendingOrder gesetzt, der der Typ der Pending Order (order_type), das Volumen (Volumen), Stop-Loss (sl) und Take-Profit (tp) übergeben werden.
//+------------------------------------------------------------------+ //| Pending 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(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } else { Print("#2 ",EnumToString(order_type)," -> true. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } } else { Print("#3 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } //--- }
Wenn das Gewinnziel Profit Close erreicht wird, werden alle Positionen geschlossen und alle Pending-Order entfernt. Sie können auch alle Positionen schließen und Pending-Order löschen, wenn Sie mehr als Loss close verlieren (wenn Sie Loss close auf 0.0 setzen, ist der Parameter deaktiviert).
Die EA-Operation (Öffnen von Positionen und Einstellen der schützenden Pending-Order) wird innerhalb des Arbeitszeitintervalls von Start hour bis End hour (Start hour darf kleiner oder größer sein als End hour) durchgeführt.
Hauptidee
Analyse des ADX-Wertes auf dem Zeitrahmen Work TimeFrame. Wenn der ADX unter 40 liegt, gilt dies als Seitwärtsbewegung, und es werden Limit-Pending-Orders erstellt. Andernfalls werden Stop-Pending-Orders verwendet;
Wenn DI+ höher als DI- ist, kaufen, andernfalls verkaufen.
Die besten Optimierungsergebnisse der beiden Parameter (Aktueller Balken ADX von 0 bis 2, Schritt 1 und Work TimeFrame von M1 bis H1).
EURUSD, Currenr bar ADX 0, Work TimeFrame H1
USDJPY, Currenr bar ADX 2, Work TimeFrame M1
Beim EURUSD, Current bar ADX 0, Work TimeFrame H1, aber der Parameter Loss Close ist auf "0.0" gesetzt.
und USDJPY, Current bar ADX 2, Work TimeFrame M1, aber der Parameter Loss Close ist auf "0.0" gesetzt
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/22084
Der Expert Advisor auf Basis des iMACD(). Darstellung der Werte des MACD in Point().
MogalefDer Indikator Mogalef Bands
Modified Advance Decline line indicator
Fractal_Bar_IndicatorFractal bar indicator