MQL4 dll を作成

MT4でも Visual Studio を使ってMQL4用のdllを作成できます。
ただ、MQL4がC言語的なのでいくつか気を配る必要があり、またVisual Studio がアップグレードされているためにやり方が微妙に異なったりします。




MQL4 dll

 
Visual Studio 2017 を使用しました。2022版もあったのですが、日ごろからVisual Studio を扱っている方はそちらでもできると思います。
こちらの記事を参考にさせていただきました。

新規プロジェクト

スタートページあるいは
メニューの「ファイル」「新規作成」「プロジェクト」から
新しいくプロジェクトを作成します。

「Visual C++」「Windows デスクトップ」
「ダイナミックリンクライブラリ(DLL) Visual C++」
を選択

プロジェクト名を例として、Test_dll
場所はデフォルトで C¥Users¥source¥repos¥
以下に新しくフォルダ MQL4_dll を作成して保存先を設定します

コードの記述

「ソリューションエキスプローラー」の「ヘッダーファイル」「stdafx.h」を選択

stdafx.h ファイルの最後尾に追加

タブを変えて Test_dll.cpp を選択

テスト用の関数を記述
Test_dll.cpp

mq4からの呼び出しはこのようにします
xxx.mq4

プロパティ設定

メニューの「プロジェクト」「XXXのプロパティ」を選び

「構成プロパティ」「C/C++」「詳細設定」から以下のように設定

  • 呼び出し規約
    • __stdcall(/Gz)
  • コンパイル言語の選択
    • Cコードとしてコンパイル(/TC)

 
「コード生成」から
  • ランタイムライブラリ
    • マルチスレッド(/MT)

ソリューションのビルド

「Release」「x86」を設定

「ビルド」「ソリューションのビルド」からビルドする

ビルドが正常終了し、
「出力」にReleaseフォルダ以下に Test_dll.dll が生成されました

dllの確認

MT4のデータフォルダを開き
..¥MQL4¥Libraries¥
以下にTest_dll.dll に配置して mq4 を起動して動作を確認します。

一応MT4では動きますがモジュール定義 (.def) ファイルは未作成なので、
装飾された関数名で関数が保持されていることになります。

 

 

 

シェアする

  • このエントリーをはてなブックマークに追加

フォローする