![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
...
¿Qué puedo decir? Un mapa de bits funciona (!) un orden de magnitud más lento que 26 etiquetas normales. He intentado excluir de OnTick() la operación de copia del patrón en el lienzo de trabajo (array uint 250*410), es decir, la operación en un lienzo. La ganancia se percibe sólo en tiempo real. En el probador ocurre lo mismo, con una degradación absoluta de la productividad. Se utilizó el modoCOLOR_FORMAT_ARGB_NORMALIZE, ya que los otros dan un aspecto menos estético. Adelantándome, debo decir que trabajar en un lienzo es difícil porque hay que seguir la superposición de las superposiciones anteriores (áreas claras).
...
Gracias, lo sé. vdv2001 tiene algún tipo de problema:
//---
Quería ver cómo lo hace para descubrir que tiene un bicho.
A continuación, otra cita de la ayuda
CHART_MOUSE_SCROLL
Desplace el gráfico con el botón izquierdo del ratón en sentido horizontal. El desplazamiento vertical también está disponible si alguna de las tres propiedades se establece como verdadera: CHART_SCALEFIX, CHART_SCALEFIX_11 o CHART_SCALE_PT_PER_BAR
bool
Sí, el objeto está seleccionado, pero no se puede mover con el ratón (como en el terminal 4).
O ahora moviendo todos los objetos creados por el Asesor Experto deben ser manejados por eventos.
Ah, ya veo lo que es. )) En MT5, tengo que colocar con precisión el cursor del ratón en un punto de anclaje, cuando se selecciona un objeto. En MT4 es automático. Personalmente prefiero mover los objetos sin selección a través de eventos. Arriba Rosh mostró la propiedad para activar/desactivar el desplazamiento del gráfico, para que no interfiera con los objetos en movimiento.
Aumenté el gráfico al máximo, puse el ratón en el punto de anclaje del objeto seleccionado "presioné" el botón izquierdo del ratón hasta el suelo, apliqué el máximo esfuerzo y ...
El objeto se quedó en su sitio.
Para repetir este proceso no es difícil, crear un objeto CChartObjectTrend, establecer sus propiedades y tratar de moverlo. No lo he conseguido.
CHART_MOUSE_SCROLL Lo he probado y el gráfico deja de moverse, pero el objeto no se ha movido.
P.D.
Aunque, si se maneja el movimiento de un objeto a través de eventos, es correcto (conozco la coordenada antigua) . Lo haré a través de eventos. Gracias, la pregunta está cerrada.
Aumentamos el gráfico al máximo, situamos el ratón en el punto de anclaje del objeto seleccionado "pulsamos" el botón izquierdo del ratón hasta el suelo, aplicamos el máximo esfuerzo y ...
El objeto se quedó en su sitio.
No es difícil repetir este proceso, crear un objeto CChartObjectTrend, establecer sus propiedades e intentar moverlo. A mí no me funcionó.
...
Así es como funciona, en todo caso:
¿Alguien ha conseguido repetir la hazaña devoix_kas?
...
Что могу сказать? Один Bitmap работает (!)на порядок медленнее, чем 26 обычных меток. Пробывал исключить из OnTick() операцию копирования шаблона в рабочую канву (массив uint 250*410), т.е. работа на одной канве. Выигрыш чувствуется только в реал-тайме. В тестере всё также - абсолютная просадка по производительности. Использовался режим COLOR_FORMAT_ARGB_NORMALIZE, т.к. остальные дают менее эстетический вид. Забегая вперед, надо сказать, что работать на одной канве сложно, так как придётся отслеживать наложение предыдущих надписей (очищать области).
...
¿Tiene objetos del tipo OBJ_BITMAP_LABEL en modo de visualización en su probador?
//---
¿O es una errata? )))
Así es como funciona, en todo caso:
Correcto, ya descubrí por qué no se movía, puse la propiedad del objetoOBJPROP_TIMEFRAMES después de lo cual el objeto deja de moverse.
Por ejemplo, para el gráfico de minutos establezco la propiedad
obj.Timeframes(OBJ_PERIOD_M1);
y el objeto deja de moverse, parece ser un fallo.
Todo empieza a funcionar con normalidad después de cambiar el periodo del gráfico como cambiar a M2 y luego a M1 y todo está bien.
voix_kas:
¿Qué puedo decir? Un mapa de bits funciona (!) un orden de magnitud más lento que 26 etiquetas normales. He intentado excluir de OnTick() la operación de copia del patrón en el lienzo de trabajo (array uint 250*410), es decir, la operación en un lienzo. La ganancia se percibe sólo en tiempo real. En el probador ocurre lo mismo, con una degradación absoluta de la productividad. Se utilizó el modoCOLOR_FORMAT_ARGB_NORMALIZE, ya que los otros dan un aspecto menos estético. De cara al futuro, debo decir que trabajar en un lienzo es difícil porque hay que seguir la superposición de inscripciones anteriores (zonas limpias).1. ¿Cómo se mide la velocidad?
2. ¿Puedes adjuntar la fuente (en un mensaje privado o en un CD)?
1. ¿Cómo se mide la velocidad?
2. ¿Puede adjuntar el código fuente (en un mensaje privado o en un CD)?
Lamentablemente, no guardé el código por falta de interés. Entérminos generales:
OnInit():
1. Crea un mapa de bits en el gráfico.
2. Se crean dos lienzos(uint 250*410): una plantilla y una de trabajo. En la plantilla se aplican 13 etiquetas con el nombre de los parámetros estadísticos (TextOut).
OnTick():
1. La plantilla se copia en el lienzo de trabajo.
2. Las 13 etiquetas con los valores correspondientes de los parámetros estadísticos se aplican (TextOut) al lienzo de trabajo.
3. Crea un recurso.
4. se actualiza el lienzo de trabajo.
No tomé ninguna medida de tiempo en particular, porque es obvio que la velocidad ha disminuido en un orden de magnitud. Lo que en el probador, así como en tiempo real (cuando el gráfico de desplazamiento es bastante obvio congela / tirones).
He intentado eliminar el punto 1. de OnTick(). En tiempo real, se vuelve tolerable, pero el probador apenas se arrastra. Una vez más, esto no puede hacerse en tiempo real, ya que no se ha realizado ninguna limpieza en los lugares de las marcas anteriores en el lienzo de trabajo.
Una vez más, he utilizado el modoCOLOR_FORMAT_ARGB_NORMALIZE, porque las etiquetas(TextOut) se ven poco estéticassin el canal alfa.