MQL4 dll を Visual Studio 2022 で作成

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

MQL4 dll

 

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

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

Visual Studio IDE または VS Code を無料でダウンロードします。 Windows、Mac で Visual Studio Professional または Enterprise エディションをお試しください。

また、以前に 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 ダウンロード

関連記事:




シェアする

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

フォローする