Discusión sobre el artículo "Simulador de estrategias personalizado basado en cálculos matemáticos rápidos" - página 2

 
Y me ha gustado, aunque sólo sea porque no hay ni un artículo sobre cálculo y la referencia tiene poco sobre el tema.
 
fxsaber:

Un buen artículo para empezar Notas

  • En realidad se sugiere utilizar una API de comercio propio. Lo que casi anula el desarrollo. Tiene sentido tener tu propio tester dentro de MT5, cuando la API de trading para tu tester coincide con la estándar. De lo contrario resulta que usted puede utilizar algún probador ya hecho de los competidores o el mismo R con el mismo beneficio.
  • Con el mecanismo de símbolos personalizados no está muy claro para qué podría ser necesario un comprobador de este tipo.
  • Manipulaciones de bytes sería bueno ver en una forma universal.
  • Falta la comparación de la velocidad de tu comprobador y el estándar.
  • Es razonable utilizar su comprobador para este propósito también.

Gracias al autor.

¿Por qué se utiliza FrameNext sin while?

Su propio probador sin tuberías adicionales será más rápido que el estándar. Más la investigación. Más la posibilidad de trabajar en un cloude. Así que resulta que no hay tantas opciones si queremos utilizar la computación en nube muy eficaz. Por supuesto, hay que pagar por todo. Y no se trata de utilizar algo así para el comercio real. Pero escribir algo sencillo y probarlo rápidamente es lo mejor. Mira la variante de prueba de la estrategia en los promedios - que fue escrito muy rápidamente, pero los resultados, incluso sin comisiones y deslizamientos no son buenos. Un probador es necesario para este tipo de pruebas.

 

Por alguna razón todo el mundo presta atención sólo al probador en el artículo, pero nadie ha hablado todavía del analizador. Y para nada. Considero que el analizador no es menos importante y tal vez incluso más interesante que el propio comprobador. Por ejemplo, este analizador se puede integrar en las pruebas de un probador de estrategias normal y obtener el formato de informe que queramos.

También me gustaría señalar que gracias al almacenamiento de información completa sobre cada ejecución, basta con optimizar una vez y luego estudiar los resultados como y donde queramos. Esto no se puede decir del probador interno; la información sobre las ejecuciones que genera es muy general, y es imposible recrear una imagen de cada ejecución utilizándolo.

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Vasiliy Sokolov:

Bueno, ¿cómo va a utilizar la nube de MetaTrader en Python? Incluso ¿cómo desea ejecutar script de python en MT?


No podemos utilizar la nube, pero no vamos a ser capaces de utilizarlo para la auto-optimización, incluso con el Asesor de Expertos en ejecución. Puede ejecutar un script de python como este.

Quiero decir, el punto principal es que los Asesores Expertos deben ser capaces de optimizarse a sí mismos, si he entendido bien... no sólo rápidamente.
CreateProcess function (Windows)
  • msdn.microsoft.com
Creates a new process and its primary thread. The new process runs in the security context of the calling process. If the calling process is impersonating another user, the new process uses the token for the calling process, not the impersonation token. To run the new process in the security context of the user represented by the impersonation...
 
Maxim Dmitrievsky:

No podemos utilizar la nube, pero no podemos utilizarlo para la auto-optimización, incluso con el Asesor de Expertos en ejecución. Para ejecutar un script de Python como este.

Bueno, el punto principal es que los Asesores Expertos deben ser capaces de optimizarse a sí mismos, si he entendido bien... no sólo rápidamente.

Ese es un tema ligeramente diferente.

 
Vasiliy Sokolov:

Ese es un tema un poco diferente.


Bueno, si piensas en la ideología... ¿para qué necesitamos una optimización superrápida si de todos modos tenemos que hacerla a mano?

 
Vasiliy Sokolov:

Por alguna razón todo el mundo presta atención sólo al probador en el artículo, pero nadie ha hablado todavía del analizador. Y para nada. Considero que el analizador no es menos importante y tal vez incluso más interesante que el propio comprobador. Por ejemplo, este analizador se puede integrar en las pruebas de un probador de estrategias normal y obtener el formato de informe que queramos.

También me gustaría señalar que gracias al almacenamiento de información completa sobre cada ejecución, es suficiente para optimizar una vez y luego estudiar los resultados de cualquier manera y en cualquier lugar que desee. No se puede decir lo mismo del probador estándar, la información sobre las ejecuciones formada por él es la más general, y es imposible recrear la imagen de cada ejecución en él.

No hay declaraciones sobre este tema de mi parte, porque implementé tal cosa en KB una vez.

 
Vasiliy Sokolov:

Su propio probador sin tuberías adicionales será más rápido que el estándar. Más investigación. Más la posibilidad de trabajar en la nube. Así que resulta que en realidad no hay tantas opciones si queremos utilizar la computación en nube de forma muy eficaz. Por supuesto, hay que pagar por todo. Y no se trata de utilizar algo así para el comercio real. Pero escribir algo sencillo y probarlo rápidamente es lo mejor. Mira la variante de prueba de la estrategia en los promedios - que fue escrito muy rápidamente, pero los resultados, incluso sin comisiones y deslizamientos no son buenos. Para eso está un tester.

Usted no me entiende. Usted está sugiriendo escribir un TS para probar en su API de comercio específicamente para este propósito. Y esto equivale a utilizar otras soluciones de tester.

Y usted ignoró el punto con símbolos personalizados, así como la comparación de velocidades en cifras.

 
Vasiliy Sokolov:

Según tengo entendido, los datos no se perderán, porque las estadísticas son recogidas por otra instancia del programa.

Se perderán porque esta otra instancia del programa no ejecutará OnTesterDeinit.

 
Vasiliy Sokolov:

No lo entiendo. ¿Cuál es la visión universal?

Plantillas. He publicado algo como esto en KB.

OnTesterPass se pasa a la última ejecución, que carga FrameNext. Mientras que no es necesario en este caso.

OnTesterPass es sólo una reacción al evento de escribir el siguiente fotograma en el archivo mqd.

FrameNext está leyendo un frame del mqd-file desde la posición actual y moviendo esta posición al siguiente frame.


En consecuencia, si FrameNext no es llamado al menos en uno de los OnTesterPass, entonces todos los OnTesterPass+FrameNext subsiguientes recibirán el frame anterior en lugar del frame llegado.

Dado que el artículo es un tutorial, no estaría de más implementar este matiz en el código en forma de los mismos comentarios.