iOsMA 関数
この関数は、任意に設定したパラメータのOsMA (オシレータの移動平均) の値を計算して、その値を取得します。OsMAはオシレータ系のインジケータに分類されます。
OsMA
OsMA (Moving Average of Oscillator [オシレータの移動平均]) は、主にトレンドの強弱や転換点の確認に使用される指標です。
OsMAは、MACD指標から派生したインジケータです。オシレータと移動平均を組み合わせた形式で、MACDとその移動平均のMACDシグナルの差を表します。MACDに比べて反応が早いという特徴があります。
MT4でチャート上にOsMAをプロットする時はナビゲーター中のインディケータ → 「OsMA」インジケータを使用します。
(OsMAの計算式)
OsMAの計算方法は、MACDとMACDシグナルの差を求めることです。MACDとMACDシグナルは、それぞれ異なる期間の指数平滑移動平均線 (EMA) を使って計算されます。
OsMAの計算式は以下のようになります。
OsMA = MACD - MACDシグナル
MACD = EMA(N1) - EMA(N2)
MACDシグナル = MACDのEMA(N3)
EMA:指数平滑移動平均線
N1~N3:期間(バーの数)。通常、N1=12、N2=26、N3=9 が使われます。
(OsMAの使い方)
OsMAは、以下のように使われます。
① 0ラインのクロス
OsMAが 0ラインを上方向にクロスすると、買いシグナルになります。逆に、下方向にクロスすると、売りシグナルになります。
② OsMAの値の変化
OsMAの値の増減や振動の強さを確認することで、相場の勢いやトレンドの強弱を判断することができます。大きな正の値は上昇トレンドを示し、大きな負の値は下降トレンドを示す場合があります。
③ ダイバージェンス (ずれ) の確認
OsMAの値と価格の動きとの間に生じるダイバージェンスをチェックすることで、トレンドの逆転や転換するタイミングを把握することができます。
OsMAは主にトレンドの強弱や転換点の確認に使用される指標です。ただし、単独ではなく他のテクニカル指標や価格パターンとの組み合わせで使用することが推奨されます。
データ型と構成・戻り値
double iOsMA(①, ②, ③, ④, ⑤, ⑥, ⑦);
戻り値は、任意に設定したパラメータのOsMAの値を計算して、その値を返します。
引数 [7]
iOsMA関数は 7個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | symbol | string | - | - | 計算対象の通貨ペア名。 「NULL」は選択チャートの通貨ペア名が選択されます。 |
② | timeframe | int | - | - | 時間軸。ENUM_TIMEFRAMES 列挙値から選択。 「0」は現在チャートの時間軸が選択されます。 |
③ | fast_ema_period | int | - | - | 短期EMAの計算期間。短期EMAを計算するバーの数を数値で設定します。 |
④ | slow_ema_period | int | - | - | 長期EMAの計算期間。長期EMAを計算するバーの数を数値で設定します。 |
⑤ | signal_period | int | - | - | シグナル線の計算期間。シグナル線を計算するバーの数を数値で設定します。 |
⑥ | applied_price | int | - | - | 適用価格。 ENUM_APPLIED_PRICE 列挙値から選択。 |
⑦ | shift | int | - | - | OsMAの値を算出するバーの位置。 現在のバーから指定した時間軸のバー数だけ過去へシフトします。たとえば、現在のバーからの計算は「0」、 1つ前のバーから計算する時は「1」になります。 |
使用例
iOsMA関数によるOsMA値の取得
iOsMA関数を使って、現在のOsMA値を取得します。条件は次のとおりです。
短期EMAの計算期間:12日間
長期EMAの計算期間:26日間
シグナル線の計算期間:9日間
コード
// iOsMA関数によるOsMA値の取得
#property strict
void OnInit() {
int s_period = 12; // 短期EMAの計算期間
int l_period = 26; // 長期EMAの計算期間
int b_period = 9; // シグナル線の計算期間
double a = iOsMA(NULL, 0, s_period, l_period, b_period, 0, 0);
Print("OsMA値:", a);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)