Errores, fallos, preguntas - página 2802

 
Mihail Matkovskij:

Nadie lo niega. Es que hay un concepto en el que hay una pantalla como lienzo. A su vez, el mismo lienzo personalizado (una matriz de píxeles) se dibuja en el lienzo de la ventana (el gráfico). Más concretamente, primero se pasa al gráfico (se copia) utilizando ResourceCreate (en OBJ_BITMAP o OBJ_BITMAP_LABEL). En la ventana del gráfico, todo se dibuja utilizando la API de Win (si no me equivoco). Aunque también se puede hacer utilizando otra API. Pero la clase CCanvas tiene sus propios métodos para dibujar sobre los elementos del array m_pixels.

Resulta que al dibujar un pequeño rectángulo hay que pasar muchos píxeles conResourceCreate (se ahorra tiempo sólo en el dibujo). Y de esta manera puedes simplemente moverOBJ_BITMAP_LABEL alrededor del gráfico, sin tener que procesar el array m_pixels y luego copiarlo en OBJ_BITMAP_LABEL.

El caso es que la clase CCanvas no tiene un método para mover el lienzo, lo cual es muy extraño.
La clase iCanvas lo tiene implementado.

ZZZ Lo siento, acabo de ver que la versión actual de iCanvas en KB no implementa este método, sólo su declaración. Lo corregiré ahora.

bool iCanvas::MoveCanvas(const int x,const int y) {
   if(ObjectSetInteger(m_chart_id,m_objname,OBJPROP_XDISTANCE,x) && ObjectSetInteger(m_chart_id,m_objname,OBJPROP_YDISTANCE,y))  return(true);
   else return(false);
}

Corregido


Archivos adjuntos:
iCanvas.mqh  45 kb
Movement.mq5  2 kb
 
Nikolai Semko:

El caso es que la clase CCanvas no tiene un método para mover el lienzo, lo cual es bastante extraño.
La clase iCanvas lo tiene implementado.

ZZZ Lo siento, acabo de ver que la versión actual de iCanvas en KB no implementa este método, sólo su declaración. Lo corregiré ahora.

Corregido


El hecho de que no haya movimiento en CCanvas no es un gran problema. Cualquier usuario cuidadoso puede entender que el lienzo se mueve moviendo su objeto gráfico. Se trata de funciones estándar. Por lo tanto, se pueden añadir los métodos que faltan. O escribir sus propios métodos de dibujo y otros... Todo se puede hacer. Se puede estudiar el código fuente de CCanvas.

 
Los comentarios no relacionados con este tema han sido trasladados a "Preguntas de los principiantes de MQL4 MT4 MetaTrader 4".
 

La versión portátil de MetaEditor dejó de funcionar (/portable en las propiedades del acceso directo). Ha ocurrido con la actualización de hoy. Eliminado /portable de las propiedades, el editor se inició, pero con la configuración de la terminal instalada yMetaEditor. Además, no está utilizando los directorios de trabajo de mi carpeta con la versión portátil. El terminal parece iniciarse normalmente con la opción/portable, pero el MetaEditor tampoco se inicia cuando presiono F4. Sigue escribiendo en el registro:

2020.07.14 20:00:17.560 Error MetaEditor not found

¿Cómo se puede configurar la versión portátil del terminal y el editor para que funcionen correctamente?

 
Mihail Matkovskij:

La versión portátil de MetaEditor dejó de funcionar (/portable en las propiedades del acceso directo). Ha ocurrido con la actualización de hoy. Eliminado /portable de las propiedades, el editor se inició, pero con la configuración de la terminal instalada yMetaEditor. Además, no está utilizando los directorios de trabajo de mi carpeta con la versión portátil. El terminal parece iniciarse normalmente con la opción/portable, pero el MetaEditor tampoco se inicia cuando presiono F4. Sigue escribiendo en el registro:

¿Cómo puedo ajustar ahora la versión portátil del terminal y del editor para que funcionen correctamente?

Ha salido otra actualización. Decidí comprobarel MetaEditor. He añadido/portable a las propiedades del acceso directo, lo he ejecutado y ha funcionado. Todas las configuraciones y directorios de trabajo están en su lugar, como era antes.

 

¿Es posible hacer lo siguiente por medios normales?


  1. Ver el registro a través de PCM->Ver. Yo uso un filtro allí.
  2. En este resultado encuentro la línea requerida.
  3. Quiero ver qué había antes y después de esta línea en el registro si desactivo el filtro.
No tengo forma de hacerlo. Tengo que recordar la hora y el contenido aproximado de la línea y luego desactivar el filtro y buscarlo manualmente.
 
fxsaber:

¿Es posible hacer lo siguiente por medios normales?


  1. Vea el registro a través de PCM->Ver. Yo uso un filtro allí.
  2. En este resultado encuentro la línea requerida.
  3. Quiero ver qué había antes y después de esta línea en el registro si desactivo el filtro.
No tengo forma de hacerlo. Tengo que recordar la hora y el contenido aproximado de la línea y luego desactivar el filtro y buscarlo manualmente.

El visor de registros incorporado es muy inconveniente (incluyendo el caso de uso especificado), tengo que usar programas externos.

 
Por favor, den algunas pistas (enlaces, sugerencias) sobre cómo almacenar y actualizar el estado general del algoritmo en el probador en modo matemático. La idea del archivo común parece poco convincente. Las tramas sólo van en un sentido (del agente al terminal).
 

Hola.

Algo está roto en el autovalidador del mercado mt4.

Intentado autovalidar 5-6 veces con diferentes EAs.

Siempre este error.

ь

Incluso ese EA que se autovalidó ayer no puede autovalidarse hoy

Este es un mensaje sobre el éxito de la validación de ayer

т

Algo está realmente roto.

 
Denis Nikolaev:

Hola.

Algo está roto en el autovalidador del mercado mt4.

Intentado autovalidar 5-6 veces con diferentes EAs.

Siempre este error.

Incluso ese EA que se autovalidó ayer no puede autovalidarse hoy

Este es un mensaje sobre el éxito de la validación de ayer


Algo está realmente mal.

Gracias por el mensaje. Corregido.