2012年6月2日土曜日

FXのチャート分析ソフトMT4のEAの使い方

EA(Expert Advisor)とは、FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)上で自動売買するためのプログラムの名称です。EAは、多くのWebサイトで公開されていて、有料のものもあれば、無料のものもあります。

ここでは、EAのダウンロードから起動するまでの使い方を解説します。

▼EAのダウンロード

ここでは、Talonの開発した「Blessing 3」を例に挙げます。


ブラウザを起動して、TalonのWebサイトを表示します。EAのリストの中にある「Blessing 3」の「Get It」のアイコンをクリックしてEAをダウンロードします。保存先は、MT4のインストールされている「experts」フォルダを指定します。

ダウンロードが終わったらMT4を起動します。すでにMT4を起動していたらMT4を再起動します。

▼EAのインストール

まず、チャート画面を表示します。次に、MT4のナビゲーター画面の「Expert Advisors」にある「Blessing_3_v3_9_5」をダブルクリックします。


「Blessing_3_v3_9_5」の設定画面が表示されます。このうち、次の項目にチェックが入っているのを確認してOKのボタンをクリックします。もしチェックが入っていなければ、チェックを入れてください。
  • Enable alert
  • Allow live trading
  • Allow DLL inports
  • Allow import of external experts

▼EAの起動

次のような画面が表示されます。画面右上には「Blessing_3_v3_9_5x」と表示されています。最後の「x」は、EAが起動していないことを表しています。


ここで、MT4の画面上部にある「Expert Advisors」のボタンをクリックします。


以上でEAが起動します。

EAが起動すると「Expert Advisors」のボタンは次のように変わります。


また、画面右上には「Blessing_3_v3_9_5x」の「x」の替わりにスマイルのマークが表示されます。


EAが起動して実際に取引が行われると、ターミナルウィンドウにその内容が表示されます。


上の図では、チャートの赤色で丸く囲んだ部分で買いポジションをしています。そして、その内容が画面下側に表示されます。

EAでは、自動で注文と決済を行いますが、MT4は起動しておく必要があります。

FXのチャート分析ソフトMT4でEAの検証をするには

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)には、EAの検証システム「Strategy Tester」(テスター)が付属しています。

Strategy Testerは、MT4が蓄積している過去データを元に、EAのバックテスト(売買シミュレーション)を行うものです。

Strategy Testerは、自作のEAの検証や、市販されているEA、無料公開されているEAの検証などに用いられます。

ここでは、EAの検証方法を紹介します。

なお、検証に用いるEAは、Talonの開発した「Blessing 3」を例に挙げます。

まず、メニューの「表示」から「Strategy Tester」を選びます。


画面下側にテスター(Strategy Tester)の画面が開きます。


テスターの画面にはさまざまな設定項目があります。
Expert Advisor
EAを指定します。ここでは、Blessing_3_v3_9_5,Copyright 2007-011, J Talon LLC/FiFtHeLeMeNt」を選びます。
通貨ペア
検証を行う通貨ペアを指定します。ここでは「EUR/USD」を選びます。
モデル
通常はEvery tickを選びます。
日付と時間を使用
検証を行う期間を指定します。期間が長いと検証時間が長くなります。
Visual mode
チャートにエントリーポイントを描画しながら検証を行います。
期間
検証する足を指定します。ここでは「M1」(1分足)を指定します。
Expert properties
EAのパラメータを設定します。パラメータはEAにより異なりますが、計算期間やエントリーポイントとなる数値、利益確定幅、損切り幅などが設定できます。パフォーマンスの良くないEAも、設定を変更することでパフォーマンスの良いEAになる場合もあります。

項目の設定が終わったら、「スタート」のボタンをクリックすると検証が開始します。

そして、検証が終わったら結果を見ることができます。

次の図は、売買の収支をグラフに表したものです。右肩上がりで推移していれば収支はプラス、右肩下がりで推移していれば収支はマイナスになります。


次の図は、取引内容の一覧です。いつ、いくらで注文して、決済したかの一覧を見ることができます。


次の図は、検証の成績の一覧です。勝率やドローダウンなどの数値を表示します。

FXのチャート分析ソフトMT4で過去データを取得するには

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)から過去データを取得することができます。

過去データはCSV形式のファイルで保存できるため、他のチャート分析ソフト用のデータとしても使用することができます。

この他に、MT4では過去データの閲覧や編集、追加などができます。

ここでは、過去データの取得方法を紹介します。

まず、メニューから「ツール」、「History Center」を選びます。


ヒストリー・センターの画面が表示されますので、データを取得したい通貨ペアをダブルクリックします。


次に、時間足を選択します。時間足は以下が用意されています。
  • 1 Minute(M1)・・・1分足
  • 5 Minutes(M5)・・・5分足
  • 15 Minutes(M15)・・・15分足
  • 30 Minutes(M30)・・・30分足
  • 1 Hour(H1)・・・1時間足
  • 4 Hours(H4)・・・4時間足
  • Daily(D1)・・・日足
  • Weekly(W)・・・週足
  • Monthly(MN)・・・月足

データを取得したい時間足をダブルクリックします。

すると、画面右側に指定した時間足のデータが表示されます。


ここで、「エクスポート」のボタンを押すと、CSV形式のファイルとして保存できます。保存したファイルをMicrosoft Excel(エクセル)で開いてみます。


データは、日付、時間、始値、高値、安値、終値、出来高の7つが古い順番に納められています。

ヒストリー・センターの画面の上部に「Database: 250505/4625123 records」と表示されています。

これは、オンライン上にデータが4625123件(レコード)あり、そのうち250505件(レコード)がローカル(あなたのパソコン)にあることを表しています。

それでは、オンライン上の4625123件のデータを取得してみます。

MT4のメニューの「ツール」から「オプション」を選びます。


「チャート」タブの「ヒストリー内の最大バー数」を10,000,000(1千万)にしてOKのボタンをクリックします。


そして、再びヒストリー・センターの画面を開いて「Download」のボタンをクリックします。何度か警告の画面が表示されますが、OKのボタンをクリックして先に進めるとダウンロードが始まります。なお、データのダウンロードには10分以上かかる場合があります。

FXのチャート分析ソフトMT4でのVQの設定方法

VQは、為替レートの変動率をもとに売買タイミングを計ることができるテクニカル指標です。正式にはVolatility Qualityといいます。

VQは、FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)で使用することができます。

VQは、Length、Method、Smoothing、Filterの4つのパラメータを設定して使用します。これらのパラメータは、通貨ペアや時間足ごとに設定することで良いパフォーマンスが期待できます。

次の図は、2つのVQを並べたものです。上段は、Length、Method、Smoothing、Filterをそれぞれ5、3、2、1に設定した場合で、下段は、4、2、4、1に設定した場合です。緑色のラインが上昇していることを表し、赤色のラインが下降していることを表しています。VQでは、上昇と下降の境を売りのタイミング、買いのタイミングとしています。

2か所の赤色の丸で囲んだ部分を見ると、上段ではいわゆる”だまし”に引っかかっています。一方、下段では”だまし”にひっかかっていません。


次の図は、EUR/JPYの日足をVQで分析したものです。上段の設定は5、3、2、1で、下段の設定は26、3、2、4です。売買タイミングの表示回数は、上段が20回、下段が4回です。目先の利益よりも長期トレードで大きく利益を狙いたい場合には、VQのLengthのパラメータの数値を大きくします。これにより売買タイミングの回数を減らすことができます。


なお、VQにはVQ2という名前のインディケーターがあります。VQ2は、サブウィンドウではなく、チャートに直接VQの結果を表示するものです。

次の図は、VQ2を使ってチャートにVQを表示したものです。併せてサブウィンドウにVQを表示しています。

FXのチャート分析ソフトMT4のアラームの設定方法

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)では、テクニカル指標でサインが発生した時や売買が約定した時などにアラームが鳴ります。

アラームは、ユーザーが自由に設定できるようになっています。

アラームの設定は、MT4のメニューの「ツール」から「オプション」、「音声設定」のタブにあります。


「有効にする」のチェックボックスにチェックを入れると、音声設定で指定したアラームが鳴ります。チェックを外すと音声は鳴りません。

なお、アラームの音声ファイルはMT4のインストールされているフォルダのsoundフォルダ内に納められています。

以下は設定できるアラームと音声ファイルの一覧表です。

項目名 内容 音声ファイル
Connect 回線に接続した時 connect.wav
Disconnect 回線不通になった時 disconnect.wav
Email Notify メール通知をした時 email.wav
Timeout タイムアウトになった時 timeout.wav
Ok Okボタン ok.wav
News 新しいニュースを受信した時 news.wav
Expert Advisor EAの検証が終わった時 expert.wav
Expert Confirmation EAの確認を行う時 expert.wav
Alert 各種アラート alert.wav
Requote スリッページなどで注文が約定しなかった時 alert.wav
Trailing Stop トレール注文した時 stops.wav

個別の項目でアラームを鳴らしたくない場合には、「ベル」のマークをクリックします。ベルのマークに「x」が付くと、その項目のアラームは鳴りません。


上の例では、「Ok」と「Expert Advisor」のアラームを鳴らし、他はアラームを鳴らさないように設定した例です。

アラームで使用する音声ファイルを変更することもできます。設定方法は、「フォルダー名」の項目をダブルクリックして「Choose other...」を選んだ後、音声ファイルを指定します。

FXのチャート分析ソフトMT4でサポートラインとレジスタンスラインを自動で表示するには

サポートラインとレジスタンスラインは、為替レートがレンジで推移している時にレンジの下限と上限に水平線を引いたもので、ブレイクアウトを見つけるために用いられます。

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)では、水平線を引くツールを用いてサポートラインとレジスタンスラインを描画することができます。


上のチャートは、水平線を引くツールを用いてサポートラインとレジスタンスラインを描画したものです。

MT4では、さまざまなラインを引くことができますが、一度描画したラインは消去するまで残ります。そのため、ラインをたくさん引くとチャート画面が見づらくなることがあります。

そこで、サポートラインとレジスタンスラインを自動で表示するインディケーターを利用します。

インディケーターの名前は「Support and Resistance.mq4」で、MT4に標準ではインストールされていませんので下のリストをコピーして使用してください。

ファイル名は「Support and Resistance.mq4」として、MT4のインストールされているフォルダ内の「experts」フォルダ内にある「indicators」フォルダに保存します。

「Support and Resistance.mq4」
//+------------------------------------------------------------------+
//| Support and Resistance |
//| Copyright ゥ 2004/5 Barry Stander |
//| http://www.4Africa.net/4meta/ |
//+------------------------------------------------------------------+

#property copyright "Support and Resistance Barry_Stander_4@yahoo.com"
#property link "http://www.4Africa.net/4meta/"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue

//---- buffers
double v1[];
double v2[];
double val1;
double val2;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
//----
IndicatorBuffers(2);

SetIndexArrow(0, 119);
SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red);
SetIndexBuffer(0, v1);
SetIndexLabel(0,"Resistance");

SetIndexArrow(1, 119);
SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Blue);
SetIndexBuffer(1, v2);
SetIndexLabel(1,"Support");
//----
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int i=Bars;
//----
while(i>=0)
{
val1=iFractals(NULL, 0, MODE_UPPER,i);
if (val1 > 0) v1[i]=High[i];
else v1[i]=v1[i+1];

val2=iFractals(NULL, 0, MODE_LOWER,i);
if (val2 > 0) v2[i]=Low[i];
else v2[i]=v2[i+1];

i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+

▼Support and Resistance.mq4の使い方

まず、サポートラインとレジスタンスラインを引きたいチャートを表示します。

次に、ナビゲーターウィンドウのCustom Indicatorsから「Support and Resistance」の文字をダブルクリックします。

以下の図は「Support and Resistance」を描画したものです。上と同じチャートですが、「Support and Resistance」のほうが細かく描画されているのが分かります。

FXのチャート分析ソフトMT4のインディケーターとは

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)のインディケーターとは、チャートを分析するためのテクニカル指標のことです。

MT4のインディケーターには、罫線分析ツールとCustom Indicatorsの2つの種類があります。

罫線分析ツールとCustom Indicatorsとの機能的な違いはありませんが、Webサイトからダウンロードしたり自作したりしたインディケーターはCustom Indicatorsへ登録されます。

インディケーターの一覧は、ナビゲーターウィンドウに表示されます。


▼インディケーターの使用方法

インディケーターを使用するには、罫線分析ツール、あるいは、Custom Indicatorsに登録されているテクニカル指標をダブルクリックするか、テクニカル指標をチャート画面へドラッグ&ドロップするかのいずれかの方法でできます。

1つのチャート画面に、複数のインディケーターを表示させることができます。下のチャート画面では、一目均衡表とParabolic SAR、MACD、Momentumの4つのインディケーターを表示しています。


▼インディケーターの削除方法

一度表示したインディケーターを削除するには、まず、チャート画面を右クリックして、「表示中の罫線分析ツール」を選びます。


「表示中の罫線分析ツール」の画面が表示されるので削除するインディケーターを選択して「削除」のボタンをクリックします。


▼インディケーターの編集方法

表示中のインディケーターのパラメータを変更するには、上の画面の「編集」のボタンをクリックします。

▼インディケーターのダウンロード方法

インディケーターをWebサイトからダウンロードして使用するには、ダウンロードしたファイルをMT4がインストールされているフォルダの「experts」内の「indicators」内にコピーします。

▼インディケーターファイルの拡張子

インディケーターファイルの拡張子は「.mq4」、あるいは、「.ex4」です。「.mq4」はテキストファイル、「.ex4」は実行ファイルです。どちらも「experts」内の「indicators」内にコピーすれば使用できます。

MT4は、起動時に「.ex4」ファイルを調べて、実行ファイル「.mq4」を作成します。そのため、インディケーターを有効にするには、MT4を再起動する必要があります。

「.mq4」ファイルはテキストファイルです。どのようなロジックなのかを見ることができますし、改良することもできます。

▼インディケーターの削除

インディケーターを削除するには、MT4がインストールされているフォルダの「experts」内の「indicators」内にある「.mq4」と「.ex4」の2つのファイルを削除します。「.ex4」だけ削除をしても、MT4の起動時に「.mq4」をもとに「.ex4」が作成されてしまいますので注意が必要です。

FXのチャート分析ソフトMT4でティックを表示するには

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)でティックを表示する方法を紹介します。

▼MT4のティック機能を使う方法

MT4のメニューから「表示」、「気配値表示」を選びます。


気配値表示の画面が表示されますので、ティック表示したい通貨ペアを選び、画面下の「ティックチャート」のタブをクリックします。


赤色のラインがティックです。


上のティックは、Bidでのレートを表示しています。Askでのレートを表示するには、ティックのチャート画面で右クリックをして「Askを表示」を選びます。

青色のラインがAskでのレートです。


他の為替レートのティックを表示するには、「通貨ペア一覧」のタブをクリックして、通貨ペアを選んでから「ティックチャート」のタブをクリックします。

▼インディケーターを使う方法

MT4の「Tick_on_Chart」というインディケーターを使えば、チャート画面にティックを表示できます。

「Tick_on_Chart」は、MT4に標準でインストールされていませんので下のリストをコピーして使用してください。

ファイル名は「Tick_on_Chart.mq4」として、MT4のインストールされているフォルダ内の「experts」フォルダ内にある「indicators」フォルダに保存します。

「Tick_on_Chart.mq4」
//+------------------------------------------------------------------+
//| Tick_on_Chart.mq4 |
//| Copyright ゥ 2005, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ゥ 2005, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Cornsilk
#property indicator_color2 Red
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int tik,t;
double buf[],MaxB,MinB=1000;
extern int period=200;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_NONE);
SetIndexBuffer(1,ExtMapBuffer2);

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i,b;
//----
t++;
b=period;
ArrayResize(buf,b);

if(tik==0)
{
for(i=0;i0;i--)
{
buf[i]=buf[i-1];
if(MaxBbuf[i])MinB=buf[i];
}
buf[0]=Bid;
for(i=0;i

上の図は、USD/JPYのチャートにティックを表示したものです。なお、画面上側のローソク足とティックとは異なる時系列で表示されます。

FXのチャート分析ソフトMT4でラインを引いて分析するには

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)でラインを引いて分析する方法を紹介します。

MT4でラインを引くには、画面上部のラインアイコンを用います。


「|」は垂線、「―」は水平線、「/」は斜線を引くことができます。


上の図は、チャート画面にさまざまなラインを引いたものです。

白色の四角で囲んだ部分は、高値をつけた後のレンジの局面です。黄色のライン(黄色のライン2本のうち下側)がサポートライン、水色のラインがレジスタンスラインです。水色のラインを突き抜けた地点が上昇トレンドの始まりということが分かります。

次に、2本の黄色のラインで挟まれた局面では、ダブルトップを形成しています。黄色の下側のラインを割り込んだ地点が下降トレンドの始まりということがわかります。

そして、下降トレンドの推移を調べるために、直近の安値(上の図の「A」)からラインを引きます。

ラインの引き方に決まりはありませんが、一般的には高値や安値の地点どうしを結ぶことが多いようです。

ここでは、Aを起点として、次のラインを引きました。
B
ダブルトップ直後の安値の地点
C
ダブルトップ後に初めて上昇へ転換した地点
D
再び上昇へ転換した地点
E
Dの後に大きな下げ相場を形成した時の安値の地点


上の図は、その後のチャートの推移です。

赤色のラインをサポートラインとして推移して、赤色の丸で囲んだ部分が上昇トレンドの転換点になっています。

その後、ピンク色の丸で囲んだ部分を高値として下降トレンドへ転換しています。そして、青色のラインが下降トレンドのサポートラインになっています。

このように、いろいろとラインを引くことによって、トレンドの転換点を見つけることができます。なお、他のテクニカル指標と併用するとトレンドの転換点を見つけやすくなることがあります。

なお、ラインを削除するには、チャート画面を右クリックして「ライン等一覧」を選びます。ラインの一覧が表示されますので、削除したいラインを選択して「削除」のボタンをクリックします。

FXのチャート分析ソフトMT4でケルトナーチャネルズを使うには

ケルトナーチャネルズ(Keltner channels)とは、為替レートの過熱度を表すボラティリティを元に考案されたテクニカル指標です。

ケルトナーチャネルズでは、3本のラインによって構成されていて、上のラインと下のラインはブレイクアウトのラインとして用いることもできます。例えば、上のラインを超えた場合には、為替レートの上昇する過熱度が高いことを表し、下のラインを超えた場合には、為替レートの下降する過熱度が高いことを表します。それぞれ、ラインを超えた地点が買いのエントリーポイント、売りのエントリーポイントになります。


上のチャートは、ケルトナーチャネルズを描画したものです。

赤色の四角で囲んだ部分では、ケルトナーチャネルズの下のラインを割っています。この地点がブレイクアウトとなり売りのエントリーポイントになります。そして、手仕舞いのタイミングは、ローソク足がケルトナーチャネルズの下のラインより上に納まった時になります。上の図では、黄色の四角で囲んだ部分になります。

同じように、緑色の四角で囲んだ部分が売りのエントリーポイント、青色の四角で囲んだ部分が手仕舞いのタイミングになります。

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)には、ケルトナーチャネルズが標準でインストールされていませんので下のリストをコピーして使用してください。

ファイル名は「 Keltner Channels.mq4」として、MT4のインストールされているフォルダ内の「experts」フォルダ内にある「indicators」フォルダに保存します。

「 Keltner Channels.mq4」

//+------------------------------------------------------------------+
//| Keltner Channels.mq4 |
//| Coded by Gilani |
//| Copyright ゥ 2005, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ゥ 2005, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 White
#property indicator_color2 White
#property indicator_color3 White


double upper[], middle[], lower[];
extern int period = 10;


int init()
{
SetIndexStyle(0,DRAW_LINE);
SetIndexShift(0,0);
SetIndexDrawBegin(0,0);
SetIndexBuffer(0,upper);

SetIndexStyle(1,DRAW_LINE);
SetIndexShift(1,0);
SetIndexDrawBegin(1,0);
SetIndexBuffer(1,middle);

SetIndexStyle(2,DRAW_LINE);
SetIndexShift(2,0);
SetIndexDrawBegin(2,0);
SetIndexBuffer(2,lower);


//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() {
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

double avg;

for(int x=0; x middle[x] = iMA(NULL, 0, period, 0, MODE_SMA, PRICE_TYPICAL, x);
avg = findAvg(period, x);
upper[x] = middle[x] + avg;
lower[x] = middle[x] - avg;
}
return(0);
}
//+------------------------------------------------------------------+


double findAvg(int period, int shift) {
double sum=0;
for (int x=shift;x<(shift+period);x++) {
sum += High[x]-Low[x];
}
sum = sum/period;
return (sum);
}