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
Deberíamos añadir algo como:
De lo contrario, a veces sólo se necesitan propiedades y no barras.
Todos los métodos de la clase son públicos. Así que para clonar solo propiedades llama a CloneProperties().
Se han actualizado la biblioteca y el ejemplo de uso.
Пример
Cuando se ejecuta un backtest sobre cruces, el comprobador no sólo extrae el símbolo principal, sino también un símbolo auxiliar, que permite convertir la divisa de beneficios del símbolo principal a la divisa de la cuenta. Extraer el símbolo auxiliar, generar sus ticks y sincronizarlos con el símbolo principal consume unos recursos informáticos (y un tiempo) muy valiosos en los modos de ejecución única y, sobre todo, de optimización.
Sin embargo, esta precisión es casi siempre innecesaria. Por lo tanto, me gustaría pasar por alto esta obsesión/imperfección del probador de MetaTrader 5. En MetaTrader 4 es fácil hacerlo - existe la posibilidad de cambiar la moneda de la cuenta directamente en el probador. MetaTrader 5 no tiene esa opción.
El script de demostración muestra una manera de eludir esta limitación del probador - para eliminar los cálculos innecesarios. Para ello, se crea una copia del símbolo para backtest, pero la moneda de beneficio / margen se establece igual a la moneda de la cuenta. Es decir, no habrá necesidad de reconvertir los resultados de la operación. Y el beneficio se calculará realmente en pips, lo que puede ser muy claro en algunas situaciones.
Resultado
De esta manera se logra una aceleración libre del Probador/Optimizador.
ZЫ Lo he medido a fondo en EURGBP. La ganancia de tiempo es ~2 veces. Las operaciones son totalmente coincidentes. ¡Gratis de hecho!
La siguiente observación se refiere no sólo a la biblioteca.
Si necesita cambiar algunas propiedades de un símbolo personalizado, en algunos casos debe hacerse ANTES de importar las comillas.
Por lo tanto, para la fiabilidad del resultado, recomiendo encarecidamente establecer todas las propiedades del símbolo en primer lugar, y sólo entonces importar.
Por ejemplo, si desea establecer SYMBOL_TRADE_TICK_VALUE y SYMBOL_TRADE_TICK_SIZE, debe hacerlo antes de importar los ticks/barras.
En MT5-tester, por regla general (forex, por ejemplo), las órdenes limitadas tienen deslizamiento positivo, lo que lleva al autoengaño (¡a veces incluso en forma de grails del tester sobre ticks reales!).
Pero hay una manera de eludir esta característica del Probador. A continuación se muestra una instrucción detallada sobre cómo hacerlo.
1. Si el símbolo original (gráfico abierto) no es personalizado o la cuenta está cubierta, ejecute este script en el gráfico del símbolo
Obtendrá esta imagen
2. Si la cuenta está cubierta (la palabra Hedge está presente en la barra de título de la ventana del Terminal), vaya a cualquier cuenta de compensación (por ejemplo, MetaQuotes-Demo) y vuelva a cargar el Terminal.
3. Ejecute este script en el gráfico actual
3. Seleccione el símbolo personalizado recibido en el Probador
¡Ahora las órdenes limitadas no se deslizarán!
Foro sobre negociación, sistemas automatizados de negociación y ensayo de estrategias de negociación
Errores, fallos, preguntas
fxsaber, 2018.02.14 14:41 AM.
Error feo no Terminal, pero Plataforma MT5Funcionando en MQ-Demo en algún símbolo de movimiento lento. Por ejemplo, EURHUF.
El script abre una posición de COMPRA con TP = Oferta. Es decir, la posición debería cerrarse inmediatamente. Pero el TP se comprobará para el cumplimiento de la condición de aceptación ¡sólo en el siguiente tick!
No se producirá el cierre instantáneo de la posición hasta el siguiente tick. Además, si el siguiente tick tiene Bid < TP, TP permanecerá sin aceptación.
Lo mismo ocurre con las órdenes limitadas (línea comentada). En Tester, la situación es similar.
Sobre lo destacado, hay que decirlo, porque en el post anterior hay esto
Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading.
Bibliotecas: Símbolo
fxsaber, 2018.04.06 09:21 pm.
2. Si la cuenta está cubierta (la palabra Hedge está presente en la barra de título de la ventana del Terminal), vaya a cualquier cuenta de compensación (por ejemplo, MetaQuotes-Demo) y vuelva a cargar el Terminal.
y no todo el mundo se dará cuenta de que las órdenes limitadas al precio actual en los símbolos bursátiles de las cuentas de compensación se ejecutarán (y en el Probador) inmediatamente, sin esperar al siguiente tick.
Tenga en cuenta que no sólo es importante el símbolo bursátil, sino también la cuenta de compensación. Por ejemplo, puede tomar un símbolo MOEX en una Hedge-MQ-Demo, pero no se ejecutará de la misma manera (y en el Probador) que en la misma Netting-MQ-Demo.
Esta es una de las razones por las que los backtests en los mismos símbolos MOEX completamente idénticos pueden ser diferentes, dependiendo del tipo de cuenta.
ZЫ Estoy hablando solo....
ZY estoy hablando solo...
No, es que no tengo nada que añadir.
Es una pena que para realizar la activación normal de las órdenes haya que bailar con panderetas.
Es una pena que para realizar la activación normal de las órdenes haya que bailar con panderetas.
He cambiado las instrucciones, simplificando considerablemente los bailes. Por ejemplo, en el netting todo se hace con un solo clic - lanzar el script.
He aplicado un filtro simple a los ticks reales, que desecha > 90% de la información en la variante más ligera. Cuanto más fuerte sea el filtro, más grueso será el resultado del backtest.
Pero fue interesante cómo el filtro más débil afecta el resultado y la velocidad.
Calidad.
Era
Se convirtió en
Velocidad
Era
Era
Resultado
Según los ticks reales, el número de ticks disminuyó 16 veces (el filtro más ligero), la velocidad de Optimización aumentó 14 veces, la calidad no sufrió en absoluto (el análisis que no se incluyó aquí). Por supuesto, esto sólo puede hacerse cuando se escribe el TS de una determinada manera. En particular, con la ausencia de análisis de barras.
La aceleración universal gratuita anterior sólo dio un aumento de dos veces. La actual también es gratuita (la calidad no se resiente), pero menos universal. Sin embargo, el rendimiento es de más de un orden de magnitud. Ahora optimizo TC sólo de esta manera. No me equivoco.
SZY
Al mismo tiempo, una breve comprobación de esta aplicación (sólo bar spread calculado de manera diferente).
Foro sobre trading, sistemas automatizados de trading y prueba de estrategias de trading.
Scripts: ThirdPartyTicks
Automated-Trading, 2018.03.16 09:35 pm.
Баровая история создается с учетом минимальных потерь качества при переходе от режима тестирования "Каждый тик на основе реальных тиков" к "Только цены открытия" - ТС на лимитных ордерах;
Se comparan dos modos: "Todos los ticks" y "OHLC M1".
Todos los ticks
OHLC M1
La calidad del backtest es la misma, el rendimiento de la segunda variante en una sola ejecución es 12 veces mejor.
Para un no-programador, ¿es necesario escribir estos scripts en un programa de Asesor Experto?
Es muy tentador acelerar la optimización 12 veces.
¿Habrá tal aceleración al optimizar por puntos de apertura?
Para un no programador, ¿es necesario escribir estos guiones en un programa de EA?
Es muy tentador acelerar la optimización 12 veces.
¿Habrá tal aceleración cuando se optimice abriendo puntos?
Por desgracia, es muy difícil explicar todos los aspectos de este proceso. Probablemente haría falta un artículo. Por lo tanto, no será posible explicarlo de forma clara y breve.