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
Exp_ColorZerolagMomentum_X2 - Asesor Experto para MetaTrader 5
- Visualizaciones:
- 747
- Ranking:
- Publicado:
- 2017.01.20 12:46
- ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
- Las señales de las tendencias lenta y rápida coinciden;
- Ha cambiado la dirección de la tendencia rápida.
Parámetros de entrada del experto:
//| Parámetros de entrada del indicador del experto |
//+-------------------------------------------------+
input string Trade="Control del comercio"; //+============== CONTROL DEL COMERCIO ==============+
input double MM=0.1; //Parte de los recursos financieros del depósito en la operación
input MarginMode MMMode=LOT; //modo de definición del tamaño del lote
input uint StopLoss_=1000; //stop-loss en puntos
input uint TakeProfit_=2000; //take-profit en puntos
input string MustTrade="Permiso para comerciar"; //+============== PERMISO PARA COMERCIAR ==============+
input int Deviation_=10; //desviación máxima del precio en puntos
input bool BuyPosOpen=true; //Permiso para entrar en posición larga
input bool SellPosOpen=true; //Permiso para entrar en posición corta
//+-------------------------------------------------+
//| Parámetros de entrada del indicador del filtro |
//+-------------------------------------------------+
input string Filter="PARÁMETROS DE LA TENDENCIA LENTA"; //+============== PARÁMETROS DE LA TENDENCIA ==============+
input ENUM_TIMEFRAMES TimeFrame=PERIOD_H6; //1 Periodo del gráfico para la tendencia
input uint smoothing=15;
input ENUM_APPLIED_PRICE IPC=PRICE_CLOSE;//Constante de precio
//----
input double Factor1=0.05;
input uint Momentum_period1=8;
//----
input double Factor2=0.10;
input uint Momentum_period2=21;
//----
input double Factor3=0.16;
input uint Momentum_period3=34;
//----
input double Factor4=0.26;
input int Momentum_period4=55;
//----
input double Factor5=0.43;
input uint Momentum_period5=89;
input uint SignalBar=1; //número de la barra para obtener la señal de entrada
input bool BuyPosClose=true; //Permiso para salir de las posiciones largas según la tendencia
input bool SellPosClose=true; //Permiso para salir de las posiciones cortas según la tendencia
//+-------------------------------------------------+
//| Parámetros de entrada del indicador de entrada |
//+-------------------------------------------------+
input string Input="PARÁMETROS DE ENTRADA"; //+=============== PARÁMETROS DE ENTRADA ===============+
input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30; //2 Periodo del gráfico para la entrada
input uint smoothing_=15;
input ENUM_APPLIED_PRICE IPC_=PRICE_CLOSE;//Constante de precio
//----
input double Factor1_=0.05;
input uint Momentum_period1_=8;
//----
input double Factor2_=0.10;
input uint Momentum_period2_=21;
//----
input double Factor3_=0.16;
input uint Momentum_period3_=34;
//----
input double Factor4_=0.26;
input int Momentum_period4_=55;
//----
input double Factor5_=0.43;
input uint Momentum_period5_=89;
input uint SignalBar_=1;//número de la barra para obtener la señal de entrada
input bool BuyPosClose_=false; //Permiso para salir de las posiciones largas según la señal
input bool SellPosClose_=false; //Permiso para salir de las posiciones cortas según la señal
//+-------------------------------------------------+
Las variables de flecha con texto en el código de los parámetros de entrada sirven solo para representar visualmente de forma más clara la ventana de los parámetros de entrada del experto.
Los indicadores ColorZerolagMomentum_HTF en el experto sirven solo para visualizar de forma más cómoda las tendencias en el simulador de estrategias, y no funcionan en los otros modos de trabajo.
Para que el asesor funcione correctamente, es imprescindible que los archivos compilados de los indicadores ColorZerolagMomentum.ex5 y ColorZerolagMomentum_HTF.ex5 estén en la carpeta catálogo_de_datos_del_terminal\MQL5\Indicators.
Después de la compilación, el archivo del experto Exp_ColorZerolagMomentum.ex5 contendrá los indicadores ColorZerolagMomentum.ex5 y ColorZerolagMomentum_HTF.ex5 dentro de sí como recursos, ¡por eso, en lo sucesivo no hay necesidad de que estén en la carpeta del terminal para que el experto funcione! Para ello, se ha añadido al código del experto el código correspondiente para incluir estos indicadores en un archivo ejecutable del experto.
A nivel global se han añadido como recursos los archivos ejecutables de los indicadores
#resource "\\Indicators\\ColorZerolagMomentum.ex5"
#resource "\\Indicators\\ColorZerolagMomentum_HTF.ex5"
En el bloque de la función OnInit() se han modificado las rutas de línea a los indicadores usados como recurso
InpInd_Handle=iCustom(Symbol(),TimeFrame,"::Indicators\\ColorZerolagMomentum",
smoothing,IPC,Factor1,Momentum_period1,Factor2,Momentum_period2,Factor3,Momentum_period3,Factor4,Momentum_period4,Factor5,Momentum_period5);
if(InpInd_Handle==INVALID_HANDLE)
{
Print(" No se ha logrado obtener el manejador del indicador ColorZerolagMomentum");
return(INIT_FAILED);
}
//---- obteniendo el manejador del indicador ColorZerolagMomentum _
InpInd_Handle_=iCustom(Symbol(),TimeFrame_,"::Indicators\\ColorZerolagMomentum",
smoothing_,IPC_,Factor1_,Momentum_period1_,Factor2_,Momentum_period2_,Factor3_,Momentum_period3_,Factor4_,Momentum_period4_,Factor5_,Momentum_period5_);
if(InpInd_Handle_==INVALID_HANDLE)
{
Print(" No se ha logrado obtener el manejador del indicador ColorZerolagMomentum _");
return(INIT_FAILED);
}
if(MQLInfoInteger(MQL_VISUAL_MODE))
{
//---- obteniendo el manejador del indicador ColorZerolagMomentum_HTF
int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\ColorZerolagMomentum_HTF",TimeFrame,
smoothing,IPC,Factor1,Momentum_period1,Factor2,Momentum_period2,Factor3,Momentum_period3,Factor4,Momentum_period4,Factor5,Momentum_period5);
if(Ind_Handle==INVALID_HANDLE)
{
Print(" No se ha logrado obtener el manejador del indicador ColorZerolagMomentum_HTF");
return(INIT_FAILED);
}
//---- obteniendo el manejador del indicador ColorZerolagMomentum_HTF
Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\ColorZerolagMomentum_HTF",TimeFrame_,
smoothing_,IPC_,Factor1_,Momentum_period1_,Factor2_,Momentum_period2_,Factor3_,Momentum_period3_,Factor4_,Momentum_period4_,Factor5_,Momentum_period5_);
if(Ind_Handle==INVALID_HANDLE)
{
Print(" No se ha logrado obtener el manejador del indicador ColorZerolagMomentum_HTF _");
return(INIT_FAILED);
}
}
De esta forma, el archivo ejecutable compilado del experto se puede usar en otros terminales comerciales sin indicadores, de forma independiente.
Hay que tener en cuenta que el archivo de la biblioteca TradeAlgorithms.mqh está pensado para usar expertos con brókers que propongan un spread distinto de cero y la posibilidad de establecer Stop Loss y Take Profit simultáneamente en la apertura de posición. Se pueden descargar otras variantes de esta biblioteca a través del enlace Trade Algorithms.
Con las simulaciones que se exponen más abajo se usaron los parámetros por defecto del experto. En las simulaciones no se usaron Stop Loss o Take Profit.
Fig. 1. Ejemplos de operaciones en el gráfico
Resultados de la simulación en 2015 con GBPJPY, tendencia lenta en H6, entrada con tendencia rápida en M30:
Fig. 2. Gráfico de resultados de simulación
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/16981
Indicador fractal de DeMark.
Fractal_Keltner_HTFIndicador Fractal_Keltner con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.
El indicador muestra el balance y la equidad de la cuenta comercial.
StochComercio a través de órdenes pendientes Sell Limit y Buy Limit. Eliminar todas las órdenes y cerrar las posiciones a las 23:59.