Weblio 辞書 > 金融コラム一覧 > FXのチャート分析ソフトMT4のマルチタイムフレームとは

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;jObjectGet("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);

}

(2012年06月05日更新)




カテゴリ一覧

全て

ビジネス

業界用語

コンピュータ

電車

自動車・バイク

工学

建築・不動産

学問

文化

生活

ヘルスケア

趣味

スポーツ

生物

食品

人名

方言

辞書・百科事典

すべての辞書の索引

検索ランキング

©2022 GRAS Group, Inc.RSS