Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 1558
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Es mucho trabajo desmontar el código de otra persona. Sólo miramos la función custom_tester() y sólo la parte resaltada.
¿Cuál es el error de cálculo del resultado? Se calcula el resultado en cada iteración sumando resultado += testpr[i] - lastpr al valor anterior. Es la diferencia entre el Cierre de la barra actual y la anterior. Lo ideal sería usar Cerrar - Abrir, pero no importa. Lo importante es que habiendo recibido una señal al cierre de la barra actual, la considerará como una señal diff(Close) de la misma barra. Esto es incorrecto. La prima de la señal de la barra actual es diff(Close) de la barra siguiente. La señal debe desplazarse una barra hacia la derecha para calcular correctamente el resultado. p = model.predict_proba(X) a la derecha por una barra. Mostraré más cálculos en R ya que me resulta más fácil.
En la primera línea, convertir las predicciones a nominal (1,-1), desplazar a la derecha una barra, eliminar NA, obtener un vector de señales. La segunda línea resume acumulativamente el producto del vector señales y el vector diff(Close), habiéndolo alineado previamente con el vector señales en longitud. Eso nos dará el resultado correcto.
Buena suerte
Al abrir una posición se guarda el precio actual. En el ciclo, si la señal no cambia, seguimos avanzando el precio, manteniendo la operación abierta.
Si la señal cambia en la siguiente barra, invierta la operación (lastdeal) y reste del precio actual el precio de apertura de la operación, la diferencia = beneficio o pérdida, añádalo a la cantidad total acumulada de saldo
Para la compra, reste el precio de apertura del precio actual, para la venta - viceversa. No hay ningún error
Dado que la señal se toma para la barra actual, no debe desplazarse
1 - vender, 0 - comprar. La leyenda. El comprobador es muy sencillo
Tal vez se pueda acortar el código, yo no me he molestado en hacerlo
al abrir una operación, se mantiene el precio actual. En el ciclo, si la señal no ha cambiado, seguimos avanzando el precio, manteniendo la operación abierta.
Si la señal cambia en la siguiente barra, invierta la operación (lastdeal) y reste del precio actual el precio de apertura de la operación, la diferencia = beneficio o pérdida, añádalo a la cantidad total acumulada de saldo
Para la compra, reste el precio de apertura del precio actual, para la venta - viceversa. No hay ningún error
Dado que la señal se toma para la barra actual, no debe desplazarse
1 - vender, 0 - comprar. La leyenda. El comprobador es muy sencillo
Tal vez se pueda acortar el código, yo no me he molestado en hacerlo
Este es otro enfoque. Con esta variante parece que todo es correcto. Retiro mi comentario.
Buena suerte
Para los interesados en los retornados - alguna información en los cammats
https://smart-lab.ru/blog/569692.php#comments
Para los interesados en los retornados - alguna información en los cammats
https://smart-lab.ru/blog/569692.php#comments
sólo el nombre ya da miedo :-)
Se ha publicado una nueva versión de la biblioteca para conectar Python a MT5. Recordando el enlace https://github.com/RandomKori/Py36MT5 Pero hay problemas. En Visual Studio el proyecto de prueba funciona como debería, pero en MT hay algunos problemas poco claros. Ahora la biblioteca funciona bien con el directorio donde se encuentra el script de Python. No sé cómo depurar el enlace a MT. La MT está protegida del depurador. ¿Tal vez alguien sepa cómo depurar?
Hola,
Por favor, indíqueme cómo conectar la biblioteca.
El script puede estar ubicado en cualquier directorio? Según el código, está conectado a "C:\cal\Scripts\"
Al colocar la dll en la carpeta "MQL5\Libraries" la librería se incluye pero el resto de librerías, "python36.dll, kernell32.dll etc." no son visibles.
En la ruta de acceso a la prescripción de python.
¿Cómo conectar correctamente pymt.dll?
Hay un claro exceso de entrenamiento a primera vista. Se ve que hoy actúan igual que ayer, por lo que los 200 años de experiencia que supuestamente adquieren en el proceso de formación están muy lejos de lo que se necesita :-(
Hay un claro exceso de entrenamiento a primera vista. Se puede ver que actúan hoy de la misma manera que actuaron ayer. Así que los 200 años de experiencia que supuestamente ganan en el proceso de formación no es lo que necesitas - por desgracia :-(