Universal MA Cross EA

 

Intento hacer un EA para cualquier estrategia de Moving Average Cross, intento hacerlo universal. Así que por favor, hágamelo saber si usted tiene alguna sugerencia para agregar a este EA.

Configuración común :

-----------------

StopLoss (por defecto 100)

Establezca su Stop Loss. Use 0 (cero) si no le gusta usar el Stop Loss ( no se recomienda ).

TakeProfit (por defecto 200)

Establezca su Take Profit. Utilice 0 (cero) si le gusta utilizar el objetivo abierto.

Ajuste del Trailing Stop :

----------------------

ver.6 TrailingStopType (por defecto 1)

Establece el tipo de trailing stop. 1:comenzará el trailing si el beneficio en pips es mayor / igual que el TrailingStop. 2:se iniciará el trailing en cuanto la operación tenga beneficios. (se añadirá otro tipo de trailing stop si se sugiere, la última sugerencia es SafeZone trailing stop post #99 https://www.mql5.com/en/forum/general )

TrailingStop (por defecto 40)

Establece el Trailing Stop. Use 0 (cero) si no usa la función de trailing stop.

Ajuste de la media móvil :

------------------------

FastMAPeriod (por defecto 10)

Período de la media móvil rápida.

FastMAType (por defecto EMA / 1)

Tipo de media móvil rápida 0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice (por defecto Close / 0)

Precio aplicado de la media móvil rápida 0:Cierre 1:Apertura 2:Máximo 3:Mínimo 4:Mediana 5:Típico 6:Ponderado

ver.7.2 FastMAshift (por defecto 0)

Desplazamiento de la media móvil rápida

SlowMAPeriod (por defecto 80)

Período de la media móvil lenta.

SlowMAType (por defecto EMA / 1)

Tipo de media móvil lenta 0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice (por defecto Close / 0)

Precio aplicado de la media móvil lenta 0:Cierre 1:Apertura 2:Máximo 3:Mínimo 4:Mediana 5:Típico 6:Ponderado

ver.7.2 FastMAshift (por defecto 0)

Desplazamiento de la media móvil lenta

Distancia mínima cruzada :

------------------------

ver.2 MinCrossDistance (por defecto 0)

Establece la distancia mínima entre FastMA y SlowMA para ser considerada como un cruce válido. Utilice 0 (cero) para desactivar este filtro.

ver.7 MaxLookUp (por defecto 1)

Establece el número de barras después del cruce para seguir comprobando la condición de entrada con respecto a la distancia mínima entre FastMA y SlowMA. Necesita MinCrosDistance > 0 para habilitar esta función. Use 0 (cero) para desactivar esta función.

Salir de la configuración :

-------------

StopAndReverse (por defecto true)

Si se establece en TRUE, se saldrá de cualquier operación y se invertirá la posición cuando cambie la señal.

PureSAR (por defecto falso)

Si se establece en TRUE, no utilizará Stop Loss - Take Profit - y Trailing Stop. Esto es siempre en la configuración de juego.

ver.7.2 ExitOnCross (por defecto false)

Si se establece en TRUE, saldrá de cualquier operación si hay un cruce opuesto sin considerar ningún filtro adicional. Así que la salida se basa puramente en el cruce de la media móvil.

Tercer ajuste de la media móvil:

------------------

ver.5 UseThirdMA (por defecto false)

Si se establece en TRUE (y UseCounterTrend = FALSE), sólo se negociará de acuerdo a la dirección de la Tercera MA, por encima para la COMPRA y por debajo para la VENTA.

ver.5 UseCounterTrend (por defecto false)

Si se establece en TRUE mantendrá la operación incluso si la dirección de la ThirdMA es contraria, pero con diferentes StopLoss y TakeProfit. Necesita UseThirdMA = TRUE para activar esta función.

ver.7 OnlyCounterTrend (por defecto false)

Si se establece en TRUE, el EA sólo operará en contra de la tendencia, es decir, COMPRAR si se cruza por debajo de la ThirdMA y VENDER si se cruza por encima de la ThirdMA. Necesita UseCounterTrend = TRUE para activar esta función.

ver.5 ThirdMAPeriod (por defecto 100)

Tercer periodo de la media móvil.

ver.5 ThirdMAType (por defecto EMA / 1)

Tercer tipo de media móvil 0:SMA 1:EMA 2:SMMA 3:LWMA

ver.5 ThirdMAPrice (por defecto Close / 0)

Tercera media móvil Precio aplicado 0:Cierre 1:Apertura 2:Máximo 3:Mínimo 4:Mediana 5:Típico 6:Ponderado

ver.7.2 ThridMAshift (por defecto 0)

Desplazamiento de la tercera media móvil

ver.5 CTStopLoss (por defecto 0)

Establezca su Stop Loss para la operación en contra de la tendencia. Use 0 (cero) si no le gusta usar el Stop Loss ( no recomendado ).

ver.5 CTTakeProfit (por defecto 0)

Establezca su Take Profit para la operación de Contra-Tendencia. Use 0 (cero) si le gusta usar el objetivo abierto.

Ajuste del filtro de pivote :

-------------------

ver.8.0 Use.Pivot.Filter (por defecto false)

Establezca en true si quiere filtrar la operación, sólo COMPRAR si el cruce de MA Lento y Rápido ocurre entre S1 y S2 y sólo VENDER si el cruce de MA Lento y Rápido ocurre entre R1 y R2.

Configuración de la orden :

--------------

ReverseCondition (por defecto falso)

Establezca TRUE para invertir la condición de entrada.

ver.3 ConfirmedOnEntry (por defecto true)

Si se establece en TRUE, entrará/saldrá de la operación en la siguiente barra después de la confirmación de la cruz. Si se establece en FALSE, entrará/saldrá de la operación tan pronto como haya un cruce.

ver.4 OneEntryPerBar (por defecto true)

Si se establece en TRUE, sólo se negociará una vez en una barra. Si se establece en FALSE, negociará más de una vez en una barra si la condición de entrada sigue siendo válida, aunque todavía una operación a la vez.

NumberOfTries (por defecto 5)

Número de intentos si la orden es rechazada por el sistema.

Slippage (por defecto 5)

Ajuste del deslizamiento.

MagicNumber (por defecto 1234)

Se utiliza para generar el Número Mágico. Cambie este número SÓLO si desea ejecutar el EA en el mismo par y en el mismo marco de tiempo pero con una configuración diferente.

Configuración de apertura de múltiples operaciones:

-----------------------------

ver.5 MaxOpenTrade (por defecto 2)

Número de operaciones abiertas máximas a la vez. Este ajuste se utiliza cuando StopAndReverse / PureSAR = FALSE para que el EA no cierre la orden abierta cuando haya una señal contraria, sino que abra una nueva operación. Establezca el número de operaciones abiertas permitidas. Si StopAndReverse / PureSAR = TRUE este ajuste siempre será = 1, lo que significa una operación a la vez.

ver.6 MinPriceDistance (por defecto 5)

Si se permiten múltiples operaciones abiertas (estableciendo MaxOpenOrder>1 y OneEntryPerBar=FALSE) este número determinará la distancia mínima entre cada operación en la misma dirección.

Configuración del filtro de tiempo :

-------------------

UseHourTrade (por defecto falso)

Si se establece en TRUE, el EA sólo se activa en un momento determinado.

StartHour (por defecto 10)

Hora en la que el EA comienza a estar activo (utilizar con UseHourTrade = TRUE).

EndHour (por defecto 11)

Hora en la que el EA deja de estar activo (utilizar con UseHourTrade = TRUE).

Configuración de la gestión del lote y del dinero :

------------------------------------

Lotes (por defecto 1)

Número de lote por operación.

MM (por defecto falso)

Si se establece en TRUE, se utilizará la gestión monetaria incorporada.

AccountIsMicro (por defecto false)

Si se utiliza la cuenta micro, se ajusta a TRUE.

Riesgo (por defecto 10)

Utilizar con MM = TRUE para establecer el riesgo por operación.

Configuración de Alertas Cruzadas :

--------------------

ver.5 EnableAlert (por defecto true)

Hará sonar una alerta cuando se produzca un cruce de medias móviles, un cruce hacia arriba o un cruce hacia abajo.

ver.5 SoundFilename (por defecto "alert.wav")

El nombre del archivo para la alerta.

Configuración de BackTest :

------------------

PrintControl (por defecto true)

Imprime algún comentario sobre el backtesting.

Show_Settings (por defecto true)

Muestra la configuración en el gráfico.

Hazme saber si todavía tienes problemas con la configuración. Gracias a codersguru y pengie por varios códigos parciales. Espero que esto ayude

Diario :

-----------

versión.6:

- fijo ConfirmedOnEntry error.

- añadir trailing stop inmediato.

- añadir MinPriceDistance para el comercio abierto múltiple.

versión. 7 :

- añadir la función MaxLookUp para seguir comprobando la entrada después de cierta barra desde el cruce con respecto a la MinCrossDistance.

- añadir la función OnlyCounterTrend si se utiliza el filtro ThirdMA.

versión.7.1:

- corregido el error MinCrossDistance.

versión.7. 2 :

- corregido el error MinCrossDistance para ConfirmedOnEntry = FALSE.

- Se añade el parámetro MA shift.

- Añadir la función ExitOnCross.

versión.7. 3 :

- corregido el COMENTARIO de visualización en pantalla.

versión. 8.0 :

- añadido el filtro Pivot.

versión.8. 1 :

- revisado algunos códigos debido a los errores de la Build 206.

Archivos adjuntos:
 

Hola Dave,

Excelente material ...........

Babar

 

Hola

gracias por este esfuerzo.

Quiero saber si funciona en una cuenta

1 mismo par diferente TF.

2. Funciona más de un par en una cuenta.

3. Funciona el mismo par, el mismo TF, pero con diferentes ajustes, es decir, TP o SL, etc., si utilizamos el número de Magin.

 

Por favor, háganos saber la mejor TF .

 
kumawat:
Hola

Gracias por este esfuerzo.

Quiero saber si funciona en una cuenta

1 mismo par diferente TF.

2. Funcionará más de un par en una cuenta.

3. ¿funciona el mismo par, el mismo TF, pero con una configuración diferente, es decir, TP o SL, etc.?

Hola kumawat. Sí a todas sus preguntas. Acabo de añadir la semilla MagicNumber para generar el número mágico de la orden. Cambia el MagicNumber sólo si quieres usar el EA para la pregunta número 3. Espero que esto ayude

 
Fxparadise:
Por favor, háganos saber el mejor TF .

Hola, creo que el marco de tiempo depende de su estrategia. Para la configuración por defecto, usted podría utilizar la EA en el gráfico de 1 hora. Espero que esto ayude

 

Buen EA. ¿Qué MA's y ajustes has encontrado mejor?

Yo probé este y me dio muy buenos resultados en las 4 horas.

-------

extern int

FastMAPeriod = 10,

FastMAType = 3, //0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice = 1, //0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

SlowMAPeriod = 100,

SlowMAType = 3, //0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice = 2; //0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

cadena externa

Exit_Setting = "---------- Exit Setting";

extern bool

ReverseCondition = false, // TRUE:compra-venta , venta-compra

ConfirmedOnEntry = false, // TRUE:entrada en la siguiente barra de señal

StopAndReverse = true, // TURE:si cambia la señal, salir e invertir la orden

PureSAR = false; // TRUE:sin SL, sin TP, sin TS

--------

 
firedave:
Hola kumawat. Sí a todas sus preguntas. Acabo de añadir la semilla MagicNumber para generar el número mágico de la orden. Cambia el MagicNumber sólo si quieres usar el EA para la pregunta número 3. Espero que esto ayude

Creo que esa cosa del Número Mágico que tienes ahí es excelente. Creo que todos los EAs deberían tener esto, entonces el usuario no tiene que preocuparse por ello, su ordenado para usted automáticamente.

 

Hola

una sugerencia más. si podemos incluir MACD, RSI y stochestic

Puede un EA greate

 

¡Gran idea!

Grantrabajofiredave

¡Y muy buena idea!

 
codersguru:
¡Gran trabajofiredaveY muy buena idea!

Hola codersguru, gracias por el cumplido. Soy uno de tus alumnos, es tu código en todo el EA, así que muchas gracias a ti también

Razón de la queja: