Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1125

 
Roman Sharanov:
La domanda è questa. Posso aprire 2 (o più) grafici al tocco di un pulsante in modo che siano posizionati verticalmente, occupando equamente tutto il monitor?

Devo provare ad aprire un grafico e applicare il modello regolato come necessario? Non l'ho provato - non lo so. Sto solo pensando ad alta voce...

 

In mql, c'è un modo per impostare un tipo astratto per le variabili in un metodo?

Per esempio, qui abbiamo:

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

}

Voglio che i tipi non siano solo int, ma qualsiasi tipo. O è necessario sovraccaricare un metodo tante volte quanti sono i tipi che voglio che accetti?

 
Dmitri Custurov:

In mql, c'è un modo per impostare un tipo astratto per le variabili in un metodo?

Per esempio, qui abbiamo:

Voglio che i tipi non siano solo int, ma qualsiasi tipo. O è necessario sovraccaricare un metodo tante volte quanti sono i tipi che voglio che accetti?

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

Oppure, se entrambi i tipi sono uguali:

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

Oppure, se entrambi sono tipi diversi:

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

Ottimo, grazie.

 
Dmitri Custurov:

Ottimo, grazie.

Completato sopra.

 
Artyom Trishkin:

Forse dovresti provare ad aprire un grafico e applicargli un modello personalizzato? Non l'ho provato - non lo so. Sto solo pensando ad alta voce...

No, apre ancora un grafico a schermo intero

 
Roman Sharanov:

no, apre ancora un singolo grafico a schermo intero

Non ricordo e non posso guardare ora, non c'è modo di applicare un profilo? Solo un profilo può aiutare in questa materia.

 

Aiuto con la sintassi, è difficile trovare la differenza

dalla guida e dagli esempi

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

Non ricordo e non posso cercarlo ora, non c'è modo di applicare un profilo? Solo un profilo può aiutare in questa materia.

Scrivono che, se possibile, solo attraverso WinAPI DLL, non esiste una cosa simile in MT come standard

 
Valeriy Yastremskiy:

Aiuto con la sintassi, è difficile trovare la differenza

dalla guida e dagli esempi

In MQL5, gli array vengono passati nella funzione solo per riferimento - è necessario un appersand. Non importa dove si trova.

Motivazione: