スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | CM(-) | --/--/--(--) --:--

MetaTrader5におけるMQL5用のDLLを作成する方法(2)

はじめに

前回の記事では、MQL5用のDLLを開発する環境を構築してきました。

今回の記事は、実際に「Microsoft Visual C++ 2010 Express」を使用してMQL5用のDLLを作成していきます。


新規プロジェクトの作成

  • 「Microsoft Visual C++ 2010 Express」を起動します。
  • メニューバーより「ファイル」‐「新規作成」‐「プロジェクト」と選択して新規プロジェクトの作成を開始します。
  • Win32プロジェクトを選択し、任意のプロジェクト名を記入してください。
    mql5dll_sample01

    (クリックで拡大)

  • 「現在のプロジェクト設定」画面にて「次へ」を選択します。
    mql5dll_sample02

    (クリックで拡大)

  • 「アプリケーションの設定」画面にて「アプリケーションの種類」を「DLL」にします。
    mql5dll_sample03

    (クリックで拡大)

  • 「完了」を選択して新規プロジェクトの作成を完了します。

プロパティ/構成の変更

  • メニューバーより「プロジェクト」-「(プロジェクト名称)のプロパティ」を開きます。
  • 「構成」を「すべての構成」に変更し、「プラットフォームツールセット」を「Windows7.1SDK」に変更します。「適用」を押下して変更を適用してください。
    mql5dll_sample10

    (クリックで拡大)

  • 同画面の「構成マネージャー」を押下して、「構成マネージャー」画面を開きます。
  • 「アクティブ ソリューション プラットフォーム」より「新規作成」を選択します。
    mql5dll_sample11

    (クリックで拡大)

  • 新たに開かれた「新しいソリューションプラットフォーム」画面の「新しいプラットフォーム」より「x64」を選択します。プルダウンメニューに「x64」が存在しない場合は環境構築に失敗しています。前回の記事を再確認してください。
    mql5dll_sample12

    (クリックで拡大)


MQL5用DLLのプログラミング

ようやくプログラミングができる環境まで到達しました。

新規作成したプロジェクトには、最低限必要となるソースファイルとヘッダーファイルが予め用意されています。

単純なプログラムの場合は、基本的に以下の2ファイルに対してプログラミングを行うことになります。


stdafx.h

stdafx.hに追記している内容は、定型の内容であるため、分からない方はコピペしてください。

#pragma once
#include "targetver.h"
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

/* ▼ ここから追記 ▼ */

/* 関数エクスポートのキーワードを定数定義 */
#define _DLLAPI extern "C" __declspec(dllexport)
/* ここは分からなければ理解する必要はありません。 */
/* おまじないだと考えてください。 */

/* ▲ ここまで追記 ▲ */


プロジェクト名称.cpp

プロジェクト名称.cppに自作関数のプログラミングをしていきます。

DLLで特別なことをしない限りは、プロジェクト名称.cppにプログラミングをしていくだけで十分に対応できます。

#include "stdafx.h"

/* ▼ ここから追記 ▼ */

/* ここに自作の関数をプログラミングしていきます。 */
_DLLAPI int __stdcall MQL5_DLL_Sample(int &res1)
{
	res1 = res1 * 2;
	if(res1 == 0)
	{
		return(1);
	}
	return(0);
}

/* ▲ ここまで追記 ▲ */

自作関数の記載方法は以下の通りです。

_DLLAPI [返却値の型] __stdcall 関数名(引数の型[,...])

「_DLLAPI」と「__stdcall」は定型のキーワードです。

もしわからなければ、理解する必要もないので、おまじないだと考えてください。

「_DLLAPI」と「__stdcall」を除いてみると、MQLの関数と同様の記法だと分かります。


MQL5用DLLのコンパイル

プロジェクトの構成が「Release」で「x64」となっていることを確認してください。

「ソリューションエクスプローラー」の「プロジェクト名称」を右クリックメニューよりビルドを選択してビルド(コンパイル)します(F7でも可能)。

ビルド結果が正常終了であることを確認します。

mql5dll_sample13

(クリックで拡大)

作成されたDLLは、プロジェクトファイルが格納されている同ディレクトリの「x64」-「Release」フォルダに格納されています(環境によって異なる場合があります)。


おわりに

MQL5用DLLの作成まで完了しました。

次回の記事では、DLLの関数を呼び出すMQL5のインジケータを作成して、MetaTrader5で動作するかテストしていきます。


MQL5DLL | CM(0) | 2012/09/11(火) 03:46
コメントの投稿
題名
名前
メールアドレス
URL
コメント
PASS
SECRET管理者にだけ表示を許可する


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。