• Overview
  • Reviews
  • Comments (1)

Composite Oscillator Indicator

Composite Oscillator is a composite momentum indicator consisting of three components. Two use the Oscillator (RSI or CCI) calculations, and the third ranks the most recent price change.

The idea is inspired by Connors RSI, but CO has many extra features than Connors RSI.

Composite Oscillator is very sensitive to price change and mainly used as short term mean reversion strategies. However it's possible to use it in longer term because of its flexibility.


  • 2 composite methods, RSI and CCI. Selectable.
  • 8 kinds of price. Close, open, high, low, median, typical, weighted, and John Ehlers RSI smoothing price.
  • Generates alerts for signals. 3 kinds of alerts.
  • Draw arrows on signals.
  • No repainting or recalculation.
  • Support for both 4 and 5-digit brokers.
  • Customizable colors.

Input parameters

Don't be scared by the amount of parameters. Most of them are only for easy use and you usually don't need to change. The important parameters are in bold font.

  • Method - Select which composite method to use, RSI or CCI.
  • Oscillator_Period - The oscillator look back period. Recommended: 3 for RSI, 6 for CCI. Note: for CCI, the small value such as 2 or 3 doesn't work well.
  • Streak_Period - The streak look back period. Recommended: 2 for RSI, 6 for CCI.
  • Rank_Period - The ranking look back period. Recommended: 100.
  • AppliedPrice - The applied price. The first 7 prices are same as the ones in MetaTrader 4, the last one, priceMean1221, is the John Ehlers RSI smoothing price, the formula is (Close1 + Close2 * 2 + Close3 * 2 + Close4) / 6. priceMean1221 can cause smoother and lag indicator. Note: the default value is priceClose, but conventional CCI should use priceTypical.
  • HighLevel - The value of high level. It will be drawn as a level, and it's also used to detect signals.
  • MiddleLevel - The value of middle level.
  • LowLevel - The value of low level. If both HighLevel and LowLevel are 0, CO will choose the default values for all 3 levels. The default values for RSI are 85, 50, 15, for CCI are 100, 0, -100.
  • EnableAlert - Whether to enable alerts. If it's false, no alerts nor arrows will be generated. Note: all parameters about alerts and arrows are only valid when EnableAlert is true.
  • PopAlert - Whether to pop the alert window.
  • DrawArrowOnAlert - Whether to draw arrows on the chart.
  • ArrowChart - Where to draw the arrows. onMainChart: draw arrows on the bar chart. onIndicatorChart: draw arrows on Composite Oscillator chart.
  • EnablePushNotification - Whether to put notification to mobile devices when alerts happen.
  • AlertOnOverBuySell - If it's true, generates alert when the indicator goes above HighLevel (over bought) or below LowLevel (over sold).
  • AlertOnReverseFromOverBuySell - If it's true, generates alert when the indicator goes between HighLevel and LowLevel and previously the indicator was above HighLevel or below LowLevel.
  • AlertOnCrossMiddleLevel - If it's true, generates alert when the indicator goes cross MiddleLevel.
  • AlertCheckPoint - At which bar to check the alert. 1: at the previous closed bar. 0: at current unclosed bar. This will cause the alert repaints. Other values can be set but they should be meaningless.
  • UpArrowColor - The color of up arrows.
  • DownArrowColor - The color of down arrows.

If any one of Oscillator_Period, Streak_Period, or Rank_Period is zero, the corresponding component is eliminated from the indicator. So to get standard RSI or CCI, just set both Streak_Period and Rank_Period to 0.

Suitable time frames

The ideal time frame of Composite Oscillator is the high time frames, D1 and H4. It depends on your strategy.

Sample strategy

By changing the parameters of Method, AppliedPrice and the periods, Composite Oscillator can be used in many different kinds of strategies. Here is a sample strategy.

  • Settings - RSI 3, 2, 100, priceClose, or CCI 6, 6, 100, priceTypical.
  • Time frame - daily.
  • Pair - any.
  • Entry - On a new bar, sell when Composite Oscillator goes above HighLevel, buy when CO goes below LowLevel. If AlertOnOverBuySell is true, enter when the alert is given.
  • Exit - exit at the end of bar (end of the day).
  • Stop loss - none.
  • Take profit - none.
  • Filters - add your interested filters, such as Simple Moving Average, or ADX.

Don't limit your mind with this sample strategy. CO is a powerful and flexible indicator so you may create many new strategies.

No reviews