Herramientas MT4 Mi primer aporte: Template EA en blanco

 

Publi

Mi primer aporte: Template EA en blanco

 

Publi

Página 1 de 7 12345 ... ÚltimoÚltimo
Resultados 1 al 10 de 63


  1. #1
    Avatar de Puk33
    Heidelbergensis


    Reputación:
    Poder de reputación: 20

    Mensajes: 2.123
    Créditos: 1.961

    Re: Mi primer aporte: Template EA en blanco


    Publi
    Muchas gracias compañero, muy buen aporte. Por supuesto te mando reputación.

    Cita Iniciado por MCSoft Ver mensaje
    Hola amigos, como dije en mi presentación ante esta comunidad, tengo experiencia en desarrollo c/c++/python, y aunque soy un novato total en el trading quiero aportar desde don de pueda, por ello, les traigo un template en blanco que realice para programar vuestros EAs. El template incluye:
    - Opcion de procesar en cada tick o en la apertura de la barra
    - Opcion de procesar o no TrailingStop en cada tick sobre las ordenes abiertas
    - Opcion de lote fijo o calculo del mismo antes de cada operación (money management)
    - Opcion de solo abrir ordenes en base a la estrategia, o también operar con señales de cierre
    - Opción de una sola orden abierta por vez, o permitir multiples ordenes.

    Traté de hacerlo lo mas sencillo posible, bien comentado para que sea facilmente modificable. En el codigo se indica cada paso y operación que se hace, y se indica en donde es necesario incluir el codigo de la estrategia y los indicadores que usen.
    Espero vuestros comentarios para mejorarlo lo mas posible.
    Saludos!!!!!!!
    Foro de Forex Trading United


    Solo los intrépidos llegan...

  2. Publi
    Publi


  3. #2
    Avatar de mrcl1001
    ergaster


    Reputación:
    Poder de reputación: 11

    Espana
    Mensajes: 30
    Créditos: 879

    Re: Mi primer aporte: Template EA en blanco

    Hola compañeros,
    He estado mirando el hilo.... no tengo palabras, sois todos unos cracks !!!!, he estado viendo a ver en que puedo echar un cable pero es que no se ni por donde empezar, me dáis mil vueltas, asi que testearé algo (que también veo que lo tenéis muy trillado). A ver si se me ocurre algo que aportar :S
    Foro de Forex Trading United

  4. #3
    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
    Hola amigos, como dije en mi presentación ante esta comunidad, tengo experiencia en desarrollo c/c++/python, y aunque soy un novato total en el trading quiero aportar desde don de pueda, por ello, les traigo un template en blanco que realice para programar vuestros EAs. El template incluye:
    - Opcion de procesar en cada tick o en la apertura de la barra
    - Opcion de procesar o no TrailingStop en cada tick sobre las ordenes abiertas
    - Opcion de lote fijo o calculo del mismo antes de cada operación (money management)
    - Opcion de solo abrir ordenes en base a la estrategia, o también operar con señales de cierre
    - Opción de una sola orden abierta por vez, o permitir multiples ordenes.

    Traté de hacerlo lo mas sencillo posible, bien comentado para que sea facilmente modificable. En el codigo se indica cada paso y operación que se hace, y se indica en donde es necesario incluir el codigo de la estrategia y los indicadores que usen.
    Espero vuestros comentarios para mejorarlo lo mas posible.
    Saludos!!!!!!!



    MCSoft muchas gracias por tu aporte. Es una buena idea. El siguiente paso seria tener un criterio de entrada y salida y aplicarlo para ver un verdadero EA terminado. Que gane o no dinero da igual, lo importante es ver la aplicacion de la plantilla a un EA real. Si quieres yo te paso un indicador que hice de cruce de tres medias moviles y ver el triple cruce de la muerte con criterios para entradas y salidas. El indicador dibuja flechas para la entrada y otro simbolo para la salida. Funciona muy bien para tendencias pero muy mal para rangos. Estaria bien adaptar la idea para un EA. A mi me vendria muy bien para aprender por que llegue al indicador modificando otro de cruce de dos medias moviles. Ideas no me faltan pero estoy muy verde en esto de la programacion y de EAs no se nada.

    Por supuesto tienes reputación por mi parte por esta buena idea y trabajo. Espero que esto no se quede aquí y podamos ir desarrollando un EA universal mas complejo, por ejemplo con Money Management o algunas cosas que se nos vaya ocurriendo para mejorarlo. Podria aportar un scrip para que lo vieras que tambien te puede colocar el stop de forma manual o automatica, y segun ese stop te calcula la distancia del stop segun el riesgo elegido. En fin podriamos llegar a un EA maravilloso.

    Me encante el estilo de programación mediante funciones es un estilo claro y versatil.

    Un abrazo.

    Foro de Forex Trading United

  5. #4




    Reputación:
    Poder de reputación: 10

    Mensajes: 26
    Créditos: 1.634

    Re: Mi primer aporte: Template EA en blanco

    Cita Iniciado por MCSoft Ver mensaje
    robertomar, gracias por tu interes en el tema.
    Estoy 100% de acuerdo contigo, hay miles de formas de programar, yo mismo he pasado por varias etapas en mi vida como programador (programacion procedimental, funcional, orientada a eventos, multithreading, maquinas de estados, etc).
    Lo que menos pretendo es obligar o plantear una unica manera de hacer las cosas, todo lo contrario, solo pretendia comenzar con un código sencillo, principalmente para los no programadores, para alentarlos a que discutan y pregunten, porque hay muchas maneras de hacer las cosas, y depende mucho de la funcionalidad que se necesite.
    aprovecho para comentarles a todos que he abierto un nuevo tema comenzando con la plantilla de un indicador en blanco. Lo hice en un nuevo tema porque no quiero mezclar la programacion de EAs con la de indicadores, ya que requieren enfoques diferentes.
    Saludos a todos!!!! y por favor, sigan planteando ideas y discusiones que es la unica manera de mejorar!!!!!
    robertomar, me falto solo una aclaración sobre las variables input y extern que mencionas en tu mensaje:
    Las variables input y extern tienen el mismo comportamiento desde el punto de vista del ingreso de parametros al EA, también, ambos tipos de variables se pueden optimizar.
    La unica diferencia entre las variables input y extern es que las primeras, son constantes dentro del programa (no se les puede asignar un valor nuevo por código mientras el EA esta corriendo), mientras que las extern se pueden modificar dentro del código:
    Extern variables - MQL4 Documentation
    Saludos!!!!!
    Foro de Forex Trading United

  6. #5
    Avatar de Hermo



    Reputación:
    Poder de reputación: 18

    Mensajes: 879
    Créditos: 6.631

    1º Version 3MAS Cross Alert v2

    Cita Iniciado por MCSoft Ver mensaje
    Buenas tardes amigos!!!!

    Este es el código completo del EA:

    Archivo adjunto 28529

    Desde ya voy adelantando que el resultado por defecto no es muy satisfactorio, este es un backtesting entre 01/01/2012 y 01/01/2014 (2 años):

    Archivo adjunto 28530

    He obtenido mejores resultando eliminando los bloques de cierre de operaciones y la generacion de señales de venta, e decir, solo dejando la generacion de señales de compra, y dejando que las operaciones se cierren por stop o por profit (el trailing stop esta activado), se obtiene un resultado mejor:

    Archivo adjunto 28534

    Este es el EA que solo genera señales de compra (no genera señales de venta ni de cierre):

    Archivo adjunto 28533

    Aunque la curva del balance no se vea muy alentadora, el reporte del test indica 79% de operaciones ganadoras. Pregunto a los traders experimentados: con ese porcentaje de operaciones ganadoras, este EA tiene esperanzas de llegar a ser beneficioso?

    Bueno amigos, espero vuestros comentarios, me gustaría que prueben el código, lo optimicen y propongamos entre todos que mejoras se pueden hacer para tratar de que este EA de beneficios.
    Saludos!!!!!
    Buenos días MCSoft:

    Por partes:

    * ENORME CON EL TRABAJO DE PROGRAMACION, todavía no he visto el código, pero solo por el trabajo que has realizado te mereces todo mi respeto.Mi primer aporte: Template EA en blanco-aplaudir.gif


    * Antes de ponerme con el código, insisto y para no mezclar churras con merinas ("dos razas de ovejas diferentes"), deberíamos de diferenciar pasos.

    A la hora de plantearnos automatizar una estrategia existen varios pasos que aunque correlacionados os daréis cuenta que no tienen nada que ver unos con otros. Voy a tratar de resumir los que yo considero más importantes.

    1º Paso, Borrador de la estrategia, por ejemplo este paso nos lo hemos saltado, también es cierto que el tema no trata de proponer estrategias para programar, si no de programación, pero bueno, creo que es un paso importante y que todo el mundo debería de realizar antes de ponerse a programar nada, dejar claras todas las normas y condiciones de su sistema ya sea en un cuaderno viejo, en un Word, en bloc de notas, en la pared de su dormitorio... etc.

    2º Paso, Programar, evidentemente paso vinculado a saber de programación, este es en el tema que estamos, súper interesante y que tiene para largo.

    3º Paso, Comprobación, TODO FUNCIONA CORRECTAMENTE, no pongo en duda que lo que has programado está bien MCSoft, solo lo digo para que la gente se acostumbre a los buenos hábitos, antes de buscar resultados en una Ea, deberíamos de comprobar que todo funciona correctamente y que hace lo que tiene que hacer sin excepción. Ya sea con pruebas visuales en cuentas demo ya sea en un backtest.

    4º Paso, Análisis, así le llamamos en el Grupo de trabajo al que pertenezco, esto ya es otro tema que como he dicho antes aunque correlacionado, no tiene nada que ver con programación, esto ya es otro debate infinito y que sería maravilloso escuchar todo lo que podáis aportar sobre el análisis de una EA y sus resultado. Me refiero a las pruebas de optimización, posterior backtest y por poner un punto y final, conclusiones. Como podéis ver a este último paso tendría sus diferentes apartados, aunque os parezca un rollo, no lo es, sé que es engorroso, pero o se hace bien o no se hace, eso es lo que tenéis que tener claro. Con este cuarto paso te contesto a lo que te remarco en rojo MCSoft. Por lo tanto te propongo, ya que has iniciado tú el Tema, que hagas exactamente lo mismo, abre un tema nuevo proponiendo el Análisis de esta EA y las que puedan venir, así separas los diferentes pasos y queda todo más limpio.

    Yo a lo largo del día veré ese fantástico código y seguro que te preguntare cosillas.

    Un fuerte abrazo y muchísimas gracias a todos.

    Hermo.

    PD. Es una propuesta, no significa que yo tenga razon o que lo querais hacer de otro modo, ok.
    Foro de Forex Trading United



  7. #6




    Reputación:
    Poder de reputación: 10

    Mensajes: 26
    Créditos: 1.634

    Re: Mi primer aporte: Template EA en blanco

    Cita Iniciado por robertomar Ver mensaje
    Muchísimas gracias por la iniciativa MRCSoft. Me parece un buen punto de partida para muchas personas que son traders pero no se han adentrado en el mundo del trading automático, y hasta les da casi miedo abrir el código y las entrañas del EA.


    Mi humilde opinión es que, como bien dice Hermo, yo prefiero programar directamente las condiciones de mi estrategia y, dependiende de qué cosas vaya a usar o meterle a la misma (BreakEven, TrailingStop, Money Management, etc etc etc) entonces le voy añadiendo lo necesario, pero solo y exclusivamente lo necesario. Pienso que tener una plantilla con todo es posible que le pueda facilitar el trabajo a quien no ha abierto nunca el código de un EA y que, por tanto, pueda meter en la parte correspondiente el bloque de su estrategia y tirar para adelante, pero como bien sabes en el propio código, en la propia estrategia, y en los propios indicadores que ésta pueda usar hay 1000 matices y cada una requerirá unos procesos y una codificación diferente.

    Por ejemplo, es posible que por necesidades de la propia estrategia y de cómo y cuándo compruebe sus señales, o cúando vaya modificando su SL o su Trailing, etc, sea necesario usar otras funciones adicionales al OnTick(), como por ejemplo en ciertas estrategias puede ser necesario usar el OnTimer(), el OnCalculate, o el OnChartEvent(). Por lo que no veo tan sencillo ni tan óptimo en cuanto a resultado final codificado, meterle unas señales de entrada o salida exclusivamente ahí a una plantilla con todos los bloques. Yo más bien veo estas plantillas muy útiles para, por ejemplo, si yo no se como hacer un Trailing, pues cojo y en mi EA donde ya tengo programada la estrategia, sus señales, tengo externalizadas las variables de mis indicadores, etc etc y todo optimizado en base a sus necesidades, entonces le meto sólo el bloque del Trailing que lleva la plantilla. Veo más óptimo el proceso de esta forma como dice Hermo.

    También estas plantillas nos pueden valer para darnos ideas si hay algunas cosas que no sabemos cómo hacerlas y llevan el módulo correspondiente que nos podemos copiar en nuestros EAs.

    Igualmente hay programas que te generan código sin tener que saber programar, tú solo le pones las condiciones de tu estrategia en un entorno gráfico y ellos ya te generan todo el código, pero para mí tienen el mismo problema, y es que usan el mismo concepto este , con una plantilla digamos "global" donde van todas, absolutamente todas las funciones posibles que puedes pedirle al EA, por si acaso luego las vas a usar, pero a lo mejor de 100 funciones tú y tu estrategia al final solo usas 6 u 8, con lo cual tienes miles de líneas de código inútilmente. Te pongo el ejemplo de un EA generado por este sistema, que tardaba 35 minutos en realizar un backtest por el método del 99% con datos de tick (un simple backtest y no una optimización), y encima nos generaba un archivo de log hipermegasuper detallado que nos ocupaba 4,5 GB (si Gigabytes, habeis leíddo bien, jeje). Pues bien, empecé a eliminar todas las funciones que no se usaban (cientos), y a recolocar aquellas que, por ejemplo no era necesario que me comprobase en cada tick, sino que era suficiente que lo hiciese a apertura de vela, además de añadirle otra opción para que no me generase log detallado y, el mismo backtest, con los mismos históricos ahora me tarda menos de 5 minutos. Sin embargo, tardé varias horas en ver cómo estaba todo el código e ir viendo qué podía eliminar y qué no, y cómo podía recolocarlo todo.

    Conclusión: tardo mucho más en eliminar partes que no voy a usar, y en depurar el código que en hacerlo desde 0, o si no desde 0, al menos cogiendo código hecho, pero solo de lo que mi EA va a necesitar y usar. (No es el caso de tu plantilla, porque aún no lleva todas las funciones, pero imagina que se empieza a trabajar, la gente empieza a aportar ideas, y se le van añadiendo 1000 opciones más para cubrir las necesidades de todo el mundo). En ese caso ya estaríamos en las mismas, y mi humilde opinión es que es muy de agradecer y que nos sería muy válida, pero para cuando queramos meter un módulo de lo que sea y no sepamos cómo hacerlo o nos de pereza programarlo desde 0, entonces cogerlo de la plantilla y pegarlo directamente en nuestro EA, pero hacerlo al revés no lo veo óptimo, por los motivos comentados.

    Por otra parte, viendo el código de la plantilla, yo algunas de las variables que metes con input, las metería como extern, (sobre todo SL, TP, etc etc), ya que como input sí que puedes modificarlas en las propiedades del EA a la hora de hacer el backtest, pero no puedes incluírlas en los procesos de optimización.

    Lo dicho, muchísimas gracias por la iniciativa. También llevas mi reputación.

    Saludos y abrazos a todos.
    robertomar, gracias por tu interes en el tema.
    Estoy 100% de acuerdo contigo, hay miles de formas de programar, yo mismo he pasado por varias etapas en mi vida como programador (programacion procedimental, funcional, orientada a eventos, multithreading, maquinas de estados, etc).
    Lo que menos pretendo es obligar o plantear una unica manera de hacer las cosas, todo lo contrario, solo pretendia comenzar con un código sencillo, principalmente para los no programadores, para alentarlos a que discutan y pregunten, porque hay muchas maneras de hacer las cosas, y depende mucho de la funcionalidad que se necesite.
    aprovecho para comentarles a todos que he abierto un nuevo tema comenzando con la plantilla de un indicador en blanco. Lo hice en un nuevo tema porque no quiero mezclar la programacion de EAs con la de indicadores, ya que requieren enfoques diferentes.
    Saludos a todos!!!! y por favor, sigan planteando ideas y discusiones que es la unica manera de mejorar!!!!!
    Foro de Forex Trading United

  8. #7
    Avatar de Hermo



    Reputación:
    Poder de reputación: 18

    Mensajes: 879
    Créditos: 6.631

    Template EA en blanco

    Por plantear un poco a lo que me refiero:

    Cuando planteamos automatizar una idea, un sistema de trading, entiendo que todo el mundo tiene en su mente ponerla en real en algún momento, esto es el primer punto que todo el mundo tiene que tener claro, lo segundo es que va a ser una estrategia totalmente autónoma, es decir, sin que tenga que existir la intervención humana, por lo tanto esto lleva a la conclusión que tendremos que saber las mil y una que nos puede liar el mercado y que habremos sabido trasmitírselo al código de esa Ea, esta parte es la más compleja y que se queda en el tintero la mayoría de las veces.

    Al automatizar una estrategia lo fácil es sacar las señales y que en un backtest todo sea perfecto, pero lo que tenemos que pensar es que el backtest es la situación idílica, ahora llega la realidad, que le pueden pasar a nuestras señales en una situación real, como prever las posibles circunstancias de un mercado en real, son muchas os lo garantizo, eso es lo que yo considero fundamental en programación, saber tener en cuenta todas esas posibles circunstancias y que la maquina sepa reaccionar ante ellas, pensad que un código no es nuestro cerebro, que mejor o peor sabrá salir de esos errores, a la maquina si no le has dicho lo que tiene que hacer, sencillamente no hará nada con sus consecuencias.

    Con todo esto no quiero ser pesimista ni nada por el estilo, ok, yo soy un loco del automatismo, por eso os comento todo esto, cuando sufres en tus propias carnes estos defectos de programación, lo fácil es maldecir al programador y resulta que él no tiene culpa la gran mayoría de las veces, sencillamente eres tu el que no le has dicho que programe esas posibles circunstancias.

    Por lo tanto y después de todo este rollo en vez de plantear aumentar una plantilla magnifica como la que has realizado, propongo programar un sistema de entrada muy sencillo y que el resto de compañeros que saben programar y los que saben de trading planteen toda su sabiduría de cara a que ese sistema funcione perfectamente y así sucesivamente, creo que es el modo perfecto de crear una buena cultura de programación.

    Es evidente que nos estamos saltado pasos enormes de cara a los que quieran aprender a automatizar estrategias, me refiero a toda la teoría del propio lenguaje de programación. Pero si realmente existe el interés seguramente se vayan exponiendo preguntas que obtendrán respuesta de cara a esa teoría.

    Bueno solo queda saber si todos pensais del mismo modo, que debería de ser no, pero si todos deberíamos de pensar llegar al mismo sitio.

    Espero vuestra opinión.

    Un abrazo.

    Hermo.
    Foro de Forex Trading United



  9. #8
    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:

    Archivo adjunto 28677

    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

    Archivo adjunto 28675

    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

    Archivo adjunto 28676

    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

  10. #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
    Ciclo buenos dias,
    adjunto el EA original (solo hace operaciones de compra, las operaciones de venta estan como comentario pero se pueden habilitar), y su modificacion con el agregado de la media de 200 para verificar la tendencia a largo plazo (version 1.1 hace operaciones de compra y venta).
    En una respuesta a Hermo aparece el backtesting del ultimo y es mucho mas prometedor que el primero (tener en cuenta que todavia no se han hecho optimizaciones)

    Archivo adjunto 28568
    Archivo adjunto 28570

    Saludos!!!!


    Hola MCSoft, No se que pasa pero no me funciona, no puedo bajar estos dos archivos.

    Saludos.
    Foro de Forex Trading United

  11. #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


    Publi
    Hola, bueno acá tengo algunas pruebas que confirma lo que comenta el compañero Hermo.

    Las dos pruebas están realizadas con el mismo par, en la misma temporalidad y en el mismo periodo de tiempo pero dan resultados totalmente opuestos, también pongo las imágenes de la pestaña Diario de las dos pruebas donde se ven algunos errores.

    Broker 1

    Mi primer aporte: Template EA en blanco-broker1.jpg

    Mi primer aporte: Template EA en blanco-errores-b-1.jpg

    Broker 2

    Mi primer aporte: Template EA en blanco-broker2.jpg

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

    Gorowin.
    Foro de Forex Trading United

Página 1 de 7 12345 ... Ú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