スポンサーサイト

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

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

はじめに

前回の記事では、MQL5用のDLLを作成してきました。

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


DLL動作テスト用のインジケータ(スクリプト)を作成

前回の記事で作成した「MQL5_DLL_Sample.dll」の動作をテストするためのインジケータを作成します。

DLL動作テスト用スクリプト「MQL5DLL Test.mq5」のプログラムソースを以下に示します。


MQL5DLL Test.mq5

MetaTrader5のMetaEditorで以下のスクリプトをコンパイルしてください。

//+------------------------------------------------------------------+
//|                                                 MQL5DLL Test.mq5 |
//|       Copyright 2012, MetaTrader(メタトレーダー)で永久に稼ぐ! |
//|                                http://winnerlife.blog35.fc2.com/ |
//+------------------------------------------------------------------+
#property copyright "2012, MetaTrader(メタトレーダー)で永久に稼ぐ!"
#property link      "http://winnerlife.blog35.fc2.com/"
#property version   "1.00"

//+------------------------------------------------------------------+
//| DLL Import                                                       |
//+------------------------------------------------------------------+
/* DLLインポート定義およびプロトタイプ宣言 */
#import "MQL5_DLL_Sample.dll"
int MQL5_DLL_Sample(int &res1);
#import

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
   int res0 = 0;
   int res0_fn = 0;

   int res1 = 1;
   int res1_fn = 0;
   
   /* ---------------------------------------------------- */
   /* DLLの関数を呼び出す                                  */
   /* ---------------------------------------------------- */
   res0_fn = MQL5_DLL_Sample(res0);
   res1_fn = MQL5_DLL_Sample(res1);

   /* ---------------------------------------------------- */
   /* 「ツールボックス」-「エキスパート」にメッセージ出力 */
   /* ---------------------------------------------------- */
   /* "FuncReturn:1, CalResult:0"と出力されたら成功! */
   Print("[MQL5_DLL_Sample(0)] ", "FuncReturn:", res0_fn, ",
         CalResult:", res0);

   /* "FuncReturn:0, CalResult:2"と出力されたら成功! */
   Print("[MQL5_DLL_Sample(1)] ", "FuncReturn:", res1_fn, ",
         CalResult:", res1);
}
//+------------------------------------------------------------------+

DLL動作テスト用スクリプトを実行

  • 前回の記事で作成した「MQL5_DLL_Sample.dll」をMetaTrader5インストールディレクトリ配下にある「MQL5」-「Libraries」に格納してください。
    例)C:\Program Files\MetaTrader 5\MQL5\Libraries
  • MetaTrader5より、MQL5DLL Testスクリプトを実行してください。
    mql5dll_sample20

    (クリックで拡大)

  • 開かれたスクリプトのプロパティ画面(仕様タブ)で「DLLの使用を許可する」にチェックを入れて「OK」を押下してください。
    mql5dll_sample21

    (クリックで拡大)

  • 「ツールボックス」画面の「エキスパート」タブにスクリプトの実行結果が以下の通り表示されればテストは成功です!
    [MQL5_DLL_Sample(1)] FuncReturn:0, CalResult:2
    [MQL5_DLL_Sample(0)] FuncReturn:1, CalResult:0
    mql5dll_sample22

    (クリックで拡大)


おわりに

MetaTrader5におけるMQL5用のDLLを作成する方法の解説は以上で完了となります。

不明点などありましたら、コメントで遠慮無くご質問ください。


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


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