¡Pide! - página 8

 

hola coders,

es posible crear el EA para Triggerlines como veo en la historia, hizo un gran trabajo, pero es un poco difícil de cuidar de él todo el tiempo.

usualmente lo combino con el trend manager, asi que cuando el triggerlines cruza hacia arriba y cambia el color a azul y TM tiene señal de compra azul, si pueden crear un ea que pueda combinar ambos indicadores, seria de mucha ayuda .thx a lot

 

cruz de ema

Hola codersguru,

He estado tratando de conseguir un poco de ayuda con un EA similar a la suya porque no soy un programador de ninguna manera. Yo, sin embargo, no puede tambor cualquier interés así que pensé, ya que el suyo es tan cerca tal vez se puede ajustar para lo que estoy tratando de hacer. A continuación una explicación sencilla de las 3 variables:

Si la EMA 9 cruza por encima de la EMA 30 y el Momentum(21) cruza 100 se genera una señal de compra. Una salida de compra se generaría cuando la EMA 9 cruza por debajo de la EMA 30 sin importar lo que la línea de impulso esté haciendo.

Si la EMA 9 cruza por debajo de la EMA 30 y el Momentum(21) cruza por debajo de 100, se crea una señal de venta. Una salida de venta se generaría cuando la EMA 9 cruza por encima de la EMA 30 sin importar lo que la línea de impulso esté haciendo.

¿Qué piensa usted? ¿Es algo que se puede ajustar o es incluso un EA factible? ¡Cualquier ayuda será apreciada!

BW

 

IndicadorContado

Hola Codegru,

Primero quiero agradecerte por hacer un trabajo tan notable, por las lecciones de MT4. Hace una semana MT4 era como muy difícil, pero ahora empiezo a inclinarse.

Estoy tratando de convertir un indicador en EA. El indicador está usando "int counted_bars = IndicatorCounted()", para contar las barras, en el EA creo que no puedo usar esto ya que está relacionado con el indicador.

¿Cómo puedo solucionar este problema?

Muchas gracias....

 

Sistema ADX

Hola Gurú del Codificador,

Acabo de leer la guía MQL4 este fin de semana pasado y diseñé mi primer EA.

Por cierto, muchas gracias por tu guía. No pude encontrar nada en la red que hiciera que el aprendizaje del lenguaje fuera tan fácil. Usted realmente construyó en cada lección en el gradiente correcto.

De todos modos, aquí está mi primer EA: No sé si es un sistema rentable o no, pero los resultados de mi EA back-testing no coinciden con algunos back-testing manuales que hice. Sé que hay dos filtros que no fui capaz de programar, pero llegaré a eso después de explicar todo. (Adjunto un archivo de texto con el código).

Esta es la base de mi sistema:

Configuración inicial:

Periodo de tiempo de 15m.

Si está entre 200 y 1400 EST.

Si el ADX es mayor que 20.

Si el rango de la última barra [1] es menor que el rango de la barra anterior [2]. (Dentro del período).

Si el rango [1] de la última barra es inferior a 7 pips.

Configuración condicional A:

Si la EMA de 20 periodos es alcista.

Si la oferta es mayor que el máximo de la última barra [1] (asumo que los gráficos muestran sólo la oferta... ¿es así?)

Comprar al precio de compra con stop loss a un tick por debajo del mínimo del último periodo.

Configuración condicional B:

Si la EMA de 20 periodos es bajista.

Si el Bid es menor que el mínimo de la última barra [1].

Vender como Bid con stop loss un tick por encima del high+ask de la última barra.

Quiero establecer la toma de beneficios a una determinada tasa de Riesgo:Recompensa. En mis pruebas de fondo encontré que cuando la barra del periodo interior es menor a 5, una relación de recompensa de 3:1 es buena. (una orden limitada de 30 pips (5(rango) + 3(spread) + 2(SL y entrada))*3=30).... Aunque creo que no lo he programado correctamente en mi código.

Primera pregunta:

¿Estoy utilizando el código correcto para iniciar las operaciones? ¿He utilizado correctamente los máximos, los mínimos, etc.?

Segunda pregunta:

Mi filtro de tiempo no parece funcionar. ¿Estoy haciendo esto correctamente?

Tercera pregunta:

Sólo quiero que las operaciones se inicien UN PIP por encima del High+ask de la última barra. Creo que mi código actual iniciará las operaciones si los precios están por encima de este precio. ¿Cómo puedo arreglar esto?

cuarta pregunta:

Creo que este es el mayor error en mi código: No tengo un filtro para cuando la 20-EMA se invierte pero el ADX está todavía por encima de 20. TAMBIÉN me gustaría ver cómo funciona este sistema si la 20-EMA se invierte, el ADX baja (pero no por debajo de 20) y luego vuelve a subir, así que TAL VEZ podríamos filtrar las operaciones cuando el ADX tiene una tendencia a la baja, pero de nuevo esto podría filtrar muchas operaciones rentables). Si pudiera conseguir algo de ayuda en la codificación, estaría bien experimentar con estos diferentes factores.

Desde mi manual de back-testing creo que puedo tener un sistema rentable aquí, por lo que cualquier ayuda sería apreciada.

¡Gracias de antemano!

Jason

Archivos adjuntos:
ipadxema.txt  5 kb
 

Ayuda en la programación

Hola codersguru,

Necesito ayuda en la creación de EA. Puede ayudar, si es así ¿cuáles son sus honorarios?

 

Hola Codersguru,

sería estupendo que encontraras algo de tiempo para echar un vistazo a mi problema:https://www.mql5.com/en/forum/general

Saludos cordiales

Peter

 

Pregunta de novato

Me pueden ayudar, acabo de empezar

¿Puedo saber cómo cambiar los colores por defecto de las velas heiken ashi?

Puedo cambiar los colores en el gráfico pero vuelven a ser los predeterminados de rojo y blanco si cambio los tiempos o las divisas.

gracias

Gordon

 
gordon:
Puede usted ayudar, acaba de empezar

¿Pueden decirme cómo cambiar los colores por defecto de las velas heiken ashi?

Puedo cambiar los colores en el gráfico pero vuelven a ser los predeterminados de rojo y blanco si cambio los tiempos o las divisas.

Gracias

Gordon

Hola Gordon, ¿podría publicar el archivo MQ4 aquí, entonces podríamos juntos ayudarle. Espero que esto ayude

 

gracias Dave,

#property indicator_chart_window

#property indicator_buffers 4

#property indicador_color1 Rojo

#property indicator_color2 Blanco

#propiedad indicador_color3 Rojo

#propiedad indicador_color4 Blanco

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

//----

int ExtCountedBars=0;

//+------------------------------------------------------------------+

//| Función de inicialización de los indicadores personalizados

//|------------------------------------------------------------------|

int init()

{

//---- indicadores

SetIndexStyle(0,DRAW_HISTOGRAM, 0, 1, Red);

SetIndexBuffer(0, ExtMapBuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM, 0, 1, Blanco);

SetIndexBuffer(1, ExtMapBuffer2);

SetIndexStyle(2,DRAW_HISTOGRAM, 0, 3, Rojo);

SetIndexBuffer(2, ExtMapBuffer3);

SetIndexStyle(3,DRAW_HISTOGRAM, 0, 3, Blanco);

SetIndexBuffer(3, ExtMapBuffer4);

//----

SetIndexDrawBegin(0,10);

SetIndexDrawBegin(1,10);

SetIndexDrawBegin(2,10);

SetIndexDrawBegin(3,10);

//---- mapeo de buffers de indicadores

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexBuffer(3,ExtMapBuffer4);

//---- inicialización realizada

return(0);

}

//+------------------------------------------------------------------+

//| Función de desinicialización del indicador personalizada ||

//+------------------------------------------------------------------+

int deinit()

{

//---- TODO: añada su código aquí

//----

return(0);

}

//+------------------------------------------------------------------+

//| Función de iteración del indicador personalizada ||

//+------------------------------------------------------------------+

int inicio()

{

double haOpen, haHigh, haLow, haClose;

if(Bars<=10) return(0);

ExtCountedBars=IndicatorCounted();

//---- comprobar posibles errores

if (ExtCountedBars<0) return(-1);

//---- se vuelve a contar la última barra contada

if (ExtCountedBars>0) ExtCountedBars--;

int pos=Barras-ExtCountedBars-1;

while(pos>=0)

{

haOpen=(ExtMapBuffer3[pos+1]+ExtMapBuffer4[pos+1])/2;

haClose=(Open[pos]+High[pos]+Low[pos]+Close[pos])/4;

haHigh=MathMax(High[pos], MathMax(haOpen, haClose));

haLow=MathMin(Low[pos], MathMin(haOpen, haClose));

si (haOpen<haClose)

{

ExtMapBuffer1[pos]=haLow;

ExtMapBuffer2[pos]=haHigh;

}

else

{

ExtMapBuffer1[pos]=haHigh;

ExtMapBuffer2[pos]=haLow;

}

ExtMapBuffer3[pos]=haOpen;

ExtMapBuffer4[pos]=haCerrar;

pos--;

}

//----

return(0);

}

//+---------------------------

 

Hola Gordon, como puedes ver en el código que acabas de publicar, si quieres cambiar el color de forma permanente, sólo tienes que cambiar TODA la palabra BLANCA y ROJA por el color que quieras, y luego compilar el indicador personalizado. Por favor, hágame saber si esto podría resolver su problema. Espero que esto ayude