Chande’s Momentum Oscillator シャンデ・モメンタム・オシレーター
公開日:
:
マネー
シャンデモメンタムオシレーター(CMO と略される)という指標が本に載っていました。
アメリカの Tushar S. Chande が発表したようで、オシレーター系指標の一つです。
CMOの計算式は次のようになります。
CMO(N) = (CMO1 – CMO2) ÷ (CMO1 + CMO2) × 50 + 50
N = 指標の設定期間
CMO1 = N日間で前日比プラスとした日の値幅合計
CMO2 = N日間で前日比マイナスとした日の値幅合計
RSI(相対力指数)と似ています。
RSIと異なり、値幅を評価しているのでトレンドの強弱を知ることができるのが強みです。
ネットに転がっている CMO はシグナルのない1本線で、スケールも -100~100 とやや異なるので、改造してみました。
一番下のサブウィンドウが CMO です。一つ上は BBW ratio ですね。
CMO も 70 以上で買われすぎ、30以下で売られすぎ。
シグナルとクロスしたゴールデンクロス、デッドクロスは売買シグナルに使えます。
- 70 以上でデッドクロスは売り
- 30以下でゴールデンクロスは買い
です。
プログラムソース
//+------------------------------------------------------------------+
//| Chande's Momentum Oscillator CMO_S.mq4 |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Orange
#property indicator_color2 Violet
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_level1 50
//---- input parameters
extern bool LastBarOnly = false;
extern int CMO_Range = 20;
extern int Sig_Period =9;
//---- buffers
double CMO_Buffer[];
double CMO_signal[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(2);
IndicatorShortName("Chande`s Momentum Oscillator (" + CMO_Range + ")");
SetLevelStyle(STYLE_DASHDOT, 1, DodgerBlue);
SetIndexStyle(0, DRAW_LINE);
SetIndexLabel(0, "CMO");
SetIndexBuffer(0, CMO_Buffer);
SetIndexDrawBegin(0, CMO_Range);
SetIndexBuffer(1, CMO_signal);
SetIndexDrawBegin(1, CMO_Range);
SetIndexStyle(1, DRAW_LINE);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars = IndicatorCounted();
int i, j, Limit, cnt_bars;
double dif_close, cmo_up, cmo_dw;
static bool run_once;
if(counted_bars < 0)
{
return(-1);
}
Limit = Bars - counted_bars;
// run once on start
if(run_once == false)
cnt_bars = Limit - CMO_Range;
else
if(LastBarOnly == false)
cnt_bars = Limit;
else
cnt_bars = 0;
//----
for(i = cnt_bars; i >= 0; i--)
{
cmo_up = 0.0;
cmo_dw = 0.0;
//----
for(j = i + CMO_Range - 1; j >= i; j--)
{
dif_close = Close[j] - Close[j+1];
if(dif_close > 0)
cmo_up += dif_close;
else
if(dif_close < 0)
cmo_dw -= dif_close;
}
CMO_Buffer[i] = 50.0 +50.0 * (cmo_up - cmo_dw) / (cmo_up + cmo_dw);
}
for (i=cnt_bars - Sig_Period; i>=0; i--)
{
CMO_signal[i] = iMAOnArray(CMO_Buffer,0,Sig_Period,0,MODE_EMA,i);
}
//----
if(run_once == false)
run_once = true;
//----
return(0);
}
###
関連記事
-
-
【FX】Fintokei のビジネスモデルについての愚考
前日の記事「【FX】Fintokei チャレンジ開始」でも書きましたが、Fintokei の仕組みは
-
-
お金の断捨離 証券会社編
リベラルアーツ大学という Youtubeチャンネル を毎日数個ずつ観ています。 証券会社は昔か
-
-
[FX] 3年ぶりかな FX リアルトレード
自動運転用の VPSサーバーがしょっちゅう勝手に落ちて実損が出たのでしばらく FX はやめておりまし
-
-
超シンプルな自動売買プログラム(14) ハル移動平均線
久々に「超シンプルな自動売買プログラム」シリーズを再開しますか。 ハル移動平均線 HUL移動平均
-
-
2023-06-05 ポートフォリオ改変 スシローよ、さらば
ここ連日、日経平均が爆上げで 本日も勢いは衰えず。13:00 現在 32041円。 ありがとう
-
-
【FX】平均足+MACD を利用する EA
Youtube などでよく紹介されているのが、平均足と移動平均線とを使ったトレード手法。 裁量
-
-
ビットコイン BitCoin という仮想通貨
ビットコイン(BitCoin)について、よくわかる詳しいサイトがありました。 ⇒ 仮想通貨
-
-
【FX】新しい FX自動売買プログラム作成(3) ゴールド昼スキャ
「【FX】新しい FX自動売買プログラム作成(2) 朝スキャから昼スキャへ」の続きです。 自作
-
-
[FX] たった1本の移動平均線でスイングトレード
できるだけ物事は簡単なほうがいいと思っている人が多いでしょうが、私もその末席におります。 一番
-
-
臆病者のための億万長者入門 / 橘 玲
臆病者のための億万長者入門 (文春新書) 橘 玲 文藝春秋 2014-05-
- PREV
- Seagate HDD また一位
- NEXT
- 2015年2月アメリカ雇用統計







