Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1125

 
Roman Sharanov:
A questão é esta. Posso abrir 2 (ou mais) gráficos ao toque de um botão para que eles sejam posicionados verticalmente, ocupando igualmente todo o monitor?

Devo tentar abrir uma tabela e aplicar a ela o modelo personalizado? Ainda não experimentei - não sei. Só de pensar em voz alta...

 

Em mql, existe uma maneira de definir um tipo abstrato para variáveis em um método?

Por exemplo, aqui temos:

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

}

Eu quero que os tipos não sejam apenas int, mas quaisquer tipos. Ou é necessário sobrecarregar um método tantas vezes quanto eu quero que ele aceite tipos?

 
Dmitri Custurov:

Em mql, existe uma maneira de definir um tipo abstrato para variáveis em um método?

Por exemplo, aqui temos:

Eu quero que os tipos não sejam apenas int, mas quaisquer tipos. Ou é necessário sobrecarregar um método tantas vezes quanto eu quero que ele aceite tipos?

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

Ou, se os dois tipos forem os mesmos:

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

Ou, se ambos são de tipos diferentes:

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

Ótimo, obrigado.

 
Dmitri Custurov:

Ótimo, obrigado.

Concluído acima.

 
Artyom Trishkin:

Talvez você devesse tentar abrir uma tabela e aplicar a ela um modelo personalizado? Ainda não tentei - não sei. Só de pensar em voz alta...

Não, ele ainda abre um gráfico em tela cheia

 
Roman Sharanov:

não, ele ainda abre um único gráfico em tela cheia

Não me lembro e não posso olhar agora, não há maneira de aplicar um perfil? Somente um perfil pode ajudar neste assunto.

 

Ajuda com a sintaxe, é difícil encontrar a diferença

da ajuda e dos exemplos

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

Não me lembro e não posso procurar agora, não há maneira de aplicar um perfil? Somente um perfil pode ajudar neste assunto.

Eles escrevem que se possível, somente através do WinAPI DLL, não existe tal coisa na MT como padrão

 
Valeriy Yastremskiy:

Ajuda com a sintaxe, é difícil encontrar a diferença

da ajuda e dos exemplos

Na MQL5, as matrizes são passadas para a função apenas por referência - é necessário um apersand e um apersand. Não importa onde ela esteja localizada.

Razão: