7bit氏作成 MQLライブラリー解析 part1

スポンサーリンク

こんばんは。キリンです。
今日から7bitさん制作のMQLライブラリーの解析を行っていきたいと思います。
1日1関数くらいでまったり進めます。
方向性としては超直感講座の発展系として位置づけているつもり・・・ですが、
豊島先生の2冊以降に勉強するといい感じだと思います。
発注関数、デバック用出力関数があったりと、ざっと見た感じ非常に優秀な印象でした。
個人的にも楽しみです。
7bitさんのHPはこちらです。
このHPのcommon_functions.mqhライブラリの解説を行っていきます。
ファイルの場所はHP左側の
■超直感!MT4(MQL)プログラミング講座■
ここを押して、開いたページの下のほうの

■超直感!MT4(MQL)プログラミング講座■
ここからダウンロードできます。

さらにそのライブラリのリファレンスはこちら
さっそく第一弾から面白い内容でした。
■超直感!MT4(MQL)プログラミング講座■
英語の部分は僕は英語が得意な人間ではないので、
すっごいざっくり説明するとMQLのPrint関数の代わりになるってことみたい。
ちなみに、実際のソースがこちら。

void log(   string s1,    string s2="",    string s3="",    string s4="",    string s5="",    string s6="",    string s7="",    string s8=""){   string out = StringTrimRight(StringConcatenate(      WindowExpertName(), ".mq4 ", Symbol(),       " ", s1,       " ", s2,       " ", s3,       " ", s4,       " ", s5,       " ", s6,       " ", s7,       " ", s8   ));   OutputDebugStringA(out);}

win32APIのOutputDebugStringAという関数が使われていました。
それで値を出力するようです。
このOutputDebugStringは、デバッカ搭載したアプリに対して出力を行うためのAPIらしい。
でも、MT4にはそんなものはないですよね。
どうやって使うんだろうと説明文を呼んでみると、

* Send information to OutputDebugString() to be viewed and logged* by SysInternals DebugView (free download from microsoft)

マイクロソフトのDebagViewというソフトを使えば出力されるっぽい記述が。
そのソフトがこちらです。
適当にダウンロードして圧縮ファイルを解凍すれば使えます。
インストール不要でした。
さっそく使ってみました。
スクリプトで、下記のようなファイルを作成し、動作チェック。

//+------------------------------------------------------------------+//|                                                         test.mq4 |//|                  Copyright Kirin 2010, MetaQuotes Software Corp. |//|                                   http://ameblo.jp/ftlabo-kirin/ |//+------------------------------------------------------------------+#property copyright "Copyright(C)2010, ForexTradingLaboratory"#property link      "http://www.ftlabo.com/" #include <common_functions.mqh>//+------------------------------------------------------------------+//| script program start function                                    |//+------------------------------------------------------------------+int start()  {//----   log("test");  }//+------------------------------------------------------------------+

超簡単。7bitさんのcommon_function.mqhをインクルードしてlog関数に"test"文字列を与えただけ。
実際にスプリクトを起動してみるも、MT4だけ起動してると、まったく何も起こらない・・・。
ので、先程DLしたDebug Viewを起動した状態でもう一度スプリクトを実行。
■超直感!MT4(MQL)プログラミング講座■
おお!普通ならMT4のexperts欄に表示されるものが、Debug View上に表示されました!
こいつぁー便利。
さすが7bitさん。最初からワクワクさせるような展開を作って下さります。
明日から続けますねー。
今日もお読み下さり、ありがとうございます。

コメント

  1. kた より:

    SECRET: 0
    PASS:
    難しいっすね^^;

  2. SECRET: 0
    PASS:
    >kたさん
    うにゃっ!?
    も、申し訳ないです><
    これかなり便利なんですがそれをお伝えできてないですね・・・

タイトルとURLをコピーしました