MQL4 dll を Visual Studio 2022 で作成

MT4でも MQL4用の dll を使って様々な機能をライブラリ化したりすることが可能です
ただ メタエディターではできないので、Visual Studio 2022 を使ってdllを作成してみます
モジュール定義ファイル(.def)を作成しなくてもできます

MQL4 dll

 
Visual Studio 2022, 17.6.5 ですがバージョンやインストール設定で画面が異なる場合もあります

インストールはこちらから、無料はCommunityになります

https://visualstudio.microsoft.com/ja/downloads/#

また、以前に Visual Studio 2017 を使用してdllを作成したものはこちらにあります
 

MT4でも Visual Studio を使ってMQL4用のdllを作成できます。ただ、MQL4がC言語的なのでいくつか気を配る必要があり...

 

 

新規プロジェクト

 
スタートページから、新しいプロジェクトを作成します。
 

 
検索窓に dll と入力して、「ダイナミックリンクライブラリ(DLL)」 を選択して
「次へ」をクリック

メニューの「ファイル」「新規作成」「プロジェクト」からも入れます

新しいプロジェクトの構成:

プロジェクト名:例として Test_dll
場所:適宜選んだロケーション
「ソリューションとプロジェクト…」はチェックを入れておきます

これで「作成」をクリック

プロジェクトが作成されました

 

コードの記述

 
MQL4とDLLを以下のようにシンプルに作ります

MQL4: TestPlusDll.mq4
aとbの引数を入れ外部関数 Plus をコール


DLL: Test_dll.dll
aとbを加算した合計を返す


dllmain.cppの最後尾に以下のようにして追加します


 

__declspec(dllexport) __declspec(dllexport)を使うと、データ、関数、クラス、クラスのメンバー関数を DLL からエクスポートできます。また、オブジェクト ファイルにエクスポート ディレクティブが追加されるので、.def ファイルを使用する必要がなくなります
__declspec(dllexport) を使った DLL からのエクスポート

dllmain.cpp

 

プロパティ設定

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

プロパティページを以下のように設定

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

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

構成とプラットフォームを以下のように設定

  • 構成:すべての構成
  • プラットフォーム:すべてのプラットフォーム

 

ソリューションのビルド

 
「Release」「x86」を設定

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

ビルドが終了

正常終了していれば、にReleaseフォルダ以下に Test_dll.dll が生成されています

 

dll の確認

 
MT4のデータフォルダを開き
..¥MQL4¥Libraries¥
以下にTest_dll.dll に配置します

mq4ファイルを例として以下のような簡単なコード記述してテストしてみます

TestPlusDll.mq4


MT4でテストしてみると
1+2=3
3+5=8
と結果が計算されていて、dll が機能しているのがわかります

 

Ref:
__declspec(dllexport) を使った DLL からのエクスポート
Visual Studio 2022 ダウンロード

関連記事:




シェアする

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

フォローする