Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1125

 
Roman Sharanov:
La cuestión es la siguiente. ¿Puedo abrir 2 (o más) gráficos pulsando un botón para que se coloquen en vertical, ocupando por igual todo el monitor?

¿Debo intentar abrir un gráfico y aplicarle la plantilla personalizada? No lo he probado, no lo sé. Sólo pensaba en voz alta...

 

En mql, ¿hay una manera de establecer un tipo abstracto para las variables en un método?

Por ejemplo, aquí tenemos:

void append(int &array[], int value){

}

Quiero que los tipos no sean sólo int, sino cualquier tipo. ¿O es necesario sobrecargar un método tantas veces como quiera que acepte tipos?

 
Dmitri Custurov:

En mql, ¿hay una manera de establecer un tipo abstracto para las variables en un método?

Por ejemplo, aquí tenemos:

Quiero que los tipos no sean sólo int, sino cualquier tipo. ¿O es necesario sobrecargar un método tantas veces como quiera que acepte tipos?

  template<typename T>
  void append(int &array[], T value){ }

O, si ambos tipos son iguales:

  template<typename T>
  void append(T &array[], T value){ }

O bien, si ambos son de distinto tipo:

  template<typename T 1, typename T 2>
  void append(T1 &array[], T2 value){ }
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Перегруженные функции обычно используются для выполнения похожих операций над различными типами данных. Простой пример такой функции в MQL5 - ArraySize(), которая возвращает размер массива любого типа. На самом деле эта системная функция является перегруженной, и вся реализация такой перегрузки спрятана от разработчика программ на MQL5: То есть...
 
Artyom Trishkin:

Genial, gracias.

 
Dmitri Custurov:

Genial, gracias.

Completado arriba.

 
Artyom Trishkin:

¿Tal vez deberías intentar abrir un gráfico y aplicarle una plantilla personalizada? No lo he probado, no lo sé. Sólo pensaba en voz alta...

No, sigue abriendo un gráfico en pantalla completa

 
Roman Sharanov:

no, sigue abriendo un solo gráfico en pantalla completa

No recuerdo y no puedo mirar ahora, ¿no hay forma de aplicar un perfil? Sólo un perfil puede ayudar en este asunto.

 

Ayuda con la sintaxis, es difícil encontrar la diferencia

de la ayuda y de los ejemplos

int  ArraySize(
   int array[]      // массив с элементами типа int
   );
int  ArraySize(
   int &array[] 
   );
 
Alexey Viktorov:

No recuerdo y no puedo buscarlo ahora, ¿no hay forma de aplicar un perfil? Sólo un perfil puede ayudar en este asunto.

Escriben que si es posible, sólo a través de WinAPI DLL, no hay tal cosa en MT como estándar

 
Valeriy Yastremskiy:

Ayuda con la sintaxis, es difícil encontrar la diferencia

de la ayuda y de los ejemplos

En MQL5, los arrays se pasan a la función sólo por referencia - se requiere un appersand. No importa dónde se encuentre.

Razón de la queja: