EA FILTRO

Espacio para compartir y debatir sobre Asesores Expertos de MetaTrader

EA FILTRO

Notapor lordv » 03 Dic 2016, 01:59

Buenas tardes, soy nuevo en esto de los foros de Fórex, hace dos años que comencé con el mercado de divisas y hace poco con la programación de EA para mql4, tengo un EA (no es de mi autoría, desconozco quién es el creador y todo el derecho es de esa persona/s) que abre operaciones simplemente con el cambio de color de la Hull Moving Average, me ha resultado bien, pero como soy muy nuevo en programación quisiera pedirles su ayuda para poder ponerle un filtro con otra HMA, ya que no he podido realizarlo correctamente, sin mucho más me gustaría que puedan ayudarme. Adjunto la EA y el indicador que necesita para que funcione. Muchas gracias a todos por la atención.
Adjuntos
HMA Trend EA.mq4
(15.87 KiB) 92 veces
HMA Trend EA.ex4
(33.81 KiB) 31 veces
HMA.mq4
(3.5 KiB) 27 veces
lordv
 
Mensajes: 2
Registrado: 03 Dic 2016, 01:35
Karma: 0

Re: EA FILTRO

Notapor FXWizard » 05 Dic 2016, 20:46

Hola Lordv, lo muevo aquí, más apropiado.

¿Puedes concretar más en detalle en qué consistiría el filtro?

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 7911
Registrado: 12 Feb 2008, 15:17
Karma: 32

Re: EA FILTRO

Notapor lordv » 06 Dic 2016, 01:33

Te agradezco FxWizard. El filtro no es más que una HMA más lenta, que indique hacia que dirección se debe abrir las operaciones. Por ejemplo, si una la HMA de 50, es de color verde, solo se entra en las señales alcistas de una HMA más rápida de 10 periodos por ejemplo. La HMA indica la tendencia principal.
lordv
 
Mensajes: 2
Registrado: 03 Dic 2016, 01:35
Karma: 0

Re: EA FILTRO

Notapor FXWizard » 06 Dic 2016, 12:34

Yo lo haría de esta forma: en la línea 100, que es donde se definen las condiciones del cruce, añadiría dos más:

Código: Seleccionar todo
double hmalarga0 = iCustom(Symbol(), Period(), "HMA", 50, HMA_Mode, 0, 2, 0)
double hmalarga1 = iCustom(Symbol(), Period(), "HMA", 50, HMA_Mode, 0, 2, 1)


Debajo, antes de las condiciones de isBuy, is Sell, etc. pondría estas dos:

Código: Seleccionar todo
FiltroLargo = (hmalarga0 > hmalarga1);
FiltroCorto = (hmalarga0 < hmalarga1);


Y finalmente en las condiciones de compra y venta añadiría los filtros tal que:

Código: Seleccionar todo
if (isBuy && !isSell && !(lastType == 1 && lastDay == Today()))


Pasa a ser:

Código: Seleccionar todo
if (isBuy && !isSell && !(lastType == 1 && lastDay == Today())&&FiltroLargo)


Y en el caso de las condiciones de venta:

Código: Seleccionar todo
else if(isSell && !isBuy && !(lastType == 2 && lastDay == Today()))


Pasaría a ser:

Código: Seleccionar todo
else if(isSell && !isBuy && !(lastType == 2 && lastDay == Today())&&FiltroCorto)


Espero que se entienda más o menos.

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 7911
Registrado: 12 Feb 2008, 15:17
Karma: 32


Volver a Expert Advisors

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado