Moving Averages Convergence/Divergenceの略で、期間の異なる2本のEMA(指数移動平均)の差を求めた指標です。さらにSMA(単純移動平均)をかけて平滑化したラインをシグナルラインとして表示します。
double iMACD(
string [symbol](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>), // 銘柄
ENUM_TIMEFRAMES [timeframe](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>), // 時間軸
int fast_ema_period, // 短期EMAの期間
int slow_ema_period, // 長期EMAの期間
int signal_period, // シグナルライン算出の期間
ENUM_APPLIED_PRICE [applied_price](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>), // 価格の種類
int mode, // 出力するライン
int [shift](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>) // 計算するバーの位置
);
MACDのパラメータは、短期EMAの期間fast_ema_period
、長期EMAの期間slow_ema_period
と、シグナルライン算出の期間signal_period
です。
どのラインを出力するかをmode
の引数で指定します。MODE_MAIN
がMACD、MODE_SIGNAL
がシグナルラインを表します。
MACDMACD[0]
は、価格に対する2本のEMAの差から求めます。シグナルラインSIGNAL[0]
は、MACD[i]
のSMAから求めます。
MACD[0] = EMA(Price[i], fast_ema_period) - EMA(Price[i], slow_ema_period)
SIGNAL[0] = SMA(MACD[i], signal_period)
Price[i]
:applied_price
で指定した価格
EMA(Price[i], N)
:Price[i]
の指数移動平均
SMA(MACD[i], N)
:MACD[i]
の単純移動平均