Errores, fallos, preguntas - página 968

 
sergeev:

todo depende del tamaño del mapa de bits

hacer mil millones de veces la creación+salida de mapas de bits y el mismo número de veces la creación y salida de etiquetas de texto.

y controlar el tiempo de salida.

Tendré que probarlo, más adelante. Pensé que quizás alguien ya había hecho este tipo de investigación...
 
tol64:
No está muy claro qué tipo de histograma no se puede dibujar ahí. Es muy posible que estés haciendo algo mal. Necesitas un código para reproducirlo, de lo contrario no puedes ver lo que quieres decir.

El histograma puede dibujarse si el terminal gestiona los cálculos. Se dibuja el histograma, se carga el terminal, se realiza el engorroso cálculo del indicador, el histograma va desapareciendo a la espera del cálculo y cuando termina se muestra, por lo que no es visible en el flujo de cotización. Al borrar, el terminal hace algo allí y luego borra el gráfico. No tengo nada en el bloque Deinit aparte de la eliminación, ¿cuál es la pausa en la eliminación. Debe haber una prioridad, y una secuencia de acciones para salir de los estados críticos del sistema, el histograma no debe desaparecer antes del cálculo, sino antes de que se muestre un nuevo histograma. Y no es el código, claro que carga el terminal y el algoritmo se puede hacer más generoso, pero el hecho de que el 4 lo maneje mejor es evidente.

¿Se ejecuta OnCalculate con cada tick? Y si no lo hace, ¿qué pasa?

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
He identificado un error en la bóveda. Cuando cambias tu contraseña en el sitio, la bóveda aparentemente no la cambia. Y tienes que darte de baja del repositorio y volver a suscribirte.
 
zfs:

El histograma puede ser dibujado si el terminal puede manejar el cálculo. Se dibuja el histograma, se carga el terminal, se realiza el engorroso cálculo del indicador, el histograma desaparece, a la espera del cálculo, cuando termina se muestra, resulta que no es visible en el flujo de cotización. Al borrar, el terminal hace algo allí y luego borra el gráfico. No tengo nada en el bloque Deinit aparte de la eliminación, ¿cuál es la pausa en la eliminación. Debe haber una prioridad, y una secuencia de acciones para salir de los estados críticos del sistema, el histograma no debe desaparecer antes del cálculo, sino antes de que se muestre un nuevo histograma. Y no es el código, claro que carga el terminal y el algoritmo se puede hacer más generoso, pero el hecho de que el 4 lo maneje mejor es evidente.

¿Se ejecuta OnCalculate con cada tick? Y si no lo hace, ¿qué pasa?

Si el código de reproducción es un gran secreto para que lo publiques en el foro, entonces escribe a Service Desk. Describa allí en detalle y adjunte el código.
 
tol64:
Si el código de reproducción es un gran secreto para que lo publiques en el foro, entonces escribe a Service Desk. Se le pedirá que lo describa detalladamente y que le proporcione el código.

Ya he señalado que no tiene nada que ver con el código. Basta con cargar el código con cálculos y elementos gráficos para que los inconvenientes desaparezcan por sí solos. Todo depende del hardware del ordenador más que del código: un ordenador rápido borrará el indicador en 2 segundos mientras que uno lento lo hará en 2 minutos. Lo mismo ocurre con el gráfico de barras, en algún lugar siempre será visible con un buen recurso y un mínimo de comillas, y en algún lugar sólo será visible al inicio. Por supuesto, esto es más una pregunta para el Service Desk y más una pregunta para el terminal, ¿es posible minimizar la posibilidad de que el terminal se congele? Este problema estaba en el 4, y la situación aquí es aún peor. Sin embargo, este es el razonamiento que hay detrás.

¿Se ejecuta OnCalculate con cada tick? Y si no lo hace, ¿qué pasa?

 
O incluso una situación en la que el terminal no se carga como una aplicación y sólo es visible como un proceso en el administrador de tareas. El terminal tiene que ser capaz de escapar de situaciones críticas, como ControlAltDelta en Windows con la opción de desactivar las aplicaciones del terminal ya.
 

zfs:

...

¿Se ejecuta OnCalculate con cada tick? Y si no tiene tiempo, ¿qué pasa?

Creo que los ticks que se produjeron durante algún cálculo largo serán omitidos.

Ya me he dado cuenta de que el código no tiene nada que ver. Sólo tienes que cargar el código con cálculos y elementos gráficos y los inconvenientes aparecerán por sí solos. Todo depende del hardware del ordenador más que del código: a un ordenador rápido se le quitará un indicador en 2 segundos mientras que a uno lento se le quitará en 2 minutos. Lo mismo ocurre con el gráfico de barras, en algún lugar siempre será visible con un buen recurso y un mínimo de comillas, y en algún lugar sólo será visible al inicio. Por supuesto, esto es más una pregunta para el Service Desk y más una pregunta para el terminal, ¿es posible minimizar la posibilidad de que el terminal se congele? Este problema estaba en el 4, y la situación aquí es aún peor. Sin embargo, este es el razonamiento detrás del tema.

Pues bien, exponga su código entonces. Lo probaré por mi cuenta. Comparemos los resultados. De lo contrario, habremos descrito todo en vano. Aquí no se lo toman en serio. )))

 
zfs:
O incluso una situación en la que el terminal no se carga como una aplicación y sólo es visible como un proceso en el administrador de tareas. Lo que se necesita es una forma de sacar el terminal de situaciones críticas, como ControlAltDelete en Windows con la opción de desactivar las aplicaciones del terminal.
Lo veo como una aplicación y un proceso. Especifique en Service Desk el sistema operativo, el tamaño y la construcción del terminal.
 
double iCloseMQL4(string symbol,int tf,int index){
   if(index < 0) return(-1);
   double Arr[];
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   if(CopyClose(symbol,timeframe, index, 1, Arr)>0)
        return(Arr[0]);
   else return(-1);

}

Entonces, tomé una función, la salida es periódicamente -1. La pregunta es, ¿qué otra cosa debe hacer el bucle para diferir de -1? ¿Por qué es posible esta situación? Por qué copiar todo el array si sólo necesito un valor no es nada racional.

SetLabel("LPr",chart_ID,"%="+DoubleToString(close[0]/iCloseMQL4(_Symbol,1440,1)*100-100,2),4,34,clrBrown,14);
 
tol64:

Creo que se echarán de menos las garrapatas que entraron durante algún cálculo largo.

Entonces, publica el código. Lo probaré en el mío. Comparemos los resultados. De lo contrario, lo habremos desperdiciado todo. La gente de aquí no se lo toma en serio. )))

Usted cree, pero debería comprobarlo o saberlo con seguridad).

Veo una imagen diferente en diferentes ordenadores, así que tengo algo con lo que comparar. De todos modos, no obtendremos la verdad, lo único que podemos hacer es quejarnos en el foro).

Ejecuto un terminal con aplicaciones pesadas, no se carga como una aplicación y sólo es visible como un proceso. Si lanzo la aplicación en un terminal abierto no se cuelga. Pero al iniciar se cuelga o no carga como aplicación. Así que tengo que desinstalar la aplicación antes de salir. He escrito a servicedesk, pidiendo poder cerrar la aplicación sin cerrar el terminal ni borrar carpetas.