CCO_Library

Contrarian Crowd Oscillator (CCO) Library - Multi-oscillator consensus indicator for contrarian trading signals
Author B3AR_Trades
calculate_oscillators(rsi_length, stoch_length, cci_length, williams_length, roc_length, mfi_length, percentile_lookback, use_rsi, use_stochastic, use_williams, use_cci, use_roc, use_mfi)
Calculate normalized oscillator values
Parameters:
rsi_length (simple int): (int) RSI calculation period
stoch_length (int): (int) Stochastic calculation period
cci_length (int): (int) CCI calculation period
williams_length (int): (int) Williams %R calculation period
roc_length (int): (int) ROC calculation period
mfi_length (int): (int) MFI calculation period
percentile_lookback (int): (int) Lookback period for CCI/ROC percentile ranking
use_rsi (bool): (bool) Include RSI in calculations
use_stochastic (bool): (bool) Include Stochastic in calculations
use_williams (bool): (bool) Include Williams %R in calculations
use_cci (bool): (bool) Include CCI in calculations
use_roc (bool): (bool) Include ROC in calculations
use_mfi (bool): (bool) Include MFI in calculations
Returns: (OscillatorValues) Normalized oscillator values
calculate_consensus_score(oscillators, use_rsi, use_stochastic, use_williams, use_cci, use_roc, use_mfi, weight_by_reliability, consensus_smoothing)
Calculate weighted consensus score
Parameters:
oscillators (OscillatorValues): (OscillatorValues) Individual oscillator values
use_rsi (bool): (bool) Include RSI in consensus
use_stochastic (bool): (bool) Include Stochastic in consensus
use_williams (bool): (bool) Include Williams %R in consensus
use_cci (bool): (bool) Include CCI in consensus
use_roc (bool): (bool) Include ROC in consensus
use_mfi (bool): (bool) Include MFI in consensus
weight_by_reliability (bool): (bool) Apply reliability-based weights
consensus_smoothing (int): (int) Smoothing period for consensus
Returns: (float) Weighted consensus score (0-100)
calculate_consensus_strength(oscillators, consensus_score, use_rsi, use_stochastic, use_williams, use_cci, use_roc, use_mfi)
Calculate consensus strength (agreement between oscillators)
Parameters:
oscillators (OscillatorValues): (OscillatorValues) Individual oscillator values
consensus_score (float): (float) Current consensus score
use_rsi (bool): (bool) Include RSI in strength calculation
use_stochastic (bool): (bool) Include Stochastic in strength calculation
use_williams (bool): (bool) Include Williams %R in strength calculation
use_cci (bool): (bool) Include CCI in strength calculation
use_roc (bool): (bool) Include ROC in strength calculation
use_mfi (bool): (bool) Include MFI in strength calculation
Returns: (float) Consensus strength (0-100)
classify_regime(consensus_score)
Classify consensus regime
Parameters:
consensus_score (float): (float) Current consensus score
Returns: (ConsensusRegime) Regime classification
detect_signals(consensus_score, consensus_strength, consensus_momentum, regime)
Detect trading signals
Parameters:
consensus_score (float): (float) Current consensus score
consensus_strength (float): (float) Current consensus strength
consensus_momentum (float): (float) Consensus momentum
regime (ConsensusRegime): (ConsensusRegime) Current regime classification
Returns: (TradingSignals) Trading signal conditions
calculate_cco(rsi_length, stoch_length, cci_length, williams_length, roc_length, mfi_length, consensus_smoothing, percentile_lookback, use_rsi, use_stochastic, use_williams, use_cci, use_roc, use_mfi, weight_by_reliability, detect_momentum)
Calculate complete CCO analysis
Parameters:
rsi_length (simple int): (int) RSI calculation period
stoch_length (int): (int) Stochastic calculation period
cci_length (int): (int) CCI calculation period
williams_length (int): (int) Williams %R calculation period
roc_length (int): (int) ROC calculation period
mfi_length (int): (int) MFI calculation period
consensus_smoothing (int): (int) Consensus smoothing period
percentile_lookback (int): (int) Percentile ranking lookback
use_rsi (bool): (bool) Include RSI
use_stochastic (bool): (bool) Include Stochastic
use_williams (bool): (bool) Include Williams %R
use_cci (bool): (bool) Include CCI
use_roc (bool): (bool) Include ROC
use_mfi (bool): (bool) Include MFI
weight_by_reliability (bool): (bool) Apply reliability weights
detect_momentum (bool): (bool) Calculate momentum and acceleration
Returns: (CCOResult) Complete CCO analysis results
calculate_cco_default()
Calculate CCO with default parameters
Returns: (CCOResult) CCO result with standard settings
cco_consensus_score()
Get just the consensus score with default parameters
Returns: (float) Consensus score (0-100)
cco_consensus_strength()
Get just the consensus strength with default parameters
Returns: (float) Consensus strength (0-100)
is_panic_bottom()
Check if in panic bottom condition
Returns: (bool) True if panic bottom signal active
is_euphoric_top()
Check if in euphoric top condition
Returns: (bool) True if euphoric top signal active
bullish_consensus_reversal()
Check for bullish consensus reversal
Returns: (bool) True if bullish reversal detected
bearish_consensus_reversal()
Check for bearish consensus reversal
Returns: (bool) True if bearish reversal detected
bearish_divergence()
Check for bearish divergence
Returns: (bool) True if bearish divergence detected
bullish_divergence()
Check for bullish divergence
Returns: (bool) True if bullish divergence detected
get_regime_name()
Get current regime name
Returns: (string) Current consensus regime name
get_contrarian_signal()
Get contrarian signal
Returns: (string) Current contrarian trading signal
get_position_multiplier()
Get position size multiplier
Returns: (float) Recommended position sizing multiplier
OscillatorValues
Individual oscillator values
Fields:
rsi (series float): RSI value (0-100)
stochastic (series float): Stochastic value (0-100)
williams (series float): Williams %R value (0-100, normalized)
cci (series float): CCI percentile value (0-100)
roc (series float): ROC percentile value (0-100)
mfi (series float): Money Flow Index value (0-100)
ConsensusRegime
Consensus regime classification
Fields:
extreme_bearish (series bool): Extreme bearish consensus (<= 20)
moderate_bearish (series bool): Moderate bearish consensus (20-40)
mixed (series bool): Mixed consensus (40-60)
moderate_bullish (series bool): Moderate bullish consensus (60-80)
extreme_bullish (series bool): Extreme bullish consensus (>= 80)
regime_name (series string): Text description of current regime
contrarian_signal (series string): Contrarian trading signal
TradingSignals
Trading signals
Fields:
panic_bottom_signal (series bool): Extreme bearish consensus with high strength
euphoric_top_signal (series bool): Extreme bullish consensus with high strength
consensus_reversal_bullish (series bool): Bullish consensus reversal
consensus_reversal_bearish (series bool): Bearish consensus reversal
bearish_divergence (series bool): Bearish price-consensus divergence
bullish_divergence (series bool): Bullish price-consensus divergence
strong_consensus (series bool): High consensus strength signal
CCOResult
Complete CCO calculation results
Fields:
consensus_score (series float): Main consensus score (0-100)
consensus_strength (series float): Consensus strength (0-100)
consensus_momentum (series float): Rate of consensus change
consensus_acceleration (series float): Rate of momentum change
oscillators (OscillatorValues): Individual oscillator values
regime (ConsensusRegime): Regime classification
signals (TradingSignals): Trading signals
position_multiplier (series float): Recommended position sizing multiplier
Perpustakaan Pine
Dalam semangat sebenar TradingView, penulis telah menerbitkan kod Pine ini sebagai perpustakaan sumber terbuka supaya pengaturcara Pine lain dari komuniti kami boleh menggunakannya semula. Sorakan kepada penulis! Anda juga boleh menggunakan perpustakaan ini secara peribadi atau dalam penerbitan sumber terbuka lain, tetapi penggunaan semula kod ini dalam penerbitan adalah tertakluk kepada Peraturan Dalaman.
b3artrades@gmail.com
Penafian
Perpustakaan Pine
Dalam semangat sebenar TradingView, penulis telah menerbitkan kod Pine ini sebagai perpustakaan sumber terbuka supaya pengaturcara Pine lain dari komuniti kami boleh menggunakannya semula. Sorakan kepada penulis! Anda juga boleh menggunakan perpustakaan ini secara peribadi atau dalam penerbitan sumber terbuka lain, tetapi penggunaan semula kod ini dalam penerbitan adalah tertakluk kepada Peraturan Dalaman.
b3artrades@gmail.com