*

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] Waddah_Attar_Explosion を自動売買プログラム化 (2) ysWA01b.ex4

以前の記事「Waddah_Attar_Explosion を自動売買プログラム化」を改良しました。

記事を読む

商売は、運。

昔『¥マネーの虎』という TV番組があったそうな。 私は何度か見かけたことはあったのですが、す

記事を読む

[FX] 時間帯特性 (1)

本日はアメリカ日本ともに祝日ということで、先月 FX に復帰して以来初めて EURAUD(ユーロオー

記事を読む

【FX】2024年5月総括

以前の記事「【FX】2024年5月第1,2,3,4週総括」の続きです。 5月が終わりました。

記事を読む

FX 本のジョーク

FX の本を読んでいると、次のようなジョークが書いてありました。 友達と山道を歩いていると

記事を読む

【FX】MetaTrader4 build 1470 の不具合

MetaTrader4 build 1470 の不具合については以前も書きましたが、ウェブ検索をして

記事を読む

MACDバーシステムの改良(4) 早めの利益確定

あの自動売買システム、しつこく変更しています。 上が変更前。下が変更後。 若干違いますね。

記事を読む

米国株投資(2) ETF ってすごい

昨日の記事「米国株投資(1)」の続きです。 本日は米国ETF の話ですが、楽天証券で「成り行き

記事を読む

【FX】 2024年4月第1週総括

4月第1週の総括 今週の FXトレード時間が終わりましたので、4月第1週を総括したいと思います。

記事を読む

最大の銀行、最善ならず

* 最も大きな銀行と言うか、預金者数の多い銀行の困った点は、もし取り付け騒ぎなど急に預金を下ろ

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Catchy(キャッチー)について

「Catchy(キャッチー)」を薦めている人(ライターさん)がいました

2026-6-15 高配当投資信託の乗り換え

いやあ、昨日はすごかった。 イラン戦争締結の憶測から、日本、米国の両

SUNO で作曲してみた

SUNO という音楽生成 AI で 初めて日本語歌詞付きの音楽を作曲し

高槻遠隔画像診断センターお引越し

いよいよ引っ越し当日。 始発電車で高槻へ。 寝過ごしてはいかん

久々の「残業」

明日高槻遠隔画像診断センターの引っ越しなので、整理に行ってきました。ま

→もっと見る

  • アクセスカウンター
PAGE TOP ↑