Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1125

 
Roman Sharanov:
La question est la suivante. Puis-je ouvrir 2 tableaux (ou plus) en appuyant sur un bouton de manière à ce qu'ils soient positionnés verticalement et occupent également tout l'écran ?

Dois-je essayer d'ouvrir un graphique et d'y appliquer le modèle ajusté si nécessaire ? Je ne l'ai pas essayé - je ne sais pas. Je pense tout haut...

 

Dans mql, existe-t-il un moyen de définir un type abstrait pour les variables dans une méthode ?

Par exemple, ici nous avons :

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

}

Je veux que les types ne soient pas seulement int, mais n'importe quel type. Ou est-il nécessaire de surcharger une méthode autant de fois que je veux qu'elle accepte des types ?

 
Dmitri Custurov:

Dans mql, existe-t-il un moyen de définir un type abstrait pour les variables dans une méthode ?

Par exemple, ici nous avons :

Je veux que les types ne soient pas seulement des int, mais n'importe quel type. Ou est-il nécessaire de surcharger une méthode autant de fois que je veux qu'elle accepte des types ?

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

Ou, si les deux types sont les mêmes :

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

Ou, si les deux sont de types différents :

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

Super, merci.

 
Dmitri Custurov:

Super, merci.

Complété ci-dessus.

 
Artyom Trishkin:

Peut-être devriez-vous essayer d'ouvrir un graphique et d'y appliquer un modèle personnalisé ? Je ne l'ai pas essayé - je ne sais pas. Je pense tout haut...

Non, il ouvre toujours un graphique en plein écran.

 
Roman Sharanov:

non, il ouvre toujours un seul graphique en plein écran

Je ne me souviens pas et je ne peux pas regarder maintenant, n'y a-t-il aucun moyen d'appliquer un profil ? Seul un profil peut aider en la matière.

 

Aide avec la syntaxe, il est difficile de trouver la différence

à partir de l'aide et des exemples

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

Je ne m'en souviens pas et je ne peux pas le chercher maintenant. N'y a-t-il pas moyen d'appliquer un profil ? Seul un profil peut aider en la matière.

Ils écrivent que si c'est possible, uniquement par le biais de WinAPI DLL, il n'y a pas de telle chose dans MT comme standard

 
Valeriy Yastremskiy:

Aide avec la syntaxe, il est difficile de trouver la différence

à partir de l'aide et des exemples

Dans MQL5, les tableaux sont passés dans la fonction par référence uniquement - un appersand est nécessaire. L'endroit où il se trouve n'a pas d'importance.

Raison: