Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
- Publicado por:
- Vladimir Karputov
- Visualizaciones:
- 783
- Ranking:
- Publicado:
- 2018.11.06 11:16
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Autor de la idea: vitaly
Autor del código MQL5: barabashkakvn.
La estrategia comercial es muy simple. Se abre un aposición BUY o SELL y se protege en seguida con una orden pendiente Stop a la distancia Delta 1. Luego, se crea una cuadrícula desde las órdenes pendientes Limit o Stop a la distancia Delta 2 una de otra. El número de órdenes pendientes de cada dirección se establece en Max Lines.Las órdenes pendientes (Buy Limit, Sell Limit, Buy Stop y Sell Stop) se colocan a través de la función PendingOrder en la que se envía el tipo de la orden pendiente (order_type), volumen de la orden pendiente (volume), Stop Loss (sl) y Take Profit (tp)
//+------------------------------------------------------------------+ //| 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); } //--- }
Cuando se consigue el beneficio objetivo Profit Close, cerramos todas las posiciones y eliminamos todas las órdenes pendientes. También se puede cerrar todas las posiciones y eliminar las órdenes pendientes si la pérdida es más de Loss Close (si colocamos Loss Close en "0.0", el parámetro se desactiva).
El trabajo del EA (apertura de posiciones y colocación de órdenes pendientes) se realiza en el intervalo temporal de Start hour a End hour (además, Start hour puede superar o no superar End hour).
Idea principal
Analizamos el valor del indicador ADX en el timefame Work TimeFrame. Si el nivel de ADX está por debajo de 40, consideramos que se trata del flat, y se colocan las órdenes pendientes Limit; si está por encima, colocamos las órdenes pendientes Stop;
Si DI+ supera DI-, compramos; si no, vendemos.
Son los mejores resultados de la optimización de dos parámetros (Currenr bar ADX de 0 a 2, paso 1 y Work TimeFrame de M1 a H1)
EURUSD, Currenr bar ADX 0, Work TimeFrame H1
USDJPY, Currenr bar ADX 2, Work TimeFrame M1
Ahora EURUSD, Currenr bar ADX 0, Work TimeFrame H1, pero el parámetro Loss Close está colocado en "0.0"
y USDJPY, Currenr bar ADX 2, Work TimeFrame M1, pero el parámetro Loss Close está colocado en "0.0"
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/22084

Asesor Experto a base del indicador iMACD (). Expresión de los valores de MACD a través de Point().

Indicador Mogalef Bands

Indicador Modified Advance Decline line

Indicador Fractal bar