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
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.
b3artrades@gmail.com
Declinazione di responsabilità
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.
b3artrades@gmail.com