![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
Además, por lo que he entendido, el cierre de una operación por un stop loss está relacionado con una operación perdedora en el informe de resultados del probador (donde se encuentra el porcentaje de operaciones perdedoras y rentables)
Después de actualizar a la Build 507, estoy teniendo dos problemas en el probador:
1. Durante la optimización, al cambiar las pestañas del probador, el terminal se bloquea ocasionalmente (no siempre);
2. Si se ha seleccionado una enumeración como parámetro optimizado, al intentar ejecutar uno de los resultados de la optimización, el Asesor Experto no ve el valor de esta enumeración, es decir, siempre es igual a cero.
Después de actualizar a la Build 507, estoy teniendo dos problemas en el probador:
1. Durante la optimización, al cambiar las pestañas del probador, el terminal se bloquea ocasionalmente (no siempre);
2. Si se ha seleccionado una enumeración como parámetro optimizado, al intentar ejecutar uno de los resultados de la optimización, el Asesor Experto no ve el valor de esta enumeración, es decir, siempre es igual a cero.
Por favor, escriba a servicedesk con todos los detalles posibles.
Sabemos que hay un problema con las enumeraciones durante la optimización, pero no podemos reproducir el error de ninguna manera
He escrito a servicedesk...
He aceptado su solicitud y he hecho preguntas de seguimiento
...Y aquí surge la pregunta (¿retórica?)...
Hay repetidos cálculos adicionales de los mismos valores en el indicador, que por supuesto dan los mismos resultados. La solución parece ser obvia: calcular una vez (cuando se accede a los datos históricos por primera vez), poner todo en el buffer y en otros casos aplicar a los resultados listos. Pero...
El indicador cuenta con un número enorme de búferes (al menos 10 para almacenar los datos calculados de todo el historial en varios marcos temporales diferentes), a los que ya se accede con los correspondientes datos calculados inicialmente. Ahora, en idea y como opción, hay que duplicar el número de topes.
Por supuesto, todo depende de las especificaciones de hardware: la potencia de procesamiento del procesador y la cantidad de memoria. Y eso es lo que va a ganar. Pero tomemos el hardware como algo muy mediocre, no como el último PC doméstico. Ni mucho ni poco. Es difícil decidir de inmediato si hay que tirar de memoria o de potencia de cálculo.
Así que la pregunta al público entendido: ¿qué recomienda? Quizá haya argumentos para una u otra opción... O bien no abarrotar la memoria duplicando los buffers de indicadores calculados, y calentar el procesador, calculando lo mismo cada vez que se necesita, o viceversa...
Gracias.
...Lo que nos lleva a la pregunta (¿retórica?)...
...Por supuesto, todo depende de los parámetros técnicos del hardware: la potencia de procesamiento del procesador y la cantidad de RAM. Y eso es lo que va a ganar. Pero consideremos que el hardware es más bien mediocre: no es un PC doméstico reciente. Ni mucho ni poco. Es difícil decidir de inmediato si hay que tirar de memoria o de potencia de cálculo.
...
...Y aquí surge la pregunta (¿retórica?)...
Hay repetidos cálculos adicionales de los mismos valores en el indicador, que por supuesto dan los mismos resultados. La solución parece ser obvia: calcular una vez (cuando se accede a los datos históricos por primera vez), poner todo en el buffer y en otros casos aplicar a los resultados listos. Pero...
El indicador cuenta con un número enorme de búferes (al menos 10 para almacenar los datos calculados de todo el historial en varios marcos temporales diferentes), a los que ya se accede con los correspondientes datos calculados inicialmente. Ahora, en idea y como opción, hay que duplicar el número de topes.
Por supuesto, todo depende de las especificaciones de hardware: la potencia de procesamiento del procesador y la cantidad de memoria. Y eso es lo que va a ganar. Pero tomemos el hardware como algo muy mediocre, no como el último PC doméstico. Ni mucho ni poco. Es difícil decidir de inmediato si hay que tirar de memoria o de potencia de cálculo.
Así que la pregunta al público entendido: ¿qué recomienda? Quizá haya argumentos para una u otra opción... O bien no abarrotar la memoria duplicando los buffers de indicadores calculados, y calentar el procesador, calculando lo mismo cada vez que se necesita, o viceversa...
Gracias.
O bien, ¿por qué no utilizar bases de datos para sus necesidades? Calculado, grabado... ha llegado el momento - extraído de la forma más conveniente, utilícelo.
Desde el punto de vista arquitectónico, la solución permite separar el cálculo y el almacenamiento en caché de los resultados.
O bien, ¿por qué no utilizar bases de datos para sus necesidades? Calculado, registrado... es el tiempo - extraído en la forma más conveniente, utilícelo.
Desde el punto de vista arquitectónico, la solución permite separar el cálculo y el almacenamiento en caché de los resultados.
No lo niego, pero la frase "es el momento" suena divertida, dado que cada referencia se reproducirá en OnCalculate en cada tick. O bien la BD tiene que estar enteramente en la RAM, o bien tendría que acceder lentamente al disco y reducirla a cenizas. Aunque... qué entiendo yo de SGBD...
Sin embargo, ¿no es MQL un lenguaje de consulta para BD? Si es así, ya está funcionando con la base de datos del disco y el disco parece estar vivo por ahora. No hay necesidad de inventar nada nuevo aquí.
Si te refieres a una base de datos diferente y a una forma específica (no estándar) de acceder a ella, por favor, explícalo. Si sugieres integrar la interacción de MQL5 con algo más, es demasiado pronto para mí, ya que acabo de empezar a estudiar MLQ y estoy avanzando hacia el kindle avanzado...
Muy a menudo la conexión con el servidor se desconecta. Sin embargo, el indicador muestra una conexión estable:
El terminal no se reconecta. Tengo que iniciar la sesión manualmente. ¿Es posible hacer esto de forma programada utilizando MQL5?