
目次
ソースコード
//+------------------------------------------------------------------+
//| MTF-AD.mq4 |
//| Copyright 2022,Greeds Co., Ltd. |
//| https://greeds.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022,Greeds Co., Ltd."
#property link "https://greeds.net"
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_color1 LightSeaGreen
#property indicator_color2 YellowGreen
#property indicator_color3 Wheat
#property indicator_buffers 3
double Buf1[];
double Buf2[];
double Buf3[];
input ENUM_TIMEFRAMES in_timeFrame = PERIOD_CURRENT; // マルチタイムフレーム
input int in_period=14; // 平均期間
input ENUM_APPLIED_PRICE in_applied_price=PRICE_CLOSE; // 適用価格
int OnInit()
{
SetIndexBuffer(0, Buf1 );
SetIndexBuffer(1, Buf2 );
SetIndexBuffer(2, Buf3 );
SetIndexStyle(0, DRAW_LINE , STYLE_SOLID , 1 );
SetIndexStyle(1, DRAW_LINE , STYLE_SOLID , 1 );
SetIndexStyle(2, DRAW_LINE , STYLE_SOLID , 1 );
return( INIT_SUCCEEDED );
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int limit = Bars - prev_calculated;
for(int i=0; i<limit; i++)
{
int shift = iBarShift(NULL, in_timeFrame, time[i]);
double adx = iADX(NULL,in_timeFrame,in_period,in_applied_price,MODE_MAIN,shift);
double plus = iADX(NULL,in_timeFrame,in_period,in_applied_price,MODE_PLUSDI,shift);
double minus = iADX(NULL,in_timeFrame,in_period,in_applied_price,MODE_MINUSDI,shift);
Buf1[i]=adx;
Buf2[i]=plus;
Buf3[i]=minus;
}
return(rates_total);
}
パラメータ

基本的にMT4標準の入力パラメータと同じにしています。
数値以外の設定項目に関しては、リストボックスで選択可能です。
- マルチタイムフレーム
- 期間
- 適用価格
ダウンロード
“MTF-ADX” をダウンロード
MTF-ADX.ex4 – 9 回のダウンロード – 12.16 KB