Discusión sobre el artículo "Experto comercial con interfaz gráfica: Creación del panel (Parte I)"
Hola. ¿Cómo solucionar el error de compilación?
ON_END_CREATE_GUI' - identificador no declarado Programa.mqh 307 29
Hola. ¿Cómo puedo solucionar el error de compilación?
'ON_END_CREATE_GUI' - identificador no declarado Programa.mqh 307 29
Actualizar biblioteca:
EasyAndFastGUI - librería para la creación de interfaces gráficas
Y archivos de biblioteca adjuntos al artículo.
| Nombre del archivo | Comentario |
|---|---|
| MQL5\Include\EasyAndFastGUI\Controls\Table.mqh | Clase CTable actualizada |
| MQL5\Include\EasyAndFastGUI\Keys.mqh | Clase CKeys actualizada |
Hola Anatoli
en primer lugar, felicitaciones por el gran trabajo.
He intentado compilar tus archivos, pero puede que falte alguna constante, en concreto esta: "ON_END_CREATE_GUI" en Program.h.
¿Se puede añadir en el archivo defines.h?
Gracias de antemano
Manuele
Hola Anatoli,
en primer lugar, felicitaciones por el gran trabajo.
He intentado compilar tus archivos, pero puede que falte alguna constante, en concreto esta: "ON_END_CREATE_GUI" en Program.h.
Peraphs que añadir en el archivo defines.h?
Gracias de antemano
Manuele
#define ON_END_CREATE_GUI (42)
A mi me ha funcionado.
He descargado los archivos adjuntos. No ha podido resolver los siguientes includes
#include <EasyAndFastGUI\WndEvents.mqh>
#include <EasyAndFastGUI\TimeCounter.mqh>
He comprobado que no se han descargado con los archivos adjuntos
Anatoly, por favor, aconséjame sobre este punto.
Se ha añadido un gráfico estándar a la Fig.11. La pregunta es la siguiente. ¿Tiene un identificador único? O no lo he buscado bien, o está escondido en algún lugar lejano. Mi tarea es dibujar mi propio pequeño lienzo en este gráfico añadido. Gracias por el gran trabajo en la biblioteca de gráficos.
Estoy intentando asimilar este enorme y polifacético complejo GUI, por lo que el autor está muy agradecido, pero me surgen algunas preguntas.
¿Por qué llamar a AddToElementsArray varias veces al crear un elemento? Si, por ejemplo, una pestaña forma parte de una ventana, ¿no debería la llamada m_tabs1.AddToElementsArray(0,m_date_scale) llamar automáticamente a CWndContainer::AddToElementsArray desde el padre (por lo que entiendo de la terminología, los padres se llaman elementos principales, y todos los elementos deberían tenerlos, y todos ellos deberían estar dentro de CWndContainer, es decir, todas las conexiones para la llamada automática están ahí)?
En principio, tener llamadas a dos métodos "contadores" de significado (child.MainPointer(parent) y AddToElementsArray(child)) al crear elementos parece poco óptimo. ¿Por qué no girar la relación padre-subordinado en la dirección opuesta y combinarla en una llamada a la parent.Add(child), que internamente hará AddToElementsArray y child.MainPointer(parent) si es necesario?
¿Por qué deberíamos hacer AddToElementsArray para las pestañas antes de la creación del objeto, pero para CWndContainer después?
¿Por qué no hacer posible establecer todas las opciones antes de crear un elemento? Ahora resulta que las propiedades se dividen artificialmente en 2 partes: las que hay que establecer antes de llamar a Create, y las que hay que llamar después. ¿Y qué impide que la bandera y el estado del texto se establezcan en el mismo grupo de operadores donde se especifican el tamaño, las opciones, etc.?
Por qué CWndContainer::AddToElementsArray con el primer parámetro 0, si en la gran mayoría de los casos se utiliza una ventana y el índice se puede hacer como segundo parámetro opcional.
¿No existía la idea de unificar la creación de diferentes tipos de elementos con un único método virtual Create? Ahora cada tipo de elemento tiene su propia función CreateBlaBlaBla, ¿por qué?
¿Por qué en los métodos de ayuda (como CreateComboBoxTF, etc.) sólo se establece la posición del elemento mediante parámetros, y se especifica su tamaño en su interior? Teniendo en cuenta la alineación, el tamaño y la posición deberían cambiar "sincrónicamente", en un lugar del programa, es decir, si las coordenadas se consideran dignas de pasar desde fuera como parámetros, entonces el tamaño también debería estar ahí.
En el artículo https://www.mql5.com/es/articles/3366 había un ejemplo de un Asesor Experto con todos los controles, pero es incompatible con la última versión. ¿Hay algún ejemplo actualizado?
en vs código, win 10 64bit, tratando de compilar el panel, me sale 'deprecated' advertencias, y 1 error:
Compiling........: TradePanel.mq5 C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Element.mqh(379,24) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\Scrolls.mqh(625,15) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\Scrolls.mqh(927,15) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\TextBox.mqh(1844,14) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\ListView.mqh(704,45) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\ListView.mqh(1468,71) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\TreeItem.mqh(85,15) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\ProgressBar.mqh(156,4) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\ProgressBar.mqh(260,4) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\Table.mqh(3416,109) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\Tabs.mqh(588,47) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\Tooltip.mqh(82,17) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\Controls\Window.mqh(1289,8) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\WndEvents.mqh(302,36) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\WndEvents.mqh(302,56) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\WndEvents.mqh(1426,20) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\WndEvents.mqh(1761,33) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Include\EasyAndFastGUI\WndEvents.mqh(1761,53) : warning 91: deprecated behavior, hidden method calling will be disabled in a future MQL compiler version C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Experts\TradePanel\CreateGUI.mqh(111,20) : error 199: 'AddItem' - wrong parameters count C:\Users\x\AppData\Roaming\MetaQuotes\Terminal\xxx\MQL5\Experts\TradePanel\CreateGUI.mqh(111,28) : warning 181: implicit conversion from 'number' to 'string' Result: 1 errors, 19 warnings
gracias por compartir,
s love nia
El archivo TradePanel.mq5 no está compilado.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Experto comercial con interfaz gráfica: Creación del panel (Parte I):
A pesar de que muchos tráders hasta ahora prefieren el comercio manual, resultará difícil evitar la automatización de operaciones rutinarias en nuestro caso. En el artículo se muestra la creación de un experto de señal multisímbolo para el comercio manual.
Para visualizar los datos de los símbolos se ha pensado un elemento del tipo CStandardChart. Por defecto, se mostrará el gráfico EURUSD en el marco temporal diario. Tiene las siguientes propiedades.
En caso necesario, podemos crear una matriz de gráficos construidos en la fila horizontal. Para ello, use el método CStandardChart::AddSubChart(), transmitiendo en el mismo el símbolo y el marco temporal como argumentos. Pero en este caso, necesitaremos solo un gráfico; los símbolos y marcos temporales los alternaremos con la ayuda de otros elementos de control.
Autor: Anatoli Kazharski