
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
Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading
Bibliotecas: MT4Orders
fxsaber, 2018.04.14 09:10 AM
Ejemplo
Resultado
En el ejemplo se puede ver que cuando se dispara el TP/SL, el comentario original "¡Hola Mundo!" se sustituye completamente por el comentario de MT5 "tp 1,23614".
En MT4, en tales situaciones, el comentario se convierte en "¡Hola Mundo! tp 1.23614". ¿Debo hacer lo mismo en MT4Orders?
Es decir, ¿es correcto/conveniente que para los cierres SL/TP/MO el comentario de la orden en el histórico sea una combinación del comentario en la apertura y en el cierre, como lo es en MT4?
En el ejemplo, puede ver que cuando se activa TP/SL, el comentario original "Hello World!" se sustituye en su totalidad por su homólogo en MT5, "tp 1.23614".
En MT4, en tales situaciones, el comentario se convierte en "Hello World! tp 1.23614". ¿Es necesario hacer lo mismo en MT4Orders?
Es decir, ¿es correcto/conveniente que para los cierres SL/TP/MO, el comentario de la orden en el historial sea una combinación del comentario en la apertura y en el cierre, como lo es en MT4?
Yo sugeriría algo así
Comentario_Original[tp: 1.23614] (ya que a veces es necesario parsear el comentario)
con registro de situaciones anormales cuando la longitud del comentario excede los límites
En el ejemplo, puede ver que cuando se activa TP/SL, el comentario original "Hello World!" se sustituye en su totalidad por su homólogo en MT5, "tp 1.23614".
En MT4, en tales situaciones, el comentario se convierte en "Hello World! tp 1.23614". ¿Es necesario hacer lo mismo en MT4Orders?
Es decir, ¿es correcto/conveniente que para los cierres SL/TP/MO el comentario de la orden en el historial sea una combinación del comentario en la apertura y en el cierre, como lo es en MT4?
OrderComment, al igual que OrderCommission, está en la librería y ahora es muy lento (se nota en múltiples llamadas). Está claro que es debido a especificidades de MT5 (dividir estos datos en 2 operaciones).
¿Quizás simplemente añadir OrderCommentOpen? Bueno, o hacer una variante completamente universal: OrderCommentOpen, OrderCommentClose y OrderComment, intentando emular el comportamiento de MT4.
Sigo pensando en una caché para las pesadas OrderCommission y OrderComment, o para mi propia lista de operaciones, que en mi caso particular es lo mismo.
OrderComment, así como OrderCommission, es muy lento en la biblioteca ahora (notable en múltiples llamadas). Está claro que es sólo debido a MT5 específicos (división de estos datos en 2 operaciones).
No debería afectar al tiempo real.
¿Quizás simplemente añadir OrderCommentOpen? Bueno, o hacer una variante universal: OrderCommentOpen, OrderCommentClose y OrderComment, tratando de emular el comportamiento de MT4.
Podría valer la pena añadirlo. Ahora mismo se puede hacer así (para órdenes históricas de MT4)
Sigo pensando en una caché para las pesadas OrderCommission y OrderComment, o para mi propia lista de operaciones, que en mi caso particular es lo mismo.
Si hacemos una caché, que sea para todo el histórico. Y es mejor hacerlo en base a Generic-bible, supongo. La única desventaja es que se comerá memoria en el VPS.
MQ hizo un buen trabajo en la historia en Tester - se hizo rápido. Cuando se aceleró, los pensamientos sobre el tema de almacenamiento en caché se fue (había versiones en bruto de la biblia), porque no vi que sería significativamente más rápido. Además, no se me ocurrió un TS para Tester, en el que el historial de operaciones afectaría seriamente a la lógica.
Es imposible almacenar en caché el Historial para tiempo real - se puede corregir retroactivamente. ¿Y por qué ahorrar microsegundos en tiempo real?
El tiempo real no debería verse afectado.
Puede que merezca la pena añadirlo. Ahora se puede hacer de la siguiente manera (para órdenes históricas MT4)
Si hacemos una caché, debería ser para todo el histórico. Y es mejor hacerlo sobre la base de Generic-bible, probablemente. Sólo hay una desventaja - que va a comer la memoria en VPS.
MQ hizo un buen trabajo en la historia en Tester - se hizo rápido. Cuando se aceleró, los pensamientos sobre el tema de almacenamiento en caché se fue (había versiones en bruto de la biblia), porque no vi que sería significativamente más rápido. Además, no se me ocurrió un TS para Tester, en el que el historial de operaciones afectara seriamente a la lógica.
Es imposible almacenar en caché el Historial para tiempo real - se puede corregir retroactivamente. ¿Y por qué guardar microsegundos en tiempo real?
Si he entendido bien, tengo una TS: a una hora determinada empezamos a entrar en el mercado por señal, eventualmente varias compras y ventas, al final de la sesión cerramos todo como está. Al día siguiente vamos en un círculo, pero los lotes ya están calculados por la historia de cierre de la última sesión, es decir, nos metemos en la historia y ver si cerramos un beneficio o alguna pérdida.
Es decir, sin acceso a la historia - el TS no es utilizable.
Si he entendido bien, tengo una TS que funciona: a una hora determinada empezamos a entrar en el mercado por una señal, eventualmente varias compras y ventas, al final de la sesión cerramos todo tal cual. Al día siguiente entramos en un círculo, pero los lotes ya están calculados en base al historial de cierre de la última sesión, es decir, entramos en el historial y vemos si cerramos con ganancias o con pérdidas.
Es decir, sin acceso al historial - el TS no es utilizable.
La palabra clave en esa frase es "seriamente". Está claro que el historial de operaciones puede cortar la lógica de las operaciones. El problema es el TS, que empieza a ralentizarse notablemente en el Probador de acceder a ella.
El tiempo real no debería verse afectado.
Puede que merezca la pena añadirlo. Ahora se puede hacer de la siguiente manera (para órdenes históricas MT4)
Si hacemos una caché, debería ser para todo el histórico. Y es mejor hacerlo sobre la base de Generic-bible, probablemente. Sólo hay una desventaja - que va a comer la memoria en VPS.
MQ hizo un buen trabajo en la historia en Tester - se hizo rápido. Cuando se aceleró, los pensamientos sobre el tema de almacenamiento en caché se fue (había versiones en bruto de la biblia), porque no vi que sería significativamente más rápido. Además, no se me ocurrió un TS para Tester, en el que el historial de operaciones afectara seriamente a la lógica.
Es imposible almacenar en caché el Historial para tiempo real - se puede corregir retroactivamente. ¿Y por qué ahorrar microsegundos en tiempo real?
Una vez mostraste un código que busca en el historial "patrones" similares.
Aquí hay un simple TS con una historia profunda:
Miramos el precio actual "forma-patrón" para un cierto tiempo desde "ahora" hasta "un poco en el pasado (día de negociación por ejemplo)", buscamos todos los patrones de precios similares en la historia, los clasificamos por "grado de coincidencia", seleccionamos unas pocas partes más coincidentes de tal "imagen" en la historia. Analizamos el historial con E/S virtuales y obtenemos recomendaciones sobre entradas/salidas para el estado actual. Incluso se puede asignar un "peso" a cada recomendación en función de los resultados del análisis de los patrones históricos.
Una vez mostraste un código que busca "patrones" similares en el historial.
Aquí lo tienes.
Aquí está el TS más simple con historia profunda:
Miramos la "forma-patrón" del precio actual para un cierto tiempo desde "ahora" hasta "un poco en el pasado (día de negociación por ejemplo)", buscamos todos los patrones de precios similares en la historia, los clasificamos por "grado de coincidencia", seleccionamos unas pocas partes más coincidentes de tal "imagen" en la historia. Analizamos el historial con E/S virtuales y obtenemos recomendaciones sobre entradas/salidas para el estado actual. Incluso se puede asignar un "peso" a cada recomendación en función de los resultados del análisis de los patrones históricos.
Parece que no lo has entendido. Me refería al historial de operaciones.
Una CT en la que la historia influya seriamente en la lógica es una CT adaptativa.
¿Cuál es el escollo?
Una CT en la que la historia influya seriamente en la lógica es una CT adaptativa.
¿Dónde has tropezado?
Necesitas un ejemplo de una TS en la que el historial de operaciones (no el historial de precios) afecte significativamente al tiempo de backtest.