*

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);
  }

###

関連記事

ホンダジェット最新型「エリートII」発表

ホンダジェットの最新型「エリートII」というのが発表されたようです。 最大離陸重量を

記事を読む

[FX] PRICE_MEDIAN を使う (2) 半値の概念

以前の記事「 PRICE_MEDIAN を使う 」 の続きです。 移動平均線、ADX、RSI

記事を読む

[FX] 平均足を使った自動売買プログラム

平均足のメリット・デメリット 株やFX のチャートで価格の推移を表す ローソク足は有名ですが、同じ

記事を読む

【FX】Aura Neuron という EA

MQL5.com を観ていると、MT4 用の Aura Neuron という EA に目が行きました

記事を読む

[FX] Tokyo Box(ロンドン・コーリング)プログラムにトレーリングストップをつける

有名な FX のトレード手法の Tokyo Box(ロンドン・コーリング)ですが、以前これにはまって

記事を読む

【FX】裁量FX について

マインドには自信がないことには自信があるので、あまり裁量はやりません。 まあ、月に 1回あ

記事を読む

CEPI / REX クリプト・エクイティ・プレミアム・インカムETF

昨年の 12月から日本で売られている まだ1年経っていない新しい ETF に CEPI というものが

記事を読む

一目均衡表 改良の試み

前回の記事「超シンプルな自動売買プログラム(6) 簡単な一目均衡表」で紹介したプログラムを改良してみ

記事を読む

日経平均史上最高値 さらに上放れかも?

日経平均が最高値をまた超えました。 本日の終値は 41580円。 日足チャートでは ちょ

記事を読む

【FX】FX相場は先月くらいから比較的堅調

ようやく魔の夏枯れ相場を脱し、9月初旬からうちの自動売買プログラムたちが調子を取り戻し始めま

記事を読む

Message

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

久々の linux体験

Distrowatch.com を久々に見てみると、過去6ヶ月の注目度

2026-3-9 日経平均も下げ

イラン戦争のおかげで全世界株安のようです。 ハメネイ氏の次男をイラン

凶器・・・なのか

先週、自宅のマンションの共用庭でステンレスの包丁が発見されました。

【FX】half-trend-buy-sell-indicator というインジケーター

half-trend-buy-sell-indicator というイン

イラン戦争どうなる?

制空権を完全に失ったイランですが、海軍もほぼ全滅状態のようですね。

→もっと見る

  • 2026年3月
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
  • アクセスカウンター
PAGE TOP ↑