Errores, fallos, preguntas - página 1936
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
Todavía no está listo para mostrar el código debido a
Pero listo para mostrar los resultados de los perfiles de MT5 - como entiendo las funciones de comercio están fuera de la cuestión.
¿Quizás estoy haciendo algo mal?Para el entorno OHLC utilizo las siguientes funciones
Desgraciadamente, lo estás haciendo mal.
En lugar de escribir un código MQL5 nativo y eficiente, se utiliza un emulador MQL4 terriblemente ineficiente que ralentiza la operación decenas de veces.
Lo malo es que ni siquiera sabes lo que estás haciendo, ya que estás haciendo preguntas sobre la velocidad.el resultado es el siguiente código
https://www.mql5.com/ru/code/18305
https://www.mql5.com/ru/code/18305
Gracias - He visto esta biblioteca - la descripción era confusa
Lamayor parte del tiempo se emplea en la fase de inicialización. A no ser que tenga previsto acceder a los datos de las series temporales varias veces -más de unos cuantos miles de veces durante la formación de las barras-, debería considerar métodos alternativos.
Desgraciadamente, lo estás haciendo mal.
En lugar de escribir un código MQL5 nativo y eficiente se utiliza un emulador MQL4 terriblemente ineficiente, que ralentiza la operación decenas de veces.
Lo malo es que ni siquiera entiendes lo que haces, ya que preguntas por la velocidad.Por supuesto, estaba buscando una solución - cómo reemplazar las funciones de MQL4 con MQL5, en particular refiriéndose a las series de tiempo, y vi que este es uno de los problemas encontrados por la mayoría de la gente que se mueve a MQL5.
En consecuencia, encontré la solución en el mismo sitio web, donde uno de los artículos recomendaba mi método.
Personalmente, no entiendo la razón para excluir una función buena y práctica del lenguaje.
Así que mi pregunta es, ¿cuál es la forma correcta de recibir información, y cómo se pueden aprovechar las ventajas de MQL5?
Así que mi pregunta es: ¿cómo organizar correctamente la recepción de datos para sentir las ventajas de MQL5?
Utilizar las funciones nativas y más productivas de MQL5, y no aferrarse al código de MQL4. Cualquier convertidor/divisor MQL4 -> MQL5 tiene un rendimiento decenas de veces más lento, ya que intenta emular las microfunciones de acceso directo de MQL4 a través de las operaciones masivas de MQL5. Y la emulación se hace completamente sin optimización ni caché.
En la raíz del uso de una función concreta (un trozo de código, incluido el código de otras personas), debe haber una comprensión de lo que se hace exactamente. De lo contrario, se obtiene "¡acabo de utilizar el código de otra persona y la velocidad ha bajado! No se puede obtener un buen resultado sin entender la herramienta y lo que se hace con ella.
Además de "cómo hacerlo bien", debo aclarar que la tarea de "aprender a programar" es extremadamente difícil, en cuanto se supera el nivel más básico de operar (ni siquiera de entender, sino de operar) con un lenguaje. Así que no veo otra forma de aprender más que leyendo montones de artículos, documentación, código ya hecho en la biblioteca y la práctica obligatoria durante varios años.
Utilice las funciones nativas y más productivas del lenguaje MQL5 y no se aferre al código MQL4.
En la raíz del uso de una función particular (un trozo de código, incluyendo el código de otras personas) debe haber una comprensión de lo que se está haciendo. De lo contrario, obtendrás "Acabo de utilizar el código de otra persona, mira: ¡la velocidad ha bajado! Sin entender la herramienta y lo que se hace con ella, no se puede obtener un buen resultado.
Además de "cómo hacerlo bien", debo aclarar que la tarea de "aprender a programar" es extremadamente difícil, una vez que se supera el nivel más básico de operar (ni siquiera entender, sino operar) con el lenguaje. Por eso no veo otra forma de aprender que leer artículos, documentación, código listo en la biblioteca y practicar durante varios años.
Renat, ¿has mirado el código base? Tengo un código con funciones exactamente adaptadas del lenguaje MQL4.
Te pido específicamente que escribas cómo conseguir la información correcta sobre el medio ambiente - referirte a libros abstractos no es productivo y sólo refuerza mi idea (probablemente errónea) de que esto es sólo una excusa que no puedes comprobar.
Decir que soy tan tonto que no entiendo el significado de una función, que es copiar información en un array, es decir que la documentación que acompaña al lenguaje de programación es escasa. No entiendo el beneficio de este copiado de un array a otro y por qué una función que obtiene información de un array según sea necesario es un código terrible.
Por supuesto, estaba buscando una solución: cómo sustituir las funciones de MQL4 por las de MQL5, sobre todo en lo que se refiere a las series temporales, y vi que éste era uno de los problemas con los que se encontraba la mayoría de la gente que se pasaba a MQL5.
En consecuencia, encontré la solución en el mismo sitio web, donde uno de los artículos recomendaba mi método.
Personalmente, no entiendo la razón para excluir una función buena y práctica del lenguaje.
Por eso te pregunto, ¿cuál es la forma correcta de recibir información para que sienta las ventajas de MQL5?
¿Quizás he buscado mal? Aquí tienes todo lo que necesitas en lugar de todo este código en una sola copia
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Errores, fallos, preguntas
Aleksey Vyazmikin, 2017.07.21 01:20
Gracias, lo he corregido.
Como resultado, el código es el siguiente
El tiempo en el probador ha aumentado, ya estoy cansado de esperar :)
Para utilizarlo, sólo hay que entender cuál es la estructura
¿Tal vez no estaba buscando lo suficiente? Aquí, en una sola copia tienes todo lo que necesitas en lugar de todo este código
Para utilizarlo, sólo hay que entender cuál es la estructura
Nos pasa lo mismo, de hecho...
La variante que sugieres se adapta a ifle:
- El cálculo se realiza sólo en la apertura de un bar.
- Se sabe de antemano cuántas barras se necesitan
Tengo bucles en mi código, la cantidad de cálculo puede ser desconocida de antemano.
Y, ¿qué sentido tiene copiar la información de, digamos, 300 barras cada vez que la abrimos, si sería más razonable añadir simplemente información sobre una nueva barra?
Pero te mostraré la dirección:
No tengo ningún deseo de comunicarme de esta manera. En lugar de tratar de entender lo que se dice, de averiguar lo que va a pasar, se lanzan algunas objeciones increíbles.