MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1125

 
Roman Sharanov:
問題はこれだ。ボタン一つで2つ以上のチャートを縦に並べて、モニター全体に均等に表示させることはできますか?

1つのチャートを開いて、そこに必要に応じて調整したテンプレートを適用するようにすればいいのでしょうか?試していないので、わかりません。ただ、声を大にして言いたいのは......。

 

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

素晴らしい、ありがとうございます。

 
Dmitri Custurov:

素晴らしい、ありがとうございます。

上に完成した。

 
Artyom Trishkin:

1つのチャートを開いて、カスタマイズしたテンプレートを適用してみてはいかがでしょうか?試していない-わからない。ただ、声を大にして言いたいのは......。

いいえ、フルスクリーンで1つのグラフを開いたままです。

 
Roman Sharanov:

いいえ、フルスクリーンで1つのグラフを開いたままです。

覚えていないし、今見ることもできないのですが、プロファイルを適用する方法はないのでしょうか?この件に関しては、プロファイルだけが役に立ちます。

 

シンタックスのヘルプ、違いがわかりにくい

ヘルプとサンプルより

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

覚えていないし、今調べられないのですが、プロファイルを適用する方法はないのでしょうか?この件に関しては、プロファイルだけが役に立ちます。

彼らは、可能であれば、WinAPI DLLを介してのみ、標準のようなMTのものはないと書いています。

 
Valeriy Yastremskiy:

シンタックスのヘルプ、違いがわかりにくい

ヘルプとサンプルより

MQL5では、配列は参照のみで関数に渡されます - アパーサンドが必要です。場所はどこでもいいんです。