Botones y campos de texto en el gráfico de mt4 posible ahora - página 2

 
bonito
 

Ghost, tenemos la 0.3 que ya funciona. No estoy seguro sobre la 0.2 pero la 0.3 seguro que soporta texto y bgcolors en CHECKBOX y BUTTONS (el resto no está implementado todavía).

Para obtener el estado de la casilla de verificación definiremos una nueva función, pero actualmente tbIsClicked(handle) puede detectar los clics, por lo que se puede hacer una función interna para capturar el estado, ya que puede ser 1 o 0. Pero en las próximas versiones vendrá una nueva función para gestionar el estado de la casilla de verificación.

Para obtener el valor de la caja de texto utilice

string tbGetText(handle)

No hay ninguna función prevista para obtener el valor del botón, pero se puede establecer el texto del botón a través de

tbSetText( obj, text, fontsize, fontname )

esta función también puede establecer el valor de la etiqueta, el campo de texto, etc. .....

fx1

 
fx1.net:

Aquí quiero presentar un nuevo addon gratuito para mt4 como vista previa. Actualmente estoy probando un producto llamado mt4gui. Este producto hace posible colocar botones, campos de texto, campos de lista directamente en el gráfico; aquí hay una captura de pantalla de vista previa que ya está funcionando

http://fx1.net/wiki/uploads/img_7.png

Los botones reaccionan inmediatamente después de hacer clic sin esperar a que el corredor de la garrapata lado. Estamos mejorando este producto con más características en las próximas semanas. La razón por la que publico esto es para obtener ideas de la comunidad sobre lo que se necesita. Por supuesto, no todo se puede realizar realmente, pero voy a filtrar las ideas interesantes aquí.

Aquí hay un ejemplo de código muy básico que demuestra el uso:

¿que hay de añadir un objeto a la lib aka diagrama? winapi

ser muy útil

 

Britanec,

tal objeto es muy complicado de implementar en esta etapa ya que queremos liberar todos los objetos comunes hasta la versión 1.0 entonces podemos ir a temas avanzados pero gracias por las sugerencias, háganos saber sobre nuevas ideas


fx1.net

 

Creo que no he sido muy claro en mi anterior post. Vamos a intentarlo de nuevo:

1) la forma en que su función coloca los botones en la pantalla es ligeramente diferente de ObjectCreate en mql. No está atado a una esquina. Así que para colocar un objeto en relación con la esquina inferior hay coordenadas negativas. Adicionalmente su colocación va de toda la ventana no de una ventana del gráfico. No tengo nada en contra de eso, pero colocar un texto junto a un botón con coordenadas negativas usando la función general mql es imposible, o tal vez no podría hacerlo. Su función "pxy" es tan buena como otras para poner texto en una ventana de gráfico, pero no hizo el trabajo ya que las coordenadas se dan de manera diferente.

2) los colores no funcionaban en la versión 2. Muchas gracias por actualizar a la versión 3. Ya no hay ningún problema con los colores. Excelente.

3) una vez más me gustaría preguntarle si es posible utilizar la función tbPutObject de su dll para colocar objetos en una subventana separada. Su producto, en mi opinión, sería 10 veces más valioso si se hiciera eso. Será algo así como una consola comercial, y será muy manejable dentro de una ventana. Además, resolverá todos los problemas de coordenadas planteados en el punto 1.

4) Tengo la muestra que has puesto aquí y la del sitio fx1. Y por supuesto tengo tbRemove para cada uno de los objetos en deinit. Sólo que NO se eliminan los objetos cuando se elimina el experto. No tengo ni idea de por qué.

Me gustaría agradecerles una vez más por el producto. Es realmente excelente y exactamente lo que estaba buscando desde hace mucho tiempo.

Sin embargo, hay un problema que quería señalar a su atención. Si el botón de ExpertAdvisor de MT4 está en posición OFF y se hace clic en cualquiera de sus botones no ocurre nada, lo cual es correcto, pero en el momento en que el botón de ExpertAdvisors se pone de nuevo en ON el EA realiza todos los comandos de los clics. Solo para hacer una prueba hice clic en Comprar y Vender mientras el ExpertAdvisor estaba apagado, en el momento que lo encendí compró y vendió. Creo que es algo que hay que arreglar.

 

fx1.net :los controles parpadean muy a menudo en el gráfico, ¿puede resolver este problema? Supongo que la frecuencia del parpadeo depende de los datos de los ticks.

 
Fantasma: ver mis videos; no se enjuagan en absoluto. es cuestión de implementación. Si quitas y vuelves a aplicar en cada tic esto puede suceder pero en otro caso son más o menos estáticos. Al menos en mi caso. ¿Puedes publicar cómo lo has implementado, por favor?
 
pro_:

Creo que no he sido muy claro en mi anterior post. Vamos a intentarlo de nuevo:

1) la forma en que su función coloca los botones en la pantalla es ligeramente diferente de ObjectCreate en mql. No está atado a una esquina. Así que para colocar un objeto en relación con la esquina inferior hay coordenadas negativas. Adicionalmente su colocación va de toda la ventana no de una ventana del gráfico. No tengo nada en contra de eso, pero colocar un texto junto a un botón con coordenadas negativas usando la función general mql es imposible, o tal vez no podría hacerlo. Su función "pxy" es tan buena como otras para poner texto en una ventana de gráfico, pero no hizo el trabajo ya que las coordenadas se dan de manera diferente.


pro_: si MQL hace esto a través de la configuración de la propiedad separada y mantiene las posiciones positivas. Creo que se puede hacer lo mismo mejor con coordenadas negativas, por eso he implementado esto de esa manera. Sobre la función pxy, es capaz de entender - coordenadas con una ligera modificación. Si toda la ventana porque como .dll no podemos ver el eje del gráfico etc. Por otro lado se ven como estáticos, puedes simplemente medir su ancho y alto y colocar los textos x,y relativos a eso.

2) los colores no funcionaban en la versión 2. Muchas gracias por actualizar a la versión 3. Ya no hay ningún problema con los colores. Excelente.

v3 soporta el color en los botones, casillas de verificación todavía.


3) una vez más me gustaría preguntar si es posible utilizar la función tbPutObject de su dll para colocar objetos en una subventana separada. Su producto, en mi opinión, sería 10 veces más valioso si se hiciera eso. Será algo así como una consola comercial, y será muy manejable dentro de una ventana. Además, resolverá todos los problemas de coordenadas planteados en el punto 1.

La colocación en una ventana separada sería muy fácil, pero actualmente hemos elegido una manera. Su implementación es ligeramente diferente si los colocamos en el gráfico o en una ventana separada. En versiones posteriores podemos apoyar eso. Tengo planes para poder hacer el gráfico más pequeño sin cambiar el tamaño de la ventana MDI donde se encuentra el gráfico. De esta manera podríamos tener un espacio separado a la derecha o en la parte inferior para colocar botones adicionales. Se verían como botones al lado del gráfico.


4) Tengo el ejemplo que has puesto aquí y el del sitio fx1. Y por supuesto tengo tbRemove para cada uno de los objetos en deinit. Solo que NO se eliminan los objetos cuando se elimina el experto. No tengo ni idea de por qué.

Sí, lo confirmo, esto funcionaba antes. Voy a revisar este importante tema

Sin embargo, hay una cuestión que quería señalar a su atención. Si el botón de ExpertAdvisor de MT4 está en posición OFF y se hace clic en cualquiera de sus botones no ocurre nada, lo cual es correcto, pero en el momento en que el botón de ExpertAdvisors se pone de nuevo en ON el EA realiza todos los comandos de los clics. Solo para hacer una prueba hice clic en Comprar y Vender mientras el ExpertAdvisor estaba apagado, en el momento que lo encendí compró y vendió. Creo que eso es algo que hay que arreglar.

Sí, tienes razón. No he comprobado este problema. También voy a trabajar en eso.

¡Muchas gracias por probar mt4gui!

 

fx1.net: antes de publicar mi código voy a revisar tu código de ejemplo.

¿Puede ser el problema que utilice el tbSetText para actualizar el texto de las etiquetas en cada tick?

¿Tienes pensado añadir radiobuttons al addon? Si no es así, ¿cómo podemos cambiar el estado de un checkbox?

 

Se ha corregido el error de tbRemove y tbRemoveAll en la v0.4

Se ha ampliado el soporte delas casillas de verificación:

int tbSetChecked(int,bool);

int tbIsChecked(int);

Se ha actualizado el código de demostración en el sitio.