Herramientas MT4 Mi primer aporte: Template EA en blanco

 

Publi

Mi primer aporte: Template EA en blanco

 

Publi

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 10 de 63


Vista híbrida

  1. #1




    Reputación:
    Poder de reputación: 10

    Mensajes: 26
    Créditos: 1.634

    Re: Mi primer aporte: Template EA en blanco

    Saludos amigos, estoy de nuevo con novedades sobre el EA 3EMA:

    Hermo, me gusto mucho el estilo de codificación y las modificaciones que realizaste sobre el código, creo que ahora es mucho mas legible. Solo hice modificaciones menores y agregue algunos comentarios extra, pero me parece que ahora se entiende mucho mejor.
    En cuanto a la operativa, la principal modificación que realice y por ello le cambié la versión a 1.2, es la siguiente:

    Anteriormente el EA, procesaba al inicio de la barra, y calculaba los indicadores sobre el tick actual, por lo tanto, el valor actual de las EMAs, siempre se calculaba sobre la apertura de la barra. Ese comportamiento provocaba señales erroneas, porque muchas veces ocurría que una barra mientras se esta formando genera cruces de EMAs, y al terminar de formarse, el cruce desaparece. Entonces, si la barra al abrir mostraba una tendencia y al cerrar mostraba otra, provocaba que una operacion se abriera con la barra y se cerrara con la barra siguiente, no se si me explico bien.
    La modificación consiste en reemplazar todos los indices de los calculos de los indicadores para que se calculen sobre la vela cerrada previa (vela 1) y la anterior (vela 2), al tick que se esta ejecutando.

    Solo con esa modificación, el backtest paso de esto:

    Mi primer aporte: Template EA en blanco-testergraph3.gif

    Informe:
    Backtesting entre 01/01/2010 -> 25/06/2014 - TF 30M

    Depósito inicial: 10000.00
    Diferencial: 2
    Beneficio neto total: 6713.01
    Factor de beneficio: 1.45
    Rentabilidad esperada: 6.78
    Disminución absoluta: 46.21
    Disminución maximal: 962.23 (8.17%)
    Disminución relativa: 8.17% (962.23)
    Total de operaciones: 990
    Posiciones cortas (ganado %): 468 (86.97%)
    Posiciones largas (ganado %): 522 (87.36%)
    Operaciones de beneficios (% del total): 863 (87.17%)
    Operaciones de pérdidas (% del total): 127 (12.83%)
    Mayor Operaciones de beneficios: 206.64
    Mayor Operaciones de pérdidas: -153.00
    Media Operaciones de beneficios: 25.12
    Media Operaciones de pérdidas: -117.84
    Máximo ganancias consecutivas (beneficios en dinero): 27 (826.18)
    Máximo pérdidas consecutivas (pérdidas en dinero): 4 (-531.90)
    Media ganancias consecutivas: 8
    Media pérdidas consecutivas: 1

    a esto:

    Mi primer aporte: Template EA en blanco-testergraph4.gif

    Informe:
    Backtesting entre 01/01/2010 -> 25/06/2014 - TF 30M
    Depósito inicial 10000.00
    Diferencial 2
    Beneficio neto total: 13768.01
    Factor de beneficio: 1.33
    Rentabilidad esperada: 7.34
    Disminución absoluta: 458.45
    Disminución maximal: 1659.23 (7.19%)
    Disminución relativa: 7.19% (1659.23)
    Total de operaciones: 1875
    Posiciones cortas (ganado %) : 881 (84.00%)
    Posiciones largas (ganado %): 994 (84.51%)
    Operaciones de beneficios (% del total): 1580 (84.27%)
    Operaciones de pérdidas (% del total): 295 (15.73%)
    Mayor Operaciones de beneficios: 215.04
    Mayor Operaciones de pérdidas: -216.00
    Media Operaciones de beneficios: 35.16
    Media Operaciones de pérdidas: -141.63
    Máximo ganancias consecutivas (beneficios en dinero): 61 (2268.07)
    Máximo pérdidas consecutivas (pérdidas en dinero): 4 (-677.24)
    Media ganancias consecutivas: 7
    Media pérdidas consecutivas: 1

    Ahora me esta gustando mucho mas ja ja ja!!!!
    Creo que con la modificacion que le realice se soluciona el problema que mencionabas sobre posiciones abiertas en el momento incorrecto, ahora las abre a vela cerrada, con el cruce confirmado.

    En cuanto a los demás comentarios:
    1- Sobre el stop_loss = 0 y take profit=0: Ya lo solucione con una pequeña modificacion a las funciones abrir_orden_buy y abrir_orden_sell. Dichas funciones, al intentar convertir pips a precio, generaban un precio erroneo cuando los pips pasados como parametro eran 0, entonces la orden se rechazaba.

    2- "Echo de menos un control de spread, que se incluiria en los parametros generales."
    Sinceramente no conozco que significa el control de spread (recuerda que soy muy novato en el trading). Si tienes una explicación o link que me puedas proporcionar lo veo y discutimos como implementarlo

    3- "Echo de menos un autocontrol de digitos del broker,
    esto evitaria, como en este caso, tener que realizar multiplicaciones tanto del Take Profit, Stop Loss, Trailing... etc., dependiendo si trabajamos con un broker de 4 digitos o 5 digitos."
    Voy a analizar el fragmento de código que me proporcionaste y lo voy a incluir en la proxima versión

    4- "Y ya por ultimo que me expliques mejor por favor, estos dos parámetros:
    calcular_lotes = true; // Calcular valor del lote
    Este parámetro entiendo que quieres utilizar un tanto % del valor de la Equity si no me equivoco, corrígeme si estoy en lo cierto."
    Es correcto, quiero calcular el valor del lote a emplear en base al riesgo que deseo tomar en cada operación, esto es algo que aún lo tengo muy verde en mi cabeza, por eso acepto sugerencias y recomendaciones

    5- "La opcion habilitar_trailing_take_profit"
    Esta opcion la codifique con mi poco conocimiento de la jerga del trading, por ello espero que me corrijan. La idea es que cuando esta opcion esta habilitada, al momento de hacer trailing stop sobre una orden, si se modifica el mismo, el take profit también se modifique siguiendolo. En principio, esto permite que las operaciones que estan ganando, por ejemplo compras, vayan aumentando stop loss para proteger los beneficios ganandos y tambien subiendo al mismo tiempo el take profit con la esperanza de agarrar una tendencia larga y obtener mas beneficios.
    Vuelvo a repetir, no se si hay un nombre especial para este comportamiento, si es asi lo cambiamos para que quede correcto.

    Adjunto entonces la nueva version del EA y espero comentarios:

    MCSoft_EA_3MA_v1.2.mq4

    Saludos!!!!
    Foro de Forex Trading United

  2. #2
    Avatar de Ciclo



    Reputación:
    Poder de reputación: 23

    Espana
    Mensajes: 2.510
    Créditos: 23.821

    Re: Mi primer aporte: Template EA en blanco

    Cita Iniciado por MCSoft Ver mensaje
    Saludos amigos, estoy de nuevo con novedades sobre el EA 3EMA:

    Hermo, me gusto mucho el estilo de codificación y las modificaciones que realizaste sobre el código, creo que ahora es mucho mas legible. Solo hice modificaciones menores y agregue algunos comentarios extra, pero me parece que ahora se entiende mucho mejor.
    En cuanto a la operativa, la principal modificación que realice y por ello le cambié la versión a 1.2, es la siguiente:

    Anteriormente el EA, procesaba al inicio de la barra, y calculaba los indicadores sobre el tick actual, por lo tanto, el valor actual de las EMAs, siempre se calculaba sobre la apertura de la barra. Ese comportamiento provocaba señales erroneas, porque muchas veces ocurría que una barra mientras se esta formando genera cruces de EMAs, y al terminar de formarse, el cruce desaparece. Entonces, si la barra al abrir mostraba una tendencia y al cerrar mostraba otra, provocaba que una operacion se abriera con la barra y se cerrara con la barra siguiente, no se si me explico bien.
    La modificación consiste en reemplazar todos los indices de los calculos de los indicadores para que se calculen sobre la vela cerrada previa (vela 1) y la anterior (vela 2), al tick que se esta ejecutando.

    Solo con esa modificación, el backtest paso de esto:

    Mi primer aporte: Template EA en blanco-testergraph3.gif

    Informe:
    Backtesting entre 01/01/2010 -> 25/06/2014 - TF 30M

    Depósito inicial: 10000.00
    Diferencial: 2
    Beneficio neto total: 6713.01
    Factor de beneficio: 1.45
    Rentabilidad esperada: 6.78
    Disminución absoluta: 46.21
    Disminución maximal: 962.23 (8.17%)
    Disminución relativa: 8.17% (962.23)
    Total de operaciones: 990
    Posiciones cortas (ganado %): 468 (86.97%)
    Posiciones largas (ganado %): 522 (87.36%)
    Operaciones de beneficios (% del total): 863 (87.17%)
    Operaciones de pérdidas (% del total): 127 (12.83%)
    Mayor Operaciones de beneficios: 206.64
    Mayor Operaciones de pérdidas: -153.00
    Media Operaciones de beneficios: 25.12
    Media Operaciones de pérdidas: -117.84
    Máximo ganancias consecutivas (beneficios en dinero): 27 (826.18)
    Máximo pérdidas consecutivas (pérdidas en dinero): 4 (-531.90)
    Media ganancias consecutivas: 8
    Media pérdidas consecutivas: 1

    a esto:

    Mi primer aporte: Template EA en blanco-testergraph4.gif

    Informe:
    Backtesting entre 01/01/2010 -> 25/06/2014 - TF 30M
    Depósito inicial 10000.00
    Diferencial 2
    Beneficio neto total: 13768.01
    Factor de beneficio: 1.33
    Rentabilidad esperada: 7.34
    Disminución absoluta: 458.45
    Disminución maximal: 1659.23 (7.19%)
    Disminución relativa: 7.19% (1659.23)
    Total de operaciones: 1875
    Posiciones cortas (ganado %) : 881 (84.00%)
    Posiciones largas (ganado %): 994 (84.51%)
    Operaciones de beneficios (% del total): 1580 (84.27%)
    Operaciones de pérdidas (% del total): 295 (15.73%)
    Mayor Operaciones de beneficios: 215.04
    Mayor Operaciones de pérdidas: -216.00
    Media Operaciones de beneficios: 35.16
    Media Operaciones de pérdidas: -141.63
    Máximo ganancias consecutivas (beneficios en dinero): 61 (2268.07)
    Máximo pérdidas consecutivas (pérdidas en dinero): 4 (-677.24)
    Media ganancias consecutivas: 7
    Media pérdidas consecutivas: 1

    Ahora me esta gustando mucho mas ja ja ja!!!!
    Creo que con la modificacion que le realice se soluciona el problema que mencionabas sobre posiciones abiertas en el momento incorrecto, ahora las abre a vela cerrada, con el cruce confirmado.

    En cuanto a los demás comentarios:
    1- Sobre el stop_loss = 0 y take profit=0: Ya lo solucione con una pequeña modificacion a las funciones abrir_orden_buy y abrir_orden_sell. Dichas funciones, al intentar convertir pips a precio, generaban un precio erroneo cuando los pips pasados como parametro eran 0, entonces la orden se rechazaba.

    2- "Echo de menos un control de spread, que se incluiria en los parametros generales."
    Sinceramente no conozco que significa el control de spread (recuerda que soy muy novato en el trading). Si tienes una explicación o link que me puedas proporcionar lo veo y discutimos como implementarlo

    3- "Echo de menos un autocontrol de digitos del broker,
    esto evitaria, como en este caso, tener que realizar multiplicaciones tanto del Take Profit, Stop Loss, Trailing... etc., dependiendo si trabajamos con un broker de 4 digitos o 5 digitos."
    Voy a analizar el fragmento de código que me proporcionaste y lo voy a incluir en la proxima versión

    4- "Y ya por ultimo que me expliques mejor por favor, estos dos parámetros:
    calcular_lotes = true; // Calcular valor del lote
    Este parámetro entiendo que quieres utilizar un tanto % del valor de la Equity si no me equivoco, corrígeme si estoy en lo cierto."
    Es correcto, quiero calcular el valor del lote a emplear en base al riesgo que deseo tomar en cada operación, esto es algo que aún lo tengo muy verde en mi cabeza, por eso acepto sugerencias y recomendaciones

    5- "La opcion habilitar_trailing_take_profit"
    Esta opcion la codifique con mi poco conocimiento de la jerga del trading, por ello espero que me corrijan. La idea es que cuando esta opcion esta habilitada, al momento de hacer trailing stop sobre una orden, si se modifica el mismo, el take profit también se modifique siguiendolo. En principio, esto permite que las operaciones que estan ganando, por ejemplo compras, vayan aumentando stop loss para proteger los beneficios ganandos y tambien subiendo al mismo tiempo el take profit con la esperanza de agarrar una tendencia larga y obtener mas beneficios.
    Vuelvo a repetir, no se si hay un nombre especial para este comportamiento, si es asi lo cambiamos para que quede correcto.

    Adjunto entonces la nueva version del EA y espero comentarios:

    MCSoft_EA_3MA_v1.2.mq4

    Saludos!!!!

    Lo de la gestion de lotes y riesgo etc, yo lo dejaria para el final. Yo creo que tengo buenas ideas para eso y no es dificil. Yo de momento operaria con una unidad, 1 lote, 1 minilote etc. para ver el comportamiento del sistema sin ayuda de MM.

    Sugerencia para mejorar el sistema: Abrir operaciones solo entre la apertura de Frankfur y el cierre de Londres. Creo que esto puede mejorar mucho la estadistica por que nos ahorramos los rangos que suele haber en la sesion asiatica.

    Con esto yo probaria a inhabilitar el trailing stop o darle mas espacio, por que aunque mejora el porcentaje de ganadoras, cierra las operaciones muy pronto. Si conseguimos aumentar el porcentaje de ganadoras sin el trailing stop, o un trailing mas holgado, podremos aumentar el ratio W/L de forma espectacular y aumentar bastante el Factor de beneficio que lo veo algo pobre.

    Saludos.

    Foro de Forex Trading United

  3. #3
    Avatar de Hermo



    Reputación:
    Poder de reputación: 19

    Mensajes: 879
    Créditos: 6.631

    Version "1.2"

    Cita Iniciado por MCSoft Ver mensaje

    1- Sobre el stop_loss = 0 y take profit=0: Ya lo solucione con una pequeña modificacion a las funciones abrir_orden_buy y abrir_orden_sell. Dichas funciones, al intentar convertir pips a precio, generaban un precio erroneo cuando los pips pasados como parametro eran 0, entonces la orden se rechazaba.

    2- "Echo de menos un control de spread, que se incluiria en los parametros generales."
    Sinceramente no conozco que significa el control de spread (recuerda que soy muy novato en el trading). Si tienes una explicación o link que me puedas proporcionar lo veo y discutimos como implementarlo

    3- "Echo de menos un autocontrol de digitos del broker, esto evitaria, como en este caso, tener que realizar multiplicaciones tanto del Take Profit, Stop Loss, Trailing... etc., dependiendo si trabajamos con un broker de 4 digitos o 5 digitos."
    Voy a analizar el fragmento de código que me proporcionaste y lo voy a incluir en la proxima versión

    4- "Y ya por ultimo que me expliques mejor por favor, estos dos parámetros:
    calcular_lotes = true; // Calcular valor del lote
    Este parámetro entiendo que quieres utilizar un tanto % del valor de la Equity si no me equivoco, corrígeme si estoy en lo cierto."
    Es correcto, quiero calcular el valor del lote a emplear en base al riesgo que deseo tomar en cada operación, esto es algo que aún lo tengo muy verde en mi cabeza, por eso acepto sugerencias y recomendaciones

    5- "La opcion habilitar_trailing_take_profit"
    Esta opcion la codifique con mi poco conocimiento de la jerga del trading, por ello espero que me corrijan. La idea es que cuando esta opcion esta habilitada, al momento de hacer trailing stop sobre una orden, si se modifica el mismo, el take profit también se modifique siguiendolo. En principio, esto permite que las operaciones que estan ganando, por ejemplo compras, vayan aumentando stop loss para proteger los beneficios ganandos y tambien subiendo al mismo tiempo el take profit con la esperanza de agarrar una tendencia larga y obtener mas beneficios.
    Vuelvo a repetir, no se si hay un nombre especial para este comportamiento, si es asi lo cambiamos para que quede correcto.
    Cita Iniciado por Ciclo Ver mensaje

    6- Lo de la gestion de lotes y riesgo etc, yo lo dejaria para el final. Yo creo que tengo buenas ideas para eso y no es dificil. Yo de momento operaria con una unidad, 1 lote, 1 minilote etc. para ver el comportamiento del sistema sin ayuda de MM.

    7 - Sugerencia para mejorar el sistema: Abrir operaciones solo entre la apertura de Frankfur y el cierre de Londres. Creo que esto puede mejorar mucho la estadistica por que nos ahorramos los rangos que suele haber en la sesion asiatica.

    8 -Con esto yo probaria a inhabilitar el trailing stop o darle mas espacio, por que aunque mejora el porcentaje de ganadoras, cierra las operaciones muy pronto. Si conseguimos aumentar el porcentaje de ganadoras sin el trailing stop, o un trailing mas holgado, podremos aumentar el ratio W/L de forma espectacular y aumentar bastante el Factor de beneficio que lo veo algo pobre.
    Buenas tardes a todos.

    Hola MCSoft:

    1 - Respecto al primer punto todavía no he tenido tiempo de revisar y hacer las pertinentes comprobaciones, según tenga un ratito me pongo con ello y os cuento.

    2 -Tema spread, en esta EA puede ser no relevante, aunque con matices y ya que existen matices y estamos tratando el tema de automatización, no podemos dejarlo a un lado, el tema del spread es muy importante, cualquier programación seria tiene que contemplarlo y no solo eso, si no también tener en cuenta las posibles consecuencias que ello genera, me explico. Es fácil programar que hacer si en el momento de ejecutar la orden el spread existente en ese momento supera el límite permitido, pero lo más complicado es como tiene que reaccionar la EA ante esa circunstancia, lo más habitual es que no opere, que no lance ordenes, pero también tenemos que programar cuando volver a dejarla operar ... etc, como cada programación es diferente, bueno cada estrategia es diferente, en el caso de esta Ea yo lo tengo claro, si te pasas del spread permitido en un cruce, hasta que se vuelva a dar otro cruce diferente no te dejo operar. Parece una chorrada pero como este tema lo tenemos que ver en una situación real, esto tiene que quedar bien claro.

    Para que te hagas una idea te adjunto un código de un EA que lo contempla, después tu, ya lo tienes que adaptar a las circunstancias de este EA, la gran mayoría de los códigos que contienen este control, solo contemplan el que hacer en ese momento y no lo que tienen que hacer después de que eso suceda, y para mi es tan importante uno como otro.

    3 - Lo tienes también en el código que te adjunto, es mas menos las líneas de código que te adjunto en un post anterior, lo mismo, que cuando pongamos en Take Profit = 50 sean 50 pips en un bróker de 4 o 5 dígitos, es la Ea la que tiene que saberlo y hacer el cálculo pertinente.

    4 - Respecto de este tema comparto lo que dice Ciclo, lo vemos más adelante, primero lo básico, que todo funcione correctamente, después las mejoras. De todos modos también tienes ejemplos en el código que te adjunto.

    5 - Con el Trailing sobre el Take profit, me has sorprendido es la primera vez que lo veo, y de entrada te digo que sobra, si está bien programado el precio nunca lo alcanzaría por mucho que corra el precio, tendrías que programarlo con condicionantes para que en algún momento el precio lo pudiera alcanzar, piensa que es más sencillo, un trailing Stop sin Take Profit, es decir, yo he visto EAs que una vez que el Trailing Stop se activa y está por encima o debajo del nivel de entrada, el stop loss me refiero, es decir estamos en beneficio, la EA elimina el Take Profit, por lo tanto ya tiene cancha el precio para correr todo lo que quiera, no tiene techo, de ese modo lo veo más factible.

    Hola Ciclo:

    6 - Ya conteste si no me equivoco, comparto lo que dice Ciclo, aunque claro está, es un trabajo que estas realizando tú para la comunidad, si lo tuviera que encargar a un desarrollador, yo solicitaría el máximo número de MoneyManagement posibles, ya después filtraríamos.

    7 - Para lo que comenta Ciclo en el punto 7, es tan sencillo como añadir un filtro horario, tienes un buen ejemplo en el código que te adjunto, incluso tiene selección de servidor y opción de cierre de posición el viernes.

    8 - Ciclo, si no te he entendido bien, corrígeme, pero la EA ya tiene la opción de deshabilitar el Trailing Stop o de ponérselo mas holgado, como tú quieras, no le he probado, es decir no sé si funciona correctamente, pero en los parámetros de la EA figura.


    Mi primer aporte: Template EA en blanco-trailing.png

    Otro concepto que en determinadas EAs funciona muy bien es añadirle el parámetro Step al Trailing Stop, un condicionante mas para el movimiento del Trailing, le obligas a que espere el valor que tu hayas establecido en este parámetro es decir se lo suma al Trailing, también está incluido en el código que te adjunto, por si te interesa verlo y añadirlo.

    Bueno cuando tenga un ratito reviso el funcionamiento de la nueva versión y comento.

    Un saludo.

    Hermo.
    Foro de Forex Trading United
    Archivos adjuntados Archivos adjuntados



  4. #4
    Avatar de Ciclo



    Reputación:
    Poder de reputación: 23

    Espana
    Mensajes: 2.510
    Créditos: 23.821

    Re: Version "1.2"

    Cita Iniciado por Hermo Ver mensaje
    Buenas tardes a todos.

    Hola MCSoft:

    1 - Respecto al primer punto todavía no he tenido tiempo de revisar y hacer las pertinentes comprobaciones, según tenga un ratito me pongo con ello y os cuento.

    2 -Tema spread, en esta EA puede ser no relevante, aunque con matices y ya que existen matices y estamos tratando el tema de automatización, no podemos dejarlo a un lado, el tema del spread es muy importante, cualquier programación seria tiene que contemplarlo y no solo eso, si no también tener en cuenta las posibles consecuencias que ello genera, me explico. Es fácil programar que hacer si en el momento de ejecutar la orden el spread existente en ese momento supera el límite permitido, pero lo más complicado es como tiene que reaccionar la EA ante esa circunstancia, lo más habitual es que no opere, que no lance ordenes, pero también tenemos que programar cuando volver a dejarla operar ... etc, como cada programación es diferente, bueno cada estrategia es diferente, en el caso de esta Ea yo lo tengo claro, si te pasas del spread permitido en un cruce, hasta que se vuelva a dar otro cruce diferente no te dejo operar. Parece una chorrada pero como este tema lo tenemos que ver en una situación real, esto tiene que quedar bien claro.

    Para que te hagas una idea te adjunto un código de un EA que lo contempla, después tu, ya lo tienes que adaptar a las circunstancias de este EA, la gran mayoría de los códigos que contienen este control, solo contemplan el que hacer en ese momento y no lo que tienen que hacer después de que eso suceda, y para mi es tan importante uno como otro.

    3 - Lo tienes también en el código que te adjunto, es mas menos las líneas de código que te adjunto en un post anterior, lo mismo, que cuando pongamos en Take Profit = 50 sean 50 pips en un bróker de 4 o 5 dígitos, es la Ea la que tiene que saberlo y hacer el cálculo pertinente.

    4 - Respecto de este tema comparto lo que dice Ciclo, lo vemos más adelante, primero lo básico, que todo funcione correctamente, después las mejoras. De todos modos también tienes ejemplos en el código que te adjunto.

    5 - Con el Trailing sobre el Take profit, me has sorprendido es la primera vez que lo veo, y de entrada te digo que sobra, si está bien programado el precio nunca lo alcanzaría por mucho que corra el precio, tendrías que programarlo con condicionantes para que en algún momento el precio lo pudiera alcanzar, piensa que es más sencillo, un trailing Stop sin Take Profit, es decir, yo he visto EAs que una vez que el Trailing Stop se activa y está por encima o debajo del nivel de entrada, el stop loss me refiero, es decir estamos en beneficio, la EA elimina el Take Profit, por lo tanto ya tiene cancha el precio para correr todo lo que quiera, no tiene techo, de ese modo lo veo más factible.

    Hola Ciclo:

    6 - Ya conteste si no me equivoco, comparto lo que dice Ciclo, aunque claro está, es un trabajo que estas realizando tú para la comunidad, si lo tuviera que encargar a un desarrollador, yo solicitaría el máximo número de MoneyManagement posibles, ya después filtraríamos.

    7 - Para lo que comenta Ciclo en el punto 7, es tan sencillo como añadir un filtro horario, tienes un buen ejemplo en el código que te adjunto, incluso tiene selección de servidor y opción de cierre de posición el viernes.

    8 - Ciclo, si no te he entendido bien, corrígeme, pero la EA ya tiene la opción de deshabilitar el Trailing Stop o de ponérselo mas holgado, como tú quieras, no le he probado, es decir no sé si funciona correctamente, pero en los parámetros de la EA figura.


    Mi primer aporte: Template EA en blanco-trailing.png

    Otro concepto que en determinadas EAs funciona muy bien es añadirle el parámetro Step al Trailing Stop, un condicionante mas para el movimiento del Trailing, le obligas a que espere el valor que tu hayas establecido en este parámetro es decir se lo suma al Trailing, también está incluido en el código que te adjunto, por si te interesa verlo y añadirlo.

    Bueno cuando tenga un ratito reviso el funcionamiento de la nueva versión y comento.

    Un saludo.

    Hermo.


    Hola Hermo.
    Fenomenal. Buena informacion, con eso yo creo que tendriamos un Experto bastante completo.

    Lo del apartado 8, me refiero a que los bactesting se podrian probar o bien deshabilitando el trailing stop (desde el programa claro) o bien dando mas holgura a trailing para dar oportunidad de hacer grandes recorridos. Aunque supongo que el momento de la optimizacion sera una tarea algo larga para comprobar cual es la mejor combinacion de parametros. Especialmente el tema de los trailing, los stops etc. El stop hace poca falta con las propias medias y menos falta aun con el propio trailing stop.
    Yo en principio no tocacaria las medias. Si acaso al final las tocaria pero sin sobreoptimizar mucho. Pero no soy un experto en ese tema, solo puedo sugerir ideas mas o menos válidas.

    Saludos y gracias por el gran aporte.
    Foro de Forex Trading United

  5. #5
    Avatar de gorowin



    Reputación:
    Poder de reputación: 12

    Argentina
    Mensajes: 57
    Créditos: 1.866

    Re: Mi primer aporte: Template EA en blanco

    Hola.

    Primero que nada agradecer a todos por su trabajo y dedicación.

    Verdaderamente es muy interesante el tema, si bien no soy programador estoy tratando de comprender un poco mas el funcionamiento de estos EA.

    En primer lugar voy a tratar de ver el código y luego voy a hacer un Back Test en diferentes temporalidades y con diferentes pares a ver como resulta.

    Luego tratare de publicar los diferentes resultados.


    Gorowin.
    Foro de Forex Trading United

  6. #6
    Avatar de gorowin



    Reputación:
    Poder de reputación: 12

    Argentina
    Mensajes: 57
    Créditos: 1.866

    Re: Mi primer aporte: Template EA en blanco

    Hola MCSoft


    Como comente en otro mensaje me puse a trabajar con el BackTest del EA, la idea era probarlo en diferentes temporalidades y pares, para comenzar utilice el EURUSD en M30 y desde el 01/01/2010 al 26/06/2014 como en los test de tu post pero mis resultados son muy diferentes, utilice el EA sin tocar la configuración, aquí dejo el gráfico de la prueba.

    Mi primer aporte: Template EA en blanco-mcsoft_ea_3ma_v1.2.jpg

    Mirando un Webinar en el foro sobre BackTest logre un modelado de datos de 99.90% pero igualmente los resultados no fueron buenos.

    Podrías decirme si tengo que configurarlo de alguna forma en especial para poder obtener un resultado como el tuyo y así poder seguir con las pruebas.

    Saludos

    Gorowin.

    Cita Iniciado por MCSoft Ver mensaje
    Saludos amigos, estoy de nuevo con novedades sobre el EA 3EMA:

    Hermo, me gusto mucho el estilo de codificación y las modificaciones que realizaste sobre el código, creo que ahora es mucho mas legible. Solo hice modificaciones menores y agregue algunos comentarios extra, pero me parece que ahora se entiende mucho mejor.
    En cuanto a la operativa, la principal modificación que realice y por ello le cambié la versión a 1.2, es la siguiente:

    Anteriormente el EA, procesaba al inicio de la barra, y calculaba los indicadores sobre el tick actual, por lo tanto, el valor actual de las EMAs, siempre se calculaba sobre la apertura de la barra. Ese comportamiento provocaba señales erroneas, porque muchas veces ocurría que una barra mientras se esta formando genera cruces de EMAs, y al terminar de formarse, el cruce desaparece. Entonces, si la barra al abrir mostraba una tendencia y al cerrar mostraba otra, provocaba que una operacion se abriera con la barra y se cerrara con la barra siguiente, no se si me explico bien.
    La modificación consiste en reemplazar todos los indices de los calculos de los indicadores para que se calculen sobre la vela cerrada previa (vela 1) y la anterior (vela 2), al tick que se esta ejecutando.

    Solo con esa modificación, el backtest paso de esto:

    Mi primer aporte: Template EA en blanco-testergraph3.gif

    Informe:
    Backtesting entre 01/01/2010 -> 25/06/2014 - TF 30M

    Depósito inicial: 10000.00
    Diferencial: 2
    Beneficio neto total: 6713.01
    Factor de beneficio: 1.45
    Rentabilidad esperada: 6.78
    Disminución absoluta: 46.21
    Disminución maximal: 962.23 (8.17%)
    Disminución relativa: 8.17% (962.23)
    Total de operaciones: 990
    Posiciones cortas (ganado %): 468 (86.97%)
    Posiciones largas (ganado %): 522 (87.36%)
    Operaciones de beneficios (% del total): 863 (87.17%)
    Operaciones de pérdidas (% del total): 127 (12.83%)
    Mayor Operaciones de beneficios: 206.64
    Mayor Operaciones de pérdidas: -153.00
    Media Operaciones de beneficios: 25.12
    Media Operaciones de pérdidas: -117.84
    Máximo ganancias consecutivas (beneficios en dinero): 27 (826.18)
    Máximo pérdidas consecutivas (pérdidas en dinero): 4 (-531.90)
    Media ganancias consecutivas: 8
    Media pérdidas consecutivas: 1

    a esto:

    Mi primer aporte: Template EA en blanco-testergraph4.gif

    Informe:
    Backtesting entre 01/01/2010 -> 25/06/2014 - TF 30M
    Depósito inicial 10000.00
    Diferencial 2
    Beneficio neto total: 13768.01
    Factor de beneficio: 1.33
    Rentabilidad esperada: 7.34
    Disminución absoluta: 458.45
    Disminución maximal: 1659.23 (7.19%)
    Disminución relativa: 7.19% (1659.23)
    Total de operaciones: 1875
    Posiciones cortas (ganado %) : 881 (84.00%)
    Posiciones largas (ganado %): 994 (84.51%)
    Operaciones de beneficios (% del total): 1580 (84.27%)
    Operaciones de pérdidas (% del total): 295 (15.73%)
    Mayor Operaciones de beneficios: 215.04
    Mayor Operaciones de pérdidas: -216.00
    Media Operaciones de beneficios: 35.16
    Media Operaciones de pérdidas: -141.63
    Máximo ganancias consecutivas (beneficios en dinero): 61 (2268.07)
    Máximo pérdidas consecutivas (pérdidas en dinero): 4 (-677.24)
    Media ganancias consecutivas: 7
    Media pérdidas consecutivas: 1

    Ahora me esta gustando mucho mas ja ja ja!!!!
    Creo que con la modificacion que le realice se soluciona el problema que mencionabas sobre posiciones abiertas en el momento incorrecto, ahora las abre a vela cerrada, con el cruce confirmado.

    En cuanto a los demás comentarios:
    1- Sobre el stop_loss = 0 y take profit=0: Ya lo solucione con una pequeña modificacion a las funciones abrir_orden_buy y abrir_orden_sell. Dichas funciones, al intentar convertir pips a precio, generaban un precio erroneo cuando los pips pasados como parametro eran 0, entonces la orden se rechazaba.

    2- "Echo de menos un control de spread, que se incluiria en los parametros generales."
    Sinceramente no conozco que significa el control de spread (recuerda que soy muy novato en el trading). Si tienes una explicación o link que me puedas proporcionar lo veo y discutimos como implementarlo

    3- "Echo de menos un autocontrol de digitos del broker,
    esto evitaria, como en este caso, tener que realizar multiplicaciones tanto del Take Profit, Stop Loss, Trailing... etc., dependiendo si trabajamos con un broker de 4 digitos o 5 digitos."
    Voy a analizar el fragmento de código que me proporcionaste y lo voy a incluir en la proxima versión

    4- "Y ya por ultimo que me expliques mejor por favor, estos dos parámetros:
    calcular_lotes = true; // Calcular valor del lote
    Este parámetro entiendo que quieres utilizar un tanto % del valor de la Equity si no me equivoco, corrígeme si estoy en lo cierto."
    Es correcto, quiero calcular el valor del lote a emplear en base al riesgo que deseo tomar en cada operación, esto es algo que aún lo tengo muy verde en mi cabeza, por eso acepto sugerencias y recomendaciones

    5- "La opcion habilitar_trailing_take_profit"
    Esta opcion la codifique con mi poco conocimiento de la jerga del trading, por ello espero que me corrijan. La idea es que cuando esta opcion esta habilitada, al momento de hacer trailing stop sobre una orden, si se modifica el mismo, el take profit también se modifique siguiendolo. En principio, esto permite que las operaciones que estan ganando, por ejemplo compras, vayan aumentando stop loss para proteger los beneficios ganandos y tambien subiendo al mismo tiempo el take profit con la esperanza de agarrar una tendencia larga y obtener mas beneficios.
    Vuelvo a repetir, no se si hay un nombre especial para este comportamiento, si es asi lo cambiamos para que quede correcto.

    Adjunto entonces la nueva version del EA y espero comentarios:

    MCSoft_EA_3MA_v1.2.mq4

    Saludos!!!!
    Foro de Forex Trading United

  7. #7




    Reputación:
    Poder de reputación: 10

    Mensajes: 26
    Créditos: 1.634

    Re: Mi primer aporte: Template EA en blanco

    Saludos amigos!!!!!
    Estoy de nuevo con otra actualización del EA, en este caso es la version 1.4. No postee en ningun momento la 1.3 porque comence a hacer modificaciones y me parecio conveniente directamente lanzar la 1.4
    Los cambios entre versiones hasta hora son (estan en el codigo fuente, pero para que todos lo vean):

    VERSIONES:
    - v1.0 - 26/06/2014 - MCSoft
    Version inicial desarrollada en base al indicador "3MAS Cross Alert v2.mq4"
    proporcionado por Ciclo.


    - v1.1 - 25/06/2014 - MCSoft
    Se agregó media 200 (ma4) para filtrar la tendencia a largo plazo
    se habilitaron operaciones de venta


    - v1.2 - 25/06/2014 - Hermo/MCsoft
    Siguiendo recomendaciones de Hermo, se acomodó el código de una manera mas legible
    Se modifico el calculo de los indicadores, para que el valor actual de cada indicador
    se calcule al cierre de la vela. El calculo previo era tick a tick y provocaba muchas
    veces apertura y cierre de operaciones en la misma vela


    - v1.3 - 25/06/2014 - Ciclo/MCsoft
    Se agregó la opción del horario de trading


    - v1.4 - 27/06/2014 - Hermo/MCsoft
    Se agregó el calculo automatico del valor del pip de acuerdo a la cantidad de digitos del broker
    Se programo nuevamente el money management para calcular el tamaño de cada operación en funcion del stop loss
    de la orden, y el porcentaje maximo de perdida de la cuenta en caso de que la operacion sea perdedora

    Creo que mas allá de los resultados que pueda dar este EA en dinero, creo que hemos logrado mucho aportando ideas y viendo como se aplican a un programa real.

    Respondo a todos en este post para no llenar el tema de mensajes individuales:

    CICLO:
    - En este EA esta implementado el control de horario. Esta hecho de una forma básica (horario de inicio y de final del trading) y aun no tiene la opcion de cerrar posiciones el viernes, pero creo que podemos empezar a hacer pruebas con ello. Luego le agregamos los dias permitidos de trading y la opcion de cerrar posiciones el viernes
    - En cuanto al MM, he implementado código nuevo, pero también he leido que es conveniente probar la estrategia con lote fijo para ver la efectividad sin la ayuda del MM.

    HERMO:
    - Aun no esta implementado el control del spread, pero si agregue la compensacion para los brokers de 3/5 y 6 digitos.
    - He tomado la observación que hiciste sobre la modificación del TakeProfit, y la he implementado de la misma manera, ahora desaparecio la opcion "trailing_take_profit" (la cual habia bautizado con ese nombre desde mi inexperiencia ja ja), y ahora, cuando el trailing stop detecta que la operacion logró los beneficios indicados en "trailing_start", simplemente le quita el takeprofit a la orden y actua corriendo solo el stoploss, para que la orden pueda tomar todos los beneficios posibles.
    - Sobre la compensacion del valor del pip: Comence mis pruebas con un metatrader limpio (bajado de la web metaquotes, no ligado a ningun broker), operando a 4 digitos, y luego, descargue otra versión con una cuenta demo de un broker de 5 digitos y a partir de ese momento el programa me comenzo a dar resultados positivos. Luego, cuando hablamos el tema de la compensación del pip, me termino de cerrar lo que estaba pasando: al pasar de un broker de 4 digitos a uno de 5 digitos, mis parametros por defecto de vieron divididos por 10 (porque no habia compensacion por los digitos), entonces el EA esta trabajando con un TP de 5 pips, un SL de 9 pips y un trailing de 1 pip, haciendo una especie de scalping, por eso las posiciones se abren y cierran en su mayoria en la misma vela de 30 minutos. Ahora que la compensacion esta programada, reduje los parametros por defecto por 10 para seguir trabajando con los resultados previos. Mas adelante discuto los parametros por defecto y como podemos homogeneizar nuestros resultados para las pruebas.

    GOROWIN:
    bienvenido colega de Argentina, y gracias por interesarte en el tema. En cuanto a los resultados que has obtenido, yo creo que puede deberse a alguna de las siguientes cuestiones:
    - Inicialmente comence desarrollando y probando con un broker de 4 digitos, y ahora lo estoy haciendo con uno de 5 digitos, en ese momento el EA comenzo a dar resultados positivos, creo que porque los valores de TP, SL y trailing quedaron divididos por 10. Ahora estoy adjuntando la version 1.4 que contempla los digitos que tiene el broker y lo compensa.
    - Estuve realizando las pruebas con un spread fijo de 2, y veo que tu reporte tiene un spread configurado en "current" de 16

    A TODOS LOS PARTICIPANTES QUE ESTEN PROBANDO Y ANALIZANDO EL EA:
    He sido un poco desordenado con las pruebas, y estamos obteniendo resultados dispares (gracias Gorowin por la observacion), por ello, me parece que deberíamos fijar las condiciones en las que hacemos las pruebas, para que cada uno de nosotros obtenga los mismos resultados y pueda proponer mejoras y parametros que les sean utiles al resto.
    Esta es la configuracion con la que estoy haciendo las pruebas:

    - Par: EURUSD
    - Parametros: Por defecto como estan en el EA que adjunto a continuacion
    - Timeframe: 30M (he obtenido buenos resultados con 4H y 1D con los mismos parametros)
    - Money Management: Por defecto ahora esta deshabilitado y opera con un lote fijo de 1 (mas abajo aclaro porque he fijado el valor de lote=1) para que veamos solamente la efectividad de la estrategia.
    - Spread: fijado en el estrategy tester en 2
    - Periodo: 2010.01.01 al 2014.06.01 (4 años y 5 meses)
    - Simulación: cada tick

    Este es el EA version 1.4 con todos sus parametros seteados a valores por defecto:

    MCSoft_EA_3MA_v1.4.mq4

    Y estos son los resultados de la estrategia que yo estoy obteniendo con la configuración comentada:

    Strategy Tester Report
    MCSoft_EA_3MA_v1.4
    AlpariUK-Demo-Market (Build 646)

    Símbolo EURUSD (Euro vs US Dollar)
    Período 30 minutos (M30) 2010.01.04 00:00 - 2014.05.30 23:30 (2010.01.01 - 2014.06.01)
    Modelo Cada tick (el método más preciso basado en todos los períodos menores disponibles)
    Parámetros ea_nombre="=== MCSoft_EA_3MA_v1.3 ==="; parametros_generales="===== PARAMETROS GENERALES ====="; ea_magic_number=12345; slip_page_en_pips=2; control_ordenes="===== CONTROL ORDENES ====="; permitir_ordenes_multiples=false; procesar_en_cierre=true; MoneyManagement="===== CONFIGURACION MONEY MANAGEMENT ====="; calcular_lotes=false; lotes_por_trade=1; porcentaje_riesgo_por_trade=1; HorarioTrading="===== CONTROL HORARIO ====="; habilitar_horario_trading=false; hora_inicio_trading="16:00"; hora_cierre_trading="11:30"; ControlPosiciones="===== CONTROL POSICIONES ====="; take_profit_en_pips=5; stop_loss_en_pips=9; TrailingStop="----- Configuracion Trailing Stop -----"; habilitar_trailing_stop=true; trailing_start_en_pips=1; trailing_stop_en_pips=1; SettingIndicadores="===== SETTING INDICADORES ====="; _Indicator="===== 3EMAS Cross Alert - Ciclo ====="; periodo_ma1=4; periodo_ma2=18; periodo_ma3=40; periodo_ma4=200;
    Barras en la prueba 55653 Ticks modelados 65152566 Calidad del modelado 90.00%
    Errores de gráficos mal agrupados 0
    Depósito inicial 10000.00 Diferencial 2
    Beneficio neto total 8381.20 Beneficio bruto 33266.60 Pérdida bruta -24885.40
    Factor de beneficio 1.34 Rentabilidad esperada 4.55
    Disminución absoluta 459.00 Disminución maximal 736.00 (3.98%) Disminución relativa 5.56% (684.00)
    Total de operaciones 1840 Posiciones cortas (ganado %) 864 (83.91%) Posiciones largas (ganado %) 976 (84.22%)
    Operaciones de beneficios (% del total) 1547 (84.08%) Operaciones de pérdidas (% del total) 293 (15.92%)
    Mayor Operaciones de beneficios 133.00 Operaciones de pérdidas -90.00
    Media Operaciones de beneficios 21.50 Operaciones de pérdidas -84.93
    Máximo ganancias consecutivas (beneficios en dinero) 61 (1552.00) pérdidas consecutivas (pérdidas en dinero) 4 (-304.00)
    Máximo beneficios consecutivos (número de ganancias) 1552.00 (61) pérdidas consecutivas (número de pérdidas) -304.00 (4)
    Media ganancias consecutivas 6 pérdidas consecutivas 1

    Mi primer aporte: Template EA en blanco-001-ea-3ema-v1.4-tf30m-lote-fijo-1-01_01_2010-hasta-01_06_2014.gif

    Quiero hacer un comentario, ya que el tema del money management y calculo del valor de la posicion es nuevo para mi, y quiero ver si lo estoy entendiendo correctamente:
    Con los parámetros por defecto, en cada trade el EA "se esta jugando" un valor de lote fijo de 1, lo que en EURUSD significa un valor de PIP de: Valor lote x tamaño lote x pip = 100000 x 1 x 0.0001 = 10 USD. Como el stop loss esta fijado en 9, la pérdida que se da si la orden alcanza el stoploss son 90 dolares, lo que para la cuenta de 10000 significa el 0.9%. Entonces, inicialmente podríamos aguantar una racha de hasta 111 operaciones perdedoras de 90 dolares sin reventar la cuenta (nuevamente, pido me corrijan si estoy calculando o interpretando algo mal).
    Este valor se mantiene fijo en todo el periodo de prueba, entonces, a medida que nuesta cuenta va creciendo, arriesgamos cada vez menos, y podríamos sobrevivir a rachas perdedoras mas largas.

    Por otro lado, con el money management habilitado, la cantidad de lotes con que se abre cada operación se calcula teniendo en cuenta la cantidad porcentual máxima que estamos dispuestos a perder en caso que la operación no resulte, es decir, el cáculo es al revés. Si ingresamos como parametro 0.9 en el parametro riesgo, inicialmente estamos en la misma situacion que antes, es decir, estamos dispuestos a perder el 0.9% de nuestra cuenta si la operacion no resulta, entonces el EA calcula un valor de lote de 1 (para la cuenta inicial de 10000 dolares), y hace la operacion, pero a medida que la cuenta va creciendo, se realizan operaciones más grandes, pero siempre manteniendo el porcentaje, por lo que siempre aguantaríamos la misma cantidad consecutiva de operaciones perdidas (en realidad con el MM la cosa mejora, porque a medida que vamos perdiendo el tamaño de lote decrece) A modo solo de observacion voy a postear los resultados con MM habilitado, un riesgo de 0.9% y manteniendo el resto de los parametros por defecto:

    Strategy Tester Report
    MCSoft_EA_3MA_v1.4
    AlpariUK-Demo-Market (Build 646)

    Símbolo EURUSD (Euro vs US Dollar)
    Período 30 minutos (M30) 2010.01.04 00:00 - 2014.05.30 23:30 (2010.01.01 - 2014.06.01)
    Modelo Cada tick (el método más preciso basado en todos los períodos menores disponibles)
    Parámetros ea_nombre="=== MCSoft_EA_3MA_v1.3 ==="; parametros_generales="===== PARAMETROS GENERALES ====="; ea_magic_number=12345; slip_page_en_pips=2; control_ordenes="===== CONTROL ORDENES ====="; permitir_ordenes_multiples=false; procesar_en_cierre=true; MoneyManagement="===== CONFIGURACION MONEY MANAGEMENT ====="; calcular_lotes=true; lotes_por_trade=1; porcentaje_riesgo_por_trade=0.9; HorarioTrading="===== CONTROL HORARIO ====="; habilitar_horario_trading=false; hora_inicio_trading="16:00"; hora_cierre_trading="11:30"; ControlPosiciones="===== CONTROL POSICIONES ====="; take_profit_en_pips=5; stop_loss_en_pips=9; TrailingStop="----- Configuracion Trailing Stop -----"; habilitar_trailing_stop=true; trailing_start_en_pips=1; trailing_stop_en_pips=1; SettingIndicadores="===== SETTING INDICADORES ====="; _Indicator="===== 3EMAS Cross Alert - Ciclo ====="; periodo_ma1=4; periodo_ma2=18; periodo_ma3=40; periodo_ma4=200;
    Barras en la prueba 55653 Ticks modelados 65152566 Calidad del modelado 90.00%
    Errores de gráficos mal agrupados 0
    Depósito inicial 10000.00 Diferencial 2
    Beneficio neto total 12640.64 Beneficio bruto 53574.30 Pérdida bruta -40933.66
    Factor de beneficio 1.31 Rentabilidad esperada 6.87
    Disminución absoluta 457.67 Disminución maximal 1648.42 (7.17%) Disminución relativa 7.17% (1648.42)
    Total de operaciones 1840 Posiciones cortas (ganado %) 864 (83.91%) Posiciones largas (ganado %) 976 (84.22%)
    Operaciones de beneficios (% del total) 1547 (84.08%) Operaciones de pérdidas (% del total) 293 (15.92%)
    Mayor Operaciones de beneficios 214.08 Operaciones de pérdidas -207.00
    Media Operaciones de beneficios 34.63 Operaciones de pérdidas -139.71
    Máximo ganancias consecutivas (beneficios en dinero) 61 (2257.96) pérdidas consecutivas (pérdidas en dinero) 4 (-673.30)
    Máximo beneficios consecutivos (número de ganancias) 2257.96 (61) pérdidas consecutivas (número de pérdidas) -673.30 (4)
    Media ganancias consecutivas 6 pérdidas consecutivas 1


    Mi primer aporte: Template EA en blanco-002-ea-3ema-v1.4-tf30m-lote-mm-0.9-prociento-de-riesgo-01_01_2010-hasta-01_06_2014.gif

    Este ultimo backtest lo hice para verificar el funcionamiento del MM, pero creo que debemos seguir manejandonos con lote fijo en 1 (parametro por defecto) asi trabajamos todos sobre la misma base.
    Espero sus comentarios.
    Saludos a todos!!!!!!
    Foro de Forex Trading United

  8. #8
    Avatar de Ciclo



    Reputación:
    Poder de reputación: 23

    Espana
    Mensajes: 2.510
    Créditos: 23.821

    Re: Mi primer aporte: Template EA en blanco

    ¡Gran trabajo amigo MCSoft! Estoy de acuerdo contigo con lo del MM. Esá sera nuestra segunda baza.

    Un abrazo.

    Foro de Forex Trading United

  9. #9
    Avatar de Ciclo



    Reputación:
    Poder de reputación: 23

    Espana
    Mensajes: 2.510
    Créditos: 23.821

    Re: Mi primer aporte: Template EA en blanco

    Cita Iniciado por MCSoft Ver mensaje
    Saludos amigos!!!!!
    Estoy de nuevo con otra actualización del EA, en este caso es la version 1.4. No postee en ningun momento la 1.3 porque comence a hacer modificaciones y me parecio conveniente directamente lanzar la 1.4
    Los cambios entre versiones hasta hora son (estan en el codigo fuente, pero para que todos lo vean):

    VERSIONES:
    - v1.0 - 26/06/2014 - MCSoft
    Version inicial desarrollada en base al indicador "3MAS Cross Alert v2.mq4"
    proporcionado por Ciclo.


    - v1.1 - 25/06/2014 - MCSoft
    Se agregó media 200 (ma4) para filtrar la tendencia a largo plazo
    se habilitaron operaciones de venta


    - v1.2 - 25/06/2014 - Hermo/MCsoft
    Siguiendo recomendaciones de Hermo, se acomodó el código de una manera mas legible
    Se modifico el calculo de los indicadores, para que el valor actual de cada indicador
    se calcule al cierre de la vela. El calculo previo era tick a tick y provocaba muchas
    veces apertura y cierre de operaciones en la misma vela


    - v1.3 - 25/06/2014 - Ciclo/MCsoft
    Se agregó la opción del horario de trading


    - v1.4 - 27/06/2014 - Hermo/MCsoft
    Se agregó el calculo automatico del valor del pip de acuerdo a la cantidad de digitos del broker
    Se programo nuevamente el money management para calcular el tamaño de cada operación en funcion del stop loss
    de la orden, y el porcentaje maximo de perdida de la cuenta en caso de que la operacion sea perdedora

    Creo que mas allá de los resultados que pueda dar este EA en dinero, creo que hemos logrado mucho aportando ideas y viendo como se aplican a un programa real.

    Respondo a todos en este post para no llenar el tema de mensajes individuales:

    CICLO:
    - En este EA esta implementado el control de horario. Esta hecho de una forma básica (horario de inicio y de final del trading) y aun no tiene la opcion de cerrar posiciones el viernes, pero creo que podemos empezar a hacer pruebas con ello. Luego le agregamos los dias permitidos de trading y la opcion de cerrar posiciones el viernes
    - En cuanto al MM, he implementado código nuevo, pero también he leido que es conveniente probar la estrategia con lote fijo para ver la efectividad sin la ayuda del MM.

    HERMO:
    - Aun no esta implementado el control del spread, pero si agregue la compensacion para los brokers de 3/5 y 6 digitos.
    - He tomado la observación que hiciste sobre la modificación del TakeProfit, y la he implementado de la misma manera, ahora desaparecio la opcion "trailing_take_profit" (la cual habia bautizado con ese nombre desde mi inexperiencia ja ja), y ahora, cuando el trailing stop detecta que la operacion logró los beneficios indicados en "trailing_start", simplemente le quita el takeprofit a la orden y actua corriendo solo el stoploss, para que la orden pueda tomar todos los beneficios posibles.
    - Sobre la compensacion del valor del pip: Comence mis pruebas con un metatrader limpio (bajado de la web metaquotes, no ligado a ningun broker), operando a 4 digitos, y luego, descargue otra versión con una cuenta demo de un broker de 5 digitos y a partir de ese momento el programa me comenzo a dar resultados positivos. Luego, cuando hablamos el tema de la compensación del pip, me termino de cerrar lo que estaba pasando: al pasar de un broker de 4 digitos a uno de 5 digitos, mis parametros por defecto de vieron divididos por 10 (porque no habia compensacion por los digitos), entonces el EA esta trabajando con un TP de 5 pips, un SL de 9 pips y un trailing de 1 pip, haciendo una especie de scalping, por eso las posiciones se abren y cierran en su mayoria en la misma vela de 30 minutos. Ahora que la compensacion esta programada, reduje los parametros por defecto por 10 para seguir trabajando con los resultados previos. Mas adelante discuto los parametros por defecto y como podemos homogeneizar nuestros resultados para las pruebas.

    GOROWIN:
    bienvenido colega de Argentina, y gracias por interesarte en el tema. En cuanto a los resultados que has obtenido, yo creo que puede deberse a alguna de las siguientes cuestiones:
    - Inicialmente comence desarrollando y probando con un broker de 4 digitos, y ahora lo estoy haciendo con uno de 5 digitos, en ese momento el EA comenzo a dar resultados positivos, creo que porque los valores de TP, SL y trailing quedaron divididos por 10. Ahora estoy adjuntando la version 1.4 que contempla los digitos que tiene el broker y lo compensa.
    - Estuve realizando las pruebas con un spread fijo de 2, y veo que tu reporte tiene un spread configurado en "current" de 16

    A TODOS LOS PARTICIPANTES QUE ESTEN PROBANDO Y ANALIZANDO EL EA:
    He sido un poco desordenado con las pruebas, y estamos obteniendo resultados dispares (gracias Gorowin por la observacion), por ello, me parece que deberíamos fijar las condiciones en las que hacemos las pruebas, para que cada uno de nosotros obtenga los mismos resultados y pueda proponer mejoras y parametros que les sean utiles al resto.
    Esta es la configuracion con la que estoy haciendo las pruebas:

    - Par: EURUSD
    - Parametros: Por defecto como estan en el EA que adjunto a continuacion
    - Timeframe: 30M (he obtenido buenos resultados con 4H y 1D con los mismos parametros)
    - Money Management: Por defecto ahora esta deshabilitado y opera con un lote fijo de 1 (mas abajo aclaro porque he fijado el valor de lote=1) para que veamos solamente la efectividad de la estrategia.
    - Spread: fijado en el estrategy tester en 2
    - Periodo: 2010.01.01 al 2014.06.01 (4 años y 5 meses)
    - Simulación: cada tick

    Este es el EA version 1.4 con todos sus parametros seteados a valores por defecto:

    MCSoft_EA_3MA_v1.4.mq4

    Y estos son los resultados de la estrategia que yo estoy obteniendo con la configuración comentada:

    Strategy Tester Report
    MCSoft_EA_3MA_v1.4
    AlpariUK-Demo-Market (Build 646)

    Símbolo EURUSD (Euro vs US Dollar)
    Período 30 minutos (M30) 2010.01.04 00:00 - 2014.05.30 23:30 (2010.01.01 - 2014.06.01)
    Modelo Cada tick (el método más preciso basado en todos los períodos menores disponibles)
    Parámetros ea_nombre="=== MCSoft_EA_3MA_v1.3 ==="; parametros_generales="===== PARAMETROS GENERALES ====="; ea_magic_number=12345; slip_page_en_pips=2; control_ordenes="===== CONTROL ORDENES ====="; permitir_ordenes_multiples=false; procesar_en_cierre=true; MoneyManagement="===== CONFIGURACION MONEY MANAGEMENT ====="; calcular_lotes=false; lotes_por_trade=1; porcentaje_riesgo_por_trade=1; HorarioTrading="===== CONTROL HORARIO ====="; habilitar_horario_trading=false; hora_inicio_trading="16:00"; hora_cierre_trading="11:30"; ControlPosiciones="===== CONTROL POSICIONES ====="; take_profit_en_pips=5; stop_loss_en_pips=9; TrailingStop="----- Configuracion Trailing Stop -----"; habilitar_trailing_stop=true; trailing_start_en_pips=1; trailing_stop_en_pips=1; SettingIndicadores="===== SETTING INDICADORES ====="; _Indicator="===== 3EMAS Cross Alert - Ciclo ====="; periodo_ma1=4; periodo_ma2=18; periodo_ma3=40; periodo_ma4=200;
    Barras en la prueba 55653 Ticks modelados 65152566 Calidad del modelado 90.00%
    Errores de gráficos mal agrupados 0
    Depósito inicial 10000.00 Diferencial 2
    Beneficio neto total 8381.20 Beneficio bruto 33266.60 Pérdida bruta -24885.40
    Factor de beneficio 1.34 Rentabilidad esperada 4.55
    Disminución absoluta 459.00 Disminución maximal 736.00 (3.98%) Disminución relativa 5.56% (684.00)
    Total de operaciones 1840 Posiciones cortas (ganado %) 864 (83.91%) Posiciones largas (ganado %) 976 (84.22%)
    Operaciones de beneficios (% del total) 1547 (84.08%) Operaciones de pérdidas (% del total) 293 (15.92%)
    Mayor Operaciones de beneficios 133.00 Operaciones de pérdidas -90.00
    Media Operaciones de beneficios 21.50 Operaciones de pérdidas -84.93
    Máximo ganancias consecutivas (beneficios en dinero) 61 (1552.00) pérdidas consecutivas (pérdidas en dinero) 4 (-304.00)
    Máximo beneficios consecutivos (número de ganancias) 1552.00 (61) pérdidas consecutivas (número de pérdidas) -304.00 (4)
    Media ganancias consecutivas 6 pérdidas consecutivas 1

    Mi primer aporte: Template EA en blanco-001-ea-3ema-v1.4-tf30m-lote-fijo-1-01_01_2010-hasta-01_06_2014.gif

    Quiero hacer un comentario, ya que el tema del money management y calculo del valor de la posicion es nuevo para mi, y quiero ver si lo estoy entendiendo correctamente:
    Con los parámetros por defecto, en cada trade el EA "se esta jugando" un valor de lote fijo de 1, lo que en EURUSD significa un valor de PIP de: Valor lote x tamaño lote x pip = 100000 x 1 x 0.0001 = 10 USD. Como el stop loss esta fijado en 9, la pérdida que se da si la orden alcanza el stoploss son 90 dolares, lo que para la cuenta de 10000 significa el 0.9%. Entonces, inicialmente podríamos aguantar una racha de hasta 111 operaciones perdedoras de 90 dolares sin reventar la cuenta (nuevamente, pido me corrijan si estoy calculando o interpretando algo mal).
    Este valor se mantiene fijo en todo el periodo de prueba, entonces, a medida que nuesta cuenta va creciendo, arriesgamos cada vez menos, y podríamos sobrevivir a rachas perdedoras mas largas.

    Por otro lado, con el money management habilitado, la cantidad de lotes con que se abre cada operación se calcula teniendo en cuenta la cantidad porcentual máxima que estamos dispuestos a perder en caso que la operación no resulte, es decir, el cáculo es al revés. Si ingresamos como parametro 0.9 en el parametro riesgo, inicialmente estamos en la misma situacion que antes, es decir, estamos dispuestos a perder el 0.9% de nuestra cuenta si la operacion no resulta, entonces el EA calcula un valor de lote de 1 (para la cuenta inicial de 10000 dolares), y hace la operacion, pero a medida que la cuenta va creciendo, se realizan operaciones más grandes, pero siempre manteniendo el porcentaje, por lo que siempre aguantaríamos la misma cantidad consecutiva de operaciones perdidas (en realidad con el MM la cosa mejora, porque a medida que vamos perdiendo el tamaño de lote decrece) A modo solo de observacion voy a postear los resultados con MM habilitado, un riesgo de 0.9% y manteniendo el resto de los parametros por defecto:

    Strategy Tester Report
    MCSoft_EA_3MA_v1.4
    AlpariUK-Demo-Market (Build 646)

    Símbolo EURUSD (Euro vs US Dollar)
    Período 30 minutos (M30) 2010.01.04 00:00 - 2014.05.30 23:30 (2010.01.01 - 2014.06.01)
    Modelo Cada tick (el método más preciso basado en todos los períodos menores disponibles)
    Parámetros ea_nombre="=== MCSoft_EA_3MA_v1.3 ==="; parametros_generales="===== PARAMETROS GENERALES ====="; ea_magic_number=12345; slip_page_en_pips=2; control_ordenes="===== CONTROL ORDENES ====="; permitir_ordenes_multiples=false; procesar_en_cierre=true; MoneyManagement="===== CONFIGURACION MONEY MANAGEMENT ====="; calcular_lotes=true; lotes_por_trade=1; porcentaje_riesgo_por_trade=0.9; HorarioTrading="===== CONTROL HORARIO ====="; habilitar_horario_trading=false; hora_inicio_trading="16:00"; hora_cierre_trading="11:30"; ControlPosiciones="===== CONTROL POSICIONES ====="; take_profit_en_pips=5; stop_loss_en_pips=9; TrailingStop="----- Configuracion Trailing Stop -----"; habilitar_trailing_stop=true; trailing_start_en_pips=1; trailing_stop_en_pips=1; SettingIndicadores="===== SETTING INDICADORES ====="; _Indicator="===== 3EMAS Cross Alert - Ciclo ====="; periodo_ma1=4; periodo_ma2=18; periodo_ma3=40; periodo_ma4=200;
    Barras en la prueba 55653 Ticks modelados 65152566 Calidad del modelado 90.00%
    Errores de gráficos mal agrupados 0
    Depósito inicial 10000.00 Diferencial 2
    Beneficio neto total 12640.64 Beneficio bruto 53574.30 Pérdida bruta -40933.66
    Factor de beneficio 1.31 Rentabilidad esperada 6.87
    Disminución absoluta 457.67 Disminución maximal 1648.42 (7.17%) Disminución relativa 7.17% (1648.42)
    Total de operaciones 1840 Posiciones cortas (ganado %) 864 (83.91%) Posiciones largas (ganado %) 976 (84.22%)
    Operaciones de beneficios (% del total) 1547 (84.08%) Operaciones de pérdidas (% del total) 293 (15.92%)
    Mayor Operaciones de beneficios 214.08 Operaciones de pérdidas -207.00
    Media Operaciones de beneficios 34.63 Operaciones de pérdidas -139.71
    Máximo ganancias consecutivas (beneficios en dinero) 61 (2257.96) pérdidas consecutivas (pérdidas en dinero) 4 (-673.30)
    Máximo beneficios consecutivos (número de ganancias) 2257.96 (61) pérdidas consecutivas (número de pérdidas) -673.30 (4)
    Media ganancias consecutivas 6 pérdidas consecutivas 1

    Mi primer aporte: Template EA en blanco-002-ea-3ema-v1.4-tf30m-lote-mm-0.9-prociento-de-riesgo-01_01_2010-hasta-01_06_2014.gif

    Este ultimo backtest lo hice para verificar el funcionamiento del MM, pero creo que debemos seguir manejandonos con lote fijo en 1 (parametro por defecto) asi trabajamos todos sobre la misma base.
    Espero sus comentarios.
    Saludos a todos!!!!!!
    Parece que el sistema sigue mejorando.

    Otra idea para mejorar las ganancias.
    Dado que la tasa de aciertos es mayor del 80% y que el maximo numero de perdidas consecutivas es de 4, y la media de perdidas consecutivas es de 1, se me ocurre así a bote pronto una martingala soft.

    Ya que la media de perdidas consecutivas es de 1, quiere decir que la mayoria de las perdias consecutivas es de 1. Por tanto una martingala de 1 una vez podria mejorar compensar esa perdida. Por ejemplo se pierde una operacion y la siguiente doblamos el tamaño por ejemplo de 1 a 2. Si ganamos la proxima operación volvemos a 1 lote y hemos compensado la perdida anterior, si perdemos nos quedamos con una perdida de 3 lotes, por que igualmente nuestra proxima operacion sera de un lote. Como la mayoria de las perdias consecutivas es una vez, lo logico es que la mayoria de las veces nuestra martingala sea ganadora.

    No se que os parece.

    Saludos.
    Foro de Forex Trading United

  10. #10
    Avatar de gorowin



    Reputación:
    Poder de reputación: 12

    Argentina
    Mensajes: 57
    Créditos: 1.866

    Re: Mi primer aporte: Template EA en blanco

    Hola, ahora si jaja.

    Con esos parámetros los resultados son similares.

    Entonces quiere decir que poniendo el parámetro Diferencial en 2, estamos trabajando con un Spread máximo de 2 pips por operación ?

    Gorowin


    Cita Iniciado por MCSoft Ver mensaje
    Saludos amigos!!!!!
    Estoy de nuevo con otra actualización del EA, en este caso es la version 1.4. No postee en ningun momento la 1.3 porque comence a hacer modificaciones y me parecio conveniente directamente lanzar la 1.4
    Los cambios entre versiones hasta hora son (estan en el codigo fuente, pero para que todos lo vean):

    VERSIONES:
    - v1.0 - 26/06/2014 - MCSoft
    Version inicial desarrollada en base al indicador "3MAS Cross Alert v2.mq4"
    proporcionado por Ciclo.


    - v1.1 - 25/06/2014 - MCSoft
    Se agregó media 200 (ma4) para filtrar la tendencia a largo plazo
    se habilitaron operaciones de venta


    - v1.2 - 25/06/2014 - Hermo/MCsoft
    Siguiendo recomendaciones de Hermo, se acomodó el código de una manera mas legible
    Se modifico el calculo de los indicadores, para que el valor actual de cada indicador
    se calcule al cierre de la vela. El calculo previo era tick a tick y provocaba muchas
    veces apertura y cierre de operaciones en la misma vela


    - v1.3 - 25/06/2014 - Ciclo/MCsoft
    Se agregó la opción del horario de trading


    - v1.4 - 27/06/2014 - Hermo/MCsoft
    Se agregó el calculo automatico del valor del pip de acuerdo a la cantidad de digitos del broker
    Se programo nuevamente el money management para calcular el tamaño de cada operación en funcion del stop loss
    de la orden, y el porcentaje maximo de perdida de la cuenta en caso de que la operacion sea perdedora

    Creo que mas allá de los resultados que pueda dar este EA en dinero, creo que hemos logrado mucho aportando ideas y viendo como se aplican a un programa real.

    Respondo a todos en este post para no llenar el tema de mensajes individuales:

    CICLO:
    - En este EA esta implementado el control de horario. Esta hecho de una forma básica (horario de inicio y de final del trading) y aun no tiene la opcion de cerrar posiciones el viernes, pero creo que podemos empezar a hacer pruebas con ello. Luego le agregamos los dias permitidos de trading y la opcion de cerrar posiciones el viernes
    - En cuanto al MM, he implementado código nuevo, pero también he leido que es conveniente probar la estrategia con lote fijo para ver la efectividad sin la ayuda del MM.

    HERMO:
    - Aun no esta implementado el control del spread, pero si agregue la compensacion para los brokers de 3/5 y 6 digitos.
    - He tomado la observación que hiciste sobre la modificación del TakeProfit, y la he implementado de la misma manera, ahora desaparecio la opcion "trailing_take_profit" (la cual habia bautizado con ese nombre desde mi inexperiencia ja ja), y ahora, cuando el trailing stop detecta que la operacion logró los beneficios indicados en "trailing_start", simplemente le quita el takeprofit a la orden y actua corriendo solo el stoploss, para que la orden pueda tomar todos los beneficios posibles.
    - Sobre la compensacion del valor del pip: Comence mis pruebas con un metatrader limpio (bajado de la web metaquotes, no ligado a ningun broker), operando a 4 digitos, y luego, descargue otra versión con una cuenta demo de un broker de 5 digitos y a partir de ese momento el programa me comenzo a dar resultados positivos. Luego, cuando hablamos el tema de la compensación del pip, me termino de cerrar lo que estaba pasando: al pasar de un broker de 4 digitos a uno de 5 digitos, mis parametros por defecto de vieron divididos por 10 (porque no habia compensacion por los digitos), entonces el EA esta trabajando con un TP de 5 pips, un SL de 9 pips y un trailing de 1 pip, haciendo una especie de scalping, por eso las posiciones se abren y cierran en su mayoria en la misma vela de 30 minutos. Ahora que la compensacion esta programada, reduje los parametros por defecto por 10 para seguir trabajando con los resultados previos. Mas adelante discuto los parametros por defecto y como podemos homogeneizar nuestros resultados para las pruebas.

    GOROWIN:
    bienvenido colega de Argentina, y gracias por interesarte en el tema. En cuanto a los resultados que has obtenido, yo creo que puede deberse a alguna de las siguientes cuestiones:
    - Inicialmente comence desarrollando y probando con un broker de 4 digitos, y ahora lo estoy haciendo con uno de 5 digitos, en ese momento el EA comenzo a dar resultados positivos, creo que porque los valores de TP, SL y trailing quedaron divididos por 10. Ahora estoy adjuntando la version 1.4 que contempla los digitos que tiene el broker y lo compensa.
    - Estuve realizando las pruebas con un spread fijo de 2, y veo que tu reporte tiene un spread configurado en "current" de 16

    A TODOS LOS PARTICIPANTES QUE ESTEN PROBANDO Y ANALIZANDO EL EA:
    He sido un poco desordenado con las pruebas, y estamos obteniendo resultados dispares (gracias Gorowin por la observacion), por ello, me parece que deberíamos fijar las condiciones en las que hacemos las pruebas, para que cada uno de nosotros obtenga los mismos resultados y pueda proponer mejoras y parametros que les sean utiles al resto.
    Esta es la configuracion con la que estoy haciendo las pruebas:

    - Par: EURUSD
    - Parametros: Por defecto como estan en el EA que adjunto a continuacion
    - Timeframe: 30M (he obtenido buenos resultados con 4H y 1D con los mismos parametros)
    - Money Management: Por defecto ahora esta deshabilitado y opera con un lote fijo de 1 (mas abajo aclaro porque he fijado el valor de lote=1) para que veamos solamente la efectividad de la estrategia.
    - Spread: fijado en el estrategy tester en 2
    - Periodo: 2010.01.01 al 2014.06.01 (4 años y 5 meses)
    - Simulación: cada tick

    Este es el EA version 1.4 con todos sus parametros seteados a valores por defecto:

    MCSoft_EA_3MA_v1.4.mq4

    Y estos son los resultados de la estrategia que yo estoy obteniendo con la configuración comentada:

    Strategy Tester Report
    MCSoft_EA_3MA_v1.4
    AlpariUK-Demo-Market (Build 646)

    Símbolo EURUSD (Euro vs US Dollar)
    Período 30 minutos (M30) 2010.01.04 00:00 - 2014.05.30 23:30 (2010.01.01 - 2014.06.01)
    Modelo Cada tick (el método más preciso basado en todos los períodos menores disponibles)
    Parámetros ea_nombre="=== MCSoft_EA_3MA_v1.3 ==="; parametros_generales="===== PARAMETROS GENERALES ====="; ea_magic_number=12345; slip_page_en_pips=2; control_ordenes="===== CONTROL ORDENES ====="; permitir_ordenes_multiples=false; procesar_en_cierre=true; MoneyManagement="===== CONFIGURACION MONEY MANAGEMENT ====="; calcular_lotes=false; lotes_por_trade=1; porcentaje_riesgo_por_trade=1; HorarioTrading="===== CONTROL HORARIO ====="; habilitar_horario_trading=false; hora_inicio_trading="16:00"; hora_cierre_trading="11:30"; ControlPosiciones="===== CONTROL POSICIONES ====="; take_profit_en_pips=5; stop_loss_en_pips=9; TrailingStop="----- Configuracion Trailing Stop -----"; habilitar_trailing_stop=true; trailing_start_en_pips=1; trailing_stop_en_pips=1; SettingIndicadores="===== SETTING INDICADORES ====="; _Indicator="===== 3EMAS Cross Alert - Ciclo ====="; periodo_ma1=4; periodo_ma2=18; periodo_ma3=40; periodo_ma4=200;
    Barras en la prueba 55653 Ticks modelados 65152566 Calidad del modelado 90.00%
    Errores de gráficos mal agrupados 0
    Depósito inicial 10000.00 Diferencial 2
    Beneficio neto total 8381.20 Beneficio bruto 33266.60 Pérdida bruta -24885.40
    Factor de beneficio 1.34 Rentabilidad esperada 4.55
    Disminución absoluta 459.00 Disminución maximal 736.00 (3.98%) Disminución relativa 5.56% (684.00)
    Total de operaciones 1840 Posiciones cortas (ganado %) 864 (83.91%) Posiciones largas (ganado %) 976 (84.22%)
    Operaciones de beneficios (% del total) 1547 (84.08%) Operaciones de pérdidas (% del total) 293 (15.92%)
    Mayor Operaciones de beneficios 133.00 Operaciones de pérdidas -90.00
    Media Operaciones de beneficios 21.50 Operaciones de pérdidas -84.93
    Máximo ganancias consecutivas (beneficios en dinero) 61 (1552.00) pérdidas consecutivas (pérdidas en dinero) 4 (-304.00)
    Máximo beneficios consecutivos (número de ganancias) 1552.00 (61) pérdidas consecutivas (número de pérdidas) -304.00 (4)
    Media ganancias consecutivas 6 pérdidas consecutivas 1

    Mi primer aporte: Template EA en blanco-001-ea-3ema-v1.4-tf30m-lote-fijo-1-01_01_2010-hasta-01_06_2014.gif

    Quiero hacer un comentario, ya que el tema del money management y calculo del valor de la posicion es nuevo para mi, y quiero ver si lo estoy entendiendo correctamente:
    Con los parámetros por defecto, en cada trade el EA "se esta jugando" un valor de lote fijo de 1, lo que en EURUSD significa un valor de PIP de: Valor lote x tamaño lote x pip = 100000 x 1 x 0.0001 = 10 USD. Como el stop loss esta fijado en 9, la pérdida que se da si la orden alcanza el stoploss son 90 dolares, lo que para la cuenta de 10000 significa el 0.9%. Entonces, inicialmente podríamos aguantar una racha de hasta 111 operaciones perdedoras de 90 dolares sin reventar la cuenta (nuevamente, pido me corrijan si estoy calculando o interpretando algo mal).
    Este valor se mantiene fijo en todo el periodo de prueba, entonces, a medida que nuesta cuenta va creciendo, arriesgamos cada vez menos, y podríamos sobrevivir a rachas perdedoras mas largas.

    Por otro lado, con el money management habilitado, la cantidad de lotes con que se abre cada operación se calcula teniendo en cuenta la cantidad porcentual máxima que estamos dispuestos a perder en caso que la operación no resulte, es decir, el cáculo es al revés. Si ingresamos como parametro 0.9 en el parametro riesgo, inicialmente estamos en la misma situacion que antes, es decir, estamos dispuestos a perder el 0.9% de nuestra cuenta si la operacion no resulta, entonces el EA calcula un valor de lote de 1 (para la cuenta inicial de 10000 dolares), y hace la operacion, pero a medida que la cuenta va creciendo, se realizan operaciones más grandes, pero siempre manteniendo el porcentaje, por lo que siempre aguantaríamos la misma cantidad consecutiva de operaciones perdidas (en realidad con el MM la cosa mejora, porque a medida que vamos perdiendo el tamaño de lote decrece) A modo solo de observacion voy a postear los resultados con MM habilitado, un riesgo de 0.9% y manteniendo el resto de los parametros por defecto:

    Strategy Tester Report
    MCSoft_EA_3MA_v1.4
    AlpariUK-Demo-Market (Build 646)

    Símbolo EURUSD (Euro vs US Dollar)
    Período 30 minutos (M30) 2010.01.04 00:00 - 2014.05.30 23:30 (2010.01.01 - 2014.06.01)
    Modelo Cada tick (el método más preciso basado en todos los períodos menores disponibles)
    Parámetros ea_nombre="=== MCSoft_EA_3MA_v1.3 ==="; parametros_generales="===== PARAMETROS GENERALES ====="; ea_magic_number=12345; slip_page_en_pips=2; control_ordenes="===== CONTROL ORDENES ====="; permitir_ordenes_multiples=false; procesar_en_cierre=true; MoneyManagement="===== CONFIGURACION MONEY MANAGEMENT ====="; calcular_lotes=true; lotes_por_trade=1; porcentaje_riesgo_por_trade=0.9; HorarioTrading="===== CONTROL HORARIO ====="; habilitar_horario_trading=false; hora_inicio_trading="16:00"; hora_cierre_trading="11:30"; ControlPosiciones="===== CONTROL POSICIONES ====="; take_profit_en_pips=5; stop_loss_en_pips=9; TrailingStop="----- Configuracion Trailing Stop -----"; habilitar_trailing_stop=true; trailing_start_en_pips=1; trailing_stop_en_pips=1; SettingIndicadores="===== SETTING INDICADORES ====="; _Indicator="===== 3EMAS Cross Alert - Ciclo ====="; periodo_ma1=4; periodo_ma2=18; periodo_ma3=40; periodo_ma4=200;
    Barras en la prueba 55653 Ticks modelados 65152566 Calidad del modelado 90.00%
    Errores de gráficos mal agrupados 0
    Depósito inicial 10000.00 Diferencial 2
    Beneficio neto total 12640.64 Beneficio bruto 53574.30 Pérdida bruta -40933.66
    Factor de beneficio 1.31 Rentabilidad esperada 6.87
    Disminución absoluta 457.67 Disminución maximal 1648.42 (7.17%) Disminución relativa 7.17% (1648.42)
    Total de operaciones 1840 Posiciones cortas (ganado %) 864 (83.91%) Posiciones largas (ganado %) 976 (84.22%)
    Operaciones de beneficios (% del total) 1547 (84.08%) Operaciones de pérdidas (% del total) 293 (15.92%)
    Mayor Operaciones de beneficios 214.08 Operaciones de pérdidas -207.00
    Media Operaciones de beneficios 34.63 Operaciones de pérdidas -139.71
    Máximo ganancias consecutivas (beneficios en dinero) 61 (2257.96) pérdidas consecutivas (pérdidas en dinero) 4 (-673.30)
    Máximo beneficios consecutivos (número de ganancias) 2257.96 (61) pérdidas consecutivas (número de pérdidas) -673.30 (4)
    Media ganancias consecutivas 6 pérdidas consecutivas 1

    Mi primer aporte: Template EA en blanco-002-ea-3ema-v1.4-tf30m-lote-mm-0.9-prociento-de-riesgo-01_01_2010-hasta-01_06_2014.gif

    Este ultimo backtest lo hice para verificar el funcionamiento del MM, pero creo que debemos seguir manejandonos con lote fijo en 1 (parametro por defecto) asi trabajamos todos sobre la misma base.
    Espero sus comentarios.
    Saludos a todos!!!!!!
    Foro de Forex Trading United

Página 1 de 2 12 ÚltimoÚltimo
This website uses cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

 

Publi


Aviso Legal
Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal