Librerías: Easy Canvas - página 7

 
Oleksii Chepurnyi:
Tal vez era diferente en diferentes situaciones ) Tenía un kanvas recreado y parecía que parpadeaba. quería prestar atención a esta línea, pero no tuve tiempo )

Si hay problemas, es mejor informarme. Todo el mundo está en silencio por alguna razón. Es más fácil para mí para hacer frente a mi propia creación.

 
Nikolai Semko:

si hay algún problema, será mejor que me lo hagas saber. Todo el mundo se calla por alguna razón. Es más fácil para mí tratar con mi propia creación.

Ya te digo, quería denunciarlo, pero no tuve tiempo - salió una nueva versión, donde ya estaba arreglado.
 
Oleksii Chepurnyi:
Te cuento, quería informarte, pero no tuve tiempo - salió una nueva versión, donde ya estaba solucionado.

Ah, ya lo tengo :)))

 

versión 1.36
Ahora funcionará más correctamente en el tester.
Pero debe entender que en el tester los eventos de redibujado de pantalla no funcionan correctamente.
Por eso en el modo tester es mejor redibujar en OnCalculate, llamando forzosamente a la función ChartChanged().

Por ejemplo:

int OnCalculate(const int rates_total,const int prev_calculated,const int begin,const double &price[]) {
   if (rates_total!=prev_calculated && MQLInfoInteger(MQL_TESTER)) {
      ChartChanged();    //  функция находится внутри iCanvas.mqh
      ReDrawMyCanvas();  // tu lienzo
   }
   return(rates_total);
}
Pruebe este indicador en el tester junto con la librería actualizada.
Archivos adjuntos:
3DMa.mq5  12 kb
 

Hay una gran demanda. Si puede, por supuesto )

Esta matriz:

class iCanvas : public CCanvas
  {
private:
   datetime          T[1];

Cámbiale el nombre, por ejemplo, a Tm.

En uno de los proyectos en tal forma como lo es ahora, produce tales milagros.

'[' - name expected     iCanvas.mqh     112     20
declaration of '_Period' hides predefined variable      iCanvas.mqh     112     38
'(' - name expected     iCanvas.mqh     112     46
variable '_Period' not used     iCanvas.mqh     112     38
'[' - name expected     iCanvas.mqh     113     22
'[' - name expected     iCanvas.mqh     114     47
declaration of '_Period' hides predefined variable      iCanvas.mqh     114     65
'(' - name expected     iCanvas.mqh     114     73
variable '_Period' not used     iCanvas.mqh     114     65
'[' - name expected     iCanvas.mqh     115     13

No encontraba la razón, intentaba renombrarlo, todo iba bien ) Ahora lo renombro cada vez en una nueva versión.

 
Oleksii Chepurnyi:

En uno de los proyectos, tal como está ahora, produce maravillas.

No encontraba la razón, probé a renombrarlo, todo fue bien ) Ahora lo renombro cada vez en una nueva versión.

Deberías buscar #define T en este proyecto;)

 
Andrey Khatimlianskii:

Debería buscar #define T en este proyecto ;)

Bueno, no hay T exactamente, hay T que empiezan por T. Está en el escáner )

 
Oleksii Chepurnyi:

Bueno, no hay T's, hay T's que empiezan por T. Está en el escáner).

¡Bueno, no hay milagros!

Corta el proyecto mientras se reproduce el error. Localiza el lugar, entiende cuál es el motivo.

Es un miembro privado de laclase, no puede afectar a nada. Es más probable que se vea afectado por otras definiciones.

 
Andrey Khatimlianskii:

¡Pues no hay milagros!

Corta el proyecto mientras se reproduce el error. Localiza el lugar, entiende cuál es la causa.

Es un miembro privado de unaclase, no puede afectar a nada. Más bien, son otras definiciones las que lo afectan.

Encontrar la causa es interesante, pero es más fácil renombrar )

Si no me equivoco, estos trucos aparecieron en nuevas builds con nuevas reglas de compilación.

 
Oleksii Chepurnyi:

Encontrar la causa es interesante, pero es más fácil cambiarle el nombre )

Si no me equivoco, estos trucos aparecieron en nuevas compilaciones con nuevas reglas de compilación.

Renombrar no es difícil. Hay Ctrl+H


Pero estoy de acuerdo con Andrei. Busca #define T o #include <Canvas\iCanvas.mqh> ponlo primero en el proyecto.