1. ¿hay una implementación lista de un segmento que termina con una flecha? (hay ejemplos en C++ http://www.cyberforum.ru/qt/thread1534114.html no es un problema para portar, pero tal vez hay uno listo y no lo encontré ;) )
2. ¿cambiar el gráfico borra todo el lienzo? - si es así, es muy inconveniente, si no - no lo he entendido, necesito un ejemplo
1. ¿hay una implementación lista de un segmento que termina con una flecha? (hay ejemplos en C++ http://www.cyberforum.ru/qt/thread1534114.html no es un problema para portar, pero tal vez hay uno listo y no lo encontré ;) )
2. ¿cambiar el gráfico borra todo el lienzo? - si es así, es muy inconveniente, si no - no lo he descubierto, necesito un ejemplo
Gracias, Igor.
1. No, todavía no lo he implementado. Con líneas no suavizadas es bastante fácil hacerlo. Hay muchas cosas que no he implementado, y muchas cosas que aún no he publicado.
2. No, claro que no. Por qué hacerlo. En mis programas, cuando cambio el gráfico, lo redibujo todo a la fuerza cuando las coordenadas están ligadas al tiempo y al precio, no a los píxeles de la pantalla. ¿Cómo podría ser de otra manera cuando los cambios de precio-tiempo coordenadas.....
En realidad, la principal belleza de esta librería es su velocidad. Si intentas hacer todo lo que hago en iCanvas en CCanvas, la velocidad caerá significativamente. La razón principal es que tendrás que usar funciones asíncronas terriblemente lentas, como ChartXYToTimePrice(), que tarda unos 5000 microsegundos. Eso es un tiempo increíblemente largo.
El objetivo principal de iCanvas era simplemente alejarse de estas funciones tan costosas.
Tenga en cuenta que es mejor no utilizar la función Línea en CCanvas cuando las coordenadas de dos puntos se forman no garantizada dentro de la pantalla. Hay un error grave allí.
#include <Canvas\iCanvas.mqh> //https://www.mql5.com/es/code/22164voidOnStart() {
Canvas.Erase();
ulong t=GetMicrosecondCount();
Canvas.LineD(-2000000000.0,-2000000000.0,800.0,800.0,0xFF0000FF);
t=GetMicrosecondCount()-t;
Print("El tiempo de ejecución de LineD es" + string(t)+"microsegundos".);
Canvas.Update();
t=GetMicrosecondCount();
Canvas.Line(-2000000000,-2000000000,800,800,0xFFFF0000);
t=GetMicrosecondCount()-t;
Print("Tiempo de ejecución de línea - " + string(t)+"microsegundos".);
Canvas.Update();
Sleep(3000);
}
resultado de la ejecución:
2020.02.0719:08:28.030 TestLine (EURUSD,M1) Время выполнения LineD - 4 микросекунд
2020.02.0719:08:29.381 TestLine (EURUSD,M1) Время выполнения Line - 1349411 микросекунд
CSetFileReader Class to provide simple reading mechanism from MetaTrader set files. Trade Copier - Open Source - Multiplatform - Transmitter Side Trade Transmitter will Transmit Trades from MT5 Demo or Real accounts using CSV Files. Each trade request created manually or by other EAs on MT5 terminal will be...
Arreglé esto cuando encontré que había un congelamiento debido a esto. Pero no hubo parpadeo, sólo iCanvas dejó de funcionar.
Tal vez era diferente en diferentes situaciones ) Estaba recreando el lienzo y parecía que parpadeaba. Quise prestar atención a esa línea pero no tuve tiempo )
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
¿Se han identificado las causas del parpadeo?
¿Qué parpadeo?
No tengo ningún parpadeo.
¿Qué parpadeo?
No tengo ningún parpadeo.
Probada la biblioteca - ¡cómoda y funcional!
dos preguntas:
1. ¿hay una implementación lista de un segmento que termina con una flecha? (hay ejemplos en C++ http://www.cyberforum.ru/qt/thread1534114.html no es un problema para portar, pero tal vez hay uno listo y no lo encontré ;) )
2. ¿cambiar el gráfico borra todo el lienzo? - si es así, es muy inconveniente, si no - no lo he entendido, necesito un ejemplo
Creo que es la línea 349, recrear lienzo, que ahora está comentada.
Arreglé eso cuando me di cuenta de que estaba causando una congelación. Pero no había parpadeo, sólo iCanvas dejó de funcionar.
Corregido un pequeño error en la versión 1.34 que provocaba que el ejemplo del seno no funcionara.
He probado la biblioteca: cómoda y funcional.
dos preguntas:
1. ¿hay una implementación lista de un segmento que termina con una flecha? (hay ejemplos en C++ http://www.cyberforum.ru/qt/thread1534114.html no es un problema para portar, pero tal vez hay uno listo y no lo encontré ;) )
2. ¿cambiar el gráfico borra todo el lienzo? - si es así, es muy inconveniente, si no - no lo he descubierto, necesito un ejemplo
Gracias, Igor.
1. No, todavía no lo he implementado. Con líneas no suavizadas es bastante fácil hacerlo. Hay muchas cosas que no he implementado, y muchas cosas que aún no he publicado.
2. No, claro que no. Por qué hacerlo. En mis programas, cuando cambio el gráfico, lo redibujo todo a la fuerza cuando las coordenadas están ligadas al tiempo y al precio, no a los píxeles de la pantalla. ¿Cómo podría ser de otra manera cuando los cambios de precio-tiempo coordenadas.....
En realidad, la principal belleza de esta librería es su velocidad.
Si intentas hacer todo lo que hago en iCanvas en CCanvas, la velocidad caerá significativamente.
La razón principal es que tendrás que usar funciones asíncronas terriblemente lentas, como ChartXYToTimePrice(), que tarda unos 5000 microsegundos. Eso es un tiempo increíblemente largo.
El objetivo principal de iCanvas era simplemente alejarse de estas funciones tan costosas.
https://www.mql5.com/ru/forum/1111/page2099#comment_6310826
Tenga en cuenta que es mejor no utilizar la función Línea en CCanvas cuando las coordenadas de dos puntos se forman no garantizada dentro de la pantalla. Hay un error grave allí.
resultado de la ejecución:
Última versión 1.35
https://www.mql5.com/es/code/27733Arreglé esto cuando encontré que había un congelamiento debido a esto. Pero no hubo parpadeo, sólo iCanvas dejó de funcionar.