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.
Oscillateurs
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.
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.
Bilateral Stochastic Oscillator XI took the Bilateral Stochastic Oscillator created by alexgrover and merely added more moving average filter options and reduced the standard inputs for shorter term trend analysis.
I also updated the script to version 5.
The filter options are now:
SMA
EMA
RMA
HMA
WMA
VWMA
TMA
LSMA
Cheers.
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.
Stormico Screener 40, EMA 80 (Slow Stochastic 8)This screener is a tribute to Alexandre Wolwacz, known as "Stormer," one of the most influential traders in the Brazilian financial market.
Stormer is renowned for his experience and skill in technical analysis, as well as his dedication to teaching trading strategies to traders at all levels. He is particularly known for his focus on strategies with a positive risk-reward ratio and low drawdown, something he conveys to his followers with clarity and practicality.
The screener presented here uses a setup frequently employed by Stormer to capture pullbacks in uptrends, focusing on strategic entries, short stops, and long targets. It utilizes an 8-period Slow Stochastic and an 80-period Exponential Moving Average (EMA) and is suitable for Day Trading, Swing Trading, and Position Trading on weekly charts.
Main Elements of the Setup:
80-Period Exponential Moving Average (EMA): The 80 EMA is used as a trend filter. When the price is above it, we consider an uptrend and look for buying opportunities. When the price is below it, buy trades are avoided, prioritizing trades that follow the upward trend.
Slow Stochastic Oscillator: The 8-period Slow Stochastic is used to capture entry points during pullbacks. In an uptrend, we look for moments when the oscillator reaches oversold levels (below 20), indicating a possible entry at an attractive price while remaining aligned with the main market direction.
Entry and Exit Criteria:
Buy: The entry occurs when the stochastic oscillator is in oversold levels and the price stays above an ascending 80 EMA with a bullish candle or inside bar, or when the stochastic turns upward.
Short Stop: The stop-loss is positioned below a recent support level, limiting risk and minimizing drawdown.
Long Target: Once in operation, the goal is to ride the trend with wider targets to maximize gains. The target suggested by Stormer can be set at twice the risk (2x Risk) or the previous high on the chart.
Positive Risk-Reward Ratio and Low Drawdown
With a short stop and a larger profit target, this setup is ideal for capturing entries with a favorable risk-reward ratio, minimizing drawdown and maximizing profit potential in trades that follow the trend.
This screener applies this setup across 40 assets, identifying the best opportunities according to the "Stormer" method. It displays the 8 and 80 EMAs and can be complemented by the Stormico Screener 40, Slow Stochastic (EMA 80).
The setup was also a favorite of his daughter Carol, who contributed greatly to live sessions and classes with Stormer. This screener honors both of them and Alexandre Wolwacz’s methodology, with deep respect for all he has contributed to the market and his students.
30 min Aroon Datlı StrategyUse 30 minute with 100 SMA. If it buys above 100 SMA a long trade will be entered. If it sells below 100 SMA short trade will be entered.
MTF TREND/RSIMTF TREND ANALYSIS
JUST A THEORY
USING RSI FROM xdecow as well for just an added confluence
someone wanted to use this so i decided to publish for just open source use not sure how accurate any of this is
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.
Stormico Screener 40, Slow Stochastic (EMA 80)This screener is a tribute to Alexandre Wolwacz, known as "Stormer," one of the most influential traders in the Brazilian financial market.
Stormer is renowned for his experience and skill in technical analysis, as well as his dedication to teaching trading strategies to traders at all levels. He is particularly known for his focus on strategies with a positive risk-reward ratio and low drawdown, something he conveys to his followers with clarity and practicality.
The screener presented here uses a setup frequently employed by Stormer to capture pullbacks in uptrends, focusing on strategic entries, short stops, and long targets. It utilizes an 8-period Slow Stochastic and an 80-period Exponential Moving Average (EMA) and is suitable for Day Trading, Swing Trading, and Position Trading on weekly charts.
Main Elements of the Setup:
80-Period Exponential Moving Average (EMA): The 80 EMA is used as a trend filter. When the price is above it, we consider an uptrend and look for buying opportunities. When the price is below it, buy trades are avoided, prioritizing trades that follow the upward trend.
Slow Stochastic Oscillator: The 8-period Slow Stochastic is used to capture entry points during pullbacks. In an uptrend, we look for moments when the oscillator reaches oversold levels (below 20), indicating a possible entry at an attractive price while remaining aligned with the main market direction.
Entry and Exit Criteria:
Buy: The entry occurs when the stochastic oscillator is in oversold levels and the price stays above an ascending 80 EMA with a bullish candle or inside bar, or when the stochastic turns upward.
Short Stop: The stop-loss is positioned below a recent support level, limiting risk and minimizing drawdown.
Long Target: Once in operation, the goal is to ride the trend with wider targets to maximize gains. The target suggested by Stormer can be set at twice the risk (2x Risk) or the previous high on the chart.
Positive Risk-Reward Ratio and Low Drawdown
With a short stop and a larger profit target, this setup is ideal for capturing entries with a favorable risk-reward ratio, minimizing drawdown and maximizing profit potential in trades that follow the trend.
This screener applies this setup across 40 assets, identifying the best opportunities according to the "Stormer" method. It displays the 8 and 80 EMAs and can be complemented by the Stormico Screener 40, EMA 80 (Slow Stochastic 8).
The setup was also a favorite of his daughter Carol, who contributed greatly to live sessions and classes with Stormer.
This screener honors both of them and Alexandre Wolwacz’s methodology, with deep respect for all he has contributed to the market and his students.
RSI Divergence Indicator + 5EMABest Indicator for Price Action Traders.
RSI acting as Momentum Oscillator, 5EMA (8, 21, 55, 100, 200)
All-in-one market analysis toolThis script combines multiple technical indicators to analyze price movements and identify potential trading opportunities. Here's a breakdown of the key indicators involved:
* RSI (Relative Strength Index): Measures the momentum of price changes to gauge whether an asset is overbought or oversold.
* MACD (Moving Average Convergence Divergence): Identifies trend direction and potential reversals based on the relationship between two moving averages.
* Highs/Lows Oscillation: Analyzes the distribution of recent price highs and lows to detect potential turning points.
* Directional Movement Index (DX): Measures the strength of trend movements by comparing upward and downward price movements.
The script attempts to find a balance between these indicators to provide insights into both trending and ranging market conditions.
Key Formulas:
* Custom RSI calculation: The script utilizes a custom formula for calculating the RSI, which incorporates a smoothing factor and potentially additional adjustments based on user input. (Specific formula not directly shown in the provided code)
* Highs/Lows Oscillation Bands: The script calculates upper and lower bands based on the distribution of recent price highs and lows. Prices reaching or exceeding these bands might suggest potential overbought or oversold conditions. (Formula for band calculation not explicitly shown)
* Directional Movement Index (DX): The script employs the standard formula for calculating the DX, which involves calculating the Average Directional Movement (ADM) for both upward and downward price movements and then calculating the ratio between them. (Formula not directly shown in the code)
Detailed Usage Instructions:
* Input Parameters:
* The script offers various input parameters that allow users to customize its behavior. These include:
* RSI Length: This defines the lookback period for the RSI calculation.
* MACD Settings: Users can adjust the parameters used for calculating the MACD indicator (not shown in this code snippet).
* Highs/Lows Oscillation Parameters: Users can potentially adjust parameters related to the calculation of the highs/lows bands (not explicitly shown).
* Noise Removal: The script allows filtering out potential RSI noise based on user-defined thresholds.
* Alert Frequency: Users can configure how often the script triggers alerts based on RSI values.
* Script Output:
* The script generates a visual representation on the chart that incorporates several elements:
* Price Candles: The script displays standard price candlesticks to visualize price movements.
* MACD Bars: The script plots MACD bars to indicate trend direction and potential reversals.
* RSI Line: A line is plotted to represent the calculated RSI values.
* Highs/Lows Bands: The script potentially plots upper and lower bands based on the highs/lows oscillation analysis. (Not explicitly shown in this code)
* DX Line: The script might display a line representing the DX value to show trend strength. (Not shown)
* Alert Labels: Depending on the RSI value and chosen settings, the script might display labels or arrows at potential turning points.
* Trading Signals:
* The script aims to provide users with potential trading signals based on the combined analysis of the integrated indicators. Here are some general interpretations:
* Rising RSI with increasing MACD: This might suggest a bullish trend with potential for further price increases.
* Falling RSI with decreasing MACD: This could indicate a bearish trend with potential for price declines.
* RSI reaching overbought/oversold zones: This might signal potential trend reversals, although the script offers options to filter out noise in these areas.
* DX values: A rising DX suggests a strong trend, while a falling DX indicates a weakening trend.
Important Notes:
* This script provides recommendations based on technical indicators, but it's not a guaranteed trading strategy. Users should consider other factors like risk management and fundamental analysis before making trading decisions.
* The script offers various customization options, and users should experiment to find settings that best suit their trading style and preferences.
* Remember, past performance is not necessarily indicative of future results.
I hope this explanation clarifies the script's functionality and empowers you to use it effectively!
TDM Wavetrend Oscillator [2DimensionalM]Two Dimensional Man Wavetrend Oscillator
Overview: The Two Dimensional Man Wavetrend Oscillator is an advanced trend and momentum analysis tool. This indicator visually highlights the overall trend while capturing minor trend shifts in real-time.
Purpose: Designed to accurately assess trend direction, momentum strength, and potential overbought/oversold conditions, this oscillator also signals changes in market environments and potential reversals.
Applicability: The indicator is versatile and well-suited for various trading strategies, including trend trading, range-bound trading, and scalping, making it an reliable tool for traders seeking precision in different market conditions.
Components:
1. Momentum Cloud: Displayed as a blue/purple cloud oscillating around the zero axis, the Momentum Cloud reflects both trend direction and strength. When above the zero line, it signals a bullish trend, while below indicates a bearish trend. Similar to standard moving average based oscillator logic, and it is sensitive to divergences. Uniquely, this indicator defines overbought and oversold conditions based on momentum and trend, allowing for more effective monitoring of potential reversals in conjunction with divergences.
2. RSI: Equipped with a color-shifting logic, this RSI provides a more accurate reflection of short-term trend dynamics. It also serves as an environmental signal, assessing trend strength and momentum within lower time frames.
3. VWAP Cloud: Displayed as a default black cloud, the VWAP Cloud represents short-term trend direction differently than the Momentum Cloud. Centered around the zero line, its golden and death crosses correspond to bullish and bearish signals respectively. The combination of the VWAP and Momentum Clouds provides a refined assessment of trend accuracy and helps in precision monitoring.
4. Money Flow Star Line: This "cross" line captures the overall trend within a higher time frame relative to the current window. Above the zero line indicates bullish conditions, while below signals bearish. Movement upward signifies bullish momentum, and downward indicates bearish. Together with the RSI line, the Money Flow Star Line completes a multi-dimensional view of trend momentum and direction: the RSI responds faster, while the Money Flow Star Line reflects overarching trend changes.
5. Overbought/Oversold Zones & Environmental Signals: These zones apply to both the Momentum Cloud and RSI, highlighting potential reversals. The color-changing edges of these zones reveal environmental signals: a blue edge at the bottom suggests bullish market sentiment, while a black edge at the top indicates bearish sentiment, guiding trend-following trades.
6. Bull/Bear Dots: Colored dots appearing on the Momentum Cloud reveal trend reversals with high accuracy. Black and red dots only appear in overbought or oversold conditions, while gray and blue dots indicate non-overbought/oversold states. Black and red dots mark local market tops and bottoms, confirming strong sell or buy signals and acting as reliable indicators for potential peaks and troughs.
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.
Advance RSI Renko CalculationRSI based BUY and SELL on Renko Chart, only works good on renko chart, choose block size wisely for better results.
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.
Black RSI (Multi Symbol RSI)📌 GENERAL OVERVIEW
Black RSI (Multi Symbol RSI) is an indicator with multiple-RSI (multi-symbol support), It is a powerful indicator designed for analyzing the relative strength of multiple financial instruments within a single chart. This indicator essentially combines multiple instances of the Relative Strength Index (RSI) for different symbols, allowing traders to compare and contrast market conditions for a broader, simultaneous analysis of various assets. By tracking RSI across multiple assets, traders can identify broader market trends, and sector rotations, or pinpoint relative strengths and weaknesses among different instruments. Please check the below sections for details.
Black RSI (Multi Symbol RSI) Indicator Features Summary:
+ Multiple RSI with multi-symbol ◢
This indicator plots Primary+3 multiple RSI for multiple symbols at once. For instance, it could simultaneously show the RSI of indices (e.g., SPX, NASDAQ) or stocks within a sector, providing insights into how these assets are moving relative to one another.
+ Custom Divergence Module ◢
It allows the user to select the divergence source among the multiple RSI (Primary, 1st, 2nd or 3rd RSI) and displays regular/hidden bullish/bearish divergence for selected RSI only.
+ Custom RSI Moving Average/BBs ◢
It allows the user to select the RSI moving average/BBs source among the multiple RSI (Primary, 1st, 2nd or 3rd RSI) and displays moving average/BBs for selected RSI only.
+ Alert Triggers ◢
The indicator can incorporate alert functions that notify the user when an RSI threshold (e.g., overbought or oversold levels) is crossed for any of the selected symbols.
📌HOW TO USE IT
Confirm Trends Across Symbols: Use the indicator to confirm trends across multiple assets. For example, if most symbols within a sector or index are showing RSI levels above 50, it may indicate a bullish trend in that sector. Conversely, if most RSIs are below 50, it may signal bearish sentiment.
Spot Divergences: Look for RSI divergences across symbols, which can hint at potential reversals. For instance, if most symbols show declining RSI levels while a few have increasing RSI, it could indicate relative strength in those few, making them candidates for closer watch.
Identify Overbought/Oversold Conditions: By observing the RSI levels of multiple symbols, you can identify when certain assets are overbought (typically RSI > 70) or oversold (typically RSI < 30). When multiple assets show similar RSI levels, this can indicate broader market sentiment or sector momentum.
Sector Rotation Analysis: In longer-term trading or portfolio rebalancing, a Multi-RSI Multi-Symbol indicator can help detect sector rotation patterns by showing which sectors are gaining strength (higher RSI) and which are weakening, facilitating informed sectoral shifts.
Use in Conjunction with Other Indicators: The Multi-RSI can serve as a supporting indicator alongside trend indicators like Moving Averages or Bollinger Bands, helping to confirm entry and exit points. For example, if a symbol’s RSI shows an overbought condition and it aligns with a resistance level from a Moving Average, this could strengthen a sell signal.
Customization: Customize the settings to match your trading style. For instance, day traders might prefer a shorter RSI period and timeframes, while swing traders may benefit from longer timeframes and smoother RSI.
⚙️Black RSI (Multi Symbol RSI) SETTINGS
Black RSI (Multi) Dashboard ◢
+ 1st RSI: Enable/Disable 1st RSI
+ 2nd RSI: Enable/Disable 2nd RSI
+ 3rd RSI: Enable/Disable 3rd RSI
RSI Primary Tools ◢
+ RSI Moving Average/Bollinger Bands: Enable/Disable RSI Moving Average/Bollinger Bands
+ Smooth RSI: Enable/Disable Smooth RSI (for Primary RSI)
+ RSI Divergence: Enable/Disable Divergence for user-selected RSI
RSI Secondary Tools ◢
+ RSI OB/OS Color Bars: Enable/Disable RSI OB/OS Color Bars for user-selected RSI
+ RSI OB/OS Highlights: Enable/Disable OB/OS Highlights for user-selected RSI
+ Background: Enable/Disable RSI Background
+ Primary RSI Settings ▾
- Override Primary RSI Symbol: Allows the user to select the symbol for Primary RSI
- Primary RSI Length: User input primary RSI length value
- Primary RSI Source: User primary RSI source selection
- RSI Line Thickness: User input line thickness value for primary RSI
- Primary RSI Colors:
- OB/OS Highlights: Enable/Disable OB/OS Primary RSI Highlights
- RSI Overbought Threshold: The user can set the RSI overbought threshold value. This Overbought Threshold value will also be applied to All RSI (Primary, 1st, 2nd, 3rd) and "RSI Divergence overbought condition" and "RSI OB/OS Highlights"
- RSI Oversold Threshold: The user can set the RSI oversold threshold value. The lower band (oversold line) of RSI. This Oversold Threshold value will also be applied to All RSI (Primary, 1st, 2nd, 3rd) and "RSI Divergence oversold condition" and "RSI OB/OS Highlights"
+ 1st RSI Settings ▾
- Override 1st RSI Symbol: Allows the user to select the symbol for 1st RSI
- 1st RSI Length: User input 1st RSI length value
- 1st RSI Source: User 1st RSI source selection
- RSI Line Thickness: User input line thickness value for 1st RSI
- 1st RSI Colors:
- OB/OS Highlights: Enable/Disable OB/OS 1st RSI Highlights
+ 2nd RSI Settings ▾
- Override 2nd RSI Symbol: Allows the user to select the symbol for 2nd RSI
- 2nd RSI Length: User input 2nd RSI length value
- 2nd RSI Source: User 2nd RSI source selection
- RSI Line Thickness: User input line thickness value for 2nd RSI
- 2nd RSI Colors:
- OB/OS Highlights: Enable/Disable OB/OS 2nd RSI Highlights
+ 3rd RSI Settings ▾
- Override 3rd RSI Symbol: Allows the user to select the symbol for 3rd RSI
- 3rd RSI Length: User input 3rd RSI length value
- 3rd RSI Source: User 3rd RSI source selection
- RSI Line Thickness: User input line thickness value for 3rd RSI
- 3rd RSI Colors:
- OB/OS Highlights: Enable/Disable OB/OS 3rd RSI Highlights
+ RSI Bands & Threshold Settings ▾
- RSI Middle Band: Allows the user to plot optional RSI band on the RSI Oscillator
- RSI Bullish Band: Allows the user to plot optional RSI band on the RSI Oscillator
- RSI Bearish Band: Allows the user to plot optional RSI band on the RSI Oscillator
+ Primary RSI Smooth Settings ▾
- Type: The user selected Smooth MA type for Primary RSI. With RSI Smooth enabled, it will also affect Primary RSI Divergences detection (all divergences will be plotted according to the "Smoothed RSI line")
- Length: User input Smooth MA length value for Primary RSI
+ RSI Moving Average Settings ▾
- MA/BB RSI Source: Allows the user to MA/BB source selection
- MA/BB Enable/Disable: Allows the user to select Moving average only, BBs only or Both to display on the RSI Oscillator
- RSI Moving Average Colors: Allows the user to select Bullish/Bearish colours of RSI Moving Average
- RSI Moving Average Type: Allows the user to select RSI MA Type
- RSI Moving Average Length: User input RSI MA length value
- RSI Moving Average Thickness: User input RSI MA thickness
- Bollinger Bands Colors: Allows the user to select BBs colours
- BB StdDev: user input Bollinger Bands standard deviation value
+ RSI Divergence Settings ▾
- Divergence RSI source: User selection of divergence source .
- Divergence source: User selection of divergence source . "oscillator" (divergence detection with high/low or close of RSI), "price" (divergence detection with high/low or close of price)
- Bull price source: User selection of Bull price source. Bull price source: "Low" (low of price divergence detection), "Close" (close of price divergence detection) (linked to "price" in "Divergence source")
- Bear price source: User selection of Bear price source. Bear price source: "High" (high of price divergence detection), "Close" (close of price divergence detection) (linked to "price" in "Divergence source")
- Low/High left bars: How many candles to compare on the left side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signalled, but the quality of those detections could be lower.
- Low/High right bars: How many candles to compare on the right side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signalled, but the quality of those detections could be lower.
- Maximum lookback bars: The maximum length of a divergence (number of bars). If a detected divergence is longer than this, it will be discarded.
- Price threshold: User selection of Price threshold, higher values more lines
- RSI threshold: User selection of RSI threshold, higher values more lines
- Show Lows: Displays lows of RSI
- Show Highs: Displays highs of RSI
- Show Divergence as:
- Line Style:
- Line thickness: User input divergence line thickness value
- Label Transparency: it could reduce label mess on the oscillator line, input "100" for label text only without label background
- Labels Text Color: User label text colour selection
Auto Text Color > Auto colour change of label text according to Dark/Light chart theme
- Bull Divergences: Enable/Disable of Bull divergences
> Color: User selection of Bull divergence color
> Potential Bull: It will plot potential regular bull divergence with a dotted line.
- Bear Divergences: Enable/Disable of Bear divergences
> Color: User selection of Bear divergence color
> Potential Bear: It will plot potential regular bear divergence with a dotted line.
- Hidden Bull Div: Enable/Disable of Hidden Bull divergences
> Color: User selection of Hidden Bull divergence colour
> Potential H.Bull: It will plot potential hidden bull divergence with a dotted line.
- Hidden Bear Div: Enable/Disable of Hidden Bear divergences
> Color: User selection of Hidden Bear divergence colour
> Hidden Bear divergence: It will plot potential hidden bear divergence with a dotted line.
> Regular Bull oversold only: It will show Regular Bullish RSI divergences in the oversold zone only, RSI oversold threshold can be configured in the "Primary RSI Settings" section.
> Regular Bear overbought only: It will show Regular Bearish RSI divergences in the overbought zone only, RSI overbought threshold can be configured in the "Primary RSI Settings" section.
+ RSI OB/OS Colored Bars Settings▾
- OB/OS Bar RSI Source: User selection of OB/OS Bars RSI source .
- Overbought Bar Color: User RSI OB Bars colour selection
- Oversold Bar Color: User RSI OS Bars colour selection
+ Overbought/Oversold Highlights ▾
- OB/OS Highlights RSI Source: User selection of OB/OS Highlights RSI source .
- Overbought Highlights : Enable/Disable Overbought Highlights
- Oversold Highlights : Enable/Disable Oversold Highlights
- Transparency: Gradient transparency of highlighted area
+ RSI Line & Label Settings ▾
- Show Symbol label: Enable/Disable each RSI symbol label.
- RSI line offset: Shifts the RSI to the left or the right on the given number of bars, Default is 0
+ Background Setting ▾
- Custom Background Color: User selection of Background color
Feedback & Bug Report
If you find any bugs in this indicator or have any suggestions, please let me know. Please give feedback & appreciate it if you like to see more future updates and indicators. Thank you
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.