https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a832afc1-2831-4950-bd32-bc8ccbe73721/EURUSD_iM15.png

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がシグナルラインを表します。

使用例

MACDとシグナルラインの交差

計算方法

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]の単純移動平均