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
Creación de un análogo filtrado a partir de un símbolo personalizado para acelerar en Tester.
Es realmente rápido en Tester. Los ticks se han reducido 10 veces. Y la velocidad ha aumentado en consecuencia
https://www.mql5.com/ru/forum/64405/page3#comment_7721376
Gracias a @fxsaber
Buena corrección.
Otra fuente de ticks.
cTrade es bueno, pero ¿qué pasa con InteractiveBrokers? Tienen algunos de los precios más baratos para los datos. ¿Había un conector así disponible?
No.
Buenas tardes.
Estaba reescribiendo scripts para hacer pruebas en una bolsa normal (no forex). Además de reescribir algunas cosas para mí, me encontré con el hecho de que en el archivo ticks.mqh función StringToDouble, que se utiliza para traducir el precio, no tiene en cuenta el caso de que el precio puede ser sin un punto en absoluto. Yo mismo lo he corregido. Pero tal vez sea interesante para usted saber esto y corregirlo por sí mismo también.
Buenas tardes.
Estaba reescribiendo scripts para hacer pruebas en una bolsa normal (no forex). Además de reescribir algunas cosas para mí, me encontré con el hecho de que en el archivo ticks.mqh función StringToDouble, que se utiliza para traducir el precio, no tiene en cuenta el caso de que el precio puede ser sin un punto en absoluto. Yo mismo lo he corregido. Pero tal vez sea interesante para usted saber esto y corregirlo por sí mismo también.
Me sorprendió que entendieras el código. Gracias por el informe de error, lo he corregido.
return(point ? Res / TenPow[Pos - point] : Res);Sí, lo corregí para mí casi de la misma manera.
Puede que no sea útil para usted, pero ya que estamos hablando de ello, voy a escribir sobre un par de peculiaridades que he cambiado para mí. Principalmente se refiere al caso de que se iniciara un procesamiento bastante lento de todos los caracteres, se detuviera a mitad de camino y luego continuara.
1. Se llama a ThirdPartyTicks[i].ToCustomSymbol(Sync, ...) en la función CreateAllSymbols. Esto hará que this.FilesOffline.Refresh() se mueva en cada símbolo; lo que puede ser lento, especialmente si hay miles de archivos y el tamaño total es de decenas de gigabytes. Lo ideal sería comprobar que no ha llegado nada nuevo desde online, y entonces no refrescar en cada símbolo.
2. En la función string ToCustomSymbol, no se ve que compruebe que el símbolo ya existe. Para ser honesto, no he comprobado lo que sucederá, no entré en detalles. Pero por mi parte he retocado la comprobación para que al continuar no vuelva a analizar todos los ficheros en busca de símbolos antiguos existentes.
P.D. Me gustaría darle las gracias por el artículo y por las muchas herramientas publicadas, muy útil.
¿Estás seguro de que no has obtenido el script de un archivo ZIP? No es en absoluto una versión actualizada. Debido a este problema, a menudo ocurre que se corrige algún error, pero pasa desapercibido.
¿Estás seguro de que no has obtenido el script de un archivo ZIP?
Yo tuve este error hace mucho tiempo :) Entonces me di cuenta de que algo iba mal y descargué todos los archivos uno a uno a mano. Quería escribir sobre ZIP también, pero se me olvidó. Así que debería haber funcionado con la última versión.
1. En la función CreateAllSymbols, se llama a ThirdPartyTicks[i].ToCustomSymbol(Sync, ...). Esto hará que this.FilesOffline.Refresh() se mueva en cada símbolo; lo que puede ser lento, especialmente si hay miles de archivos y el tamaño total es de decenas de gigabytes. Lo ideal sería comprobar que no ha llegado nada nuevo desde online, y entonces no refrescar a cada carácter.
Noté retrasos una vez hace mucho tiempo relacionados con esto, así que implementé especialmente una solución para el problema. Desde entonces no hay retrasos.
Ahora tengo 18 GB de archivo y zips > 35 000 piezas. Todo funciona rápido, sin retrasos.
Tal vez no hayas entendido del todo cómo funciona, por eso planteas esa hipótesis.