Sugerencias para el EA (perder para ganar) - página 4

 

aquí es como se ve en la prueba de 2 años, el cambio a 1 lote, el cambio a la trama 240, ambos parámetros realizados en sincronía con el otro = 60. (Y toda esa lógica quitada, excepto M60).

Bares en la prueba 13544
Ticks modelados 5961890
Calidad de modelado 90.00%
Errores de gráficos desajustados 0
Depósito inicial 10000,00
Beneficio neto total 30459,02
Beneficio bruto 99716,99
Pérdida bruta -69257,97
Factor de beneficio 1,44
Beneficio esperado 152,30
Reducción absoluta 1037,97
Reducción máxima 20707,98 (35,94%)
Reducción relativa 35,94% (20707,98)
Total de operaciones 200
Posiciones cortas (% de won) 97 (30,93%)
Posiciones largas (% de won) 103 (30,10%)
Operaciones con beneficios (% del total) 61 (30,50%)
Operaciones con pérdidas (% del total) 139 (69,50%)
Mayor
de beneficios 5833,00
operación con pérdidas -3156,00
Media
de beneficios 1634,70
pérdida de comercio -498,26
Máximo
victorias consecutivas (beneficios en dinero) 6 (14728,00)
pérdidas consecutivas (pérdida en dinero) 12 (-1587.00)
Máximo
ganancias consecutivas (recuento de ganancias) 14728.00 (6)
pérdidas consecutivas (recuento de pérdidas) -9507.00 (5)
Media
ganancias consecutivas 1
pérdidas consecutivas 3

 
diostar 2011.10.05 12:37

Usted entendió mal. MTF no es la razón, o incluso un problema. El prb es sólo MA. Permítame tratar de explicar, muy brevemente.

MA dice el pasado. Así que cuando se toma en la señal de MA decir en un H1, la expectativa, E, es que en el próximo marco, digamos H4, "de acuerdo" con el pasado de H1. El beneficio es cuando el pasado de H1 se manifiesta en la corriente de H4. Cuando E ocurre, significa cerrar la operación, o hacer lo que la estrategia quiera.

Pero en este caso, el cartel tomó la inversa. Su comercio bastante básico fallas porque todas las expectativas se mezclan.


Tho Multi-TimeFrame no es mi fuerte. Así que, por favor, corregir mi pensamiento si está mal.

En la Lógica anterior que has publicado:

if((Close[0]<=fastMA30 && Close[0]<=fastMA60 && Close[0]<=fastMA240))

el && que resalté en Rojo me dice que el fastMA240 tiene que coincidir también.

Viendo que el fastMA240 es el más lento de todos los MA. No sería razonable decir que el fastMA240 hace que el sistema sea más lento al cambiar. ¿Y que todo el sistema se ve perjudicado por lo que el fastMA240 tiene que decir?

Ahora bien, si tomamos tu sugerencia:

if((Close[0]<=fastMA30 && Close[0]<=fastMA60))

Ahora me parece que dejando el fastMA240 fuera el sistema responderá más rápido a los cambios. Pero seguimos teniendo el problema de que el MA60 ejecute el Show.

En conclusión: todo lo que importa es el resultado final de si es un enfoque rentable en el largo plazo. IMO no hay manera de decir cuál es mejor. Su enfoque o el enfoque del autor original sin pruebas :)

Por último, las cosas que no me gusta de los códigos anteriores. 1) El uso de la barra actual, como en Close[0] ese código no es amigable para el back-tester. 2) El uso del signo =, como en <=, primero, es muy raro que un precio sea = porque es de tipo double. Y segundo, en el raro caso en que todas las MAs sean =Cierre[0] el sistema se vuelve sin dirección, ejemplo: if(xMA>=Cierre[0]){Compra}_____if(xMA<=Cierre[0]){Venta}, cuál es la acción correcta cuando es =Cierre[0].

 
diostar:

A juzgar por los resultados, no recomiendo ninguna optimización. Hasta que estas cuestiones de estrategia y lógica se miren.

En primer lugar, no tenía tanto tiempo después de ejecutar esa prueba de 7 años en un H1, y tanta motivación para mirar a través de todas las líneas de códigos en el EA, pero ciertamente me llamó la atención el uso de 2 números mágicos - para las operaciones "lentas", y las operaciones "rápidas". ¿Qué tipo de estrategia es esta, pensé?

Entonces, miro a través de los patrones de codificación, tratar de comentar el número slowmagic. El ea no funcionó, como se esperaba.

Entonces, comenté el otro número mágico rápido. Y sorpresa, sorpresa, el ea compila sin error.

Así que, parece, la lógica es completamente incompleta de lo que se desea? Seguramente, su EA sólo está llenando basado en alguna lógica MA lento, pero nunca en el rápido?

Ya que usted es el dueño de este EA, debería tener mejores respuestas a todo esto, que mis simples maneras.


Tuve ideas que no fueron implementadas, de ahí que veas números mágicos lentos y rápidos.


El EA sólo utiliza el número mágico lento para las órdenes, y está completamente separado de las MAs lentas y rápidas que están siendo escaneadas por las entradas

Espero que esto responda a su pregunta

gracias

 
ubzen:
Deberían convertir esto en un pequeño proyecto de creación de un sistema ganador a partir de esto. Todo el mundo comienza con la versión actual de la EA y luego añadir algo a ella. Entonces ustedes seleccionan el codificador más fuerte entre todos ustedes para reunir las mejores ideas. Cuando todos logren el objetivo, entonces colóquenlo en el código base. Será muy interesante ver lo que sale.

Me encantaría colaborar en este esfuerzo para construir un EA rentable a partir de una versión básica del EA que se publicó

 
mbirrell:

Yo buscaría otra forma de entrar en el mercado. Cuando la señal la dan estos indicadores ya es demasiado tarde. Siempre utilizo órdenes limitadas en previsión de lo que va a hacer el mercado. Algunos pueden reírse de este enfoque, pero a mí me ha funcionado. Recuerde que no es una carrera de velocidad, es un maratón.


Definitivamente estoy de acuerdo con su lógica, pero ¿cómo podría convertir mi lógica existente para adaptarse al modelo de orden de límite?
 
danjp:

Interesante idea, yo f c0d3 está bien con él me daría una oportunidad. Debería ser capaz de reemplazar mi función de reglas con las reglas mfro su. Eso le daría reglas horas de negociación, notificación por correo electrónico, la comprobación de errores, apilamiento, límite y órdenes pendientes trailing stop, parada, etc. Probablemente sólo tomaría un día o dos para conseguir esas reglas de trabajo en mi shell EA. Entonces podría mirar a ajustar las reglas para tratar de hacerlo más rentable.

Definitivamente estoy de acuerdo con esto, pero ¿estaría bien con compartir su código en este hilo?
 
diostar:

si has visto sus "reglas", son algo así (para el caso de venta)

Matemáticamente hablando, esto es una tontería. La razón es porque la MA en el marco más alto como se espera, más lento debido a un mayor tiempo requerido para completar una barra, que los más bajos. Así que, en general, esta lógica termina siendo determinada principalmente por esta condición inferior:

Por lo tanto, para ese momento, MA muestra el pasado desde las perspectivas de MA240, luego 60, luego 30, el mercado FUE una venta. Mi sugerencia puede ser simplemente "invertir" esta regla sin sentido, por lo que en lugar de la entrada a corto, ir a largo, y viceversa. Estoy bastante seguro de que el resultado resulta más bonito.



Permítanme explicar un comercio a corto, es viceversa para un comercio a largo:

  • Condición de entrada 1: Si el precio de cierre actual está por debajo de MA30(100 muestras), MA60(100 muestras) y MA240(100 muestras) estamos en una tendencia bajista
if((Close[0]<=fastMA30 && Close[0]<=fastMA60 && Close[0]<=fastMA240))
   {
      // we are in a downtrend
      //Comment("\n"+"short only");
      shortEntry();
   }
  • Condición de entrada 2: Esperar a que el precio de cierre de entryTF(15M) esté cerca por encima de MA30(50 muestras) y MA60(50 muestras)

if(iClose(Symbol(),entryTF,1)>=slowMA30 && iClose(Symbol(),entryTF,1)>=slowMA60)
  • Entrar en corto

La idea: Lógica MTF

  • Cuando el precio está por debajo de la MA30 que se basa en la M30
  • Cuando el precio está por debajo de la MA60 que se basa en la H1
  • Cuando el precio está por debajo de la MA240 que se basa en la H4
  • Espere a que los precios de cierre de la M15 estén por encima de la MA30 que se basa en la M30
  • esperar a que los precios de cierre de la M15 estén por encima de la MA60, que se basa en la M60
  • Entrar en corto: con los parámetros de la orden


También intentaré invertir las entradas y ver qué pasa


Espero que esto responda a su pregunta

 
ubzen:

@diostar, ideas interesantes y tomar en la lógica MTF. Esto es algo que he notado sobre las Lógicas MTF, Un marco de tiempo suele dominar el sistema.

@danjp, sí que es probablemente la forma más rápida de conseguir las Reglas en un programa de trabajo de confianza. Ya que la mayoría de nosotros ya tenemos una Plantilla en la que enchufar una lógica. Si alguien no se siente cómodo regalando sus códigos, una sugerencia sería que quien ensamble los códigos use Bibliotecas de Confianza de nuestra base de código. (Ejemplo: OrderReliable.mqh.).

¿Sabes qué? Me gusta un poco esta idea. Si consigo que 3 personas se apunten desde aquí, iniciaré un Nuevo Hilo. Colaboramos en el esfuerzo de intentar crear un EA rentable. Será una buena prueba para ver si varios traders pueden realmente operar con el mismo sistema :)


Por favor, publique aquí el hilo, si se inicia, yo def quiere participar
 
danjp:

Yo haría una corrida de optimización que tuviera (1*std) -> (5*std) y también en la misma corrida probaría 0.3 - > 1.5 tanto en el SL como en el TP. Yo empezaría con una corrida de 12 meses. Si obtienes resultados decentes de algunas de esas ejecuciones, entonces agregaría en el EA una rutina de horas para operar y utilizaría los valores que obtuviste de la ejecución anterior para ver si puedes mejorarla aún más sin tener que operar 24/7.

Buena suerte, sigue publicando los resultados.

¿Puedes recomendar alguna documentación para ejecutar un backtest con (1*std) -> (5*std) y (0.3 - > 1.5 tanto en el SL como en el TP)
 
diostar:

La prueba hacia adelante totaliza 156 oficios es mucho más fiable, que los 39 oficios backtests. La idea de la prueba retrospectiva es poner en la mayor cantidad de operaciones que pueda, y obtener sus resultados rápidos. ¿Para qué sirve el backtesting?







Elbacktesting es sólo para probar la estrategia, y ver que su lógica funciona, pero para juzgar si será rentable, sólo las pruebas a futuro pueden determinar


Hay muchas veces, cuando usted ve un EA rentable en backtest, luego lo ejecuta en vivo, y vola, su EA rompe su banco