Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1125

 
Roman Sharanov:
Вопрос такой. Могу ли я по нажатию кнопки открыть 2(или больше) графика, чтобы они расположились вертикально, равно заняв весь монитор?

Может стоит попробовать открыть один график и применить к нему настроенный как нужно шаблон? Не пробовал - не знаю. Просто мысли вслух...

 

В mql есть способ, как задать абстрактный тип для  переменных в методе? 

К примеру имеем:

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

}

Я хочу чтобы типы были не только int, а вообще любые. Или это нужно столько же раз перегрузить метод сколько типов я хочу в него принять?

 
Dmitri Custurov:

В mql есть способ, как задать абстрактный тип для  переменных в методе? 

К примеру имеем:

Я хочу чтобы типы были не только int, а вообще любые. Или это нужно столько же раз перегрузить метод сколько типов я хочу в него принять?

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

или, если оба одинаковых типа:

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

или, если оба разные типы:

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

Отлично, спасибо

 
Dmitri Custurov:

Отлично, спасибо

Дополнил выше.

 
Artyom Trishkin:

Может стоит попробовать открыть один график и применить к нему настроенный как нужно шаблон? Не пробовал - не знаю. Просто мысли вслух...

нет, все равно открывает на весь экран один график

 
Roman Sharanov:

нет, все равно открывает на весь экран один график

Я не помню и посмотреть сейчас не могу, а нету возможности применить профиль? Только профиль может помочь в этом вопросе.

 

Помогите в синтаксисе, тяжело искать, в чем разница

из справки и из примеров

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

Я не помню и посмотреть сейчас не могу, а нету возможности применить профиль? Только профиль может помочь в этом вопросе.

Пишут что если возможно, только через WinAPI DLL, стандартно в MT такого нет

 
Valeriy Yastremskiy:

Помогите в синтаксисе, тяжело искать, в чем разница

из справки и из примеров

В MQL5 массивы в функцию передаются только по ссылке - нужен апперсанд. А уж где он там расположен - не суть важно.

Причина обращения: