Discusión sobre el artículo "Mejore sus gráficos comerciales con una GUI interactiva basada en MQL5 (Parte III): Interfaz comercial simple y móvil" - página 2
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
hay una oscuridad de métodos elaborados con hermosas flechas "cómo implementar UI para que no sea insoportablemente doloroso" :-) MVC y similares. Así que allí el front-end (win,gtk,qt,web) a veces se puede cambiar con un ligero movimiento de la mano.
Ninguno de ellos ha sido implementado en MQL. Todo es clavado, peor que TurboVision - aunque tiene clases de Adam, pero tiene modelos
Los individuos han estado escribiendo durante años(!!!) sobre "fácil y simple" y "interfaz simple", pero es exactamente lo mismo que en este artículo. Un montón de código que no hace nada más fácil. El único efecto es un bonus en la cuenta del autor.
La mera mención de MVC me hace descojonarme.
Se ha mantenido desde el momento en que hice el sitio de mi esposa, una tienda en línea en el motor OcStore.
En el momento en que llegó al menos una cierta comprensión de cómo funciona, yo estaba medio gris))))
No juzguemos estrictamente, esta serie de artículos está dirigido a principiantes.
Los artículos están escritos con claridad y lucidez, y para escribir con claridad no es una tarea fácil.
El autor, hace frente a esta tarea perfectamente.
Ouch, la mera mención de MVC me da escalofríos.
Lleva ahí desde que hice la web de mi mujer con el motor OcStore.
En el momento en que llegué a entender cómo funciona, yo estaba medio gris))))
No juzguemos duramente, esta serie de artículos está dirigida a principiantes.
Los artículos están escritos de forma clara y comprensible, y escribir con claridad no es tarea fácil.
El autor, hace frente a esta tarea perfectamente.
Tengo un recuerdo de contar el ancho / alto y las coordenadas relativas y absolutas de un botón de mierda es deprimente :-)
2024 - pero aún así el usuario de la biblioteca tiene que contar píxeles.
el diálogo dado, en forma de un campo de entrada de volumen y dos botones de compra/venta.
¿cómo resuelve el diálogo anterior los problemas de tolerancia de volumen y negociabilidad? sí, los lotes no pueden ser inferiores al mínimo, incrementarse por pasos y no superar el máximo. No siempre es posible comprar/vender.
¿Alguna pista sobre soluciones? no.
¿ COMO ? en mano a mano...dentro del EA gestionar manualmente todas las opciones de una GUI particular. No es mejor que utilizar directamente las funciones del terminal.
entre ObjectSetXXX(chart,objName,propertyName,propertyValue) y obj.SetInteger(value) - la diferencia está cubierta por defines, no se necesita OOP aquí.
---
no es sobre el artículo, es sobre los "escritores" en general. Será mejor que leas
Tengo memoria para calcular la anchura/altura y las coordenadas relativas y absolutas de un botón, lo cual es deprimente :-)
2024 - pero aún así, el usuario de la biblioteca debe contar píxeles
el diálogo dado, en la forma: campo de entrada de volumen y dos botones de compra/venta
¿Cómo resuelve el diálogo anterior los problemas con la admisibilidad de los volúmenes y la posibilidad de negociar? Sí, los lotes no pueden ser inferiores al mínimo, se incrementan por pasos y no pueden superar el máximo. La compra/venta no siempre es posible. ¿Hay algún indicio de solución? No hay
¿CÓMO? En el combate cuerpo a cuerpo... dentro del asesor, controle manualmente todas las opciones de una GUI específica. No es mejor que usar directamente las funciones del terminal.
entre ObjectSetXXX(chart,objName,propertyName,propertyValue) y obj.SetInteger(value) - la diferencia está cubierta por definiciones, no se necesita OOP aquí
---
Esto ya no es en términos del artículo, es en general acerca de los "escritores". Sería mejor si leyeran
Sólo una cosa, me gustaría señalar es, esta serie no fue escrita para esta GUI de Compra/Venta más bien fue escrita para cualquier GUI y esta GUI de Compra/Venta actúa como un simple ejemplo.
Gracias por dar a la serie tales pensamientos, apreciaría sugerencias.
Saludos
Tengo un recuerdo de contar el ancho/alto y las coordenadas relativas y absolutas de un botón de mierda me desanima :-)
2024 - pero todavía un usuario de la biblioteca tiene que contar píxeles
el diálogo dado, en forma de: campo de entrada de volumen y dos botones de compra/venta
¿cómo resuelve el diálogo anterior los problemas de tolerancia de volumen y negociabilidad? sí, los lotes no pueden ser inferiores al mínimo, incrementados por pasos y no superiores al máximo. La compra/venta no siempre es posible.
¿Alguna sugerencia de solución? No.
¿ CÓMO ? en mano a mano...dentro del EA gestionar manualmente todas las opciones de una GUI particular. No es mejor que utilizar directamente las funciones del terminal.
entre ObjectSetXXX(chart,objName,propertyName,propertyValue) y obj.SetInteger(value) - la diferencia está cubierta por defines, no se necesita OOP aquí.
---
no es sobre el artículo, es sobre los "escritores" en general. Será mejor que leas
Hombre, este es sólo mi tercer panel, no quiero acordarme de los dos primeros, si algún codificador los ve, me avergonzaré.
Me gustaría hacerlo ahora para que la próxima vez no tenga que liarme tanto.
Ahora en el archivo del plugin solo queda una clase con código para arrastrar todos los elementos del panel y un montón de gets.
Y abajo sólo tengo funciones para dibujar objetos, copiadas de la ayuda, me parece muy cómodo tenerlo todo en un montón.
Como resultado, el código en el Asesor Experto era largo, ahora es ancho, en general, cambié de una cosa a otra.
Otro archivo plug-in con funciones de trading de uso frecuente, como calcular todas las posiciones, normalizar el precio, cerrar posiciones, etc.
Pero sigue siendo un poco engorroso y no es universal.
En el siguiente panel tendremos que calcular cada campo y escribir el procesamiento para estos campos (botones/campo de entrada).
Y no se me ocurre un esquema de cómo hacerlo todo más universal.
¿Puedes darme algunas buenas pistas sobre cómo diseñar el código?
Pero sigue siendo algo engorroso y poco versátil.
En el siguiente panel tendremos que calcular cada campo y escribir el procesamiento para estos campos (botones/campo de entrada).
Y no se me ocurre ninguna forma de hacerlo más universal.
¿Puedes darme algunas buenas pistas sobre cómo diseñar el código?
La variante más práctica y universal es diseñar los formularios visualmente, sin preocuparse en absoluto del código de diseño - esto es lo que deberían hacer las clases. Una de las posibles soluciones estaba en el artículo.
La opción más práctica y universal es diseñar los formularios visualmente, sin preocuparse en absoluto del código de maquetación: eso es exactamente lo que deberían hacer las clases. Una de las posibles soluciones estaba en el artículo.
Me acordé :-)
para aquellos que no son para el mercado, quieren más o menos complejo, pero hermoso, y es demasiado perezoso para escribir DLL, hay GtkServer https://sourceforge.net/projects/gtk-server/ y Glade diseñador de formularios a la misma.
Metodología: GtkServer se lanza como un oyente tcp, asesor utilizando SocketOpen/SocketSend envía texto "formulario de carga" (o sí mismo por pasos forma widgets gtk) y también lee el resultado....
La opción más práctica y universal es diseñar los formularios visualmente, sin preocuparse en absoluto del código de maquetación: eso es exactamente lo que deberían hacer las clases. Una de las posibles soluciones estaba en el artículo.
Stanislav, bueno, debajo del artículo para principiantes proporcionas un enlace al artículo para usuarios avanzados :)
Lo leo, no lo leo, sólo lo leo, porque mi nivel en programación es mucho más bajo de lo que necesito para entender lo que está escrito ahí.
Intento utilizar lo menos posible lo que no entiendo. Una situación reciente me ha arraigado en esto aún con más fuerza.
Usted probablemente está leyendo el tema "Errores, bugs, preguntas", así que tuve una tarea para mostrar las flechas de las posiciones cerradas en un renko-gráfico, entrada-salida entre ellos - una línea.
Decidí no escribirlo yo mismo, sino tomar un código ya hecho de Saiber, como resultado - medio día de tiempo perdido. Saiber corregido su código en el final, pero he perdido el tiempo.
Y si quisiera tomar el código de su artículo y necesitara retocar algo, bueno, usted entiende, nada bueno saldría de ello.
Tengo una tarea más sencilla que la que te propusiste al escribir tu artículo. Sólo necesito hacerlo de manera que pueda construir el siguiente panel a partir de piezas de código ya hechas como los niños construyen casas de lego.
No necesito OOP para este propósito en absoluto, en mi opinión. No la conozco, así que no me gusta.
El principio MVC es bastante adecuado para mis propósitos, si lo he entendido correctamente)))))
En general, ya me hago una idea de cómo debería ser.
Por cierto, ¿me podéis decir cómo hacer para que cuando acceda a las funciones de la clase heredera desde el programa, no vea las funciones de la clase base? Pues si es posible.
me vino a la mente :-)
para aquellos que no son para el mercado, quieren más o menos complejo, pero hermoso, y es demasiado perezoso para escribir una DLL, hay GtkServer https://sourceforge.net/projects/gtk-server/ y Glade diseñador de formularios a la misma.
Metodología: GtkServer se lanza como un oyente tcp, asesor utilizando SocketOpen/SocketSend envía texto "formulario de carga" (o sí mismo por pasos forma widgets gtk) y también lee el resultado....
Usted también :)
Tomo palabras como tcp listener, SocketOpen/SocketSend como blasfemia , ni siquiera se su significado sin google, y tu sugieres usarlo.
Señores, tengan conciencia, dejen de asustar a la gente con su terminología)))))
Stanislav, bueno yo-ma-yo, debajo del artículo para principiantes lanzas un enlace al artículo para avanzados :)
Yo lo he leído, no leído, sino sólo leído, porque mi nivel en programación es muy inferior al que necesito para entender lo que allí se escribe.
Intento utilizar lo menos posible lo que no entiendo. Una situación reciente me ha arraigado aún más en esto.
Por desgracia, la situación del software es tal que es imposible entenderlo todo por uno mismo. Según esta lógica, hay que personalizar el sistema operativo (que es lo que hacen algunos apologistas de Linux).
Por eso el enfoque moderno es tomar ladrillos ya hechos (que hacen más o menos lo que necesitas) y acoplarlos (sin profundizar en la implementación).
Simplemente estaba respondiendo a la pregunta de cómo hacer más universalmente. No se puede discutir con el hecho de que mi artículo es complicado, pero el punto es que usted puede describir la interfaz gráfica de usuario necesaria como una plantilla sin necesidad de programación, sólo mediante la conexión de los recintos para obtener los controladores, arrastre de ventanas, cambiar el tamaño y así sucesivamente.