Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1174
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
La segunda y siguientes dimensiones de un array no pueden ser dinámicas. Por lo tanto, como se declara un array, por ejemplo, int Mas[][7]; debe ser tomado por MyFun(int &Mas[][7])
Gracias. No tenía el cerebro para ello.
Hola programadores. Una vez más les pido su ayuda. Tengo un indicador estándar del que quiero obtener un único valor. He conectado el indicador y copiado un array de sus valores en el buffer double buf_atr[] Impreso en el log ArrayPrint(buf_atr) muestra estos valores:
0.00032 0.00037 0.00039 0.00039 0.00041 0.00039 0.00037 0.00036 0.00034 0.00035 0.00035 0.00035 0.00034 0.00030
¿CÓMO SE APLICA A LA CLAVE MASIVA QUE TIENE EL VALOR 0.00030? Resulta que este valor no está en la vela actual 0 y la anterior ya está formada 1
Parece que funciona, pero cómo acceder al array de celdas para seguir trabajando con él no lo sé ;(
Hola programadores. Una vez más les pido su ayuda. Tengo un indicador estándar del que quiero obtener un único valor. He conectado el indicador y copiado un array de sus valores en el buffer double buf_atr[] Impreso en el log ArrayPrint(buf_atr) muestra estos valores:
0.00032 0.00037 0.00039 0.00039 0.00041 0.00039 0.00037 0.00036 0.00034 0.00035 0.00035 0.00035 0.00034 0.00030
¿CÓMO SE APLICA A LA CLAVE MASIVA QUE TIENE EL VALOR 0.00030? Resulta que este valor no está en la vela actual 0 y la anterior ya está formada 1
Parece que funciona, pero cómo acceder al array de celdas para seguir trabajando con él no lo sé ;(
¡¡¡FUNCIONA YAY!!! Tengo que pasar abuf_atr[buf_size-1] He intentado todo. Muchas gracias,Vitaly Muzichenko.
¿Es obligatorio el estilo mql, la referencia al array?
Diálogo.mqh.
Creada la claseCAppDialogPTR- descendiente de CAppDialog - aconsejar cómo anular correctamente m_background, m_caption ... de la clase CDialog para acceder a ellos desde mi clase?
Diálogo.mqh.
No se puede. Estos objetos están bloqueados para que no puedan ser modificados directamente en su clase, como indica la palabra clave private. No puedes trabajar con ellos directamente. Utilice los métodos de la clase CDialog que trabajan con estos campos.
No se puede. Estos objetos están bloqueados para que no puedan ser modificados directamente en su clase, como indica la palabra clave private. No puedes trabajar con ellos directamente. Utilice los métodos de su clase CDialog que trabajan con estos campos.
Supongamos.
Una instancia creada de la claseCAppDialogPTR tiene controles (clase CWndContainer-> CWnd* Control(const int ind) const { return(dynamic_cast<CWnd *>(m_controls.At(ind)); }) a través del cual se puede acceder am_background, m_caption
1) ¿Cuál es la sintaxis para acceder (referirse a la memoria) al objeto creado?
"CAppDialog::Create(chart,name,subwin,x1,y1,x2,y2);"
Supongamos.
Una instancia creada de la claseCAppDialogPTR tiene controles (clase CWndContainer -> CWnd* Control(const int ind) const { return(dynamic_cast<CWnd *>(m_controls.At(ind)); } ) a través del cual se puede acceder am_background, m_caption
1) ¿Cuál es la sintaxis para acceder (referirse a la memoria) al objeto creado?
Sigues sin poder acceder a los contrails de forma direccionable a través de la colección m_controls, porque también está cerrada, además de que no sabes qué índice corresponde a qué control concreto. La idea es que CDialog bloquea el acceso a los elementos que lo componen, pero permite gestionar sus propiedades principales de forma coherente. Por ejemplo, no podemos acceder a m_caption directamente, pero podemos cambiar su texto utilizando el método Caption(const string text).
Lo que quieres es hackear en esencia. En principio cuando se utiliza cualquier herramienta MQ se quiere hacer tal o cual hack, así que no eres el único. Probablemente la forma más fácil es copiar la biblioteca a un directorio separado y mover la sección privada a protegida. Esto es burdo y tonto, pero funcionará. Otras opciones son poco probables: un código demasiado duro.
De todos modos, no podrás acceder a las contrapartes a través de la colección m_controls, porque también está cerrada, además, no sabes qué índice corresponde a qué control. La idea es que CDialog bloquea el acceso a los elementos que lo componen, pero permite gestionar las propiedades principales de forma coherente. Por ejemplo, no podemos acceder a m_caption directamente, pero podemos cambiar su texto utilizando el método Caption(const string text).
Lo que quieres es hackear en esencia. En principio cuando se utiliza cualquier herramienta MQ se quiere hacer tal o cual hack, así que no eres el único. Probablemente la forma más fácil es copiar la biblioteca a un directorio separado y mover la sección privada a protegida. Esto es burdo y tonto, pero funcionará. Es poco probable que las otras opciones funcionen porque el código es demasiado difícil.
Modificar el código fuente de MQ y sacar los métodos a público no es claramente nuestro método :).
Pero puedo referirme a las propiedades de Caption después de la declaración del panel de variables globales:
Pero no sólo no se ve bien, sino que este código detrás de la claseCAppDialogPTR. ¿Cómo puedo hacer lo mismo dentro de la claseCAppDialogPTR?