メタトレーダー講義第十回 初めてのインディケーター第一部
皆さんこんにちわ!ついに今回からインディケーター作成の実践ということになります。長かったですね!それでは張り切ってCodersさんの講義を見ていきましょう!
この文章はCodersGuruさんのMQL4Lesson4の訳文です。(翻訳しての転載に本人の許可はとってあります)
MQL4講座
Coders'guru
www.forex-tsd.com
-10-
初めてのインディケーター
第一部
MQL4の実践講座へようこそ。今回はMQL4での初めてのインディケーターの講義になります。
これから続く実践講座の前に、今までの9回にわたって説明してきた講義をじっくりと読み返すことをお勧めいたします。なぜなら、これからの講義で取り上げて、作成していくカスタムインディケーターと、エキスパートアドバイザーの講義では、今までの知識をたくさん使うことになるからです。
本日は、とても簡単なインディケーターを作ろうと思います。それは、トレードにおいてそれほど意義のあるものではありませんが、MQL4のプログラミングの理解には大変大きな助けになるものです。
それは高値から安値を引いた値を出すというものです。急がないでください。すぐにあなたはすべてのことを理解できるようになります。
さぁいきましょう!
メタエディター
これはMT4(MetaTrader4)に備えられているプログラムで、それはプログラムを作成すること、MQL4を読み込む助けをし、プログラムをコンパイルしたり等することを可能にさせます。
私は簡単にアクセスできるようにするために、メタエディターのショートカットをデスクトップに作りました。もしあなたがメタエディターを起動させたいなら、3つの選択肢があります。
1-MT4を起動し、F4をクリック、,ツールメニューからメタトレーダーを選ぶか、スタンダードツール
バーのアイコンをクリック
2-スタートメニューから、プログラムのなかからMetaTrader4のフォルダをさがして、MetaEditorを
クリック
3-MT4の備え付けられたパス(普通はC:/ProgramFiles/MetaTrader4)をみつけ、MetaEditor.e
xeを探し出し、それをクリックする(私としてはこのショートカットをデスクトップに作ることをお勧
めします。)
上にあげた方法を使うことによって、下の図のようなメタエディターが起動します。
図1をみればわかるように、メタエディターには三つのウィンドウがあります。
1-エディターウィンドウ。プログラムを書き込むところです。
2-ツールボックスウィンドウ。その中には3つのタブが含まれています。
a. Errorsタブ。もしエラーがコードの中にあればそこで見れます。
b. Find in filesタブ。Editに含まれているFind in fileを使うか、ホットキーとして登録されてい
るCTRL+SHIFT+Fを押すことで、検索条件のキーワードが含まれているファイルをここで見
ることができます。
c. Helpタブ。貴方がより知りたいと思っているキーワードを強調(範囲を選択して青くすること)
しF1をクリックすると、このタブで指定したキーワードに対する解説をみることができます。
3-ナビゲーターウィンドウ。その中には三つのタブがふくまれています。
a.Filesタブ。MT4フォルダ内に保存したファイルを簡単にアクセスするようになります。
b.Dictionaryタブ。MQL4のヘルプシステムに簡単にアクセスできるようにします。
c.Searchタブ。MQL4辞書を簡単に検索できるようにします。

図1-メタエディターウィンドウ
メタエディターメニューにツールバー、ウィンドウどれもをうまく使いこなすことをお勧めします。
それでは、初めてのインディケーター政策を楽しみましょう!
カスタムインディケーターはテクニカル指標を使うことができるようにするプログラムで、自動売買ができるようにするものではありません。
最初の三ステップ
さぁメタエディターを起動して、メニュー、ツールバー、ウィンドウをうまく使いこなしながらやってみましょう!
カスタムインディケーターを作るために、まず3ステップ踏む必要があります(後にこのめんどくさい作業を飛ばす方法を教えます。私の個人的な方法ですが)
ステップ1:Fileメニューをクリックします。→New(CTRL+Nのホットキーを使うか、スタンダードツールバーにあるNewアイコンをクリックすることでも可能です。)
そうすると、操作ガイド(図2参照)が次のステップへと案内してくれます。
Custom Indicator programをクリックして、次へを押してください。

図2-新規立ち上げ操作ガイド
ステップ2:次へをクリックすると、次の操作ガイドが現れます。(図3参照)そこではあなたのプログラムの特性を編集することができます。このステップで、今からあげていく特性を設定することができます。
1-プログラム名。これは世界があなたをプログラムと一緒に呼び出す名前でもあります。そして、
これはanatano_eranda_namae.mp4として保存されます。
2-作者名。プログラムを作った人の名前。
3-あなたのウェブサイトへのリンク
4-外部変数リスト:少しここで外部変数について思い出してもらいたいのでとまります。
外部変数は貴方のインディケーターのユーザーが、貴方のインディケーターのプロパティータブ
から設定を変えることができる変数です。例えば、移動平均線のインディケーターにある移動平
均線期間等がそれにあたります。これらの変数はあなたのコードの中では"extern"キーワード
で宣言されます。(変数の講義を読み返してみてください。)
ここの操作ガイドでは、これらの種類の変数を追加することが可能です。
私たちの初めてのインディケーターでは、外部変数について記述する必要はありません。図4
に書かれていることだけ書いて、ステップ3に進みますので終わりましたら次へをクリック
してください。

図3プログラム特性操作ガイド
ステップ3:三つ目にでてくる操作ガイドはDrawing propaty操作ガイドです(図5参照)
ここでは、インディケーターのラインの描写プロパティーを設定することができます。例えばラインは何本か、色は何色か。どこにあなたのインディケーターを描くか(メインチャートか、それともセパレートウィンドウか。)
この設定ガイドは以上の設定をします。
1-Indicator in separate windowオプション:これをクリックすると、そのインディケーターはメインチ
ャートではなく、セパレートウィンドウに描かれます。もしクリックしなければ、そのインディケータ
ーはメインチャートウィンドウに描かれることになります。
2-Minimumオプション:これは貴方がセパレートウィンドウオプションをチェックした時にのみ利用
可能なもので、チャートの底辺の値を設定する役割を持ちます。
3-Maximumオプション:これは貴方がセパレードウィンドウオプションをチェックした時にのみ利用
可能で、チャートの天井の値を設定する役割を持ちます。
4-Indexesリスト:インディケーターのラインを増やしたり、初期設定の色をきめることができます。
これらのオプションについての詳しい解説は次の講義まで待って頂きたく存じます。どうか急がないでください。
私たちの最初のインディケーターでは、Indicator in separate windowオプションを選びAddボタンをクリックしてください。Addボタンをクリックすると、設定ガイドはindexesリストに、図5のようにラインを追加します。

図4描写特性設定ガイド
完了をクリックすると魔法が始まります。設定画面は立ち消えて、焦点はメタエディターへと戻りますが、、何だと思いますか?
貴方の最初のインディケーターで使うコードのしたが気の準備ができているのです。
これが貴方が得られるであろうコードです。
//+------------------------------------------------------------------+
//| my_first_indicator.mq4 |
//| Codersguru |
//| http://www.forex-tsd.com |
//+------------------------------------------------------------------+
#property copyright "Codersguru"
#property link "http://www.forex-tsd.com"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
//----
return(0);
}
//+------------------------------------------------------------------+
上のコードを見ればわかるように、設定ガイドはたくさんのコードを貴方のために書いてくれていたのです。ここで私は設定ガイドとあなた方に感謝の念をささげたいと思います。
次の講義では、上記の全てのコード文と、はじめてのインディケーターを作るために追加したコードを発見することがでるでしょう。準備が整ったことを願います!
それでは。
Coders'Guru
いよいよ始まりましたね。これからも頑張って訳していきたいと思いますので、よろしくお願いいたします。
本日もお疲れ様でした。
サイトを訪れてくれる皆様に感謝しています。最初このブログを立ち上げた時は1日に20人くらいしかこなくて無駄な作業をしてるような気分になったこともありました。自分一人でやっていたらば丁寧に訳そうとか思わないので中途半端な理解しかできなかったと思います。
今回初めて訪れて下さった方、もう何回か訪れてくださっている方、温かく見守ってくれている方、たまたま通りがかった方。ここにいらっしゃった理由は様々だと思います。
それでも、相場は孤独なものですので余計に、メタトレーダーを使おうとしているのだなぁと思うとつい親近感を
勝手に覚えています(笑)
本日はいかがだったでしょうか。勝たれた方も負けてしまった方も、ゆっくり休んでまた明日に備えてください。
本日も最後まで読んで頂きありがとうございました。
押していただけると大変嬉しいです。よろしくお願いします。


この文章はCodersGuruさんのMQL4Lesson4の訳文です。(翻訳しての転載に本人の許可はとってあります)
MQL4講座
Coders'guru
www.forex-tsd.com
-10-
初めてのインディケーター
第一部
MQL4の実践講座へようこそ。今回はMQL4での初めてのインディケーターの講義になります。
これから続く実践講座の前に、今までの9回にわたって説明してきた講義をじっくりと読み返すことをお勧めいたします。なぜなら、これからの講義で取り上げて、作成していくカスタムインディケーターと、エキスパートアドバイザーの講義では、今までの知識をたくさん使うことになるからです。
本日は、とても簡単なインディケーターを作ろうと思います。それは、トレードにおいてそれほど意義のあるものではありませんが、MQL4のプログラミングの理解には大変大きな助けになるものです。
それは高値から安値を引いた値を出すというものです。急がないでください。すぐにあなたはすべてのことを理解できるようになります。
さぁいきましょう!
メタエディター
これはMT4(MetaTrader4)に備えられているプログラムで、それはプログラムを作成すること、MQL4を読み込む助けをし、プログラムをコンパイルしたり等することを可能にさせます。
私は簡単にアクセスできるようにするために、メタエディターのショートカットをデスクトップに作りました。もしあなたがメタエディターを起動させたいなら、3つの選択肢があります。
1-MT4を起動し、F4をクリック、,ツールメニューからメタトレーダーを選ぶか、スタンダードツール
バーのアイコンをクリック
2-スタートメニューから、プログラムのなかからMetaTrader4のフォルダをさがして、MetaEditorを
クリック
3-MT4の備え付けられたパス(普通はC:/ProgramFiles/MetaTrader4)をみつけ、MetaEditor.e
xeを探し出し、それをクリックする(私としてはこのショートカットをデスクトップに作ることをお勧
めします。)
上にあげた方法を使うことによって、下の図のようなメタエディターが起動します。
図1をみればわかるように、メタエディターには三つのウィンドウがあります。
1-エディターウィンドウ。プログラムを書き込むところです。
2-ツールボックスウィンドウ。その中には3つのタブが含まれています。
a. Errorsタブ。もしエラーがコードの中にあればそこで見れます。
b. Find in filesタブ。Editに含まれているFind in fileを使うか、ホットキーとして登録されてい
るCTRL+SHIFT+Fを押すことで、検索条件のキーワードが含まれているファイルをここで見
ることができます。
c. Helpタブ。貴方がより知りたいと思っているキーワードを強調(範囲を選択して青くすること)
しF1をクリックすると、このタブで指定したキーワードに対する解説をみることができます。
3-ナビゲーターウィンドウ。その中には三つのタブがふくまれています。
a.Filesタブ。MT4フォルダ内に保存したファイルを簡単にアクセスするようになります。
b.Dictionaryタブ。MQL4のヘルプシステムに簡単にアクセスできるようにします。
c.Searchタブ。MQL4辞書を簡単に検索できるようにします。

図1-メタエディターウィンドウ
メタエディターメニューにツールバー、ウィンドウどれもをうまく使いこなすことをお勧めします。
それでは、初めてのインディケーター政策を楽しみましょう!
カスタムインディケーターはテクニカル指標を使うことができるようにするプログラムで、自動売買ができるようにするものではありません。
最初の三ステップ
さぁメタエディターを起動して、メニュー、ツールバー、ウィンドウをうまく使いこなしながらやってみましょう!
カスタムインディケーターを作るために、まず3ステップ踏む必要があります(後にこのめんどくさい作業を飛ばす方法を教えます。私の個人的な方法ですが)
ステップ1:Fileメニューをクリックします。→New(CTRL+Nのホットキーを使うか、スタンダードツールバーにあるNewアイコンをクリックすることでも可能です。)
そうすると、操作ガイド(図2参照)が次のステップへと案内してくれます。
Custom Indicator programをクリックして、次へを押してください。

図2-新規立ち上げ操作ガイド
ステップ2:次へをクリックすると、次の操作ガイドが現れます。(図3参照)そこではあなたのプログラムの特性を編集することができます。このステップで、今からあげていく特性を設定することができます。
1-プログラム名。これは世界があなたをプログラムと一緒に呼び出す名前でもあります。そして、
これはanatano_eranda_namae.mp4として保存されます。
2-作者名。プログラムを作った人の名前。
3-あなたのウェブサイトへのリンク
4-外部変数リスト:少しここで外部変数について思い出してもらいたいのでとまります。
外部変数は貴方のインディケーターのユーザーが、貴方のインディケーターのプロパティータブ
から設定を変えることができる変数です。例えば、移動平均線のインディケーターにある移動平
均線期間等がそれにあたります。これらの変数はあなたのコードの中では"extern"キーワード
で宣言されます。(変数の講義を読み返してみてください。)
ここの操作ガイドでは、これらの種類の変数を追加することが可能です。
私たちの初めてのインディケーターでは、外部変数について記述する必要はありません。図4
に書かれていることだけ書いて、ステップ3に進みますので終わりましたら次へをクリック
してください。

図3プログラム特性操作ガイド
ステップ3:三つ目にでてくる操作ガイドはDrawing propaty操作ガイドです(図5参照)
ここでは、インディケーターのラインの描写プロパティーを設定することができます。例えばラインは何本か、色は何色か。どこにあなたのインディケーターを描くか(メインチャートか、それともセパレートウィンドウか。)
この設定ガイドは以上の設定をします。
1-Indicator in separate windowオプション:これをクリックすると、そのインディケーターはメインチ
ャートではなく、セパレートウィンドウに描かれます。もしクリックしなければ、そのインディケータ
ーはメインチャートウィンドウに描かれることになります。
2-Minimumオプション:これは貴方がセパレートウィンドウオプションをチェックした時にのみ利用
可能なもので、チャートの底辺の値を設定する役割を持ちます。
3-Maximumオプション:これは貴方がセパレードウィンドウオプションをチェックした時にのみ利用
可能で、チャートの天井の値を設定する役割を持ちます。
4-Indexesリスト:インディケーターのラインを増やしたり、初期設定の色をきめることができます。
これらのオプションについての詳しい解説は次の講義まで待って頂きたく存じます。どうか急がないでください。
私たちの最初のインディケーターでは、Indicator in separate windowオプションを選びAddボタンをクリックしてください。Addボタンをクリックすると、設定ガイドはindexesリストに、図5のようにラインを追加します。

図4描写特性設定ガイド
完了をクリックすると魔法が始まります。設定画面は立ち消えて、焦点はメタエディターへと戻りますが、、何だと思いますか?
貴方の最初のインディケーターで使うコードのしたが気の準備ができているのです。
これが貴方が得られるであろうコードです。
//+------------------------------------------------------------------+
//| my_first_indicator.mq4 |
//| Codersguru |
//| http://www.forex-tsd.com |
//+------------------------------------------------------------------+
#property copyright "Codersguru"
#property link "http://www.forex-tsd.com"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
//----
return(0);
}
//+------------------------------------------------------------------+
上のコードを見ればわかるように、設定ガイドはたくさんのコードを貴方のために書いてくれていたのです。ここで私は設定ガイドとあなた方に感謝の念をささげたいと思います。
次の講義では、上記の全てのコード文と、はじめてのインディケーターを作るために追加したコードを発見することがでるでしょう。準備が整ったことを願います!
それでは。
Coders'Guru
いよいよ始まりましたね。これからも頑張って訳していきたいと思いますので、よろしくお願いいたします。
本日もお疲れ様でした。
サイトを訪れてくれる皆様に感謝しています。最初このブログを立ち上げた時は1日に20人くらいしかこなくて無駄な作業をしてるような気分になったこともありました。自分一人でやっていたらば丁寧に訳そうとか思わないので中途半端な理解しかできなかったと思います。
今回初めて訪れて下さった方、もう何回か訪れてくださっている方、温かく見守ってくれている方、たまたま通りがかった方。ここにいらっしゃった理由は様々だと思います。
それでも、相場は孤独なものですので余計に、メタトレーダーを使おうとしているのだなぁと思うとつい親近感を
勝手に覚えています(笑)
本日はいかがだったでしょうか。勝たれた方も負けてしまった方も、ゆっくり休んでまた明日に備えてください。
本日も最後まで読んで頂きありがとうございました。
押していただけると大変嬉しいです。よろしくお願いします。

