MACD+RSI+BBDESCRIPTION
The MACD + RSI + Bollinger Bands Indicator is a comprehensive technical analysis tool designed for traders and investors to identify potential market trends and reversals. This script combines three indicators: the Moving Average Convergence Divergence (MACD), the Relative Strength Index (RSI), and Bollinger Bands. Each of these indicators provides unique insights into market behavior.
FEATURES
MACD (Moving Average Convergence Divergence)
The MACD is a trend-following momentum indicator that shows the relationship between two moving averages of a security’s price.
The script calculates the MACD line, the signal line, and the histogram, which visually represents the difference between the MACD line and the signal line.
RSI (Relative Strength Index)
The RSI is a momentum oscillator that measures the speed and change of price movements. It ranges from 0 to 100 and is typically used to identify overbought or oversold conditions.
The script allows users to set custom upper and lower thresholds for the RSI, with default values of 70 and 30, respectively.
Bollinger Bands
Bollinger Bands consist of a middle band (EMA) and two outer bands (standard deviations away from the EMA). They help traders identify volatility and potential price reversals.
The script allows users to customize the length of the Bollinger Bands and the multiplier for the standard deviation.
Color-Coding Logic
The histogram color changes based on the following conditions:
Black: If the RSI is above the upper threshold and the closing price is above the upper Bollinger Band, or if the RSI is below the lower threshold and the closing price is below the lower Bollinger Band.
Green (#4caf50): If the RSI is above the upper threshold but the closing price is not above the upper Bollinger Band.
Light Green (#a5d6a7): If the histogram is positive and the RSI is not above the upper threshold.
Red (#f23645): If the RSI is below the lower threshold but the closing price is not below the lower Bollinger Band.
Light Red (#faa1a4): If the histogram is negative and the RSI is not below the lower threshold.
Inputs
Bollinger Bands Settings
Length: The number of periods for the moving average.
Basis MA Type: The type of moving average (SMA, EMA, SMMA, WMA, VWMA).
Source: The price source for the Bollinger Bands calculation.
StdDev: The multiplier for the standard deviation.
RSI Settings
RSI Length: The number of periods for the RSI calculation.
RSI Upper: The upper threshold for the RSI.
RSI Lower: The lower threshold for the RSI.
Source: The price source for the RSI calculation.
MACD Settings
Fast Length: The length for the fast moving average.
Slow Length: The length for the slow moving average.
Signal Smoothing: The length for the signal line smoothing.
Oscillator MA Type: The type of moving average for the MACD calculation.
Signal Line MA Type: The type of moving average for the signal line.
Usage
This indicator is suitable for various trading strategies, including day trading, swing trading, and long-term investing.
Traders can use the MACD histogram to identify potential buy and sell signals, while the RSI can help confirm overbought or oversold conditions.
The Bollinger Bands provide context for price volatility and potential breakout or reversal points.
Example:
From the example, it can clearly see that the Selling Climax and Buying Climax, marked as orange circle when a black histogram occurs.
Conclusion
The MACD + RSI + Bollinger Bands Indicator is a versatile tool that combines multiple technical analysis methods to provide traders with a comprehensive view of market conditions. By utilizing this script, traders can enhance their analysis and improve their decision-making process.
Oscillatori
moshak adel//@version=5
indicator("2 indicator", precision=0, timeframe='', timeframe_gaps = true)
PhiSmoother(series float source, simple int length, simple float phase=3.7)=>
var array coefs = na
var int length_1 = length - 1
var float W = 0.0
if na(coefs)
coefs := array.new()
const float SQRT_PIx2 = math.sqrt(2.0 * math.pi)
const float MULTIPLIER = -0.5 / 0.93
var float length_2 = length * 0.52353
for int i=0 to length_1
float alpha = (i + phase - length_2) * MULTIPLIER
float beta = 1.0 / (0.2316419 * math.abs(alpha) + 1.0)
float phi = (math.exp(math.pow(alpha, 2) * -0.5)
*-0.398942280) * beta *
( 0.319381530 + beta *
(-0.356563782 + beta *
( 1.781477937 + beta *
(-1.821255978 + beta
* 1.330274429)))) + 1.011
if alpha < 0.0
phi := 1.0 - phi
float weight = phi / SQRT_PIx2
coefs.push(weight)
W += weight
float sma2 = math.avg(source, nz(source , source))
float E = 0.0
for int i=0 to length_1
E += coefs.get(i) * sma2
E / W
ema(series float source, simple float length)=>
float alpha = 2.0 / (length + 1)
var float smoothed = na
smoothed := alpha * source + (1.0 - alpha) * nz(smoothed , source)
dema(series float source, simple float length)=>
float ema1 = ema(source, length)
float ema2 = ema( ema1, length)
2.0 * ema1 - ema2
tema(series float source, simple float length)=>
float ema1 = ema(source, length)
float ema2 = ema( ema1, length)
float ema3 = ema( ema2, length)
(ema1 - ema2) * 3.0 + ema3
wma(series float source, simple int length)=>
float weight_sum = length * 0.5 * (length + 1)
float sum = 0.0
for int i=0 to length - 1
sum += source * (length - i)
sum / weight_sum
sma(series float source, simple int length)=>
float sum = ta.cum(source)
if bar_index < length - 1
sum / (bar_index + 1)
else
(sum - sum ) / length
filter(series float source,
simple int length,
simple float phase,
simple string style)=>
if length > 1
switch style
"PhiSmoother" => PhiSmoother(source, length, phase)
"EMA" => ema(source, length)
"DEMA" => dema(source, length)
"TEMA" => tema(source, length)
"WMA" => wma(source, length)
=> sma(source, length) // "SMA"
else
source
method get_score(series array source)=>
array scores = array.new()
for int i=0 to source.size() - 1
float current = source.get(i)
int score_sum = 0
for j = 0 to source.size() - 1
float check = source.get(j)
int polarity = i < j ? 1 : -1
if i != j
if current > check
score_sum += polarity
else
score_sum -= polarity
scores.push(score_sum)
scores
method net_score(series array scores)=>
int value = scores.size() - 1
float netScore = ((scores.avg() + value) / (value * 2.0) - 0.5) * 200.0
netScore
method get_color(series float score,
simple float transition_easing,
simple bool volatility_mode,
simple color rising_bullish,
simple color falling_bullish,
simple color falling_bearish,
simple color rising_bearish,
simple color rising_transition,
simple color falling_transition)=>
var color grad = na
float delta = score - nz(score , score)
color bullish = delta >= 0.0 ? rising_bullish : falling_bullish
color bearish = delta > 0.0 ? rising_bearish : falling_bearish
color transit = score > 0.0 ? (delta >= 0.0 ? rising_transition : falling_transition)
: (delta >= 0.0 ? falling_transition : rising_transition)
if volatility_mode
float easing = 0.01 * transition_easing
float crms = easing * math.sqrt(ta.cum(math.pow(math.abs(score), 2)) / (bar_index + 1))
grad := if score > 0.0
transition_easing > 0.0 ? color.from_gradient(score, 0.0, crms, transit, bullish) : bullish
else
transition_easing > 0.0 ? color.from_gradient(score, -crms, 0.0, bearish, transit) : bearish
else
grad := if score > 0.0
transition_easing > 0.0 ? color.from_gradient(score, 0.0, transition_easing, transit, bullish) : bullish
else
transition_easing > 0.0 ? color.from_gradient(score, -transition_easing, 0.0, bearish, transit) : bearish
grad
string common = "Common Controls"
float source = input.source( close, "Source", group=common)
string mode = input.string("Trend Strength", "Composite Cluster Mode", group=common, options= , tooltip="Trend Strength visualizes the directionality of the filter cluster. Volatility weights the score to the bandwidth of the cluster.")
string filter = input.string( "PhiSmoother", "Cluster Filter", group=common, options= , tooltip="Choose a filter to build the moving average cluster with.")
float phase = input.float ( 3.7, "PhiSmoother Phase", group=common, minval=0.0, step=0.1, tooltip="This allows for subtle adjustment (tweaking) of the phase/lag for PhiSmoother")
string cluster = "Cluster Options"
int spacing = input.int(3, "Cluster Dispersion", group=cluster, minval=1, maxval=10, tooltip="Choose the separation between the moving averages in the cluster.")
int upper_trim = input.int(0, "Cluster Trim - Upper:", group=cluster, inline="trim", minval=0, maxval=31)
int lower_trim = input.int(0, "Lower:", group=cluster, inline="trim", minval=0, maxval=31, tooltip="The 'Upper' parameter modifies the shortest period of the moving averages, whereas 'Lower' parameter adjusts the longest period. Increasing the upper value reduces sensitivity, while increasing the lower value heightens sensitivity.")
string output = "Composite Post Smoothing"
string post_smooth_filt = input.string("PhiSmoother", "PostSmooth - Filter:", group=output, inline="post", options= )
int post_smooth_len = input.int ( 1, "Length:", group=output, inline="post", minval=1, tooltip="Period of the cluster's post smoothing.")
string signal = "Composite Signal Settings"
string signal_filter = input.string("PhiSmoother", "Signal - Filter:", group=signal, inline="signal", options= )
int signal_length = input.int ( 20, "Length:", group=signal, inline="signal", minval=1, tooltip="Period of the momentum signal plot.")
color signal_color = input.color ( color.white, "Filter Color", group=signal)
string threshold = "Threshold Levels"
float upperLevel = input.float( 75.00, "Levels - Upper:", group=threshold, inline="level", minval= 1.0, maxval=99.0, step=2.0)
float lowerLevel = input.float(-75.00, "Lower:", group=threshold, inline="level", minval=-99.0, maxval=-1.0, step=2.0, tooltip="Fine-tune the thresholds to your liking")
string colors = "Coloring Preferences"
//bool candle_color = input.bool ( false, "Candle Coloring", group=colors)
float transition_easing = input.float( 50.0, "Transition Easing", group=colors, maxval= 100.0, minval=0.0, step=5.0, tooltip="Adjust the sensitivity to ranging conditions.")
bool fill_bg = input.bool ( true, "Fill Background", group=colors, inline= "fill")
int fill_alpha = input.int ( 85, "", group=colors, inline= "fill", minval=0, maxval=100)
color rising_bullish = input.color(#FFCC00, "Bullish Color", group=colors, inline= "bull")
color rising_transition = input.color(#9598A1, "Transition Color", group=colors, inline="range")
color falling_bearish = input.color(#5500CC, "Bearish Color", group=colors, inline= "bear")
var bool VOLATILITY_MODE_ON = mode == "Volatility"
price = input(title='Source', defval=close)
alpha = input.int(title='Combined Smoothness', defval=15, minval=1)
array filter_cluster = array.new(34)
filter_cluster.set( 0, source)
filter_cluster.set( 1, filter(source, spacing, phase, filter))
filter_cluster.set( 2, filter(source, 2 * spacing, phase, filter))
filter_cluster.set( 3, filter(source, 3 * spacing, phase, filter))
filter_cluster.set( 4, filter(source, 4 * spacing, phase, filter))
filter_cluster.set( 6, filter(source, 5 * spacing, phase, filter))
filter_cluster.set( 7, filter(source, 6 * spacing, phase, filter))
filter_cluster.set( 8, filter(source, 7 * spacing, phase, filter))
filter_cluster.set( 9, filter(source, 8 * spacing, phase, filter))
filter_cluster.set(10, filter(source, 9 * spacing, phase, filter))
filter_cluster.set(11, filter(source, 10 * spacing, phase, filter))
filter_cluster.set(12, filter(source, 11 * spacing, phase, filter))
filter_cluster.set(13, filter(source, 12 * spacing, phase, filter))
filter_cluster.set(14, filter(source, 13 * spacing, phase, filter))
filter_cluster.set(15, filter(source, 14 * spacing, phase, filter))
filter_cluster.set(16, filter(source, 15 * spacing, phase, filter))
filter_cluster.set(17, filter(source, 16 * spacing, phase, filter))
filter_cluster.set(18, filter(source, 17 * spacing, phase, filter))
filter_cluster.set(19, filter(source, 18 * spacing, phase, filter))
filter_cluster.set(20, filter(source, 19 * spacing, phase, filter))
filter_cluster.set(21, filter(source, 20 * spacing, phase, filter))
filter_cluster.set(22, filter(source, 21 * spacing, phase, filter))
filter_cluster.set(23, filter(source, 22 * spacing, phase, filter))
filter_cluster.set(24, filter(source, 23 * spacing, phase, filter))
filter_cluster.set(25, filter(source, 24 * spacing, phase, filter))
filter_cluster.set(26, filter(source, 25 * spacing, phase, filter))
filter_cluster.set(27, filter(source, 26 * spacing, phase, filter))
filter_cluster.set(28, filter(source, 27 * spacing, phase, filter))
filter_cluster.set(29, filter(source, 28 * spacing, phase, filter))
filter_cluster.set(30, filter(source, 29 * spacing, phase, filter))
filter_cluster.set(31, filter(source, 30 * spacing, phase, filter))
filter_cluster.set(32, filter(source, 31 * spacing, phase, filter))
filter_cluster.set(33, filter(source, 32 * spacing, phase, filter))
if upper_trim > 0
for int i=0 to math.min(upper_trim - 1, filter_cluster.size() - 1)
if filter_cluster.size() > 2
filter_cluster.shift()
else
break
if lower_trim > 0
for int i=0 to math.min(lower_trim - 1, filter_cluster.size() - 1)
if filter_cluster.size() > 2
filter_cluster.pop()
else
break
float ribbon_max = filter_cluster.max()
float ribbon_min = filter_cluster.min()
float ribbon_width = ribbon_max - ribbon_min
float ribbon_rank = VOLATILITY_MODE_ON ? nz(ribbon_width / math.avg(ribbon_max, ribbon_min)) : 1
array score = filter_cluster.get_score()
float net_score = filter(score.net_score() * ribbon_rank, post_smooth_len, 3.7, post_smooth_filt)
float signal_value = signal_length < 2 ? na : filter(ta.sma(net_score, 2), signal_length, 3.7, signal_filter)
top = hline(VOLATILITY_MODE_ON ? na : 100.0, "Top", #FF0000)
upper = hline(VOLATILITY_MODE_ON ? na : upperLevel, "+Level", rising_bullish, hline.style_dotted, 2)
center = hline( 0.0, "Center", #CCCCCC)
lower = hline(VOLATILITY_MODE_ON ? na : lowerLevel, "+Level", falling_bearish, hline.style_dotted, 2)
bottom = hline(VOLATILITY_MODE_ON ? na : -100.0, "Bottom", #00FF00)
const color invisible = #00000000
fill( top, upper, 100.0, upperLevel, #800000, invisible)
fill(center, upper, upperLevel, 0.0, color.new( rising_bullish, 100), color.new(rising_bullish, fill_bg ? fill_alpha : 100))
fill(center, lower, 0.0, lowerLevel, color.new(falling_bearish, fill_bg ? fill_alpha : 100), color.new(falling_bearish, 100))
fill(bottom, lower, lowerLevel, -100.0, invisible, #008000)
//barcolor(candle_color ? main_color : na)
color1 = net_score>signal_value ? #00FF00 : #ff0000
net = plot(net_score, "Score", color1, 3)
zero = plot( 0.0, "", invisible)
plot(signal_value, "Signal", signal_color, 1)
fill(net, zero, net_score > 0.0 ? net_score : 0.0,
net_score > 0.0 ? 0.0 : net_score,
net_score > 0.0 ? color.new(rising_bullish, fill_bg and VOLATILITY_MODE_ON ? fill_alpha : 100) : color.new(falling_bearish, 100),
net_score > 0.0 ? color.new(rising_bullish, 100) : color.new(falling_bearish, fill_bg and VOLATILITY_MODE_ON ? fill_alpha : 100))
//===============================================
f_LazyLine(_data, _length) =>
w1 = 0
w2 = 0
w3 = 0
L1 = 0.0
L2 = 0.0
L3 = 0.0
w = _length / 3
if _length > 2
w2 := math.round(w)
w1 := math.round((_length - w2) / 2)
w3 := int((_length - w2) / 2)
L1 := ta.wma(_data, w1)
L2 := ta.wma(L1, w2)
L3 := ta.wma(L2, w3)
L3
else
L3 := _data
L3
L3
//====================================
LL = f_LazyLine(price, alpha)
c_up = color.new(#33ff00, 0)
c_dn = color.new(#ff1111, 0)
uptrend = LL > LL
plot(LL, 'SS_WMA Line', color=uptrend ? c_up : c_dn, linewidth=3,force_overlay=true)
plot(ta.wma(price, alpha), 'WMA', color=color.new(color.purple, 0), display=display.none,force_overlay=true)
// ========================================================================================================================
// v2: add optional up/dn arrow signal on change of direction (swing)
ShowSig = input(title='Up/Dn Swing Signal?', defval=false)
SigMulti = input.float(title='Signal Locator %', defval=1.0, step=0.2, minval=0, maxval=20)
SignalOn = ShowSig and barstate.isconfirmed // ensure the signal plots *only* after "the bar closes" :) -- insert jokes :)
SwingDn = uptrend and not uptrend
SwingUp = uptrend and not uptrend
d = SigMulti / 100 * LL //we'll use this to tweak a good location for the signal (that is not tied to price-specific parameters)
plotshape(SignalOn and SwingDn ? LL + d : na, title='Swing Down', style=shape.triangledown, location=location.absolute, size=size.small, color=c_dn,force_overlay=true)
plotshape(SignalOn and SwingUp ? LL - d : na, title='Swing Up', style=shape.triangleup, location=location.absolute, size=size.small, color=c_up,force_overlay=true)
// ========================================================================================================================
// v3: enable alerts
// need to use alertcondition() to support variable resolution
alertcondition(SwingUp, 'Swing Up', 'Swing Up Detected!') // explicit swing up
alertcondition(SwingDn, 'Swing Down', 'Swing Down Detected!') // explicit swing down
alertcondition(SwingUp or SwingDn, 'Swing', 'Up/Down Swing Detected!') // either swings
Composite Oscillation Indicator Based on MACD and OthersThis indicator combines various technical analysis tools to create a composite oscillator that aims to capture multiple aspects of market behavior. Here's a breakdown of its components:
* Individual RSIs (xxoo1-xxoo15): The code calculates the RSI (Relative Strength Index) of numerous indicators, including volume-based indicators (NVI, PVI, OBV, etc.), price-based indicators (CCI, CMO, etc.), and moving averages (WMA, ALMA, etc.). It also includes the RSI of the MACD histogram (xxoo14).
* Composite RSI (xxoojht): The individual RSIs are then averaged to create a composite RSI, aiming to provide a more comprehensive view of market momentum and potential turning points.
* MACD Line RSI (xxoo14): The RSI of the MACD histogram incorporates the momentum aspect of the MACD indicator into the composite measure.
* Double EMA (co, coo): The code employs two Exponential Moving Averages (EMAs) of the composite RSI, with different lengths (9 and 18 periods).
* Difference (jo): The difference between the two EMAs (co and coo) is calculated, aiming to capture the rate of change in the composite RSI.
* Smoothed Difference (xxp): The difference (jo) is further smoothed using another EMA (9 periods) to reduce noise and enhance the signal.
* RSI of Smoothed Difference (cco): Finally, the RSI is applied to the smoothed difference (xxp) to create the core output of the indicator.
Market Applications and Trading Strategies:
* Overbought/Oversold: The indicator's central line (plotted at 50) acts as a reference for overbought/oversold conditions. Values above 50 suggest potential overbought zones, while values below 50 indicate oversold zones.
* Crossovers and Divergences: Crossovers of the cco line above or below its previous bar's value can signal potential trend changes. Divergences between the cco line and price action can also provide insights into potential trend reversals.
* Emoji Markers: The code adds emoji markers ("" for bullish and "" for bearish) based on the crossover direction of the cco line. These can provide a quick visual indication of potential trend shifts.
* Colored Fill: The area between the composite RSI line (xxoojht) and the central line (50) is filled with color to visually represent the prevailing market sentiment (green for above 50, red for below 50).
Trading Strategies (Examples):
* Long Entry: Consider a long entry (buying) signal when the cco line crosses above its previous bar's value and the composite RSI (xxoojht) is below 50, suggesting a potential reversal from oversold conditions.
* Short Entry: Conversely, consider a short entry (selling) signal when the cco line crosses below its previous bar's value and the composite RSI (xxoojht) is above 50, suggesting a potential reversal from overbought conditions.
* Confirmation: Always combine the indicator's signals with other technical analysis tools and price action confirmation for better trade validation.
Additional Notes:
* The indicator offers a complex combination of multiple indicators. Consider testing and optimizing the parameters (EMAs, RSI periods) to suit your trading style and market conditions.
* Backtesting with historical data can help assess the indicator's effectiveness and identify potential strengths and weaknesses in different market environments.
* Remember that no single indicator is perfect, and the cco indicator should be used in conjunction with other forms of analysis to make informed trading decisions.
By understanding the logic behind this composite oscillator and its potential applications, you can incorporate it into your trading strategy to potentially identify trends, gauge market sentiment, and generate trading signals.
RSI Divergence Indicator + 5EMABest Indicator for Price Action Traders.
RSI acting as Momentum Oscillator, 5EMA (8, 21, 55, 100, 200)
RSI Wave Function Ultimate OscillatorEnglish Explanation of the "RSI Wave Function Ultimate Oscillator" Pine Script Code
Understanding the Code
Purpose:
This Pine Script code creates a custom indicator that combines the Relative Strength Index (RSI) with a wave function to potentially provide more nuanced insights into market dynamics.
Key Components:
* Wave Function: This is a custom calculation that introduces a sinusoidal wave component to the price data. The frequency parameter controls the speed of the oscillation, and the decay factor determines how quickly the influence of past prices diminishes.
* Smoothed Signal: The wave function is applied to the closing price to create a smoothed signal, which is essentially a price series modulated by a sine wave.
* RSI: The traditional RSI is then calculated on this smoothed signal, providing a measure of the speed and change of price movements relative to recent price changes.
Calculation Steps:
* Wave Function Calculation:
* A sinusoidal wave is generated based on the bar index and the frequency parameter.
* The wave is combined with the closing price using a weighted average, where the decay factor determines the weight given to previous values.
* RSI Calculation:
* The RSI is calculated on the smoothed signal using a standard RSI formula.
* Plotting:
* The RSI values are plotted on a chart, along with horizontal lines at 70 and 30 to indicate overbought and oversold conditions.
* The area between the RSI line and the overbought/oversold lines is filled with color to visually represent the market condition.
Interpretation and Usage
* Wave Function: The wave function introduces cyclical patterns into the price data, which can help identify potential turning points or momentum shifts.
* RSI: The RSI provides a measure of the speed and change of price movements relative to recent price changes. When applied to the smoothed signal, it can help identify overbought and oversold conditions, as well as potential divergences between price and momentum.
* Combined Indicator: The combination of the wave function and RSI aims to provide a more sensitive and potentially earlier indication of market reversals.
* Signals:
* Crossovers: Crossovers of the RSI line above or below the overbought/oversold lines can be used to generate buy or sell signals.
* Divergences: Divergences between the price and the RSI can indicate a weakening trend.
* Oscillations: The amplitude and frequency of the oscillations in the RSI can provide insights into the strength and duration of market trends.
How it Reflects Market Volatility
* Amplified Volatility: The wave function can amplify the volatility of the price data, making it easier to identify potential turning points.
* Smoothing: The decay factor helps to smooth out short-term fluctuations, allowing the indicator to focus on longer-term trends.
* Sensitivity: The combination of the wave function and RSI can make the indicator more sensitive to changes in market momentum.
In essence, this custom indicator attempts to enhance traditional RSI analysis by incorporating a cyclical component that can potentially provide earlier signals of market reversals.
Note: The effectiveness of this indicator will depend on various factors, including the specific market, time frame, and the chosen values for the frequency and decay parameters. It is recommended to conduct thorough backtesting and optimize the parameters to suit your specific trading strategy.
Enhanced Chaikin Money FlowEnhanced Chaikin Money Flow (CMF) with Normalized Distribution
The Enhanced Chaikin Money Flow (CMF) is a sophisticated version of Marc Chaikin's classic volume-weighted indicator that measures buying and selling pressure. This version incorporates statistical normalization and advanced smoothing techniques to provide more reliable signals.
Key Features
Normalized distribution (z-score) for better historical comparison
Multiple smoothing options (SMA, EMA, WMA, RMA) for noise reduction
Standard deviation bands (1σ and 2σ) to identify extreme readings
Adjustable parameters for customization
Alert system for extreme readings
Interpretation
Values represent standard deviations from the mean
Above 0: Indicates net buying pressure
Below 0: Indicates net selling pressure
Outside ±2σ bands: Suggests extreme market conditions
Crossovers of standard deviation bands may signal potential reversals
Technical Details
The indicator combines volume with price location within a bar to determine buying/selling pressure, then normalizes these values using a rolling z-score calculation. This normalization allows for better historical comparison and more reliable overbought/oversold signals.
Best used in conjunction with price action and other indicators for confirmation of potential market turns or trend strength.
OTI-Options Trading IndicatorThis Pine Script strategy, "Enhanced Multiple Indicators Strategy (EMIS)," utilizes multiple technical indicators to generate trade signals. The strategy combines signals from moving averages, RSI, MACD, Bollinger Bands, Stochastic Oscillator, and ATR to evaluate market conditions and make informed trading decisions. This approach aims to capture strong buy and sell signals by aggregating the insights of these indicators into a scoring system, which helps filter out weaker signals and identify high-probability trades.
Indicators Used:
Simple Moving Average (SMA):
Measures the average closing price over a specified period (MA Length) to assess trend direction.
Relative Strength Index (RSI):
An oscillator that identifies overbought and oversold conditions based on RSI Length.
Overbought level is set at 70, and oversold level at 30.
Moving Average Convergence Divergence (MACD):
MACD line and Signal line are used for crossover signals, indicating potential momentum shifts.
Configured with MACD Fast Length, MACD Slow Length, and MACD Signal Length.
Bollinger Bands (BB):
This indicator uses a moving average and standard deviation to set upper and lower bands.
Upper and lower bands help indicate volatility and potential reversal zones.
Stochastic Oscillator:
Measures the position of the close relative to the high-low range over a specified period.
Uses a Stoch Length to determine trend momentum and reversal points.
Average True Range (ATR):
Measures volatility over a specified period to indicate potential breakouts and trend strength.
ATR Length determines the range for the current market.
Score Calculation:
Each indicator contributes a score based on its current signal:
Moving Average (MA): If the price is above the MA, it adds +5; otherwise, -5.
RSI: +10 if oversold, -10 if overbought, and 0 if neutral.
MACD: +5 for a bullish crossover, -5 for a bearish crossover.
Bollinger Bands: +5 if below the lower band, -5 if above the upper band, and 0 if within bands.
Stochastic: +5 if %K > %D (bullish), -5 if %K < %D (bearish).
ATR: Adjusted to detect increased volatility (e.g., recent close above previous close plus ATR).
The final score is a combination of these scores:
If the score is between 5 and 10, a Buy order is triggered.
If the score is between -5 and -10, the position is closed.
Usage Notes:
Adjust indicator lengths and levels to fit specific markets.
Back test this strategy on different timeframes to optimize results.
This script can be a foundation for more complex trading systems by tweaking scoring methods and indicator parameters.
Please Communicate Your Trading Results And Back Testing Score On-
manjunath0honmore@gmail.com
Tele-@tbmlh
Inversion Fair Value Gap Oscillator | Flux Charts💎 GENERAL OVERVIEW
Introducing the new Inversion Fair Value Gap Oscillator (IFVG Oscillator) indicator! This unique indicator identifies and tracks Inversion Fair Value Gaps (IFVGs) in price action, presenting them in an oscillator format to reveal market momentum based on IFVG strength. It highlights bullish and bearish IFVGs while enabling traders to adjust detection sensitivity and apply volume and ATR-based filters for more precise setups. For more information about the process, check the "📌 HOW DOES IT WORK" section.
Features of the new IFVG Oscillator:
Fully Customizable FVG & IFVG Detection
An Oscillator Approach To IFVGs
Divergence Markers For Potential Reversals
Alerts For Divergence Labels
Customizable Styling
📌 HOW DOES IT WORK?
Fair Value Gaps are price gaps within bars that indicate inefficiencies, often filled as the market retraces. An Inversion Fair Value Gap is created in the opposite direction once a FVG gets invalidated. The IFVG Oscillator scans historical bars to identify these gaps, then filters them based on ATR or volume. Each IFVG is marked as bullish or bearish according to the opposite direction of the original FVG that got invalidated.
An oscillator is calculated using recent IFVGs with this formula :
1. The Oscillator starts as 0.
2. When a new IFVG Appears, it contributes (IFVG Width / ATR) to the oscillator of the corresponding type.
3. Each confirmed bar, the oscillator is recalculated as OSC = OSC * (1 - Decay Coefficient)
The oscillator aggregates and decays past IFVGs, allowing recent IFVG activity to dominate the signal. This approach emphasizes current market momentum, with oscillations moving bullish or bearish based on IFVG intensity. Divergences are marked where IFVG oscillations suggest potential reversals. Bullish Divergence conditions are as follows :
1. The current candlestick low must be the lowest of last 25 bars.
2. Net Oscillator (Shown in gray line by default) must be > 0.
3. The current Bullish IFVG Oscillator value should be no more than 0.1 below the highest value from the last 25 bars.
Traders can use divergence signals to get an idea of potential reversals, and use the Net IFVG Oscillator as a trend following marker.
🚩 UNIQUENESS
The Inversion Fair Value Gap Oscillator stands out by converting IFVG activity into an oscillator format, providing a momentum-based visualization of IFVGs that reveals market sentiment dynamically. Unlike traditional indicators that statically mark IFVG zones, the oscillator decays older IFVGs over time, showing only the most recent, relevant activity. This approach allows for real-time insight into market conditions and potential reversals based on oscillating IFVG strength, making it both intuitive and powerful for momentum trading.
Another unique feature is the combination of customizable ATR and volume filters, letting traders adapt the indicator to match their strategy and market type. You can also set-up alerts for bullish & bearish divergences.
⚙️ SETTINGS
1. General Configuration
Decay Coefficient -> The decay coefficient for oscillators. Increasing this setting will result in oscillators giving the weight to recent IFVGs, while decreasing it will distribute the weight equally to the past and recent IFVGs.
2. Fair Value Gaps
Zone Invalidation -> Select between Wick & Close price for FVG Zone Invalidation.
Zone Filtering -> With "Average Range" selected, algorithm will find FVG zones in comparison with average range of last bars in the chart. With the "Volume Threshold" option, you may select a Volume Threshold % to spot FVGs with a larger total volume than average.
FVG Detection -> With the "Same Type" option, all 3 bars that formed the FVG should be the same type. (Bullish / Bearish). If the "All" option is selected, bar types may vary between Bullish / Bearish.
Detection Sensitivity -> You may select between Low, Normal or High FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivies resulting in spotting bigger FVGs, and higher sensitivies resulting in spotting all sizes of FVGs.
3. Inversion Fair Value Gaps
Zone Invalidation -> Select between Wick & Close price for IFVG Zone Invalidation.
4. Style
Divergence Labels On -> You can switch divergence labels to show up on the chart or the oscillator plot.
Stablecoin Dominance Oscillator
The SDO is a normalized oscillator that tracks the relationship between stablecoin market capitalization (USDT + USDC + DAI) and total crypto market capitalization. It helps identify periods where stablecoins represent an unusually high or low portion of the total crypto market value.
Key components:
Main Signal (Blue Line):
Shows the normalized deviation of stablecoin dominance from its trend. Higher values indicate higher stablecoin dominance relative to history (which often corresponds with market bottoms/fear), while lower values indicate lower stablecoin dominance (often seen during strong bull markets/greed).
Dynamic Bands (Gray):
These adapt to market volatility, expanding during volatile periods and contracting during stable periods
Generally suggest temporary boundaries for the oscillator
Volatility Reference (Purple Line):
Shows the ratio between short-term and long-term volatility
Higher values indicate more volatile market conditions
Helps contextualize the reliability of the current signal
The indicator uses a 500-period lookback for baseline calculations and a 15-period Hull Moving Average for smoothing, making it responsive while filtering out noise. The final signal is normalized and volatility-adjusted to maintain consistent readings across different market regimes.
W.ARITAS™ Quantum RSIW.ARITAS™ Quantum RSI
Overview
The W.ARITAS™ Quantum RSI is an advanced take on the traditional Relative Strength Index (RSI) tailored for today’s fast-moving markets. This innovative indicator integrates quantum-inspired methodologies and adaptive volatility adjustments, making it a powerful tool for traders who seek to better capture both trend shifts and market reversals. The indicator is suitable for all asset classes and is optimized for dynamic, real-time trading environments.
Features
Volatility-Adaptive RSI: Dynamically adjusts the RSI length based on real-time market volatility, providing a more responsive and smooth RSI.
Quantum Phase Modulation: Adds an additional layer of signal refinement by incorporating wave-like behaviors, helping to capture cyclic market patterns.
Bollinger Bands Integration: Applies enhanced Bollinger Bands around the RSI, with dynamic boundaries that expand or contract based on volatility.
Probability-Based Ripple Effects: Employs gravity and ripple effects to modulate RSI movements, resulting in better identification of critical points.
Gradient Visuals for Clarity: Color gradients represent strength or weakness within RSI ranges, making it easy to spot potential overbought and oversold conditions.
Use Case
This indicator is perfect for traders looking to refine their entries and exits by identifying nuanced shifts in momentum. The enhanced smoothing and volatility sensitivity make it an excellent choice for intraday and swing trading strategies.
License
This indicator is provided under a public license for free use, with no warranty or liability by the developer. Users are advised to trade at their own risk and retain the copyright notice per the license agreement.
Volume Flow ConfluenceVolume Flow Confluence (CMF-KVO Integration)
Core Function:
The Volume Flow Confluence Indicator combines two volume-analysis methods: Chaikin Money Flow (CMF) and the Klinger Volume Oscillator (KVO). It displays a histogram only when both indicators align in their respective signals.
Signal States:
• Green Bars: CMF is positive (> 0) and KVO is above its signal line
• Red Bars: CMF is negative (< 0) and KVO is below its signal line
• No Bars: When indicators disagree
Technical Components:
Chaikin Money Flow (CMF):
Measures the relationship between volume and price location within the trading range:
• Calculates money flow volume using close position relative to high/low range
• Aggregates and normalizes over specified period
• Default period: 20
Klinger Volume Oscillator (KVO):
Evaluates volume in relation to price movement:
• Tracks trend changes using HLC3
• Applies volume force calculation
• Uses two EMAs (34/55) with a signal line (13)
Practical Applications:
1. Signal Identification
- New colored bars after blank periods show new agreement between indicators
- Color intensity differentiates new signals from continuations
- Blank spaces indicate lack of agreement
2. Trend Analysis
- Consecutive colored bars show continued indicator agreement
- Transitions between colors or to blank spaces show changing conditions
- Can be used alongside other technical analysis tools
3. Risk Considerations
- Signals are not predictive of future price movement
- Should be used as one of multiple analysis tools
- Effectiveness may vary across different markets and timeframes
Technical Specifications:
Core Algorithm
CMF = Σ(((C - L) - (H - C))/(H - L) × V)n / Σ(V)n
KVO = EMA(VF, 34) - EMA(VF, 55)
Where VF = V × |2(dm/cm) - 1| × sign(Δhlc3)
Signal Line = EMA(KVO, 13)
Signal Logic
Long: CMF > 0 AND KVO > Signal
Short: CMF < 0 AND KVO < Signal
Neutral: All other conditions
Parameters
CMF Length = 20
KVO Fast = 34
KVO Slow = 55
KVO Signal = 13
Volume = Regular/Actual Volume
Data Requirements
Price Data: OHLC
Volume Data: Required
Minimum History: 55 bars
Recommended Timeframe: ≥ 1H
Credits:
• Marc Chaikin - Original CMF development
• Stephen Klinger - Original KVO development
• Alex Orekhov (everget) - CMF script implementation
• nj_guy72 - KVO script implementation
Combined RSI and MACDRSI and MACD indicators.
The RSI is plotted in blue, with red and green lines indicating overbought and oversold levels, respectively. The MACD is displayed below the RSI, with the MACD line in blue, the signal line in orange, and the histogram in green (positive) or red (negative).
You can adjust the input parameters (like RSI length, MACD fast/slow lengths, etc.) by clicking on the settings icon next to the indicator name on your chart after adding it.
This combined indicator can help you analyze both momentum (RSI) and trend (MACD) in a single view, potentially providing more comprehensive trading signals.
Rikki's DikFat Bull/Bear OscillatorRikki's DikFat Bull/Bear Oscillator - Trend Identification & Candle Colorization
Rikki's DikFat Bull/Bear Oscillator is a powerful visual tool designed to help traders easily identify bullish and bearish trends on the chart. By analyzing market momentum using specific elements of the Commodity Channel Index (CCI) , this indicator highlights key trend reversals and continuations with color-coded candles, allowing you to quickly spot areas of opportunity.
How It Works
At the heart of this indicator is the Commodity Channel Index (CCI) , a popular momentum-based oscillator. The CCI measures the deviation of price from its average over a specified period (default is 30 bars). This helps identify whether the market is overbought, oversold, or trending.
Here's how the indicator interprets the CCI:
Bullish Trend (Green Candles) : When the market is showing signs of continued upward momentum, the candles turn green. This happens when the current CCI is less than 200 and moves from a value greater than 100 with velocity, signaling that the upward trend is still strong, and the market is likely to continue rising. Green candles indicate bullish price action , suggesting it might be a good time to look for buying opportunities or hold your current long position.
Bearish Trend (Red Candles) : Conversely, when the CCI shows signs of downward momentum (both the current and previous CCI readings are negative), the candles turn red. This signals that the market is likely in a bearish trend , with downward price action expected to continue. Red candles are a visual cue to consider selling opportunities or to stay out of the market if you're risk-averse.
How to Use It
Bullish Market : When you see green candles, the market is in a bullish phase. This suggests that prices are moving upward, and you may want to focus on buying signals . Green candles are your visual confirmation of a strong upward trend.
Bearish Market : When red candles appear, the market is in a bearish phase. This indicates that prices are moving downward, and you may want to consider selling or staying out of long positions. Red candles signal that downward pressure is likely to continue.
Why It Works
This indicator uses momentum to identify shifts in trend. By tracking the movement of the CCI , the oscillator detects whether the market is trending strongly or simply moving in a sideways range. The color changes in the candles help you quickly visualize where the market momentum is headed, giving you an edge in determining potential buy or sell opportunities.
Clear Visual Signals : The green and red candles make it easy to follow market trends, even for beginners.
Identifying Trend Continuations : The oscillator helps spot ongoing trends, whether bullish or bearish, so you can align your trades with the prevailing market direction.
Quick Decision-Making : By using color-coded candles, you can instantly know whether to consider entering a long (buy) or short (sell) position without needing to dive into complex indicators.
NOTES This indicator draws and colors it's own candles bodies, wicks and borders. In order to have the completed visualization of red and green trends, you may need to adjust your TradingView chart settings to turn off or otherwise modify chart candles.
Conclusion
With Rikki's DikFat Bull/Bear Oscillator , you have an intuitive and easy-to-read tool that helps identify bullish and bearish trends based on proven momentum indicators. Whether you’re a novice or an experienced trader, this oscillator allows you to stay in tune with the market’s direction and make more informed, confident trading decisions.
Make sure to use this indicator in conjunction with your own trading strategy and risk management plan to maximize your trading potential and limit your risks.
Cross-Asset Correlation Trend IndicatorCross-Asset Correlation Trend Indicator
This indicator uses correlations between the charted asset and ten others to calculate an overall trend prediction. Each ticker is configurable, and by analyzing the trend of each asset, the indicator predicts an average trend for the main asset on the chart. The strength of each asset's trend is weighted by its correlation to the charted asset, resulting in a single average trend signal. This can be a rather robust and effective signal, though it is often slow.
Functionality Overview :
The Cross-Asset Correlation Trend Indicator calculates the average trend of a charted asset based on the correlation and trend of up to ten other assets. Each asset is assigned a trend signal using a simple EMA crossover method (two customizable EMAs). If the shorter EMA crosses above the longer one, the asset trend is marked as positive; if it crosses below, the trend is negative. Each trend is then weighted by the correlation coefficient between that asset’s closing price and the charted asset’s closing price. The final output is an average weighted trend signal, which combines each trend with its respective correlation weight.
Input Parameters :
EMA 1 Length : Sets the period of the shorter EMA used to determine trends.
EMA 2 Length : Sets the period of the longer EMA used to determine trends.
Correlation Length : Defines the lookback period used for calculating the correlation between the charted asset and each of the other selected assets.
Asset Tickers : Each of the ten tickers is configurable, allowing you to set specific assets to analyze correlations with the charted asset.
Show Trend Table : Toggle to show or hide a table with each asset’s weighted trend. The table displays green, red, or white text for each weighted trend, indicating positive, negative, or neutral trends, respectively.
Table Position : Choose the position of the trend table on the chart.
Recommended Use :
As always, it’s essential to backtest the indicator thoroughly on your chosen asset and timeframe to ensure it aligns with your strategy. Feel free to modify the input parameters as needed—while the defaults work well for me, they may need adjustment to better suit your assets, timeframes, and trading style.
As always, I wish you the best of luck and immense fortune as you develop your systems. May this indicator help you make well-informed, profitable decisions!
Custom AO with Open Difference**Custom AO with Open Difference Indicator**
This indicator, *Custom AO with Open Difference*, is designed to help confirm trend direction based on the relationship between the daily open price and recent 4-hour open prices. It calculates the Awesome Oscillator (AO) based on the difference between the daily open price and the average of the previous six 4-hour open prices. This approach provides insight into whether the current open price is significantly diverging from recent short-term opens, which can indicate a trend shift or continuation.
### Technical Analysis and Features
1. **Trend Confirmation**: By comparing the daily open with the mean of six previous 4-hour open prices, this indicator helps identify trends. When the current daily open is below the average of recent opens, the AO value will plot as green, signaling potential upward momentum. Conversely, if the daily open is above the recent average, the histogram will plot red, suggesting possible downward momentum.
2. **Non-Repainting**: Since it relies on completed 4-hour and daily open prices, this indicator does not repaint, ensuring that all values remain fixed after the close of each period. This non-repainting feature makes it suitable for backtesting and reliable for trend confirmation without fear of historical changes.
3. **AO Mean Calculation**: The indicator calculates the average of six previous 4-hour open prices, providing a smoothed value to reduce short-term noise. This helps in identifying meaningful deviations, making the AO values a more stable basis for trend determination than using just the latest 4-hour or daily open.
4. **Histogram for Visual Clarity**: The indicator is displayed as a histogram, making it easy to identify trend changes visually. If the AO bar turns green, it’s a signal that the 4-hour average is below the daily open, suggesting an uptrend or bullish momentum. Red bars indicate that the daily open is above the recent 4-hour averages, potentially signaling a downtrend or bearish momentum.
### Practical Application
The *Custom AO with Open Difference* is a versatile tool for confirming the open price trend without needing complex oscillators or lagging indicators. Traders can use this tool to gauge the market sentiment by observing open price variations and use it as a foundation for decision-making in both short-term and daily timeframes. Its non-repainting nature adds reliability for traders using this indicator as part of a broader trading strategy.
Alex JMA RSX Clone with Price & Divergence [LazyBear]Indicator Description:
RSX Indicator (RSXC_LB): This script is based on a clone of the JMA RSX (Relative Strength Index clone by LazyBear). It is a momentum-based indicator that helps identify overbought and oversold levels, as well as potential trend reversals.
Functional Changes:
Convergence is now marked with a white line on the RSX plot.
Bullish Divergence is marked with a green line, indicating potential upward movement.
Bearish Divergence is marked with a red line, indicating potential downward movement.
The default state is marked with a blue line.
Strong Divergences (both bullish and bearish) are highlighted with triangle markers on the chart.
Updated Features:
The script now visualizes convergence and divergence more clearly using distinct colors:
White: Convergence (indicates potential trend strength).
Green: Bullish divergence (possible price increase).
Red: Bearish divergence (possible price decrease).
Blue: Neutral/default state.
Triangle markers indicate strong divergences, making it easier for the user to spot critical moments.
This visual enhancement aims to provide clearer and more intuitive signals for traders using the RSX indicator, helping them identify trend changes and reversals more effectively.
Probabilistic Trend Oscillator** MACD PLOTS ARE NOT PART OF THE INDICATOR IT IS FOR COMPARSION**
The "Probabilistic Trend Oscillator" is a technical indicator designed to measure trend strength and direction by analyzing price behavior relative to a moving average over both long-term and short-term periods. This indicator incorporates several innovative features, including probabilistic trend detection, enhanced strength scaling, and percentile-based thresholds for identifying potential trend reversals.
Key Components
Inputs:
The indicator allows users to customize several key parameters:
EMA Length defines the period for the Exponential Moving Average (EMA), which serves as a baseline to classify trend direction.
Long and Short Term Lengths provide customizable periods for analyzing trend strength over different timeframes.
Signal Line Length is used to smooth the trend strength data, helping users spot more reliable trend signals.
Extreme Value Lookback Length controls how far back to look when calculating percentile thresholds, which are used to identify overbought and oversold zones.
Trend Classification:
The indicator categorizes price behavior into four conditions:
Green: Price closes above the open and is also above the EMA, suggesting a strong upward trend.
Red: Price closes below the open but is above the EMA, indicating weaker upward pressure.
Green1: Price closes above the open but remains below the EMA, representing weak upward movement.
Red1: Price closes below the open and the EMA, signaling a strong downward trend.
Trend Strength Calculation:
The script calculates long-term and short-term trend values based on the frequency of these trend conditions, normalizing them to create probabilistic scores.
It then measures the difference between the short-term and long-term trend values, creating a metric that reflects the intensity of the current trend. This comparison provides insight into whether the trend is strengthening or weakening.
Enhanced Trend Strength:
To emphasize significant movements, the trend strength metric is scaled by the average absolute price change (distance between close and open prices). This creates an "enhanced trend strength" value that highlights periods with high momentum.
Users can toggle between two variations of trend strength:
Absolute Trend Strength is a straightforward measure of the trend's force.
Relative Trend Strength accounts for deviations between short term and long term values, focusing on how current price action differs from a long term behavior.
Percentile-Based Thresholds:
The indicator calculates percentile thresholds over the specified lookback period to mark extreme values:
The 97th and 3rd percentiles act as overbought and oversold zones, respectively, indicating potential reversal points.
Intermediate levels (75th and 25th percentiles) are added to give additional context for overbought or oversold conditions, creating a probabilistic range.
Visualization:
The selected trend strength value (either absolute or relative) is plotted in orange.
Overbought (green) and oversold (red) percentiles are marked with dashed lines and filled in blue, highlighting potential reversal zones.
The signal line—a smoothed EMA of the trend strength—is plotted in white, helping users to confirm trend changes.
A gray horizontal line at zero acts as a baseline, further clarifying the strength of upward vs. downward trends.
Summary
This indicator provides a flexible, probabilistic approach to trend detection, allowing users to monitor trend strength with customizable thresholds and lookback periods. By combining percentile-based thresholds with enhanced trend strength scaling, it offers insights into market reversals and momentum shifts, making it a valuable tool for both trend-following and counter-trend trading strategies.
Depth Trend Indicator - RSIDepth Trend Indicator - RSI
This indicator is designed to identify trends and gauge pullback strength by combining the power of RSI and moving averages with a depth-weighted calculation. The script was created by me, Nathan Farmer and is based on a multi-step process to determine trend strength and direction, adjusted by a "depth" factor for more accurate signal analysis.
How It Works
Trend Definition Using RSI: The RSI Moving Average ( rsiMa ) is calculated to assess the current trend, using customizable parameters for the RSI Period and MA Period .
Trends are defined as follows:
Uptrend : RSI MA > Critical RSI Value
Downtrend : RSI MA < Critical RSI Value
Pullback Depth Calculation: To measure pullback strength relative to the current trend, the indicator calculates a Depth Percentage . This is defined as the portion of the gap between the moving average and the price covered by a pullback.
Depth-Weighted RSI Calculation: The Depth Percentage is then applied as a weighting factor on the RSI Moving Average , giving us a Weighted RSI line that adjusts to the depth of pullbacks. This line is rather noisy, and as such we take a moving average to smooth out some of the noise.
Key Parameters
RSI Period : The period for RSI calculation.
MA Period : The moving average period applied to RSI.
Price MA Period : Determines the SMA period for price, used to calculate pullback depth.
Smoothing Length : Length of smoothing applied to the weighted RSI, creating a more stable signal.
RSI Critical Value : The critical value (level) used in determining whether we're in an uptrend or a downtrend.
Depth Critical Value : The critical value (level) used in determining whether or not the depth weighted value confirms the state of a trend.
Notes:
As always, backtest this indicator and modify the parameters as needed for your specific asset, over your specific timeframe. I chose these defaults as they worked well on the assets I look at, but it is likely you tend to look at a different group of assets over a different timeframe than what I do.
Large pullbacks can create large downward spikes in the weighted line. This isn't graphically pleasing, but I have tested it with various methods of normalization and smoothing and found the simple smoothing used in the indicator to be best despite this.
Average Yield InversionDescription:
This script calculates and visualizes the average yield curve spread to identify whether the yield curve is inverted or normal. It takes into account short-term yields (1M, 3M, 6M, 2Y) and long-term yields (10Y, 30Y).
Positive values: The curve is normal, indicating long-term yields are higher than short-term yields. This often reflects economic growth expectations.
Negative values: The curve is inverted, meaning short-term yields are higher than long-term yields, a potential signal of economic slowdown or recession.
Key Features:
Calculates the average spread between long-term and short-term yields.
Displays a clear graph with a zero-line reference for quick interpretation.
Useful for tracking macroeconomic trends and potential market turning points.
This tool is perfect for investors, analysts, and economists who need to monitor yield curve dynamics at a glance.
On Balance Volume Oscillator of Trading Volume TrendOn Balance Volume Oscillator of Trading Volume Trend
Introduction
This indicator, the "On Balance Volume Oscillator of Trading Volume Trend," is a technical analysis tool designed to provide insights into market momentum and potential trend reversals by combining the On Balance Volume (OBV) and Relative Strength Index (RSI) indicators.
Calculation and Methodology
* OBV Calculation: The indicator first calculates the On Balance Volume, which is a cumulative total of the volume of up days minus the volume of down days. This provides a running tally of buying and selling pressure.
* RSI of OBV: The RSI is then applied to the OBV values to smooth the data and identify overbought or oversold conditions.
* Exponential Moving Averages (EMAs): Two EMAs are calculated on the RSI of OBV. A shorter-term EMA (9-period in this case) and a longer-term EMA (100-period) are used to generate signals.
Interpretation and Usage
* EMA Crossovers: When the shorter-term EMA crosses above the longer-term EMA, it suggests increasing bullish momentum. Conversely, a downward crossover indicates weakening bullish momentum or increasing bearish pressure.
* RSI Divergences: Divergences between the price and the indicator can signal potential trend reversals. For example, if the price is making new highs but the indicator is failing to do so, it could be a bearish divergence.
* Overbought/Oversold Conditions: When the RSI of OBV is above 70, it suggests the market may be overbought and a potential correction could be imminent. Conversely, when it is below 30, it suggests the market may be oversold.
Visual Representation
The indicator is plotted on a chart with multiple lines and filled areas:
* Two EMAs: The shorter-term EMA and longer-term EMA are plotted to show the trend of the OBV.
* Filled Areas: The area between the two EMAs is filled with a color to indicate the strength of the trend. The color changes based on whether the shorter-term EMA is above or below the longer-term EMA.
* RSI Bands: Horizontal lines at 30 and 70 mark the overbought and oversold levels for the RSI of OBV.
Summary
The On Balance Volume Oscillator of Trading Volume Trend provides a comprehensive view of market momentum and can be a valuable tool for traders. By combining the OBV and RSI, this indicator helps identify potential trend reversals, overbought and oversold conditions, and the strength of the current trend.
Note: This indicator should be used in conjunction with other technical analysis tools and fundamental analysis to make informed trading decisions.
CCI Threshold StrategyThe CCI Threshold Strategy is a trading approach that utilizes the Commodity Channel Index (CCI) as a momentum indicator to identify potential buy and sell signals in financial markets. The CCI is particularly effective in detecting overbought and oversold conditions, providing traders with insights into possible price reversals. This strategy is designed for use in various financial instruments, including stocks, commodities, and forex, and aims to capitalize on price movements driven by market sentiment.
Commodity Channel Index (CCI)
The CCI was developed by Donald Lambert in the 1980s and is primarily used to measure the deviation of a security's price from its average price over a specified period.
The formula for CCI is as follows:
CCI=(TypicalPrice−SMA)×0.015MeanDeviation
CCI=MeanDeviation(TypicalPrice−SMA)×0.015
where:
Typical Price = (High + Low + Close) / 3
SMA = Simple Moving Average of the Typical Price
Mean Deviation = Average of the absolute deviations from the SMA
The CCI oscillates around a zero line, with values above +100 indicating overbought conditions and values below -100 indicating oversold conditions (Lambert, 1980).
Strategy Logic
The CCI Threshold Strategy operates on the following principles:
Input Parameters:
Lookback Period: The number of periods used to calculate the CCI. A common choice is 9, as it balances responsiveness and noise.
Buy Threshold: Typically set at -90, indicating a potential oversold condition where a price reversal is likely.
Stop Loss and Take Profit: The strategy allows for risk management through customizable stop loss and take profit points.
Entry Conditions:
A long position is initiated when the CCI falls below the buy threshold of -90, indicating potential oversold levels. This condition suggests that the asset may be undervalued and due for a price increase.
Exit Conditions:
The long position is closed when the closing price exceeds the highest price of the previous day, indicating a bullish reversal. Additionally, if the stop loss or take profit thresholds are hit, the position will be exited accordingly.
Risk Management:
The strategy incorporates optional stop loss and take profit mechanisms, which can be toggled on or off based on trader preference. This allows for flexibility in risk management, aligning with individual risk tolerances and trading styles.
Benefits of the CCI Threshold Strategy
Flexibility: The CCI Threshold Strategy can be applied across different asset classes, making it versatile for various market conditions.
Objective Signals: The use of quantitative thresholds for entry and exit reduces emotional bias in trading decisions (Tversky & Kahneman, 1974).
Enhanced Risk Management: By allowing traders to set stop loss and take profit levels, the strategy aids in preserving capital and managing risk effectively.
Limitations
Market Noise: The CCI can produce false signals, especially in highly volatile markets, leading to potential losses (Bollinger, 2001).
Lagging Indicator: As a lagging indicator, the CCI may not always capture rapid market movements, resulting in missed opportunities (Pring, 2002).
Conclusion
The CCI Threshold Strategy offers a systematic approach to trading based on well-established momentum principles. By focusing on overbought and oversold conditions, traders can make informed decisions while managing risk effectively. As with any trading strategy, it is crucial to backtest the approach and adapt it to individual trading styles and market conditions.
References
Bollinger, J. (2001). Bollinger on Bollinger Bands. New York: McGraw-Hill.
Lambert, D. (1980). Commodity Channel Index. Technical Analysis of Stocks & Commodities, 2, 3-5.
Pring, M. J. (2002). Technical Analysis Explained. New York: McGraw-Hill.
Tversky, A., & Kahneman, D. (1974). Judgment under uncertainty: Heuristics and biases. Science, 185(4157), 1124-1131.
RTI Thresholds Index | mad_tiger_slayerOverview of the Script
The Relative Trend Index (RTI) Threshold Index is a custom indicator for TradingView that enhances a Relative Trend Index (RTI) . The RTI is designed to reflect the market’s trend strength by comparing the current price to dynamically calculated upper and lower trend boundaries. Additionally, the indicator includes overbought and oversold thresholds, and Trend-coded signals to visually represent market conditions for easier analysis. The RTI Threshold Index is created and meant for long term investments targeted for longer swing trades over a few months to years.
How Do Investors Use the RTI Trend Index?
In the provided chart image, the indicator is displayed on a Bitcoin price chart. Here’s what each visual component represents:
INTENDED USES
The RTI Threshold Index is NOT intended for SCALPING.
With the nature of its components and calculations. This indicator will give false signals when the Timeframe is too low. The best intended use for high-quality signals are above the 12hr timeframes (Note: Coded to be used above 1 Day Timeframes)
The RTI Threshold Index is a TREND-FOLLOWING and MEAN REVERTING INDICATOR . With the explanation below of the image you can see both Trend-Following and Mean Reversion Uses.
A VISUAL REPRESENTATION INTENDED USES
Relative Trend Index Line (Green/Red): The main RTI line changes colors based on long or short conditions, providing an immediate visual cue of the trend direction. This conditional state enter long when the RTI is greater than the long threshold and will not enter short until it is less than the short threshold. (vice versa) When the RTI is less than the short threshold and will not enter long until it is greater than the long threshold.
EMA of RTI: A smoothed version of the RTI in yellow for more stable trend analysis. This EMA can be used for LONGER TERM trends. When the smoothed RTI is above 50, investors can assume that the trend will be in a trending state. Because this is slower than the RTI, you will get slower entries and slower exits.
Threshold Lines: Green and red lines for long and short thresholds, along with dashed lines for overbought and oversold levels. These lines can be calibrated to allow the RTI to enter a long trending or short trending state. The lower the value is for Long Threshold line , it will enter a long trend faster. The higher the value for Short Threshold Line , it will exit faster. We can also set Overbought and Oversold Thresholds. With the RTI entering above the Overbought Threshold line, Investors can assume that the environment is getting heated or is overbought. Same for oversold with the RTI entering below the Oversold Threshold line, Investors can assume that the environment is getting heated or is overbought.
Gradient Background: Shaded overbought and oversold areas improve readability by distinguishing these zones. This coloring of the shaded area tells us the oversold and overbought levels.
Colored Candles: Candles change color based on the RTI condition, aligning the price action visually with the trend status. The Green symbolizes a long state while red symbolizes a short state.
__________________________________________________________________________________
The indicator's primary elements include:
Input Parameters: Configurable settings for trend length, sensitivity, moving average (MA) period, thresholds, and overbought/oversold levels.
RTI Calculation: Computation of trend boundaries and the RTI value based on the price's position within these boundaries.
Visual Components: Horizontal threshold lines, plotted RTI values, color-coded candles, and gradient fills for overbought and oversold zones.
1. Input Parameters
The script includes several configurable inputs, allowing users to customize the indicator’s sensitivity and behavior according to market conditions:
Trend Length: Controls the number of data points for trend calculations. Higher values produce a smoother, less responsive trend, while lower values make the trend more sensitive to recent price changes.
Trend Sensitivity: Sets the sensitivity by defining the upper and lower percentiles for the trend boundaries. Higher sensitivity values make the RTI less reactive, while lower values increase responsiveness.
MA length: Defines the period for the Exponential Moving Average (EMA) applied to the RTI, smoothing its output.
longThreshold and shortThreshold: Set the levels for entering long and short positions. The RTI crossing above longThreshold or below shortThreshold signals a long or short condition, respectively.
Overbought and oversold thresholds: When RTI exceeds overbought or falls below oversold, it indicates overbought or oversold market conditions.
2. Relative Trend Index (RTI) Calculation
The RTI is calculated by dynamically setting upper and lower trend boundaries:
Upper Trend and Lower Trend: Calculated by adding and subtracting the standard deviation of the closing price to/from the close, providing a measure of price variation.
upper array and Lower Arrays : Arrays that hold the upper and lower trend values over the specified trend length period.
Sorting and Indexing: After sorting these arrays, the values at specific percentiles (based on trend sensitivity) are selected as UpperTrend and LowerTrend.
RTI formula: The RTI is calculated by normalizing the close price within the range of UpperTrend and LowerTrend. This yields a percentage that reflects the price's relative position within the trend range.
3. Threshold and Signal Lines
Several horizontal lines mark key threshold levels:
midline: A dashed line at 50, marking the RTI midpoint.
overbought and oversold: Dashed lines for the overbought and oversold levels as set by overbought and oversold.
long hline and short hline: Solid lines marking the longThreshold and shortThreshold levels for entering long and short trades. They are colored Green for long threshold and Red for short threshold
4. Long and Short Conditions
The script defines long and short conditions based on the RTI’s position relative to the longThreshold and shortThreshold:
isLong: Set to true when the RTI exceeds longThreshold, signaling a long condition.
isShort: Set to true when the RTI drops below shortThreshold, signaling a short condition. overboughtcandles and oversoldcandles: Boolean variables that indicate when the RTI crosses the overbought or oversold thresholds, enhancing visual feedback.
5. Color Coding
Color-coded elements help to visually indicate the RTI's current state:
rtiColor: Sets the RTI line color based on the long or short condition (green for long, red for short).
obosColor: Colors specific candles in the overbought (yellow) and oversold (purple) regions, adding clarity to these conditions.
6. Plotting and Visualization
The following components display the RTI indicator and its conditions visually:
RTI and EMA Plot: The RTI line is plotted alongside an EMA line for smooth trend observation. The RTI line uses the conditional colors to indicate market conditions.
Background Gradient Fill: Shaded areas between the overbought and oversold levels highlight these zones in the background.
Colored Candles: Candles on the price chart are color-coded based on the RTI condition (green for long, red for short), making it easy to see trend direction changes.
Overbought and Oversold Gradient Fill: Gradient fills are applied to the overbought and oversold regions, creating a visual effect when the RTI reaches extreme levels.
Conclusion
The RTI Threshold Indicator is a powerful tool for assessing trend strength and market conditions. With configurable parameters, it adapts well to various timeframes and market environments, providing investors with a reliable means to identify potential entry and exit points. With configurable parameters, RTI Threshold Indicator can identify market conditions for potential buy and sell zones.