Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 966

 
kopeyka2:


Mejor aún, exponga claramente lo que quiere conseguir. Probablemente le mostraré un ejemplo completo.

 
jdjahfkahjf:

¿Qué significa esto?


Lee la Ayuda: Modos de optimización.

 

¿Puede decirme, por favor. ¿Cómo se reinicia un Asesor Experto (por ejemplo, al ejecutar ChartSetSymbolPeriod() )?

¿Es correcto entender que la reinicialización sólo afecta a las variables locales de las funciones?

¿Y cuáles son las reglas para las variables globales?

Según mi observación, las variables globales heredan sus valores después del paso OnDeinit - OnInit.

¿Debería ser así?

 
User_mt5:

¿Puede decirme, por favor. ¿Cómo se reinicia un Asesor Experto (por ejemplo, al ejecutar ChartSetSymbolPeriod() )?

¿Es correcto entender que la reinicialización sólo afecta a las variables locales de las funciones?

¿Y cuáles son las reglas para las variables globales?

Según mi observación, las variables globales heredan sus valores después del paso OnDeinit - OnInit.

¿Debería ser así?

Инициализация глобальных переменных программы и другие полезные знания.
Инициализация глобальных переменных программы и другие полезные знания.
  • 2016.11.29
  • www.mql5.com
Встал на форуме недавно вопрос по поводу верной/неверной инициализации глобальных переменных в программах...
 
Artyom Trishkin:

Gracias.

El problema de este mql es que es intuitivamente imprevisible:

- no sobre la distinción global-local

- ni en materia de diferencias entre indicadores y expertos.

(la última copia de la correspondencia con SD también fue muy útil en la discusión anterior en el enlace, gracias)

 
¿Alguien puede decirme cómo exponer programáticamente las ventanas en el terminal? (anchura, altura y ajuste)
 
User_mt5:
¿Alguien puede decirme cómo configurar las ventanas en el terminal de forma programática? (Anchura, altura y posicionamiento).

Desconecta la ventana del terminal y luego prueba (yo personalmente no he probado a configurar estas propiedades todavía):

MQL5: Se han añadido nuevas propiedades para vincular/desvincular los gráficos a/de la ventana principal del terminal y controlar su posición.

Añadidas nuevas propiedades en laenumeraciónENUM_CHART_PROPERTY_INTEGER:

  • CHART_IS_DOCKED - la ventana del gráfico es fija. Si se establece en false, el gráfico puede ser arrastrado fuera de la terminal.
  • CHART_FLOAT_LEFT - coordenada izquierda del gráfico desprendido en relación con la pantalla virtual.
  • CHART_FLOAT_TOP - coordenada superior del gráfico respecto a la pantalla virtual.
  • CHART_FLOAT_RIGHT - coordenada derecha del gráfico desprendido en relación con la pantalla virtual.
  • CHART_FLOAT_BOTTOM - coordenada inferior del gráfico desprendido respecto a la pantalla virtual.


Añadidoa la enumeraciónENUM_TERMINAL_INFO_INTEGER:

  • TERMINAL_SCREEN_LEFT - coordenada izquierda de la pantalla virtual. La pantalla virtual es un rectángulo que cubre todos los monitores. Si hay dos monitores en el sistema y su orden se establece de derecha a izquierda, la coordenada izquierda de la pantalla virtual puede estar en el límite de los dos monitores.
  • TERMINAL_SCREEN_TOP - coordenada superior de la pantalla virtual.
  • TERMINAL_SCREEN_WIDTH - ancho del terminal.
  • TERMINAL_SCREEN_HEIGHT - altura del terminal.
  • TERMINAL_LEFT - coordenada izquierda del terminal respecto a la pantalla virtual.
  • TERMINAL_TOP - coordenada superior del terminal respecto a la pantalla virtual.
  • TERMINAL_RIGHT - coordenada derecha del terminal respecto a la pantalla virtual.
  • TERMINAL_BOTTOM - coordenada inferior del terminal respecto a la pantalla virtual.
 
Vladimir Karputov:

Separe la ventana de la terminal y luego pruebe (yo personalmente aún no he configurado estas propiedades):

Gracias.

Lo he probado. Funciona más o menos (en concreto, la ventana está minimizada, cuando minimizas el terminal, desaparece, pero cuando despliegas la pantalla, la anteriormente minimizada se abre a su tamaño, cada vez que hay que volver a minimizarla, para que no se asome).

Pero no es eso. No necesito desprender los gráficos, sólo necesito teselarlos, por ejemplo, o cualquier otra cosa que crea conveniente. No parece haber tal cosa en MT5...

(la idea general es que en el Asesor Experto multidivisa necesito ver las operaciones por símbolos predefinidos;
hay un botón que abre todos los gráficos en los que están abiertas las órdenes y las posiciones;
pero las ventanas se abren con un tamaño incontrolable y tengo que ordenarlas manualmente en la pantalla;
y yo, perezoso, quisiera que mi programa intelectualmente inalcanzable lo hiciera :)

 
User_mt5:

Gracias.

Lo he probado. Funciona más o menos (en concreto, la ventana se minimiza, desaparece al minimizar el terminal, pero al desplegar la pantalla se abre la anteriormente minimizada a su tamaño, cada vez hay que volver a minimizarla para que no se asome).

Pero no es eso. No necesito desprender los gráficos, sólo necesito teselarlos o hacer otra cosa como me parezca. Parece que no existe tal cosa en MT5.

(la idea general es que en un Asesor Experto multidivisa uno necesita ver las operaciones por símbolos predefinidos;
hay un botón que abre todos los gráficos con órdenes y posiciones abiertas;
pero las ventanas se abren incontroladamente grandes y tengo que ordenarlas manualmente en la pantalla;
y yo, como soy perezoso, quisiera que mi programa intelectualmente inalcanzable hiciera eso :)

¿Qué tal si utilizamos WinAPI? En especial, MQL5 ha introducido la compatibilidad con

MQL5: Se ha añadido soporte para las funciones WinAPI a la biblioteca estándar. Ahora, para utilizar las funciones del sistema operativo en los programas MQL5, no es necesario importar manualmente las bibliotecas y describir las firmas de las funciones. El archivo de cabecera del directorio MQL5\Include\WinAPI es suficiente.

Las funciones WinAPI están agrupadas en archivos separados según su finalidad:

  • libloaderapi.mqh - manejo de recursos
  • memoryapi.mqh - manejo de la memoria
  • processenv.mqh - manejo del entorno
  • processthreadsapi.mqh - trabajar con procesos
  • securitybaseapi.mqh - funcionamiento con el sistema de seguridad del SO
  • sysinfoapi.mqh - obtener información del sistema
  • winbase.mqh - funciones generales
  • windef.mqh - constantes, estructuras y enumeraciones.
  • wingdi.mqh - operación con objetos gráficos
  • winnt.mqh - manejo de excepciones
  • winreg.mqh - manipulación del registro
  • winuser.mqh - control de ventanas e interfaces
  • errhandlingapi.mqh - manejo de errores
  • fileapi.mqh - manejo de archivos
  • handleapi.mqh - trabajar con asas
  • winapi.mqh - conexión de todas las funciones (archivos de cabecera WinAPI)


La vinculación sólo funciona con la arquitectura de 64 bits.

 
Vladimir Karputov:

¿Qué tal si utilizamos WinAPI?

Supongo que sí. Pero ahí se acaban mis conocimientos.

Estaría bien que hubiera una certeza para quien mql5 - para inteligente o para bello. Estoy lejos de ser inteligente.
Para utilizar la API, necesito una descripción y ejemplos. Sin ella, la montaña de oro de las bibliotecas seguirá sin utilizarse para mí.
- No soy capaz y no voy a buscar entre miles de líneas de código sin comentar con la esperanza de encontrar algo útil.