Herramientas MT4 Mi primer aporte: Template EA en blanco - Página 7

 

Publi

Mi primer aporte: Template EA en blanco

 

Publi

Página 7 de 7 PrimerPrimer ... 34567
Resultados 61 al 63 de 63


  1. #61




    Reputación:
    Poder de reputación: 10

    Mensajes: 26
    Créditos: 1.634

    Re: Mi primer aporte: Template EA en blanco


    Publi
    Cita Iniciado por Ciclo Ver mensaje
    Hola MCSof, no veo la funcion especial start que es obligatoria y que se activa cada vez que se produce un tick.

    Saludos.
    Saludos Ciclo.
    Para explicarte la estructura del programa te comento un poco la historia reciente de metatrader:
    Metatrader 5 (MT5), fue lanzado hace ya varios años, y no ha tenido la aceptación que se esperaba. Tecnicamente MT5 es mucho mejor que MT4, pero para que fuera aceptado, debia ser reemplazado primero del lado de los brokers. No se sinceramente el motivo pero los brokers se resistieron al cambio, ya teniendo una base de clientes muy grande con MT4 no quisieron actualizar ni obligar a sus clientes a cambiar.
    MT4 trabajaba con programas escritos en lenguaje MQL4, muy similar a C (es un C reducido, que no permite estructuras ni punteros por ejemplo). Por otro lado, MT5 incorporo el lenguaje MQL5, mas similar a C++ (soporte para clases y objetos entre otras cosas).
    MQL5 es incompatible con MQL4, y han cambiado los nombres de las funciones que se usan en los EAs.
    Por ejemplo, la funcion start, se reemplazo por OnTick(), la funcion init por OnInit().
    Como MQL5 planteaba muchas mejoras a nivel lenguaje de programacion, pero el terminal en si MT5 no era aceptado por los brockers, Metaquotes (la empresa desarrolladora de metatrader) decidio seguir actualizando Metatrader 4 y le incorporó el editor de codigo MQL5.
    El editor MQL5 ahora acepta y compila programas escritos en MQL4 y en MQL5.
    Esto genera mucha confusion, porque hay codigos en internet que usan la funcion start() y otros que usan OnTick(). Mi versión de Metatrader es 4.00 build 646 (Se puede conocer la version del software desde Menu->Ayuda->About), y al abrir el editor de codigo, la versión del mismo (Help ->About->Metaeditor...) veo que tengo la versión 5.00 build 934.
    Espero haber aclarado la duda, estoy a tu disposicion por cualquier otra consulta.
    Saludos
    Foro de Forex Trading United

  2. Publi
    Publi


  3. #62
    Avatar de Ciclo



    Reputación:
    Poder de reputación: 23

    Espana
    Mensajes: 2.510
    Créditos: 23.821

    Re: Template EA en blanco

    Cita Iniciado por Hermo Ver mensaje
    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.


    Hola amigo Hermo MCSort lo que ha hecho es una plantilla en blanco, es decir una especie de plantilla universal. El objetivo, creo es, depurar esta plantilla en blanco y que sea lo mas universal y versatil posible para que cuando uno tenga una idea, es decir tenga unos criterios claros de entrada y salida, solo tenga que ponerlos en el sitio correspondiente de la plantilla y andando.

    Lo que pasa es que incluso en una plantilla superperfecta yo de momento no me veo implementando criterios. Solo con ejemplos de EAs reales me iria atreviendo. Esto nos da pie para aportar criterios de entrada y salida que muchos tenemos en nuestra cabeza y ver que tal.

    Tienes razón que cuando operamos en manual nuestro propio cerebro hace filtro y un EA es un robot, y es tonto, solo hace lo que le han dicho que haga y por eso en los criterios de entrada y salida tenemos que poner los filtros necesarios. Pero esto en principio está mas allá del proposito inicial de la plantilla.

    Un abrazo.

    Foro de Forex Trading United

  4. #63
    Avatar de indovinello



    Reputación:
    Poder de reputación: 24

    Bolivia
    Mensajes: 3.773
    Créditos: 12.975

    Re: Mi primer aporte: Template EA en blanco


    Publi
    Cita Iniciado por MCSoft Ver mensaje
    Gracias a todos por la aceptación del tema y por vuestros consejos. Estoy agradecido de recibir el aliento y los consejos de miembros con mucha trayectoria en la comunidad (Hermo, Ciclo).
    Quiero contarles a todos, y en respuesta a los consejos de Hermo principalmente, porque se me ocurrio subir esta plantilla.
    Como ya comente previamente , soy desarrollador. Me tope con el mundo del trading justamente buscando información de programación, buscando en google me aparecieron los famosos "asesores expertos" y me maraville de la cantidad de tecnicas de programacion que se usan en ellos (machine learning, analisis y calculo numerico, comunicaciones, analisis de señales, etc).
    No me costo mucho empezar a programar en MQL4 debido a su similitud con C, Obviamente que mi primera impresion fue "esto es muy facil, verificar unos cuantos indicadores, tomar unas decisiones y operar para ganar dinero".
    Con el tiempo, luego de muchos programas de prueba, me encontre con que la situacion no era tan sencilla, el mercado cambia mucho, y una estrategia que gana millones en los ultimos 3 meses, si se prueba en los ultimos 6 meses pierde todo, ahi es donde entra la experiencia del trader, en reconocer la situacion actual del mercado y aplicar la estrategia que mejores resultados de.
    Además, hay muchas otras cuestiones que entran en juego y que me obligaron a leer mucho, por ejemplo el money management, una estrategia con el 90% de deteccion de señales correctas puede fracasar si no tiene un correcto manejo del riesgo y de las posiciones abiertas, ya que ese 10% de señales falsas pueden provocar la perdida de toda la cuenta.
    Soy inherentemente un programador, no me gusta hacer nada "manualmente", si es posible automatizarlo ja ja, mi cabeza trabaja de esa manera y creo que ya no la puedo cambiar.

    Empece subiendo una plantilla en blanco para mostrar todo el codigo que un asesor experto lleva en su interior Y QUE NO INCLUYE EN NADA A LA ESTRATEGIA!!!!!. Si hablamos del cruce de medias moviles por ejemplo, se puede escribir un codigo funcional en unas 30 lineas de código, para detectar el cruce de medias y abrir las operaciones con take profit y stop loss fijos, pero las pruebas dan un fracaso rotundo, porque se necesita no solo saber cuando abrir posiciones, sino también cuando cerrarlas, detectar cuando una operaciones esta siendo ganadora y mover los stops y profits para aprovecharla y ganar mas. De igual manera, hay que saber cuando una operacion abierta con una señal correcta se torna perdedora y poder minimizar dicha perdida.
    Todo esto nuestro cerebro lo hace en forma automatica recurriendo a nuestra experiencia, y como en cualquier deporte que practiquemos luego de un tiempo, el pensamiento se automatiza, podemos ver un cruce de medias moviles y sin saber porque, nuestro cerebro nos dice "NO OPERES!!!!" eso es porque la experiencia esta trabajando en segundo plano, y ve patrones, y condiciones que se han generado en el pasado.
    Todo esto es muy dificil de llevar al código, creo que en ese punto es en donde falla el encuentro entre traders y programadores. Siguiendo con el ejemplo muy simple del cruce de medias moviles, el trader plantea "abrir posiciones cuando la EMA de periodo 5 cruza por encima de la EMA de periodo 20 y ambas estan por arriba de la EMA de periodo 200".
    Esa afirmación, aunque parezca contundente es muy subjetiva, porque para un programa una linea que en la vela previa iba 1 pip por debajo de la otra, y en la vela actual va 1 pip por arriba, y ambas 1 pip por arriba de la EMA 200 ya cumplen la condicion de cruce, y disparan la operación. El programa cumple las condiciones establecidas pero genera una operación desastrosa. Esto ocurre porque el cerebro del trader, basado en su experiencia "ve" mas alla de la estrategia, ve las pendientes de las curvas, si todas vienen en pendiente positiva es mas probable que la operacion sea exitosa, si vienen recuperandose de un impulso, etc. Toda esa información no se incluye en el codigo y por eso la misma estrategia que al trader le da buenos resultados operando manualmente, fracasa cuando se automatiza.

    Creo que podemos complementar todas las sugerencias, sin descartar nada, todos los aportes e ideas son buenos, y ayudan a encontrar el camino correcto. Me parecio correcto subir una plantilla en blanco para mostrar el panorama, he analizado algunos asesores expertos y muchos de ellos son realmente muy dificiles de entender, no porque tengan una estrategia muy completa, sino porque mezclan código del apertura y cierre de ordenes con money management y se forman bloques anidados muy dificiles de seguir, incluso para un programador.
    Espero vuestros comentarios, y sugerencias, si alguno de ustedes quiere analizar un EA completo le ruego lo suba , asi todos podemos descargarlo y lo analizamos, de igual manera, el que desee agregar una estrategia a esta plantilla también es bienvenido, creo que una cosa no quita a la otra, y creo que un camino puede ser mejor que otro, no necesariamente uno bueno y otro malo.
    Saludos a todos y gracias nuevamente por sus consejos y aliento.
    Buenas, MCSoft, sólo quería darte las gracias por compartir, decirte que tus planteamientos me parecen muy interesantes y que seguiré este hilo con interés y, si tengo oportunidad, aportando también.

    Saludos.
    Foro de Forex Trading United




Página 7 de 7 PrimerPrimer ... 34567
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