Reversão Sobrevenda/Sobrecompra com ExaustãoPrice Touches/Exceeds Lower Bollinger Band: Indicates oversold conditions.
Oversold RSI and/or Divergence: RSI below 30 (strong) or bullish divergence (price makes lower low, RSI makes higher low).
Decreasing Volume: Selling volume decreases as price hits the lower band and RSI becomes oversold, suggesting selling pressure is ending.
Bullish Reversal Candlestick: Formation of a bullish reversal candlestick pattern near the lower band (e.g., Hammer, Bullish Engulfing, Piercing Pattern).
Sell Signal (Bearish Reversal):
Price Touches/Exceeds Upper Bollinger Band: Indicates overbought conditions.
Overbought RSI and/or Divergence: RSI above 70 (strong) or bearish divergence (price makes higher high, RSI makes lower high).
Decreasing Volume: Buying volume decreases as the price reaches the upper band and the RSI becomes overbought, suggesting that buying pressure is ending.
Bearish Reversal Candlestick: Formation of a bearish reversal candlestick pattern near the upper band (Ex: Shooting Star, Bearish Engulfing, Dark Cloud).
Candlestick analysis
Opening Range BoxOpening Range plots the price range of the first candle from a selected timeframe within a defined trading session. It highlights key intraday levels and visually extends that range across the session, helping traders spot breakout or reversal setups.
Multi EMAPlots 4 EMAs:
➝ 9 EMA (Green) → Short-term trend.
➝ 21 EMA (Blue) → Swing trend confirmation.
➝ 50 EMA (Orange) → Intermediate trend filter.
➝ 200 EMA (Red) → Long-term trend direction.
Trading Tools🎯 Trading Tools – Your All-in-One Market Analysis Solution
Developed by Marcelo Ulisses Sobreiro Ribeiro, Trading Tools is a powerful, multi-functional indicator that combines essential trading features into a single, streamlined tool. Perfect for traders who want clear, precise market opportunities across any asset or timeframe.
🔥 Key Features:
📊 Smart Moving Averages
Customizable setup for up to 5 MAs (EMA, SMA, WMA).
Color-coded fills between MAs to highlight trends (bullish/bearish).
Dynamic 20-period MA (color shifts with trend).
Alerts for crossovers and trend changes.
🕒 Killzones (High-Liquidity Sessions)
Visual highlights for key trading sessions: Asia, London, NY AM, NY Lunch, and NY PM.
Customizable colors and transparency.
Drawing limit to avoid chart clutter.
📅 Time-Based Markers
Day-of-week labels (option to hide weekends).
Day separators (customizable style).
🎨 Rule-Based Candle Coloring
Expanded True Range (large candles).
Inside Bars.
123 Pattern (Mark Crisp).
Bullish/Bearish Engulfing.
Price of Closing Reversal (PFR).
Market Strength.
Overbought/Oversold (RSI & Stochastic).
⚖️ Imbalance Detector (FVG, OG, VI)
Fair Value Gaps (FVG).
Opening Gaps (OG).
Volume Imbalance (VI).
🔄 Stochastic Cross & Valid Pullbacks
Stochastic crossover signals (up/down arrows).
Valid pullback alerts.
📈 Dynamic Support & Resistance
Previous day’s high/low (PDH/PDL).
Automatic pivot detection (significant highs/lows).
⚙️ Full Customization
Adjust timeframe limits, timezone, label size, and colors.
Control how many drawings are kept on the chart.
🚨 Built-in Alerts
Alerts for 20-period MA, PFR, Pullbacks, and more!
📌 Why Use Trading Tools?
All-in-one solution: No need for multiple indicators.
Intuitive visuals: Colors and markers simplify setup identification.
Adaptable: Works on any asset (forex, stocks, crypto).
🔹 Perfect for traders who want efficiency and clarity in their analysis!
Volatility Index Percentile Risk STOCK StrategyVolatility-Index Percentile Risk STOCK Strategy
──────────────────────────────────────────────
PURPOSE
• Go long equities only when implied volatility (from any VIX-style index) is in its quietest percentile band.
• Scale stop-loss distance automatically with live volatility so risk stays proportional across timeframes and market regimes.
HOW IT WORKS
1. Pull the closing price of a user-selected volatility index (default: CBOE VIX, Nasdaq VXN, etc.).
2. Compute its 1-year (252-bar) percentile.
– If percentile < “Enter” threshold → open / maintain long.
– If percentile > “Exit” threshold → flatten.
3. Set the stop-loss every bar at:
SL % = (current VIX value) ÷ Risk Divisor
(e.g., VIX = 20 and divisor = 57 → 0.35 % SL below entry).
This keeps risk tighter when volatility is high and looser when it’s calm.
USER INPUTS
• VIX-style Index — symbol of any volatility index
• Look-back — length for percentile (default 252)
• Enter Long < Percentile — calm-market trigger (default 15 %)
• Exit Long > Percentile — fear trigger (default 60 %)
• Risk Divisor (SL) — higher number = tighter stop; start with 57 on 30-min charts
• Show Debug Plots — optional visibility of percentile & SL%
RECOMMENDED BACK-TEST SETTINGS
• Timeframe: 30 min – Daily on liquid stocks/ETFs highly correlated to the chosen VIX.
• Initial capital: 100 000 | Order size: 10 % of equity
• Commission: 0.03 % | Slippage: 5 ticks
• Enable *Bar Magnifier* and *Fill on bar close* for realistic execution.
ADDITIONAL INFORMATION
• **Self-calibrating risk** – no static ATR or fixed %, adapts instantly to changing volatility.
• **Percentile filter** – regime-aware entry logic that avoids false calm periods signalled by raw VIX levels.
• **Timeframe-agnostic** – works from intraday to weekly; √T-style divisor lets you fine-tune stops quickly ,together with the percentiles and days length.
• Zero look-ahead.
CAVEATS
• Long-only; no built-in profit target. Add one if your plan requires fixed R:R exits.
• Works best on indices/stocks that move with the selected vol index.
• Back-test results are educational; past performance never guarantees future returns.
LICENSE & CREDITS
Released under the Mozilla Public License 2.0.
Inspired by academic research on volatility risk premia and mean-reversion.
DISCLAIMER
This script is for informational and educational purposes only. It is **not** financial advice. Use at your own risk.
Closed Market / Back-Test Filter x 'Bull_Trap_9'Hello TradingView Traders!
This is a very valuable tool that I believe all traders will find useful.
This indicator / filter is '1 of 2'. I prefer it as a filter because it is not meant for live trade analysis. It is designed to make a trader aware of their individual trade sessions and to help aid in static chart candlestick back-testing.
Also, look for my indicator / filter, '2 of 2': 'Red Report Filter'
There are two functions to this filter.
Primary use: It allows a trader to set a session window: Open / Close.
During a trade session, like YM, I only trade 9:30 - 15:00. Without the filter, many times I have traded past my cutoff because I was focused on the chart and not the time.
With this filter on as close nears with an open trade and the filter starts to apply, I know I am at session close with no more trades upon exit. Otherwise, I know the session is done with no further trades.
It is also nice to have the filter on during the session open as a demarcation boundary.
Secondary use: It is used as a chart back-test tool.
When applied to a traders back-test chart, the trader can control their trade session envelopes for easier and more precise evaluation. The filter will allow only the candles per session that the trader wants to focus on and will filter all other non-session candles.
I can easily compare a whole week of 30m session data, concentrating solely on the filtered trade windows.
Please Note: The filter will be active as far back as the historic data prints.
Thanks for viewing!
🟢 Clean BUY/SELL Signal (All Filters Hidden)fgchavsbmn,cakhscb kals dcaljks cjas ckjasclkasnd.ask dfhg asdhj askgd hjaksdmvhagsbjdkn abs dnljasd
Last Candle RangeCalculates the size of the last candle on whatever timeframe you are watching (high - low)
Live SPX Buy/Sell Zones (Simulated)This is a indactor that best indicates whats happening with buyers and sellers
Market Structure by HorizonAIThis indicator shows SMC Market structure with BOS and CHoCH. Internal and external structur. Use external structure for better experience.
Saty ATR Levels// Saty ATR Levels
// Copyright (C) 2022 Saty Mahajan
// Author is not responsible for your trading using this script.
// Data provided in this script is not financial advice.
//
// Features:
// - Day, Multiday, Swing, Position, Long-term, Keltner trading modes
// - Range against ATR for each period
// - Put and call trigger idea levels
// - Intermediate levels
// - Full-range levels
// - Extension levels
// - Trend label based on the 8-21-34 Pivot Ribbon
//
// Special thanks to Gabriel Viana.
// Based on my own ideas and ideas from Ripster, drippy2hard,
// Adam Sliver, and others.
//@version=5
indicator('Saty ATR Levels', shorttitle='Saty ATR Levels', overlay=true)
// Options
day_trading = 'Day'
multiday_trading = 'Multiday'
swing_trading = 'Swing'
position_trading = 'Position'
longterm_trading = 'Long-term'
trading_type = input.string(day_trading, 'Trading Type', options= )
use_options_labels = input(true, 'Use Options Labels')
atr_length = input(14, 'ATR Length')
trigger_percentage = input(0.236, 'Trigger Percentage')
previous_close_level_color = input(color.white, 'Previous Close Level Color')
lower_trigger_level_color = input(color.yellow, 'Lower Trigger Level Color')
upper_trigger_level_color = input(color.aqua, 'Upper Trigger Level Color')
key_target_level_color = input(color.silver, 'Key Target Level Color')
atr_target_level_color = input(color.white, 'ATR Target Level Color')
intermediate_target_level_color = input(color.gray, 'Intermediate Target Level Color')
show_all_fibonacci_levels = input(true, 'Show All Fibonacci Levels')
show_extensions = input(false, 'Show Extensions')
level_size = input(2, 'Level Size')
show_info = input(true, 'Show Info Label')
use_current_close = input(false, 'Use Current Close')
fast_ema = input(8, 'Fast EMA')
pivot_ema = input(21, 'Pivot EMA')
slow_ema = input(34, 'Slow EMA')
// Set the appropriate timeframe based on trading mode
timeframe_func() =>
timeframe = 'D'
if trading_type == day_trading
timeframe := 'D'
else if trading_type == multiday_trading
timeframe := 'W'
else if trading_type == swing_trading
timeframe := 'M'
else if trading_type == position_trading
timeframe := '3M'
else if trading_type == longterm_trading
timeframe := '12M'
else
timeframe := 'D'
// Trend
price = close
fast_ema_value = ta.ema(price, fast_ema)
pivot_ema_value = ta.ema(price, pivot_ema)
slow_ema_value = ta.ema(price, slow_ema)
bullish = price >= fast_ema_value and fast_ema_value >= pivot_ema_value and pivot_ema_value >= slow_ema_value
bearish = price <= fast_ema_value and fast_ema_value <= pivot_ema_value and pivot_ema_value <= slow_ema_value
// Data
period_index = use_current_close ? 0 : 1
ticker = ticker.new(syminfo.prefix, syminfo.ticker, session=session.extended)
previous_close = request.security(ticker, timeframe_func(), close , gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
atr = request.security(ticker, timeframe_func(), ta.atr(atr_length) , gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
period_high = request.security(ticker, timeframe_func(), high, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
period_low = request.security(ticker, timeframe_func(), low, gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
range_1 = period_high - period_low
tr_percent_of_atr = range_1 / atr * 100
lower_trigger = previous_close - trigger_percentage * atr
upper_trigger = previous_close + trigger_percentage * atr
lower_0382 = previous_close - atr * 0.382
upper_0382 = previous_close + atr * 0.382
lower_0500 = previous_close - atr * 0.5
upper_0500 = previous_close + atr * 0.5
lower_0618 = previous_close - atr * 0.618
upper_0618 = previous_close + atr * 0.618
lower_0786 = previous_close - atr * 0.786
upper_0786 = previous_close + atr * 0.786
lower_1000 = previous_close - atr
upper_1000 = previous_close + atr
lower_1236 = lower_1000 - atr * 0.236
upper_1236 = upper_1000 + atr * 0.236
lower_1382 = lower_1000 - atr * 0.382
upper_1382 = upper_1000 + atr * 0.382
lower_1500 = lower_1000 - atr * 0.5
upper_1500 = upper_1000 + atr * 0.5
lower_1618 = lower_1000 - atr * 0.618
upper_1618 = upper_1000 + atr * 0.618
lower_1786 = lower_1000 - atr * 0.786
upper_1786 = upper_1000 + atr * 0.786
lower_2000 = lower_1000 - atr
upper_2000 = upper_1000 + atr
lower_2236 = lower_2000 - atr * 0.236
upper_2236 = upper_2000 + atr * 0.236
lower_2382 = lower_2000 - atr * 0.382
upper_2382 = upper_2000 + atr * 0.382
lower_2500 = lower_2000 - atr * 0.5
upper_2500 = upper_2000 + atr * 0.5
lower_2618 = lower_2000 - atr * 0.618
upper_2618 = upper_2000 + atr * 0.618
lower_2786 = lower_2000 - atr * 0.786
upper_2786 = upper_2000 + atr * 0.786
lower_3000 = lower_2000 - atr
upper_3000 = upper_2000 + atr
// Add Labels
tr_vs_atr_color = color.green
if tr_percent_of_atr <= 70
tr_vs_atr_color := color.green
else if tr_percent_of_atr >= 90
tr_vs_atr_color := color.red
else
tr_vs_atr_color := color.orange
trading_mode = 'Day'
if trading_type == day_trading
trading_mode := 'Day'
else if trading_type == multiday_trading
trading_mode := 'Multiday'
else if trading_type == swing_trading
trading_mode := 'Swing'
else if trading_type == position_trading
trading_mode := 'Position'
else if trading_type == longterm_trading
trading_mode := 'Long-term'
else
trading_mode := ''
long_label = ''
short_label = ''
if use_options_labels
long_label := 'Calls'
short_label := 'Puts'
else
long_label := 'Long'
short_label := 'Short'
trend_color = color.orange
if bullish
trend_color := color.green
else if bearish
trend_color := color.red
else
trend_color := color.orange
var tbl = table.new(position.top_right, 1, 4)
if barstate.islast and show_info
table.cell(tbl, 0, 0, 'Saty ATR Levels', bgcolor=trend_color)
table.cell(tbl, 0, 1, trading_mode + ' Range ($' + str.tostring(range_1, '#.##') + ') is ' + str.tostring(tr_percent_of_atr, '#.#') + '% of ATR ($' + str.tostring(atr, '#.##') + ')', bgcolor=tr_vs_atr_color)
table.cell(tbl, 0, 2, long_label + ' > $' + str.tostring(upper_trigger, '#.##') + ' | +1 ATR $' + str.tostring(upper_1000, '#.##'), bgcolor=upper_trigger_level_color)
table.cell(tbl, 0, 3, short_label + ' < $' + str.tostring(lower_trigger, '#.##') + ' | -1 ATR: $' + str.tostring(lower_1000, '#.##'), bgcolor=lower_trigger_level_color)
// Add levels
plot(show_extensions ? lower_3000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-300.0%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? lower_2786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-278.6%', style=plot.style_stepline)
plot(show_extensions ? lower_2618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-261.8%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? lower_2500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-250.0%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? lower_2382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-238.2%', style=plot.style_stepline)
plot(show_extensions ? lower_2236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-223.6%', style=plot.style_stepline)
plot(show_extensions ? lower_2000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-200.0%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? lower_1786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-178.6%', style=plot.style_stepline)
plot(show_extensions ? lower_1618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-161.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? lower_1500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-150.0%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? lower_1382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-138.2%', style=plot.style_stepline)
plot(show_extensions ? lower_1236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-123.6%', style=plot.style_stepline)
plot(lower_1000, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='-100%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? lower_0786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-78.6%', style=plot.style_stepline)
plot(lower_0618, color=color.new(key_target_level_color, 40), linewidth=level_size, title='-61.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? lower_0500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-50.0%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? lower_0382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='-38.2%', style=plot.style_stepline)
plot(lower_trigger, color=color.new(lower_trigger_level_color, 40), linewidth=level_size, title='Lower Trigger', style=plot.style_stepline)
plot(previous_close, color=color.new(previous_close_level_color, 40), linewidth=level_size, title='Previous Close', style=plot.style_stepline)
plot(upper_trigger, color=color.new(upper_trigger_level_color, 40), linewidth=level_size, title='Upper Trigger', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? upper_0382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='38.2%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? upper_0500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='50.0%', style=plot.style_stepline)
plot(upper_0618, color=color.new(key_target_level_color, 40), linewidth=level_size, title='61.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels ? upper_0786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='78.6%', style=plot.style_stepline)
plot(upper_1000, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='100%', style=plot.style_stepline)
plot(show_extensions ? upper_1236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='123.6%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? upper_1382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='138.2%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? upper_1500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='150.0%', style=plot.style_stepline)
plot(show_extensions ? upper_1618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='161.8%', style=plot.style_stepline)
plot(show_all_fibonacci_levels and show_extensions ? upper_1786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='178.6%', style=plot.style_stepline)
plot(show_extensions ? upper_2000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='200.0%', style=plot.style_stepline)
plot(show_extensions ? upper_2236 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='223.6%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? upper_2382 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='238.2%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? upper_2500 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='250.0%', style=plot.style_stepline)
plot(show_extensions ? upper_2618 : na, color=color.new(key_target_level_color, 40), linewidth=level_size, title='261.8%', style=plot.style_stepline)
//plot(show_all_fibonacci_levels and show_extensions ? upper_2786 : na, color=color.new(intermediate_target_level_color, 40), linewidth=level_size, title='278.6%', style=plot.style_stepline)
plot(show_extensions ? upper_3000 : na, color=color.new(atr_target_level_color, 40), linewidth=level_size, title='300%', style=plot.style_stepline)
Multi-Timeframe Close Alert with Toggleyou can create alerts with this indicator for when a time frame closes
Engulfing CandlesDetects Engulfing Candles with tha addition of an extra condition so that the volume of the engulfing candle is greater than the volume of the last four candles
Pivot + OBV/RSI Ortak Sinyal (Net Versiyon)para girişi ni ve uyumsuzluklarda sinyal verir rsı kullnarak kullanmaya calışın
Custom EMA Inputs (20, 40, 100, 200)This script plots four customizable Exponential Moving Averages (EMAs) on the chart—specifically the 20, 40, 100, and 200-period EMAs. Each EMA length and color can be adjusted by the user, allowing for greater flexibility in trend analysis and multi-timeframe confirmation. The script supports offsetting plots, enabling visual tweaks for alignment with other indicators or price action setups.
Ideal for traders seeking dynamic control over their moving average strategies, this tool provides a clean, adaptable foundation for both trend following and crossover systems.
Break Previous Low AlertAlert for previous price bar low. When price creates a new low you will get an alert.
SW Zapier Volume Indicator testTracks volume are creates alerts. Sends info to zapier through webhooks.
TDSeqThe TDSeq is a trend exhaustion indicator. It's designed to identify potential price reversals by analyzing a pattern of price candles, signaling when a trend is likely to exhaust and reverse or consolidate. It is commonly used in professional trading to time entries, exits, or spot trend fatigue.
Reversal probable when number >=9
simple indicator of chart patterns same ...
if you want to use it like EMA , SMA , etc fell free to do so .
Advanced 15-Min ORB + VWAP + RSI + Premarket Range15-minute ORB box
VWAP overlay
RSI(14) filter with visual cue
Premarket high/low range box