| 現在62位!もし10位以内にランクインしたら感謝の気持ちを込めて、トレコミュユーザーにに何かお返しをしたいと考えていますので応援お願いします!(中居犬) |
Mr.Brainです。
僕 Mr.Brain 製作の自動売買EA「クロスファイアFX」が、とても反響を頂いております。ありがとうございます。「クロスファイアFX」については、下記のページで詳しく解説していますので、興味のある方はご覧ください。
「クロスファイアFX」の紹介はこちら
「クロスファイアFX」の特典「約定通知メールアプリOrderAutoAlart」紹介はこちら
「クロスファイアFX」の特典「EURCHF無料EA」紹介はこちら
「クロスファイアFX」に関するよくある質問と回答はこちら
さて、今日はメタトレーダー4(MT4)のプログラミングのお話をしたいと思います。
トレコミュ掲示板でも、最近メタトレーダー4(MT4)のプログラミングの話題がちらほら出始めましたね。メタトレーダー4(MT4)はチャートソフトとしても、とても優秀ですが、やはり、その機能を十分に発揮するには、やはりプログラミングできる事が一番です。
プログラミングできれば、自分の思い描くオリジナルのカスタムインジケーター(Coutom Indicator)を作ったり、自動売買のEAを作ったりもできます。
なので、コラムを読んで頂いている読者の皆さんが、メタトレーダー(MT4)でプログラミングできるように、メタトレーダー4(MT4)のプログラミングの解説していきたいと思います。
では、まず初回の今日は、カスタムインジケーター(Coutom Indicator)の構造についてお話します。
カスタムインジケーター(Coutom Indicator)とは、通称インジケーターと呼ばれ、オリジナルの指標を表示するプログラムです。一つの通貨ペアのチャートに複数のインジケーターを組み込む事ができます。インジケーターは、独自の計算による算出した結果を元にラインやバークグラフを表示したり、売買シグナルを表示したりできます。また、このインジケーターの結果を元に、Expert Advisorで読み込んで自動売買を行う事ができます。
メタトレーダー4(MT4)のプログラミングを憶えるには、まず、このカスタムインジケーター(Coutom Indicator)を憶える事が近道です。カスタムインジケーター(Coutom Indicator)を作る事ができれば、そのカスタムインジケーター(Coutom Indicator)の結果を取り出して自動売買する事ができますので、EAの構造もシンプルになり、また、デバックも非常に簡単です。
カスタムインジケーターの構造は、以下のようになっています。
初期設定
プログラムの説明、著作権表記、リンク
指標の表示場所の宣言
指標バッファの宣言
パラメーターの宣言
イニシャル処理
指標バッファの設定
メイン処理
指標の計算
指標の表示
さて、それぞれの処理について、順番に説明しますね。
初期設定
プログラムの説明
プログラムの説明をコメントで記述します。書式はどのような形でも構いません。作った本人が分かるように自由に書いてください。また、必要なければ書かなくとも構いません。
著作権表記
プログラムの著作権の記述をします。必要なければ書かなくとも構いません。
リンク
プログラムを公開するホームページやブログがあれば、そのURLを記述をします。必要なければ書かなくとも構いません。
指標の表示場所の宣言
指標を表示する場所を宣言します。チャートが表示されている場所はチャートウィンドー、また、チャートの下に分割された別のウィンドーに表示する場合には、セパレーターウィンドーとします。
指標バッファの宣言
チャート上で表示する、ラインやバーの数を指定します。メタトレーダー4(MT4)では、一つのカスタムインジケーター(Coutom Indicator)で8つのラインやバーを表示させる事ができます。
パラメーターの宣言
プログラムで使用するパラメーターを宣言します。パラメーターは、外部パラメーターと内部パラメーターがあります。外部パラメーターは、プロパティー画面から変更できるパラメーターで、内部パラメーターは、プログラム中だけで使用するもので変更できません。
イニシャル処理
指標バッファの設定
指標バッファの設定をします。8つの指標バッファ毎に、名称、ラインの色、太さを設定します。
メイン処理
指標の計算
指標を計算する処理を行います。メタトレーダーで標準のテクニカル指標であれば専用の関数がありますからとても簡単です。
指標の表示
計算した数値を実際に指標バッファにセットします。
以上が、カスタムインジケーター(Coutom Indicator)の構造です。言葉では難しく感じるかもしれませんが、実際に作ってみるととても簡単です。
まず、手始めとして、一番馴染みの深い、移動平均線を表示するプログラムを下記に示します。
//——————————————————————-
// プログラムの説明
//
// プログラム名:SampleInd001.mq4
// 説明 :トレコミュ用サンプルインジケーター
// 単純移動平均線
//——————————————————————-
#property copyright “Copyright(C) 2010, Forex Trading Laboratory”
#property link “http://t-commu.net/blog/t012/”
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
double BufSMA[];
extern int SMAPeriod = 21;
//——————————————————————–
// イニシャル処理
//——————————————————————–
int init()
{
SetIndexBuffer(0, BufSMA);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1);
SetIndexLabel(0,”21SMA”);
return(0);
}
//——————————————————————–
// メイン処理
//——————————————————————–
int start()
{
//指標の計算範囲
int counted_bars=IndicatorCounted();
int limit=Bars-1-counted_bars;
for(int i=limit-1; i>=0; i–)
{
BufSMA[i] = iMA(NULL,0,SMAPeriod,0,MODE_SMA,PRICE_CLOSE,i);
}
return(0);
}
//——————————————————————–
あえて簡単だと思っていただけるように、シンプルに作ってみました。たった一つ移動平均線を描くだけなら、たったこれだけのプログラムで済んでしまうんですね!
このプログラムを実際にチャートで表示してみました。

単純移動平均線
無事移動平均線が事表示されました。
実際のプログラムの解説は、次回のコラムで説明させて頂きますが、まずは、とても簡単だという事が今回分かっていただければいいかと思います。プログラムっていっても、そんなに構える必要もありませんし、決まった流れにそって同じように作るだけなんです。なので、興味があればぜひチャレンジして頂きたいと思います(^^)