DLLの呼び出しの手順とサンプルコード(MT4)

執筆者

佐川直弘(株式会社トリロジー取締役)

MetaTrader4(MT4)を利用して自動売買EAを開発する際、DLL(Dynamic Link Library)を呼び出して外部の関数を利用することがあります。この記事では、DLL呼び出しの基本的な手順と簡単なサンプルコードを紹介します。初心者でも理解しやすいように、各ステップを詳しく解説します。

DLL呼び出しの基本手順

MT4からDLLに定義されている関数を呼び出すには、以下の手順を踏みます。

  1. #importを用いてDLLファイルを参照する。
  2. 利用する関数のシグネイチャを定義する。
  3. 関数を呼び出す。

サンプルコード

以下に、具体的なサンプルコードを示します。

サンプルコード
#import “hoge_lib.dll"   // 1. DLLファイルを参照する
void customFunction(int& paramArray[]);  // 2. 関数のシグネイチャを定義する
#import
int start() {
    int array[1];
    // 初期値設定などの処理
    customFunction(array);  // 3. 関数を呼び出す
    Print(array[0]);  // 結果を出力する
}

DLLの格納場所

DLLの格納場所は次の順序で参照されます。

  • [MetaTrader4]\experts\libraries
  • [MetaTrader4]
  • 現在のフォルダ([MetaTrader4]\experts 等)
  • [windows_dir]\SYSTEM32
  • [windows_dir]
  • 環境変数PATH

※[windows_dir]は、Windowsオペレーティングシステムのインストールフォルダ

※[MetaTrader4]は、MetaTraderのインストールフォルダ

注意点

DLLを利用する際は、信頼できるソースから入手することが重要です。悪意のあるDLLを使用すると、システムに深刻な問題を引き起こす可能性があります。また、DLL呼び出しに関する詳細なドキュメントを確認し、正確なシグネイチャを定義することが必要です。

これらのポイントを押さえた上で、MT4でのDLL呼び出しを活用し、自動売買EAの機能を拡張してください。

MQL4

Posted by 佐川直弘