Galería de interfaces de usuario escritas en MQL - página 78

 
Реter Konow #:
Ya veo, gracias. )

Siéntase libre de usarlo :)
PS: updown es en realidad inútil, como veo. De todos modos, la luz viene de arriba por lo general

 
Doerk Hilger #:

Siéntete libre de usarlo :)
PS: updown es en realidad inútil por lo que puedo ver. En cualquier caso, la luz suele venir de arriba.

Sí, tienes una opción interesante, la probaré :)

Tengo la distribución de la luz funcionando al revés: de un color original dado a otro más claro. Me explico: el propio algoritmo de partición de colores funciona correctamente y escribe 256 tonos en la matriz. Es decir, la gama completa para cada color que la función acepta. Pero el algoritmo de pintura pone el gradiente en las superficies de los elementos sólo en una dirección. Durante mucho tiempo quise añadir funciones, y hacer gradiente multidireccional, lo que daría volumen y elementos planos complejos. En principio, esto no es una tarea difícil. Sin embargo, hay muchas tareas más importantes por delante).

 
amigo, si usted puede averiguar cómo utilizar la interfaz gráfica de usuario cuando backtesting su EA, se lo agradecería.
 
Реter Konow #:
No es nada fácil. )

Que yo sepa, no hay ninguna funcionalidad en la clase estándar Ccanvas para dibujar un gradiente de color, ¿cómo resolviste el problema con un gradiente en tu GUI?
Todo se resuelve mediante fórmulas en el código
Archivos adjuntos:
 
Yu Zhang backtesting su EA, yo estaría agradecido.

Nada más fácil que eso.

El núcleo descrito gestiona TODOS los eventos, no importa si el evento es un tick o un evento gráfico. Usted puede simplemente obtener la posición del ratón, etc. también en un tick, comprobar los cambios y luego disparar el OnEACylce() para el gráfico de eventos. Ya no estás restringido a nada.

 
Mañana publicaré una actualización detallada del estado de desarrollo.

Hoy puedo decir que se han sentado dos de las 6 bases del editor.
 

Estado actual de desarrollo:

1. Se ha trabajado mucho para integrar cientos de propiedades de objetos, elementos, ventanas y parámetros en pestañas y tablas del editor. Ha sido necesario separarlas y ordenarlas. Se ha completado aproximadamente el 70% de esta tarea. No todas estas propiedades serán necesarias por los usuarios en su trabajo, pero las necesito para el desarrollo posterior del editor.

2- Se ha depurado el mecanismo de desplazamiento. Ahora cada pestaña "recuerda" la posición del deslizador y al volver el lienzo se desplaza automáticamente al último lugar de visualización.

3. Se han corregido los retardos relacionados con el desplazamiento. Por ejemplo, al desplazarse con la rueda del ratón, los elementos interactivos no reaccionan al cursor en el umbral de velocidad especificado. Si la velocidad de llegada de los eventos de la rueda es superior a 3 por segundo (300 ms entre eventos), los elementos que caen bajo el cursor no se redibujan. Además, ahora sólo se dibujan el espacio de la banda y sus componentes durante el desplazamiento. El resto del espacio del lienzo no se ignora.

4. El trabajo de los elementos T_FOLDER - colapsadores de tablas - ha sido ajustado. Se puede ver claramente en el vídeo.

5. Encontrados y solucionados problemas con el fenómeno de los elementos.

6. El diseño de la subventana del editor está mejor pensado. Se han encontrado soluciones cómodas y estéticas. Sin embargo, queda mucho trabajo por hacer en este sentido.


Los planes más próximos:

1. Escribir funciones Get_property() y Set_property(). Permitirán editar instancias copiadas de plantillas. La primera función obtendrá todas las propiedades (más de 300) de cada elemento a la vez y las pondrá en los elementos de edición en las pestañas del editor (las del vídeo). La segunda función enviará los valores personalizados del elemento editor a la propiedad editable de la instancia en el lienzo principal (en el centro).

2. Restaurar la funcionalidad de edición manual de elementos que funcionaba bien hace 4 años.


 
Hoy es 21 de diciembre. Esperaba que la versión mínima del editor estuviera lista en las décimas de diciembre, es decir, antes del día 20, y en principio habría sido así si hubiera restaurado la versión mínima anterior que funcionaba antes, pero decidí crear una versión completa del editor. Por eso hubo mucho más trabajo del esperado.

Antes hablé de los 6 aspectos básicos de un editor visual. Permíteme recordarlos:

1. Clonación de elementos/ventanas.

Creación de nuevas instancias de elementos copiando plantillas y modificando sus propiedades.

2. Borrar elementos/ventanas.

Borrado de instancias previamente clonadas del núcleo.


3. Recuperación de propiedades de ventanas/elementos.

Los elementos del editor de propiedades deben recuperar los valores de las propiedades de las instancias que caen dentro del foco de edición.

4. Edición de propiedades de elementos/ventanas.

Hay 2 formas de editar propiedades en total: (1) a través de editores de elementos y (2) edición manual de instancias. Por ejemplo ondular, mover, imprimir en x superficie, etc.


5. Carga de plantillas/proyectos.

Funcionalidad que permite cargar plantillas y proyectos guardados dentro del editor para su posterior edición.

6. Guardar plantillas/proyectos.

Funcionalidad que permite guardar plantillas y proyectos GUI terminados en archivos para transferirlos posteriormente a programas personalizados o para utilizarlos como versiones beta y volver a cargarlos para editar o copiar partes.

En general, estos son los seis fundamentos de un editor visual.

Como séptimo fundamento, añadiría una interfaz de editor gráfico sin la cual no puede funcionar.


Antes de Año Nuevo, espero implementar la clonación, el borrado y la edición visual tanto con editores de elementos como en modo manual. Veremos qué puedo hacer con el tiempo.


 
6 puntos básicos (breves y claros)

1. La copia de elementos.

2. Borrar elementos.

3. Edición manual (mover, estirar, imprimir).

4. Edición a través de controladores (obtener propiedades en los editores de elementos y cambiarlas).

5. Carga de plantillas y proyectos GUI desde archivos.

6. 6. Guardar plantillas y proyectos GUI en archivos.
 

Necesito una buena instrucción, tutoriales en vídeo sobre cómo crear un panel de la A a la Z. Interfaz en ruso ;)

De lo contrario, la abundancia de funcionalidad es aterrador.