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.
Oszillatoren
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.
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.
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
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.
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.
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.
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 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.
Rikki's DikFat Buy/Sell OscillatorAttached we have a very simple Buy/Sell Oscillator.
This script will color candles red when price is bear trending and green when price is bull trending.
I have taken elements of our CCI color signaler indicator found here: to make this very simple and easy to read candlestick color oscillator for traders both new and seasoned.
The the red candles color red as a result of the fuchsia CCI condition on the previously mentioned indicator.
The green candles color as a result of the black CCI color condition on the previously mentioned script.
The script was modified to run the black CCI condition anywhere the fuchsia condition is not displayed and the colors were changed to red and green for a clean visual representation on the chart.
I have not quite got the wick and border colors correct. For some reason they keep reverting when you click out of the script setting. Will update once complete.
The code and script are public. Enjoy :)
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.
Stochastic RSI V1Stokastik RSI V1 - Kesişim noktaları işaretlendi, aşırı alım ve satım bölgeleri oluşturuldu. Çok ta önemli olmayabilecek değişiklikler işte...
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.
Multi VWAPs (Daily Weekly Monthly Yearly)This indicator calculates VWAP for daily, weekly, monthly, and yearly timeframes, which can be toggled on/off in the settings.
Each VWAP (Daily, Weekly, Monthly, and Yearly) is plotted with a different color for easy distinction:
Daily VWAP: Blue
Weekly VWAP: Green
Monthly VWAP: Purple
Yearly VWAP: Red
ATAMOKU - Ichimoku-Based Independent Scoring System
Name Origin of ATAMOKU:
The name ATAMOKU combines "Ata" (which means "I existed" in Japanese and "ancestor or father" in Turkish, which is also my name) and "Moku," meaning "cloud" in Japanese. This name reflects a unique scoring system based on Ichimoku principles, designed to help traders analyze trends and identify entry and exit points more accurately.
Scoring System Overview:
ATAMOKU leverages key Ichimoku values, including the Conversion Line, Base Line, and Leading Spans A and B. By applying mathematical functions and formulas, these values are used to generate a comprehensive score that indicates market strength and trend direction. This scoring system works independently of the price position relative to the Ichimoku cloud, allowing traders to identify potential entry and exit points in any time frame.
Signal and Smoothing Lines:
The script includes signal and smoothed lines that display signals continuously and can be customized with different smoothing techniques such as SMA, EMA, and WMA. These lines visually highlight entry and exit points, adapting to the trader's individual strategy.
Settings and Customization:
ATAMOKU offers several customization options to suit various trading preferences:
Scoring Method:
The scoring system uses hierarchical comparisons of Ichimoku values, with configurable weights for each comparison.
Smoothing Techniques:
Users can choose from several smoothing methods (SMA, EMA, WMA) to adjust signal sensitivity, allowing traders to fine-tune the display according to their preferred trading style.
Period Adjustments:
Options for adjusting the period of the scoring and smoothing calculations are provided to accommodate different time frames and trading strategies.
Display and Visualization:
ATAMOKU presents the data using a histogram and line chart format, enabling traders to observe trends and potential entry and exit points quickly and clearly.
Key Features:
Flexibility Across Time Frames, usable on any time frame without restriction.
Independent Cloud Position Scoring, Generates signals and identifies entry and exit points independently of the price position relative to the cloud.
Multi-Dimensional Analysis, Analyzes various Ichimoku data points and uses mathematical functions to offer traders a comprehensive market view.
Support and Contact:
For further information, customization questions, or support, please feel free to reach out via Private Message on TradingView. If you have a Premium account, additional contact details can also be included in the Signature field below.
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.