¡Gran EA en backtest! - página 112

 
BrazilianTrader:
¿qué sentido tiene tomar conlusiones sobre informes de baja calidad de los modelos?

a gente debería saber que debe mejorar la calidad de sus modelos antes de tomar decisiones sobre resultados virtuales;

incluso los backtests con un 90% no son muy dignos de confianza;

suena sabio que los comerciantes mecánicos deben trabajar de esta manera:

1. Backtesting con el 90%;

2. Cuenta demo durante un par de meses;

3. Cuenta real;

4. Beneficio;

5. Risas.

Creo que no deberíamos dar todos los créditos a un EA que "funciona muy bien" en un informe de calidad de modelado del 50%.

Buen punto

 
BrazilianTrader:
calidad de modelado 50,00% que no suena bien...

Ni siquiera el 90% es lo suficientemente bueno, pero si la prueba de avance arroja buenos resultados, eso es lo que necesitamos para seguir adelante.

 

Necesito ayuda de codificación...

Necesito ayuda aquí... No entiendo por qué esto está siendo tan difícil.

Todo lo que quiero es una simple orden de cierre basada en algunas condiciones.

Este es el medio corto. Hay otro medio largo que se corresponde con él.

Pero ¿por qué este código...

int ExitMarket() // -------------------- Working the open orders -------------------

{

total = OrdersTotal();

for(int cnt = 0; cnt < OrdersTotal(); cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

// We search for orders opened by this code on our currency

if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)// if this code has an open order on this currency

{

if(OrderType() == OP_SELL) // If the obtained order is by the selling of the currency

{

if(Ask >= OrderStopLoss())// Closing order if it reached the level of the stoploss

{

OrderClose(OrderTicket(), OrderLots(), MODE_ASK , SlipPage, Violet); // Close the order

}

else

{

// We close when the direction reverses

if(ADX DIplus1 || Closing > LowerE)

{

total = OrdersTotal();

OrderClose(OrderTicket(), OrderLots(), MODE_ASK , SlipPage, Violet); // Close the order

Print("Patient1 closed short ticket ",OrderTicket()," on a reverse @: ",Ask," Orders remaining open: ",total," BECAUSE cls: ",Closing," > lwrE: ",LowerE," or ADX: ",ADX," DI+1: ",DIplus1);

total = OrdersTotal();

Print(" Orders remaining open: ",total);

}

else

{

Print("stays open");

}

}

}//ifsell

}//if order is open

}//fororders

return(0);

}//exitmarket [/PHP]

why does it produce this output?

[PHP]2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.272 Orders remaining open: 1 BECAUSE cls: 1.2718 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2719 Orders remaining open: 1 BECAUSE cls: 1.2717 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.272 Orders remaining open: 1 BECAUSE cls: 1.2718 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2718 Orders remaining open: 1 BECAUSE cls: 1.2716 > lwrE: 1.2715 or ADX: 31.5632 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2717 Orders remaining open: 1 BECAUSE cls: 1.2715 > lwrE: 1.2715 or ADX: 31.5632 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

que nunca cumple con la condición de reversión sin embargo, imprime la línea de reversión?

¿Y aunque imprime la línea de reversión nunca cierra la posición?

 

¿Por qué la gente pierde su tiempo con este EA? No va a funcionar en una cuenta real. Usted no va a obtener ese tipo de rellenos.

 
aegis:
¿Por qué la gente pierde su tiempo con este EA? No va a funcionar en una cuenta real. No vas a conseguir ese tipo de rellenos.

¿Falta de algo mejor?

Personalmente estoy aquí para aprender, estoy obteniendo mucha experiencia y práctica en codificación. Si el objetivo es aprender entonces hay mucho valor para mí. Sin embargo, si usted tiene un mejor EA para mí 'perder mi tiempo en'.... soy todo oídos.

btw no dude en resolver este problema de codificación si se puede.

https://www.mql5.com/en/forum/174700/page75

 
aegis:
¿Por qué la gente pierde su tiempo con este EA? No va a funcionar en una cuenta real. Usted no obtendrá ese tipo de rellenos.

Interesante conclusión, "Dr. Especialista en EA"...

Nos preguntamos su experiencia real con este EA para decirnos que no funcionó...

O al menos, con cualquier EA...

Tal vez, y eso es lo que parece más probable, usted no tiene ninguna experiencia con cualquier EA en los "clásicos 3 pasos", y tienen miedo de hacer sus esperanzas con una "fórmula mágica a la riqueza" y se decepcionan, así que lo que es más fácil? para bloquear nuestra mente y decir que este EA no funciona en absoluto, por supuesto.

Que patético.

Algunos están aquí para perder, se diría.Pero están aquí para aprender y mejorar, definitivamente.

Nosotros, a diferencia de gente como tú, preferimos probar, perder, mejorar, cambiar, una y otra vez, reajustar nuestro punto de vista y creer en estrategias sólidas o flexibles, lo que definitivamente incluye "aceptar cambios".

Este EA podría parecer que no funciona en una cuenta real, pero estamos aquí para hacer que lo haga.

 

Parece que he resuelto mi anterior problema de codificación.

Esto me deja ahora con un nuevo conjunto de problemas y preguntas para responder.

He llegado a la conclusión de que, debido a la forma en que este EA comercia, es muy poco probable que cualquiera de los indicadores tradicionales le ayude mucho. Coloca una gran mayoría de sus operaciones dentro de la misma barra, por lo que ningún indicador de tendencia lo seguirá dentro de la barra. Siendo un trader inverso, los indicadores de tendencia típicos no le ayudan mucho de todos modos.

Sin embargo, queda una vía para filtrar las operaciones que aún no ha sido explotada, a saber, la propia lógica de toma de decisiones del programa. Si bien es una tarea bastante desalentadora, creo que hay una recompensa potencial en el desarrollo de un perfil de datos de lo que los parámetros de cyberia hacen una operación ganadora y lo que hace una operación perdedora, en CYBERIA LOGIC.

Para ello propongo utilizar el backtester para generar en el diario los parámetros determinantes que cyberia acepta cuando abre cada orden, luego clasificar todas las operaciones ganadoras y perdedoras en sus respectivos grupos y luego ver a partir de un análisis de esos dos grupos si hay algo de una naturaleza distintiva que es fácilmente evidente que puede ser instalado y utilizado como un parámetro de filtro.

Creo que el clip de película anterior que publiqué hace un tiempo sobre la temperatura de 212 grados del agua se aplica aquí. En este momento este comercio alrededor de 70 - 72%. que es bueno, pero es sólo ahora bastante vapor todavía. Está caliente pero es como el agua a 211 grados, está a un grado de ser realmente útil. Mi objetivo es conseguir ese grado. Eso sólo puede significar añadir un poco más de porcentaje a su ratio de victorias/pérdidas. si llegara al 80% sólo un diez por ciento más sería increíble. Tal y como está, es un programa difícil de seguir porque parece que nunca despega realmente. (mi experiencia al menos)...

si sigo este curso me pregunto si alguien más quiere ayudarme en él. He creado una versión del código que imprime los datos en el momento en que el EA abre la orden. Esto dará salida a unos 7 a 14 órdenes a la vez en el diario antes de que el diario comienza a comprimir la salida y los datos se pierde. eso significa que para recoger cualquier cantidad sustancial de datos que el probador tiene que ser reiniciado muchas veces ... a menos que alguien me enseña cómo conseguir que imprimir toda esta información a un archivo en lugar ..... Sé que es posible que no sé cómo hacerlo.

En cualquier caso, estoy buscando personas con una cuenta de IBFX mini que le gustaría servir como recolectores de datos en este proyecto, mientras que el desarrollo de una hoja de cálculo para analizar los datos. Si estás interesado házmelo saber por pm y dame tu dirección de correo electrónico y te enviaré la versión del EA que he modificado para dar salida a los datos. Todavía tengo que hacer una modificación más en él pero ya está casi listo para funcionar.

Los datos que más me interesan son los que se producen dentro de la misma barra en los patrones de torre que ya he identificado. Primero quiero recopilar suficientes datos de prueba sobre lo que ocurre dentro de la lógica de Cyberia durante estos momentos en particular. No es que piense que la otra situación de comercio deba ser ignorada, pero no parecen tener tanto potencial, así que me estoy centrando en el área de mayor rendimiento probable primero....

Supongo que he estado trabajando con cybeira lo suficiente como para que algo de esto de la probabilidad se me empiece a pegar.

 

también aquí hay un archivo de muestra de escritura, su derecho fuera del editor de MT ...

Esto le permitirá ya registrar a un archivo csv, modificar para su salida que desea.

int handle;

datetime orderOpen=OrderOpenTime();

handle=FileOpen("c:\cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');

if(handle>0)

{

FileWrite(handle, Close[0], Open[0], High[0], Low[0], TimeToStr(orderOpen));

FileClose(handle);

}

Estoy en IBFX en vivo, puedo enviar la prueba en vivo para ti en micro lotes. Sin embargo, tengo otras operaciones en vivo en la cuenta por lo que tendría que eliminar los resultados de CT por separado.

PM me para la dirección de correo electrónico

 

¡¡¡¡ingeniero de alquiler !!!!

Aaragorn:
Parece que he resuelto mi problema de codificación anterior.

Esto me deja ahora con un nuevo conjunto de problemas y preguntas para responder.

He llegado a la conclusión de que, debido a la forma en que este EA comercia, es muy poco probable que cualquiera de los indicadores tradicionales le ayude mucho. Coloca una gran mayoría de sus operaciones dentro de la misma barra, por lo que ningún indicador de tendencia lo seguirá dentro de la barra. Siendo un trader inverso, los indicadores de tendencia típicos no le ayudan mucho de todos modos.

Sin embargo, queda una vía para filtrar las operaciones que aún no ha sido explotada, a saber, la propia lógica de toma de decisiones del programa. Si bien es una tarea bastante desalentadora, creo que hay una recompensa potencial en el desarrollo de un perfil de datos de lo que los parámetros de cyberia hacen una operación ganadora y lo que hace una operación perdedora, EN LÓGICA DE CYBERIA.

Para ello propongo utilizar el backtester para generar en el diario los parámetros determinantes que cyberia acepta cuando abre cada orden, luego clasificar todas las operaciones ganadoras y perdedoras en sus respectivos grupos y luego ver a partir de un análisis de esos dos grupos si hay algo de una naturaleza distintiva que es fácilmente evidente que puede ser instalado y utilizado como un parámetro de filtro.

Creo que el clip de película anterior que publiqué hace un tiempo sobre la temperatura de 212 grados del agua se aplica aquí. En este momento este comercio alrededor de 70 - 72%. que es bueno, pero es sólo ahora bastante vapor todavía. Está caliente pero es como el agua a 211 grados, está a un grado de ser realmente útil. Mi objetivo es conseguir ese grado. Eso sólo puede significar añadir un poco más de porcentaje a su ratio de victorias/pérdidas. si llegara al 80% sólo un diez por ciento más sería increíble. Tal y como está, es un programa difícil de seguir porque parece que nunca despega realmente. (mi experiencia al menos)...

si sigo este curso me pregunto si alguien más quiere ayudarme en él. He creado una versión del código que imprime los datos en el momento en que el EA abre la orden. Esto dará salida a unos 7 a 14 órdenes a la vez en el diario antes de que el diario comienza a comprimir la salida y los datos se pierde. eso significa que para recoger cualquier cantidad sustancial de datos que el probador tiene que ser reiniciado muchas veces ... a menos que alguien me enseña cómo conseguir que imprimir toda esta información a un archivo en lugar ..... Sé que es posible que no sé cómo hacerlo.

En cualquier caso, estoy buscando personas con una cuenta de IBFX mini que le gustaría servir como recolectores de datos en este proyecto, mientras que el desarrollo de una hoja de cálculo para analizar los datos. Si estás interesado házmelo saber por pm y dame tu dirección de correo electrónico y te enviaré la versión del EA que he modificado para dar salida a los datos. Todavía tengo que hacer una modificación más en él pero ya está casi listo para funcionar.

Los datos que más me interesan son los que se producen dentro de la misma barra en los patrones de torre que ya he identificado. Primero quiero recopilar suficientes datos de prueba sobre lo que ocurre dentro de la lógica de Cyberia durante estos momentos en particular. No es que piense que la otra situación de comercio deba ser ignorada, pero no parecen tener tanto potencial, así que me estoy centrando en el área de mayor rendimiento probable primero....

Supongo que he estado trabajando con cybeira lo suficiente como para que se me empiece a pegar algo de esto de las probabilidades.

Yo, estoy dispuesto y capaz de ayudar a caboAragorn. Compruebe su p.m para mi dirección de correo electrónico

 

Prueba de espalda

Aaragorn,

¿Hay alguna posibilidad de arreglar cyberia, para que pueda backtest en los precios de apertura de la barra. Actualmente no funciona.

Esta es la forma más fiable de backtest.

Lea este artículo.

https://www.mql5.com/en/code/9500

Los resultados del backtest siempre serán poco fiables si una orden se ejecuta y sale en la misma barra, a menos que la entrada sea en la apertura o la salida en el cierre. Esto se debe a que es imposible saber la acción del precio dentro de la barra. Una prueba retrospectiva hará una estimación de lo que sucedió durante la barra. A veces la estimación puede resultar en un relleno a un precio que se estima que ocurre antes de la salida, pero en realidad ocurrió después. Esto puede resultar en rellenos a precios imposibles, especialmente cuando el mercado se mueve rápidamente en una dirección. Algunas estrategias explotarán inadvertidamente estos precios imposibles para producir resultados imposibles.