2012年6月5日火曜日

FXのチャート分析ソフトMT4とは

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)は、ロシアのMetaQuotesSoftwareが開発したソフトウェアです。MT4は無料で公開され、だれでも自由に利用することができます。MT4は、Windowsをはじめ、Android、iPhone、Windows Mobile、Windows Pocket PCなどで動作します。

ダウンロードページのURLは次の通りです。

http://www.metatrader4.com/traders

MT4は、チャートを分析するために用いる他に、FXの売買をするためのクライアントソフトとしての機能も有しています。日本には、MT4を使った取引システムを採用しているFX業者もあります。

▼MT4を使った取引システムを採用しているFX業者一覧(2012年6月現在)

FX業者 サービス名
FXCMジャパン証券株式会社 MT4 口座 (FX)
フォレックス・ドットコムジャパン株式会社 Meta Trader4
株式会社サイバーエージェントFX MT4
株式会社FXトレード・フィナンシャル FXTF MT4

MT4の特徴は、最新の為替レートをもとにテクニカル分析ができる点が挙げられます。テクニカル分析に使用するテクニカル指標はインディケーターと呼ばれ、MACDやRSIなどのインディケーターが標準で搭載されています。また、インディケーターは、Metaquotes Language(MQL)という言語で作成されており、自由に作成することも可能です。これらのインディケーターは、多くのWebサイト上に公開されていて、ダウンロードして使用することができます。

MT4の2つめの特徴として、Metaquotes Language(MQL)を用いて自動売買プログラムが作成できる点が挙げられます。自動売買プログラムは、Expert Advisor(EA)と呼ばれ、インディケーターと同じく自由に作成できます。そして、EAも多くのWebサイト上に公開されていて、ダウンロードして使用することができます。EAの一部は商品として販売しているものもあります。

EAは、MT4に搭載されているStrategy Testerを用いることでバックテストが可能です。これにより、精度の高いEAの作成も可能になります。

FXのチャート分析ソフトMT4のEAの作り方

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)のEA(Expert Advisor)の作り方を紹介します。

MT4のメニューから「ツール」、「MetaQuotes Language Editor」を選びます。



MetaEditorの画面が表示されますので、「File」、「New」を選びます。

「Expert Advisor Wizard」の画面が表示されますので、「Expert Advisor」のラジオボタンを選び、「次へ」のボタンをクリックします。



EAの名前、作者名、Webサイトのアドレスを入力して、「完了」のボタンをクリックします。なお、EAの名前がファイル名になり、拡張子に「.mq4」が付いて保存されます。



MetaEditorの「sample.mq4」の編集画面が表示されます。この編集画面でEAを作成していきます。

▼EAの作成

初めてEAを作成する場合は、すでに公開されているEAのソースリストを見て、どのような流れでプログラムが作られているかを把握するとよいでしょう。

EAは、自動売買のためのプログラムなので、どのタイミングで注文するのか、どのタイミングで決済するのかを記述する必要があります。次のソースリストは買いポジションと売りポジションの決済をするプログラムです。

//買いポジションの決済
if(買いポジションの決済のタイミング)
{
Buy_exit = OrderClose(Buy_entry,lot,Bid,slip,Yellow);
if(Buy_exit == 1)
{
Buy_entry = 0;
}
}
//売りポジションの決済
if(売りポジションの決済のタイミング)
{
Sell_exit = OrderClose(Sell_entry,lot,Ask,slip,Red);
if(Sell_exit == 1)
{
Sell_entry = 0;
}
}

OrderCloseという関数を用いて、ポジションを決済します。

上のソースリストの買いポジションの決済のタイミングと、売りポジションの決済のタイミングには、決済の判断となるプログラムを記述します。決済の判断としては、エントリーした価格からいくら値上がりしたら決済する、という方法と、この価格になったら決済するという方法、テクニカル指標の数値が80より大きくなったら決済するといった方法などが考えられます。また、これらの方法を組み合わせて決済するという方法もあります。

次に、どのタイミングで注文するのかのプログラムを記述します。

//買いポジションのエントリー
if(買いポジションのエントリーのタイミング)
{
Buy_entry = OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0, Comments,MAGIC,0,Yellow);
}

//売りポジションのエントリー
if(売りポジションのエントリーのタイミング)
{
Sell_entry = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,Comments,MAGIC,0,Red);
}

OrderSendという関数を用いて、エントリーします。

買いポジションのエントリーと売りポジションのエントリーは、主にテクニカル指標によって算出した数値が30以下なら売り、70以上なら売りといったようなプログラムを記述します。

次のソースリストは、ボリンジャーバンドの+4σと-4σを超えたら売買を行うプログラムです。上記のソースリストにボリンジャーバンドでの売買タイミングを加え、また、初期設定を追加したものです。

「sample.mq4」
//マジックナンバー
#define MAGIC 123456789
//ボリンジャーバンドの設定
extern int BB_period = 20;
extern int BB_shift = 0;
extern double BB_sgm = 4.0;
//取引条件の設定
extern double lot = 1.0;
extern int slip = 10;
extern string Comments = "";
//買い注文の結果
int Buy_entry = 0;
//売り注文の結果
int Sell_entry = 0;
//買いポジションの決済注文の結果
int Buy_exit = 0;
//売りポジションの決済注文の結果
int Sell_exit = 0;

int start()
{
//買いポジションの決済
if(iCustom(NULL,0,"Bands",BB_period,BB_shift,BB_sgm,1,2) >= Close[2]
&& iCustom(NULL,0,"Bands",BB_period,BB_shift,BB_sgm,1,1) < Close[1] && (Buy_entry != 0 && Buy_entry != -1)) { Buy_exit = OrderClose(Buy_entry,lot,Bid,slip,Yellow); if(Buy_exit == 1) { Buy_entry = 0; } } //売りポジションの決済 if(iCustom(NULL,0,"Bands",BB_period,BB_shift,BB_sgm,2,2) <= Close[2] && iCustom(NULL,0,"Bands",BB_period,BB_shift,BB_sgm,2,1) > Close[1]
&& (Sell_entry != 0 && Sell_entry != -1))
{
Sell_exit = OrderClose(Sell_entry,lot,Ask,slip,Red);
if(Sell_exit == 1)
{
Sell_entry = 0;
}
}
//買いポジションのエントリー
if(iCustom(NULL,0,"Bands",BB_period,BB_shift,BB_sgm,2,2) <= Close[2] && iCustom(NULL,0,"Bands",BB_period,BB_shift,BB_sgm,2,1) > Close[1]
&& (Buy_entry == 0 || Buy_entry == -1)
&& (Sell_entry == 0 || Sell_entry == -1))
{
Buy_entry = OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0, Comments,MAGIC,0,Yellow);
}
//売りポジションのエントリー
if(iCustom(NULL,0,"Bands",BB_period,BB_shift,BB_sgm,1,2) >= Close[2]
&& iCustom(NULL,0,"Bands",BB_period,BB_shift,BB_sgm,1,1) < Close[1] && (Sell_entry == 0 || Sell_entry == -1) && (Buy_entry == 0 || Buy_entry == -1)) { Sell_entry = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,Comments,MAGIC,0,Red); } return(0); } ソースリストの作成が終わったら、次にコンパイルを行います。MetaEditorの画面上部の「Compile」のボタンをクリックします。

コンパイルが終了すると、画面の下側に「0 error(s), 0 warning(s)」と表示されます。これは、コンパイルの作業でエラーや警告がなかったことを意味しています。

もし、コンパイルのエラーが発生した場合には、エラーの行番号とその内容が表示されますので修正を行います。

以上で、EAの作成が終わりました。

「sample.mq4」をStrategy Testerで確認すると次のようなパフォーマンスであることがわかります。パフォーマンスが悪い場合には、パフォーマンスが向上するようにエントリーのタイミングや決済のタイミングの部分のプログラムを修正したりするとよいでしょう。

FXのチャート分析ソフトMT4のマルチタイムフレームとは

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)のマルチタイムフレーム(Multi time frame、MTF)とは、1つのチャート画面に他の時間足のチャートを表示することです。

マルチタイムフレームは、一般的には長期と短期のチャートを1画面に表示します。

マルチタイムフレームの特徴は、1つのチャートだけでは売買の判断が困難な時に、もう一方のチャートを見ることで売買判断ができるという点が挙げられます。



上の図は、5分足のチャートに1時間足のチャートを併せて表示したものです。1時間足のチャートは、白色と青色の太いローソク足で描画しています。

マルチタイムフレームは、インディケーターを使用することにより描画できます。以下がインディケーターのソースリストです。保存先は、MT4のインストールされているフォルダの「experts」フォルダ内の「indicators」を指定します。

「NTF Candles.mq4」
#property copyright "Copyright ゥ 2009, Julien Loutre"
#property link "http://www.zenhop.com"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 LightBlue
#property indicator_width1 1

extern string timeframe = "H4";
extern color BullColor = SteelBlue;
extern color BearColor = White;

double extBuffer[];

double open,close,open1,close1,high,low;
int p;
int currentCandle = 0;

int init() {
IndicatorBuffers(1);
SetIndexStyle(0,DRAW_NONE);
SetIndexDrawBegin(0,0);
SetIndexEmptyValue(0, 0.0);
SetIndexBuffer(0,extBuffer);
SetIndexLabel(0,"Open Price");
IndicatorDigits(6);
return(0);
}

int start() {
int counted_bars=IndicatorCounted();
int limit,i,j;
double tmp;
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
p = tfstrtoint(timeframe);
for(i=limit-1; i>=0; i--) {
int rp = MathCeil(i*Period()/p);
int rp1 = MathCeil((i+1)*Period()/p);
for (j=i;j<=i+p/Period();j++) { if (iOpen(NULL,p,rp) == iOpen(NULL,0,i)) { open = iOpen(NULL,0,i); close = iClose(NULL,0,i); open1 = iOpen(NULL,p,rp1); close1 = iClose(NULL,p,rp1); } } extBuffer[i] = open; if (extBuffer[i] != extBuffer[i+1]) { currentCandle++; createCandle(Time[i],open); } updateCandle(Time[i],close1); } return(0); } void createCandle(double t, double o) { ObjectCreate("candle"+currentCandle,OBJ_RECTANGLE,0,t,o,t,o); } void updateCandle(double t, double c) { ObjectSet("candle"+currentCandle, OBJPROP_TIME2, t); ObjectSet("candle"+currentCandle, OBJPROP_PRICE2, c); if (ObjectGet("candle"+currentCandle, OBJPROP_PRICE1)>ObjectGet("candle"+currentCandle, OBJPROP_PRICE2)) {
ObjectSet("candle"+currentCandle, OBJPROP_COLOR, BearColor);
} else {
ObjectSet("candle"+currentCandle, OBJPROP_COLOR, BullColor);
}
}
void deleteCandles() {
ObjectsDeleteAll(0, OBJ_RECTANGLE);
}
int deinit() {
deleteCandles();
return(0);
}
int tfstrtoint(string str) {
if (str == "M1") {
return(1);
}
if (str == "M5") {
return(5);
}
if (str == "M15") {
return(15);
}
if (str == "M30") {
return(30);
}
if (str == "H1") {
return(60);
}
if (str == "H4") {
return(240);
}
if (str == "D1") {
return(1440);
}
if (str == "W1") {
return(10080);
}
if (str == "MN") {
return(43200);
}
if (str == "") {
return(0);
}
}

マルチタイムフレームは、チャート以外にテクニカル指標を用いることができます。



上の図は、3本の移動平均線に10分足の移動平均線(ピンク色の線)を併せて表示したものです。

次のソースリストは、移動平均線を用いたマルチタイムフレームのインディケーターです。保存先は、MT4のインストールされているフォルダの「experts」フォルダ内の「indicators」を指定します。

「MTF MA.mq4」
//+------------------------------------------------------------------+
//| RSI.mq4 |
//| Copyright ゥ 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//| by Hartono Setiono |
//+------------------------------------------------------------------+
#property copyright "Copyright ゥ 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue

//---- input parameters
extern int MAPeriod=34;
extern int MATimeFrame=1440;
extern int MAMethod=1;
extern int MAShift=0;
extern int MAAppliedPrice=0;

//---- buffers
double MABuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
SetIndexBuffer(0,MABuffer);
SetIndexStyle(0,DRAW_LINE);

//---- name for DataWindow and indicator subwindow label
switch(MATimeFrame)
{
case 1 : short_name="Period_M1"; break;
case 5 : short_name="Period_M5"; break;
case 15 : short_name="Period_M15"; break;
case 30 : short_name="Period_M30"; break;
case 60 : short_name="Period_H1"; break;
case 240 : short_name="Period_H4"; break;
case 1440 : short_name="Period_D1"; break;
case 10080 : short_name="Period_W1"; break;
case 43200 : short_name="Period_MN1"; break;
default : {short_name="Current Timeframe"; MATimeFrame=0;}
}
short_name="MTF_MA("+short_name+", "+MAPeriod+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name+" - actual");
SetIndexDrawBegin(0,MAPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Relative Strength Index |
//+------------------------------------------------------------------+
int start()
{
int i,limit,y=0,counted_bars=IndicatorCounted();

limit=Bars-counted_bars;
for(i=0,y=0;i {
y = iBarShift(NULL,MATimeFrame,Time[i]);
MABuffer[i]=iMA(NULL,MATimeFrame,MAPeriod,MAShift,MAMethod,MAAppliedPrice,y);
}
return(0);

}

FXのチャート分析ソフトMT4で気配値を表示するには

FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)では、リアルタイムで為替レートの気配値を表示することができます。

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



気配値表示画面が表示され、通貨ペアとBid、Askのレートを表示します。



気配値表示画面では、次の操作ができます。

▼売買注文
気配値表示画面で通貨ペア、あるいは、気配値をダブルクリックすると売買注文ができます。



▼選択通貨ペアの非表示
選択した通貨ペアの気配値を非表示にします。

▼通貨ペア数の最小化
チャート表示している通貨ペアの気配値を表示します。チャート表示していない通貨ペアの気配値は表示しません。



▼全通貨ペアを表示
MT4で取引可能な全ての通貨ペアの気配値を表示します。



▼通貨ペア一覧
気配値の表示が可能な通貨ペアの一覧を表示します。気配値表示画面に表示する、あるいは、非表示する通貨ペアを選択できます。



▼表示通貨ペアの組合せ
通貨ペアのグループを作成して、そのグループを一括で表示することができます。グループは複数作成可能です。

▼高値/安値
気配値表示画面に高値と安値を表示します。



▼時間
各通貨ペアの最終取引時間を表示します。



▼自動整列
通貨ペアや気配値などの表示が省略されずに表示されるように列の幅を調整します。

▼グリッド
罫線を引くか引かないかを選択できます。以下は、罫線を引かない場合です。



▼気配値ポップアップ表示
気配値を別のウィンドウに表示します。ウィンドウの大きさを設定できます。

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」のほうが細かく描画されているのが分かります。