![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Gracias mladen aunque no es exactamente lo que busco...el doblezigzag no se repinta (ambos zigzag alineados) porque se basa en fractales ..esos puntos son los que me gustaría construir el triángulo..
He intentado modificar el código un poco para obtener las 2 señales superiores más recientes y las 2 señales inferiores más recientes, pero estoy un poco atascado:
esta parte es la que pinta la señal cuando ambos zigzag están alineados:
// Do both zigzag agree on the signal?
if(SlowSignal == FastSignal && SlowSignal != EMPTY_VALUE)
{
if(SlowSignal == OP_BUY)
{
ExtMapBuffer3 = fr_support - nShift*Point;
} else {
ExtMapBuffer3 = fr_resistance + nShift*Point;
}
[/CODE]
after this i want to get the most recent upper and the previously upper and most recent lower and the previously lower like this
[CODE]
HighOldest = ExtMapBuffer3[ArrayMaximum(ExtMapBuffer3,BarsBack,i+2)];
LowOldest = ExtMapBuffer3[ArrayMinimum(ExtMapBuffer3,BarsBack,i+2)];
así que en teoría debería tener la reciente de ExtMapBuffer3 y la más antigua de HighOldest
entonces tendré los 2 puntos para construir las líneas de tendencia..
pero por alguna razón debe haber un EMPTY_VALUE en algún lugar del buffer porque cuando hago ArrayMaximum devolverá el EMPY_VALUE como valor máximo en el array
Espero que esté claro...No importa, ya lo he resuelto.![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)
TFI Tienes un parámetro extra que no debería estar ahí: el "" después del nombre del indicador (después de "Efficiency_v1.1"). Elimine la parte "" (cadena vacía) después del nombre del indicador
Hola Mladen,
muchas gracias por tu sugerencia. Me pregunto si no habré captado la señal del filtro de forma incorrecta, ya que el EA no abre una operación a pesar de que la restricción para abrir una operación larga/corta se cumple (la línea cero se cruza). ¿Podría revisar mi código con su experiencia?
Muchas gracias (de nuevo) :-)
if(openedOrders<=0)
{
double trend_up = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,1);
double trend_down = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,2);
double trendf_up = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,1); // Signal Buffer 1
double trendf_down = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,2);
int clongs = 0;
int cshorts = 0;
for(i=OrdersTotal()-1;i>=0; i--)
{
if(OrderType()==OP_BUY) clongs++; // Check # of long trades.
if(OrderType()==OP_SELL) cshorts++; // Check # of short trades
}
if(trend_up!=trend_down)
{
if((clongs 0 && trendf_down<0)) OpenBuy(); // Indicator and filter = longif((cshorts < maxshorttrades && trend_down==-1) && (trendf_up0)) OpenSell(); // Indicator and filter = short
}
}
Saludos cordiales,
TFI
Hola a todos, estoy usando (manualmente) el indicador AbsoluteStrength.
Puede alguien por favor añadir Alarma, cuando la línea azul se cruza con la línea azul de guiones o la línea roja se cruza con la línea roja de guiones (como se muestra en la captura de pantalla adjunta).
allabsolutestrength_v2.3_600.mq4
Muchas gracias
Petr Jahoda
Hola Pro-Coders,
Me pregunto si el cálculo de mi filtro de fuerza de tendencia ADX puede ser correcto:
bool ADX_filter()
{
bool result=false;
double ADXfactor= 1;
double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);
double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);
double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);
if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy
if(ADXminus=20 && ADXmain<=40) result=false; // sell
return(result);
}
[/CODE]
It may be called like this:
[CODE]
if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();
Gracias.
Hola Pro-Coders,
Me pregunto si el cálculo de mi filtro de fuerza de tendencia ADX puede ser correcto:
bool ADX_filter()
{
bool result=false;
double ADXfactor= 1;
double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);
double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);
double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);
if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy
if(ADXminus=20 && ADXmain<=40) result=false; // sell
return(result);
}
[/CODE]
It may be called like this:
[CODE]
if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();
tfi_markets
En cuanto a la función, sí, se puede llamar así
tfi_markets En cuanto a la función, sí, se puede llamar así
Hola Mladen
gracias por tu comentario. Me gustaría mantener mi código principalmente simple y libre de errores, especialmente desde la depuración con MQL4 / MT4 puede ser un desafío.
Supongamos que me gustaría comerciar tendencias primarias más fuertes donde el ADX es más de 20, también puedo codificar esto un poco más simple como:
bool ADX_filter()
{
bool result=false;
if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>20) result = true; // buy
if (iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)<20) result = false; // sell
return (result);
}
if(clongs1 && ADX_filter()==true)) OpenBuy();
if(cshorts<maxshorttrades && trendc==-1 &&(CCIFilter<-1 && ADX_filter()==false)) OpenSell()
¿Correcto?
Gracias de antemano, y tener un buen fin de semana.
Hola.
Últimamente he estado usando la media móvil del casco y pensé que también debería probar la pendiente de HMA en una ventana de indicador, lo encontré pero no funciona correctamente en mi plataforma mt4.
hull_moving_average_2.01_amp_sr_lines_separate.mq4
Gracias
Hola.
Últimamente he estado usando la media móvil del casco y pensé que también debería probar la pendiente de HMA en una ventana de indicador, lo encontré pero no funciona correctamente en mi plataforma mt4.
hull_moving_average_2.01_amp_sr_lines_separate.mq4
Gracias¡parece que ya tienes la mitad del problema resuelto!
Hola.
Últimamente he estado usando la media móvil del casco y pensé que también debería probar la pendiente de HMA en una ventana de indicador, lo encontré pero no funciona correctamente en mi plataforma mt4.
hull_moving_average_2.01_amp_sr_lines_separate.mq4
GraciasNWFstudent
Cambia el 2do color de negro a algún otro color (y pon el 3er color al mismo color que el 2do) Ahora mismo no lo ves simplemente porque el fondo y el 2do color son el mismo - negro
NWFstudent Cambia el 2do color de negro a otro color (y pon el 3er color al mismo color que el 2do) Ahora mismo no lo ves simplemente porque el fondo y el 2do color son el mismo - negro
wow, ahora me siento como un idiota total![](https://c.mql5.com/forextsd/smiles/tongue.png)
Estaba buscando en la entrada un color azul para arriba y rojo para abajo, pero por supuesto tenías razón como siempre.
Lo siento por ser un retardado![](https://c.mql5.com/forextsd/smiles/tongue.png)