¿Existe una manera fácil de dejar su OnTester funcionando después de conectar BestInterval?
Esto no ayuda:
Sigue devolviendo el saldo final (y necesitas tu propio criterio complejo, BESTINTERVAL_ONTESTER_FORMULA no resuelve el problema).
#define BESTINTERVAL_ONTESTER // El criterio de optimización es el beneficio del mejor intervalo.#define BESTINTERVAL_CALL_ONFUNCTIONS // OnTester será llamado en modo BESTINTERVAL_ONTESTER и OnTimer.#include <fxsaber\BestInterval\BestInterval.mqh> // Cálculo del mejor intervalo de negociacióndoubleOnTester()
{
Print("Hello World");
return(123);
}
En el registro verá Print triggered, es decir, OnTester se ejecutará. Pero no más que eso - su resultado es ignorado.
Necesita esto
#define BESTINTERVAL_ONTESTER // El criterio de optimización es el beneficio del mejor intervalo.#define BESTINTERVAL_ONTESTER_FORMULA MyOnTester()
#include <fxsaber\BestInterval\BestInterval.mqh> // Cálculo del mejor intervalo de negociacióninputint Input = 0;
double MyOnTester()
{
return(123);
}
Resultado
pass 1 returned result 123.000000 in 0:00:00.468
pass 0 returned result 123.000000 in 0:00:00.469
ps: la última versión de MT5 tiene un montón de advertencias "comportamiento obsoleto, la llamada a métodos ocultos se desactivará en una futura versión del compilador MQL" al compilar.
No funciona con Cantidad de Intervalos de Borrado = 0.
En pruebas he llegado a este EA:
#define BESTINTERVAL_ONTESTER // El criterio de optimización es el beneficio del mejor intervalo.#define BESTINTERVAL_ONTESTER_FORMULA MyOnTester()
#include <fxsaber\BestInterval\BestInterval.mqh> // Cálculo del mejor intervalo de negociacióninputint inputParam = 0;
double MyOnTester()
{
return(inputParam*100);
}
Cuando Importe de Borrar Intervalos = 0, devuelve el saldo inicial en todas las pasadas.
Si Cantidad de Borrar Intervalos = 1, devuelve valores esperados.
En tales bibliotecas universales, pongo los parámetros de entrada en un archivo separado y los envuelvo con ifdef, de modo que puedo insertarlos en el lugar correcto sin mirar el orden en que los propios archivos de la biblioteca están conectados (que puede jugar un papel).
¿Quizás haya otra forma más elegante de gestionar el orden de las entradas?
Estaría bien tener un lugar donde debatir cosas de futuro. El silencio es casi total.
Existe la opinión de que las estrategias rentables no pueden discutirse públicamente. Es por eso que sólo hay rudimentos de la investigación en el foro, y en la primera reunión (incluso accidental) con un grano de oro - pasar a la clandestinidad.
Siempre estoy a favor de la discusión, pero no voy a ayudar mucho en términos de comercio, estoy más centrado en cuestiones técnicas.
Tenemos que averiguar cómo identificar buenos tramos de operaciones a partir de estos datos. Tiene que haber una combinación de un número decente de operaciones en un trozo, serias ganancias por unidad de tiempo, etc. Aún no he podido formalizarlo.
La tarea es aproximadamente la siguiente: dado un gran número de intervalos descartados, determinar probablemente trozos del sistema y sólo sobre su base calcular un criterio de optimización personalizado.
La solución del problema permitirá revelar mucho más el potencial de TC.
entonces esta es una tarea para una red neuronal, prepara los datos a mano y entrena la NS, luego en el futuro evaluaras los resultados usando la NS entrenada.
FN: si en los dedos, cómo enseñar la tabla de multiplicar a NS https://www.mql5.com/ru/forum/8265/page2#comment_333746 (probablemente ya he molestado a todos con este ejemplo )))) ) - le das datos a las entradas, la salida es tu evaluación, que sea en una escala de 3 puntos: excelente, bueno, insatisfactorio - el NS hace frente a esta tarea perfectamente bien, pero tendrás que preparar los datos a mano, o más bien clasificar lo que crees que es un resultado bueno/malo.
¿Existe una manera fácil de dejar su OnTester funcionando después de conectar BestInterval?
Esto no ayuda:
Sigue devolviendo el saldo final (y necesitas tu propio criterio complejo, BESTINTERVAL_ONTESTER_FORMULA no resuelve el problema).
En el registro verá Print triggered, es decir, OnTester se ejecutará. Pero no más que eso - su resultado es ignorado.
Necesita esto
Resultado
ps: la última versión de MT5 tiene un montón de advertencias "comportamiento obsoleto, la llamada a métodos ocultos se desactivará en una futura versión del compilador MQL" al compilar.
¿Qué significa esto?
Necesitas esto
No funciona con Cantidad de Intervalos de Borrado = 0.
En pruebas he llegado a este EA:
Cuando Importe de Borrar Intervalos = 0, devuelve el saldo inicial en todas las pasadas.
Si Cantidad de Borrar Intervalos = 1, devuelve valores esperados.
No funciona con Cantidad de intervalos de borrado = 0.
En las comprobaciones he llegado a este asesor:
Cuando Importe de Borrar Intervalos = 0, devuelve el saldo inicial en todas las pasadas.
Si Cantidad de Borrar Intervalos = 1, devuelve valores esperados.
En la línea 713.
if (!inBestInterval_Action && inAmountDeleteIntervals)elimine la segunda condición.
Línea 713
eliminar la segunda condición.
¡Ya está! Gracias.
En tales bibliotecas universales, pongo los parámetros de entrada en un archivo separado y los envuelvo con ifdef, de modo que puedo insertarlos en el lugar correcto sin mirar el orden en que los propios archivos de la biblioteca están conectados (que puede jugar un papel).
¿Quizás haya otra forma más elegante de gestionar el orden de las entradas?
¿Quizá haya otra forma más elegante de gestionar el orden de las entradas?
Nunca me he molestado con tales cosméticos. Hay tantas otras cosas que hacer...
Sería bueno tener un lugar para discutir cosas prometedoras. Está casi completamente en silencio.
Estaría bien tener un lugar donde debatir cosas de futuro. El silencio es casi total.
Existe la opinión de que las estrategias rentables no pueden discutirse públicamente. Es por eso que sólo hay rudimentos de la investigación en el foro, y en la primera reunión (incluso accidental) con un grano de oro - pasar a la clandestinidad.
Siempre estoy a favor de la discusión, pero no voy a ayudar mucho en términos de comercio, estoy más centrado en cuestiones técnicas.
Siempre estoy a favor del debate
Con un gran número de operaciones e intervalos desechables surge un interesante objeto de estudio.
Tenemos que averiguar cómo identificar buenos tramos de operaciones a partir de estos datos. Tiene que haber una combinación de un número decente de operaciones en un trozo, serias ganancias por unidad de tiempo, etc. Aún no he podido formalizarlo.
La tarea es aproximadamente la siguiente: dado un gran número de intervalos descartados, determinar probablemente trozos del sistema y sólo sobre su base calcular un criterio de optimización personalizado.
La solución del problema permitirá revelar mucho más el potencial de TC.
Aún no he podido formalizarlo.
entonces esta es una tarea para una red neuronal, prepara los datos a mano y entrena la NS, luego en el futuro evaluaras los resultados usando la NS entrenada.
FN: si en los dedos, cómo enseñar la tabla de multiplicar a NS https://www.mql5.com/ru/forum/8265/page2#comment_333746 (probablemente ya he molestado a todos con este ejemplo )))) ) - le das datos a las entradas, la salida es tu evaluación, que sea en una escala de 3 puntos: excelente, bueno, insatisfactorio - el NS hace frente a esta tarea perfectamente bien, pero tendrás que preparar los datos a mano, o más bien clasificar lo que crees que es un resultado bueno/malo.