MQL5 テクニカル指標
iDEMA()
- できること
- 二重指数移動平均(DEMA)の値を取得する
- 対応
- MQL5
iDEMA() とは
MQL5 で、DEMA(遅れを小さくした指数移動平均)のハンドルを作る関数です。
iDEMA() の書式と引数
int iDEMA(
string symbol,
ENUM_TIMEFRAMES period,
int ma_period,
int ma_shift,
int applied_price
)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
symbol | string | 必須 | 銘柄名。チャートの銘柄なら _Symbol(NULL も可)。 |
period | ENUM_TIMEFRAMES | 必須 | 時間足。PERIOD_CURRENT でチャートの時間足。 |
ma_period | int | 必須 | 期間。 |
ma_shift | int | 必須 | 右にずらす本数。 |
applied_price | int | 必須 | 計算に使う価格。PRICE_CLOSE など。 |
戻り値
インジケーターのハンドル。
iDEMA() の使い方(コード例)
int h = iDEMA(_Symbol, PERIOD_CURRENT, 14, 0, PRICE_CLOSE);
double v[];
if(h != INVALID_HANDLE && CopyBuffer(h, 0, 1, 1, v) == 1)
Print("DEMA:", DoubleToString(v[0], _Digits));
IndicatorRelease(h);OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
iDEMA() の注意点
- MQL5 では値ではなく「ハンドル」が返ります。ハンドルは OnInit() で1回だけ作り、CopyBuffer() で値を読み出します。
MQL4 と MQL5 の違い
MQL4 には標準の関数がありません。












