Liquidation/Doji CandlesLiquidation/Doji Candles
This indicator highlights candles with a body length smaller than 30% of the candle’s total range. These candles are displayed in orange, representing potential liquidation points or doji candles.
The idea behind this tool is to help traders spot moments of market indecision, where buying and selling pressure are in balance. Such conditions often hint at institutional liquidation events or possible retail-driven reversals.
You can fully customize the detection sensitivity by adjusting the percentage input. This allows you to tighten or loosen the condition depending on your trading style and market preference.
To support passive traders, the script also includes built-in alerts for:
• The formation of a new liquidation/doji candle.
• A close above its high (bullish engulfment).
• A close below its low (bearish engulfment).
These alerts make it easier to stay on top of potential market shifts without needing to constantly monitor the charts.
Indicators and strategies
Ohm Horizontal line//@version=5
indicator("Ohm Horizontal line", overlay=true)
// Input parameters
atrPeriod = input.int(14, "ATR Period", minval=1)
atrMultiplier = input.float(1.0, "ATR Multiplier", step=0.1)
numLevels = input.int(10, "Number of Levels (each side)", minval=1)
lineWidth = input.int(1, "Line Width", minval=1, maxval=4)
labelOffset = input.int(20, "Label Offset", minval=0)
// Calculate daily ATR
dailyAtr = request.security(syminfo.tickerid, "D", ta.atr(atrPeriod))
// Function to get rounded price based on ATR
getRoundedPrice(price, atrValue) =>
math.round(price / (atrValue * atrMultiplier)) * (atrValue * atrMultiplier)
// Calculate center price (current close rounded to nearest ATR multiple)
centerPrice = getRoundedPrice(close, dailyAtr)
// Create arrays for price levels
var float levels = array.new_float(2 * numLevels + 1)
var float midLevels = array.new_float(2 * numLevels)
// Update price levels
updateLevels() =>
array.set(levels, numLevels, centerPrice)
for i = 1 to numLevels
upperLevel = centerPrice + i * dailyAtr * atrMultiplier
lowerLevel = centerPrice - i * dailyAtr * atrMultiplier
array.set(levels, numLevels + i, upperLevel)
array.set(levels, numLevels - i, lowerLevel)
// Calculate mid levels
if i > 1
upperMid = (array.get(levels, numLevels + i) + array.get(levels, numLevels + i - 1)) / 2
lowerMid = (array.get(levels, numLevels - i) + array.get(levels, numLevels - i + 1)) / 2
array.set(midLevels, numLevels + i - 2, upperMid)
array.set(midLevels, numLevels - i + 1, lowerMid)
// Update levels on every bar
updateLevels()
// Plot horizontal lines and price labels
var line horizontalLines = array.new_line(2 * numLevels + 1)
var line midLines = array.new_line(2 * numLevels)
var label priceLabels = array.new_label(2 * numLevels + 1)
// Function to draw or update a line
drawLine(lineArray, index, y, color, width, style) =>
if na(array.get(lineArray, index))
array.set(lineArray, index, line.new(bar_index, y, bar_index + 1, y, color=color, width=width, style=style, extend=extend.both))
else
line.set_xy1(array.get(lineArray, index), bar_index, y)
line.set_xy2(array.get(lineArray, index), bar_index + 1, y)
line.set_color(array.get(lineArray, index), color)
line.set_width(array.get(lineArray, index), width)
line.set_style(array.get(lineArray, index), style)
// Draw main levels
for i = 0 to 2 * numLevels
level = array.get(levels, i)
lineColor = i == numLevels ? color.yellow : (i > numLevels ? color.green : color.red)
drawLine(horizontalLines, i, level, lineColor, lineWidth, line.style_solid)
if na(array.get(priceLabels, i))
array.set(priceLabels, i, label.new(bar_index + labelOffset, level, str.tostring(level, format.mintick), color=color.new(color.black, 100), textcolor=lineColor, style=label.style_none, size=size.small))
else
label.set_xy(array.get(priceLabels, i), bar_index + labelOffset, level)
label.set_text(array.get(priceLabels, i), str.tostring(level, format.mintick))
label.set_textcolor(array.get(priceLabels, i), lineColor)
// Draw mid levels (without labels)
for i = 0 to 2 * numLevels - 1
midLevel = array.get(midLevels, i)
lineColor = i >= numLevels ? color.new(color.green, 50) : color.new(color.red, 50)
drawLine(midLines, i, midLevel, lineColor, 1, line.style_dashed)
// Display current ATR value
var label atrLabel = na
label.delete(atrLabel)
atrLabel := label.new(bar_index , high, text="ATR: " + str.tostring(dailyAtr, "#.##"), color=color.new(color.blue, 0), textcolor=color.white, size=size.small)
Volume (standard) + Brightness by Intensity (Min–Max / MA)Volume Brightness Indicator
Quick Description
This indicator is an enhanced version of TradingView’s standard volume. The volume bars are colored just like the original (green/red or a single custom color), but with one key upgrade: brightness and transparency adjust automatically based on volume intensity.
High volume → bars appear more opaque and bright.
Low volume → bars appear more transparent and faded.
This makes it easier to spot which candles actually carry meaningful volume at a glance.
Features
Bar colors: by candle direction (green/red) or a single chosen color.
Volume moving average: optional, customizable (SMA or EMA).
Brightness methods:
Min–Max: compares volume against a historical window (with optional log scale).
MA-based: compares volume against its moving average, with an adjustable cap.
Custom transparency: define how opaque high-volume and low-volume bars appear.
How to Use
Copy the script into Pine Editor and save it.
Add it to your chart; it will display in its own panel, like the standard volume.
In Settings, choose your preferred brightness method and adjust transparency ranges.
Toggle the volume MA if you want a clear reference line.
Key Idea
The indicator does not add new data. It highlights volume intensity visually, making it easier to identify accumulation or spikes without losing the simplicity of the classic volume.
SniperKills-Session Sweeps + SMT📊 Session Sweeps + SMT Tracker
🌏 Asia Session (8PM–12AM NY) → candles 🔴 red
🇬🇧 London Session (2AM–5AM NY) → candles 🟠 orange
✅ Sweep Hit – shows if a sweep occurred during the session
📈 High / Low – tracks session extremes dynamically
🔄 SMT Detection – flags bullish ✅ or bearish ❌ divergences vs correlated instrument
📋 Live Table – updates at top-right of chart for quick reference
Perfect for NQ intraday trading, teaching, or monitoring session activity visually.
Scalp Flags — Price Action EMA/RSI//@version=5
indicator("TEST FLAGS OVERLAY", overlay=true)
// simple EMAs
fast = ta.ema(close, 9)
slow = ta.ema(close, 21)
// signals
buy = ta.crossover(fast, slow)
sell = ta.crossunder(fast, slow)
// draw on price panel
plotshape(buy, title="BUY", location=location.belowbar, style=shape.labelup, color=color.green, text="BUY", size=size.small)
plotshape(sell, title="SELL", location=location.abovebar, style=shape.labeldown, color=color.red, text="SELL", size=size.small)
// show EMAs for verification
plot(fast, color=color.new(color.green, 0))
plot(slow, color=color.new(color.red, 0))
A+ 0DTE Signal Suite [VWAP/EMA/SR/Volume] By Delta Surge
# What the indicator actually does (quick decode)
* **Bias (15-min):** Price vs VWAP and 13EMA vs 48EMA on 15m.
* **Entry engines:** recent **reclaim/reject** of VWAP/EMA13, **ORB-15** break/retest, **PDH/PDL** reclaim/break, **AVWAP-open** reclaim/reject, **inside-15** break, **squeeze release**, **liquidity sweep + reclaim**, **Delta Surge** (big candle + vol spike).
* **Score → Stars:** more confluence = higher score → ★–★★★★★.
* **Arrows/labels:** ▲/▼ and “BUY CALLS/PUTS + stars”.
* **Stops/Targets:** stop = min(VWAP, EMA13) for calls / max(VWAP, EMA13) for puts. The script marks **1R/2R** (risk multiples) and shows a small **EXIT?** hint if price gives up the “mean”.
> Translation: wait for **trend + reclaim + volume**, take the high-star signals, manage with R-multiples.
---
# Default settings that work well
**Timeframe:** 5-minute for decisions (1–3m only if you’re scalping); leave the 15-minute bias on.
**Inputs to keep ON:** ORB-15, PDH/PDL, AVWAP from open, Delta Surge, Squeeze (optional on very choppy days).
**Star gate:** set **Minimum Score** to **4–5** and only act on **★★★ or higher**.
**Session windows:** ON to avoid lunch chop (already in the script).
---
# Symbol-specific setup
## QQQ
* **Leader:** turn ON **Require Leader Confirm**
**Leader Symbol:** `CME_MINI:NQ1!` (fallback: `NASDAQ:NDX` or `AMEX:QQQ` if no futures)
**Leader TF:** 3m or 5m
* **Vol filter:** use **VXN** instead of VIX if you want (set `vixSymbol = "CBOE:VXN"` and turn ON Require VIX).
* **RVOL threshold:** **1.10–1.25**.
* **Minimum workable R (1R distance):** **0.8–1.2 QQQ points**.
* **Room check (eyeball):** to next S/R/ORB level ≥ **1.5R**.
## SPY
* **Leader:** `CME_MINI:ES1!` ON, 3–5m.
* **Vol filter:** VIX.
* **RVOL:** **1.10–1.30**.
* **Min 1R:** **0.5–0.8 SPY points**.
## SPX
* **Leader:** `CME_MINI:ES1!` ON, 3–5m.
* **Vol filter:** VIX.
* **RVOL:** **1.20–1.35** (0DTE needs juice).
* **Min 1R:** **8–12 SPX points** (quiet vs active).
* **Pro tip:** avoid signals if 15-min ATR < **2 × your R**.
## TSLA
* **Leader (optional):** QQQ (`AMEX:QQQ`) or NQ futures (`CME_MINI:NQ1!`) — pick one and keep it consistent.
* **Vol filter:** usually OFF (TSLA has its own tape), but you can keep it on VIX if you like.
* **RVOL:** **1.10–1.30**.
* **Min 1R:** **1.5–3.0 TSLA points**, or at least **¼ of 15-min ATR**.
---
# When to take the trade (entry checklist)
Only act when MOST boxes are checked:
1. **Trend/Bias:** 15-min bias agrees with your side (bull for calls, bear for puts).
2. **Fresh trigger:** a **reclaim/reject** or **ORB-15 retest** happened within `winBars` (default 3 bars).
3. **Location:** entry is **near VWAP/EMA13** (not in the middle of nowhere) OR it’s a proper **retest** of ORB/PDH/PDL/AVWAP.
4. **Volume:** RVOL ≥ your threshold; Delta Surge helps.
5. **Room:** at least **1.5R** to the next obvious level.
6. **Stars:** **★★★+** (ideally ★★★★/★★★★★).
7. **Leader confirms:** ON and aligned (NQ for QQQ, ES for SPY/SPX, QQQ/NQ for TSLA).
8. **Time of day:** opening drive (first 90m) or power hour; avoid mid-day unless RVOL is strong.
> **Entry:** on the printed **▲/▼** bar close (or the retest candle), set stop at min/max(VWAP, EMA13) as the script implies.
---
# How to manage it
* **Position size by R:** choose a dollar risk; contracts = dollar risk ÷ (R × option delta).
* **1R:** take **partial** at **1R**, move stop to **breakeven**.
* **2R:** scale more or flat the rest near 2R or the next HTF level.
* **Mean exit:** if the orange **EXIT?** prints before 1R, consider bailing or reducing.
**Option selection (0DTE):**
* Expect a drive? pick **0.45–0.55 delta**.
* Expect a grind up after reclaim? **0.30–0.40 delta**.
* If spread is ugly, step out a strike or use next-day expiry.
---
# Reading the signals (plain English)
* **BUY CALLS (▲) + stars:** bullish setup with confluence. More stars = more factors aligned.
* **BUY PUTS (▼) + stars:** bearish setup with confluence.
* **CALL/PUT 1R, 2R:** price hit +1× or +2× your initial risk.
* **CALL/PUT EXIT?**: momentum gave up (price crossed back through the stop reference).
---
# High-probability patterns to favor
1. **Reclaim + Retest + RVOL:** close above VWAP/EMA13, then a small pullback tags a level and holds — ★★★★+ often.
2. **ORB-15 break & retest with RVOL:** especially after a tight inside pre-market; take the retest.
3. **Squeeze release in bias direction:** first expansion bar with RVOL.
4. **Sweep + reclaim at a key HTF level:** wick below prior swing low then fast reclaim above VWAP/EMA13.
**Avoid:** counter-bias signals at noon, signals into a level sitting <1R away, or signals without RVOL.
---
# Suggested starting presets
* **QQQ:** minScore 4–5, rvThresh 1.15, Leader ON (`NQ1!`), VXN optional, act on **★★★+** only.
* **SPY:** minScore 4, rvThresh 1.15–1.25, Leader ON (`ES1!`), VIX ON, **★★★+**.
* **SPX:** minScore 5, rvThresh 1.25–1.35, Leader ON (`ES1!`), VIX ON, **★★★★+** only.
* **TSLA:** minScore 4–5, rvThresh 1.15–1.30, Leader ON (`QQQ` or `NQ1!`), **★★★+**.
---
# Routine for a “10/10” day (as close as trading gets)
1. **Pre-market:** mark PDH/PDL, pre-market high/low, overnight high/low (futures), and any daily SR boxes you trust.
2. **First 15m:** let ORB form; look for reclaim/reject + RVOL alignment; take ★★★★+ with room.
3. **Middle:** trade only if RVOL stays ≥ threshold and signal is at a level (retest).
4. **Power hour:** bias still intact? take the next ★★★★+ retest with room.
5. **Log it:** screenshot entry, R math, and whether 1R/2R printed; refine thresholds per symbol.
---
> No indicator can guarantee 10/10 winners—what this suite does is **stack edges** and make entries/exits **mechanical**. If you stick to bias + reclaim/retest + RVOL + stars + room, and manage by R, you’ll filter most of the low-odds trades and keep yourself on the strong ones.
TEWMA Supertrend - [JTCAPITAL]TEWMA Supertrend is a modified way to use Triple Exponential Weighted Moving Average inside Supertrend logic for Trend-Following
The indicator works by calculating in the following steps:
1. Calculate the Triple Exponential Moving Average with Weighted Moving Average as input.
2. Calculate the ATR over the Supertrend Length
3. Use the Triple Exponential Weighted Moving Average, and add the multiplier times the ATR for the upper limit, and subtract the multiplier times the ATR for the lower limit.
4. Define Buy and Sell conditions based on the price closing above or below the upper and lower limits.
--Buy and sell conditions--
- The buy and sell conditions are defined by the price going above/below the upper and lower limits, calculated by (TEWMA +/- multi * ATR).
- When this goes on the opposite direction of the current trend, the trend changes. If this goes in the same direction of the current trend, the line follows the price by moving up.
- When price gets closer to the limits the limits do not change. The upper limit only moves when the upper decreases, and the lower limit only moves when the lower increases.
- The ATR gets subtracted from the lows or added onto the highs to eliminate false signals in choppy markets, while enforcing fast entries and exits.
--Features and Parameters--
- Allows the usage of different sources
- Allows the changing of the length of the ATR
- Allows the changing of the length of the TEWMA
- Allows the changing of the multiplier to increase or decrease ATR usage
--Details--
This script is using TEWMA as input for the modified Supertrend. Using a TEWMA and getting a higher multiplier to the ATR is meant to decrease false signals. Which can be a problem when using a normal Supertrend. Using the TEWMA also ensures fast entries and exits from fast market moves after a calm period. Ensuring you don't stay left behind.
Be aware that lowering the multiplier for the ATR will allow for faster entries and exits but also allow for more false signals. It is recommended to change the parameters to fit your liking and to adjust to the timeframe you are working on.
Enjoy!
Weekly/Monthly Golden ATR LevelsWeekly/Monthly Golden ATR Levels
This indicator is designed to give traders a clear, rule-based framework for identifying support and resistance zones anchored to prior period ranges and the market’s own volatility. It uses the Average True Range (ATR) as a measure of how far price can realistically stretch, then projects fixed levels from the midpoint of the prior week and prior month.
Rather than “moving targets” that repaint, these levels are frozen at the start of each new week and month and stay fixed until the next period begins. This makes them reliable rails for both intraday and swing trading.
What It Plots
Weekly Midpoint (last week’s High + Low ÷ 2)
From this mid, the script projects:
Weekly +1 / −1 ATR
Weekly +2 / −2 ATR
Monthly Midpoint (last month’s High + Low ÷ 2)
From this mid, the script projects:
Monthly +1 / −1 ATR
Monthly +2 / −2 ATR
Customization
Set ATR length & timeframe (default: 14 ATR on Daily bars).
Adjust multipliers for Level 1 (±1 ATR) and Level 2 (±2 ATR).
Choose line color, style, and width separately for weekly and monthly bands.
Toggle labels on/off.
How to Use
Context at the Open
If price opens above last week’s midpoint, bias favors upside toward +1 / +2.
If price opens below the midpoint, bias favors downside toward −1 / −2.
Weekly Bands = Short-Term Rails
+1 / −1 ATR: Rotation pivots. Expect intraday reaction.
+2 / −2 ATR: Extreme stretch zones. Reversals or breakouts often occur here.
Monthly Bands = Big Picture Rails
Use these for swing positioning, or as “outer guardrails” on intraday charts.
When weekly and monthly bands cluster → high-confluence zone.
Trade Playbook
Trend Day: Hold above +1 → target +2. Break below −1 → target −2.
Range Day: Fade first test of ±2, scalp toward ±1 or midpoint.
Catalyst/News Day: Use with caution—levels provide context, not barriers.
Risk Management
Place stops just outside the band you’re trading against.
Scale profits at the next inner level (e.g., short from +2, cover partial at +1).
Runners can trail to the midpoint or opposite side.
Why It Works
ATR measures volatility—how far price tends to travel in a given period.
Anchoring to prior highs and lows captures where real supply/demand last clashed.
Combining the two gives levels that are statistically relevant, widely observed, and psychologically sticky.
Trading books from Mark Douglas (Trading in the Zone), Jared Tendler (The Mental Game of Trading), and Oliver Kell (Victory in Stock Trading) all stress the importance of having objective, repeatable reference points. These levels deliver that discipline—removing guesswork and reducing emotional trading
Ohm Horizontal line//@version=5
indicator("Ohm Horizontal line", overlay=true)
// Input parameters
atrPeriod = input.int(14, "ATR Period", minval=1)
atrMultiplier = input.float(1.0, "ATR Multiplier", step=0.1)
numLevels = input.int(10, "Number of Levels (each side)", minval=1)
lineWidth = input.int(1, "Line Width", minval=1, maxval=4)
labelOffset = input.int(20, "Label Offset", minval=0)
// Calculate daily ATR
dailyAtr = request.security(syminfo.tickerid, "D", ta.atr(atrPeriod))
// Function to get rounded price based on ATR
getRoundedPrice(price, atrValue) =>
math.round(price / (atrValue * atrMultiplier)) * (atrValue * atrMultiplier)
// Calculate center price (current close rounded to nearest ATR multiple)
centerPrice = getRoundedPrice(close, dailyAtr)
// Create arrays for price levels
var float levels = array.new_float(2 * numLevels + 1)
var float midLevels = array.new_float(2 * numLevels)
// Update price levels
updateLevels() =>
array.set(levels, numLevels, centerPrice)
for i = 1 to numLevels
upperLevel = centerPrice + i * dailyAtr * atrMultiplier
lowerLevel = centerPrice - i * dailyAtr * atrMultiplier
array.set(levels, numLevels + i, upperLevel)
array.set(levels, numLevels - i, lowerLevel)
// Calculate mid levels
if i > 1
upperMid = (array.get(levels, numLevels + i) + array.get(levels, numLevels + i - 1)) / 2
lowerMid = (array.get(levels, numLevels - i) + array.get(levels, numLevels - i + 1)) / 2
array.set(midLevels, numLevels + i - 2, upperMid)
array.set(midLevels, numLevels - i + 1, lowerMid)
// Update levels on every bar
updateLevels()
// Plot horizontal lines and price labels
var line horizontalLines = array.new_line(2 * numLevels + 1)
var line midLines = array.new_line(2 * numLevels)
var label priceLabels = array.new_label(2 * numLevels + 1)
// Function to draw or update a line
drawLine(lineArray, index, y, color, width, style) =>
if na(array.get(lineArray, index))
array.set(lineArray, index, line.new(bar_index, y, bar_index + 1, y, color=color, width=width, style=style, extend=extend.both))
else
line.set_xy1(array.get(lineArray, index), bar_index, y)
line.set_xy2(array.get(lineArray, index), bar_index + 1, y)
line.set_color(array.get(lineArray, index), color)
line.set_width(array.get(lineArray, index), width)
line.set_style(array.get(lineArray, index), style)
// Draw main levels
for i = 0 to 2 * numLevels
level = array.get(levels, i)
lineColor = i == numLevels ? color.yellow : (i > numLevels ? color.green : color.red)
drawLine(horizontalLines, i, level, lineColor, lineWidth, line.style_solid)
if na(array.get(priceLabels, i))
array.set(priceLabels, i, label.new(bar_index + labelOffset, level, str.tostring(level, format.mintick), color=color.new(color.black, 100), textcolor=lineColor, style=label.style_none, size=size.small))
else
label.set_xy(array.get(priceLabels, i), bar_index + labelOffset, level)
label.set_text(array.get(priceLabels, i), str.tostring(level, format.mintick))
label.set_textcolor(array.get(priceLabels, i), lineColor)
// Draw mid levels (without labels)
for i = 0 to 2 * numLevels - 1
midLevel = array.get(midLevels, i)
lineColor = i >= numLevels ? color.new(color.green, 50) : color.new(color.red, 50)
drawLine(midLines, i, midLevel, lineColor, 1, line.style_dashed)
// Display current ATR value
var label atrLabel = na
label.delete(atrLabel)
atrLabel := label.new(bar_index , high, text="ATR: " + str.tostring(dailyAtr, "#.##"), color=color.new(color.blue, 0), textcolor=color.white, size=size.small)
ADI TICK ExtremeZones 2This is an updated version of the TICK Extreme Zones Indicator Overlay.
What’s new in v2?
- Simplified panel: Metric | Value (cleaner layout, fast read).
- Optional TRIN row (rule of thumb: <~0.8 bullish, >~1.2 bearish).
John Carter uses TRIN (Arms Index) alongside TICK and ADD as part of his
“market internals” read. A low TRIN (<0.8) confirms strong breadth and upside
momentum when paired with positive TICK/ADD. A high TRIN (>1.2) warns of
heavy downside pressure, especially when TICK/ADD are negative. Around 1.0
is neutral/no strong tilt.
Carter also watches today’s TRIN relative to the prior day’s close:
• Opening below the prior TRIN close (esp. <1.0) = bullish breadth carryover.
• Opening above the prior TRIN close (esp. >1.2) = bearish pressure carryover.
• Reverting toward ~1.0 = balanced/choppy conditions.
Optional VOLD row (shown only during the last trading hour).
ORB Window (adjustable): opening-range band with shaded zone + dotted High/Low lines.
ORB breakout alerts on ORB High/Low (toggleable).
Table Text Size input to choose tiny/small/normal/large/huge.
All extras OFF by default; hidden rows render transparent.
ORB concept nods to John Carter’s approach: he emphasizes the first 30 minutes
of RTH (opening range) combined with internals like TICK, ADD, TRIN (with prior
close context), and VOLD to gauge market breadth and conviction before trend setups.
Panel layout (columns →, rows ↓)
Metric | TICK | ADD | TRIN* | VOLD*
Value | tick | add | trin* | vold*
*TRIN and VOLD columns are hidden unless enabled (VOLD only shows during the last trading hour)
Zones (same as v1)
+1000 (Dark Blue), +800/+600 (Light Blue) | −1000 (Red), −800/−600 (Yellow)
Quiet-zone coloring on TICK Value: > +200 green, < −200 red, else gray
Notes
- ORB times use US market hours (ET); you can set the ORB length (minutes).
- TRIN feed uses “TRIN.US” by default (adjust if necessary).
- Use the panel as a fast read on internals: TICK extremes, ADD sign/tilt, optional TRIN/VOLD.
- Pair with structure and risk management.
RiskControlRisk control.
The indicator displays lines at a distance of % from the current price specified in the parameters. This risk is taken as 100% of the volume. Additionally, the max/min of the visible part of the chart is determined. The distance from the current price to the min/max is calculated in % and the ratio of the risk specified in the parameters to the risk to the min/max is displayed in 10% increments. The indicator is calculated based on the visible part of the chart on the screen. The direction of visualization depends on the visible part of the chart: if the opening price of the first candle is > the current price, visualization is from the minimum, otherwise from the maximum.
Required parameters: risk in %.
Visualization: line offset to the left/right, line color and thickness. Additional: table of 3 cells (background, font size and color).
Auto Slope Extremes ChannelAuto Slope Extremes Channel
Expanding channel that locks onto the highest high and lowest low of the slope between A and B.
This indicator builds a dynamic channel between two anchors, A and B.
Unlike fixed-width channels, it adapts to the slope of the leg between A and B and expands until:
• The upper channel line touches the highest candle in that slope.
• The lower channel line touches the lowest candle in that slope.
This method ensures that the channel edges are defined only by the single most extreme high and the single most extreme low within the selected leg. No other candles in the range touch the edges.
A centerline is drawn midway between the two extremes, and small triangle markers highlight the exact candles that determine the upper and lower boundaries.
Features
• Anchored channel defined by two user-selected points (A and B).
• Expands to fit the highest high and lowest low of the slope between A and B.
• Optional centerline and channel fill.
• Extend lines left, right, or both.
• Customizable line widths and colours.
Destek/Direnç RSI This indicator combines WaveTrend (VMC), RSI and Stochastic RSI to provide Buy/Sell signals and divergence alerts directly on the chart.
Features:
- WaveTrend cross-based Buy/Sell signals
- Overbought/Oversold levels
- "Gold Buy" special condition
- Bullish/Bearish divergences from WT, RSI and Stoch
Works on all timeframes, repaint risk reduced. Useful for spotting support/resistance shifts and momentum reversals.
BASE - Consolidation with Fractal BreakoutsHow It Works
This indicator analyzes historical price data to find periods where the market is trading within a relatively tight range, which is a key characteristic of consolidation. Once a consolidation period is identified, it draws a channel showing the upper and lower price boundaries. The indicator then looks for a breakout, which is a significant price movement beyond these boundaries.
Fractal Breakouts: The script uses a fractal-based approach to confirm breakouts. A fractal is a specific price pattern that marks a high or low point in the market. The code identifies a breakout when the price breaks above a previous fractal high (an upward breakout) or below a previous fractal low (a downward breakout).
Visual Elements: The indicator provides several visual cues to help traders:
Consolidation Zone: It shades the area between the high and low of the consolidation period to make it visually distinct.
Boundary Lines: It draws dashed lines marking the high and low prices of the consolidation range.
Middle Line: An optional line is displayed at the 50% mark of the consolidation range.
Breakout Symbols: It places up (⬆) or down (⬇) arrow symbols on the chart to indicate the direction of a confirmed breakout.
Candle Colors: It can optionally color the price candles themselves to signal a breakout.
Alerts: The script is configured to trigger an alert when a breakout occurs, notifying the user.
Customization
The script offers several user-configurable settings to tailor its behavior, which are accessed through the indicator's settings menu:
Loopback Period: Controls the number of past bars the indicator looks at to identify price fractals.
Min Consolidation Length: Sets the minimum number of bars required to define a valid consolidation period.
Paint Consolidation Area: A toggle to show or hide the shaded consolidation zone.
Show Fractal Breakout Symbols: A toggle to show or hide the breakout symbols.
Show Middle Price Line: A toggle to show or hide the middle price line.
Color Candles on Breakout: A toggle to enable or disable coloring the candles during a breakout.
This tool is useful for traders who employ breakout strategies, as it automates the process of identifying potential entry and exit points after a period of market indecision.
Multi-Supertrend 4 IN 1 TRADING Multi-TimeframeKey Features
Four Supertrends in One: Includes four predefined settings based on a common trading system:
Fast: Very sensitive to price changes, ideal for identifying potential short-term entries.
Medium: A balanced setting that filters out some of the market noise.
Slow: Helps define the medium-term trend, ignoring minor fluctuations.
Volume Stress Level V2Volume Stress Level V2, is designed to provide a nuanced view of "RECENT" trading volume by identifying different levels of volume stress relative to a smoothed average.
Key Features:
Dynamic Volume Stress Calculation: The indicator calculates volume stress based on a Simple Moving Average (SMA) of volume and its standard deviation. The length of the SMA and the multiplier for the standard deviation are fully customizable, allowing you to adapt the indicator to different market conditions and trading styles.
Visual Volume Zones: The script visually categorizes volume into distinct zones:
Low Volume Zone: Represented by a white background, indicating periods of lower-than-average trading activity.
Normal Volume Zone: Highlighted in blue, signifying typical trading volume.
Medium Volume Zone: Displayed in yellow, denoting a moderate increase in volume.
High Volume Zone: Shown in orange, indicating significant volume spikes.
Spike Volume Zone: Marked in black, representing extreme volume events.
Customizable Background: You have the option to enable or disable the colored background fill for these volume zones, providing flexibility in how you visualize the data.
Bar Coloring: The volume bars themselves are color-coded according to the identified volume stress level, offering an immediate visual cue on your chart.
Adjustable Parameters:
VSL Length: Controls the lookback period for the SMA and standard deviation calculations.
Multiplier: Adjusts the sensitivity of the standard deviation bands, thereby influencing the width of the volume zones.
How to Use:
This indicator can be valuable for identifying potential shifts in market sentiment, confirming breakouts, or spotting periods of accumulation and distribution. By observing the transitions between volume zones, traders can gain insights into the conviction behind price movements.
ATR Histogram vs High-Low//@version=5
indicator("RSI+Price Confluence", overlay=false)
rsiSrc = input(close)
rsiLen = input.int(14)
emaRSI = input.int(9)
wmaRSI = input.int(45)
tf = input.timeframe("60")
emaF = input.int(21)
emaS = input.int(52)
// Lấy EMA và WMA của RSI HTF chỉ trong 1 lần request
ema_rsi = request.security(syminfo.tickerid, tf, ta.ema(ta.rsi(rsiSrc, rsiLen), emaRSI))
wma_rsi = request.security(syminfo.tickerid, tf, ta.wma(ta.rsi(rsiSrc, rsiLen), wmaRSI))
// Xác định lực RSI
luc_up = ema_rsi > wma_rsi
luc_down = ema_rsi < wma_rsi
// Lực giá (EMA nhanh & chậm)
gia_up = ta.ema(close, emaF) > ta.ema(close, emaS)
gia_down = ta.ema(close, emaF) < ta.ema(close, emaS)
// Tín hiệu cuối cùng
isUP = luc_up and gia_up
isDOWN = luc_down and gia_down
isNEU = not isUP and not isDOWN
// Vẽ cột tín hiệu, color= đầy đủ
plot(isUP ? 1 : na, title="UP", style=plot.style_columns, color=color.green, linewidth=6)
plot(isDOWN ? -1 : na, title="DOWN", style=plot.style_columns, color=color.red, linewidth=6)
plot(isNEU ? 0 : na, title="NEU", style=plot.style_columns, color=color.yellow, linewidth=6)
// Đường zero
hline(0, "", color=color.gray, linestyle=hline.style_dotted)
Hunt+FVG+AlertA gift to my best friend Sina creator of Solar.
This indicator is designed to mark previous day high and low and to give alert when these lines are hunted and bullish or bearish FVGs are created.
Trend Analyzer v0.6Trend Analyzer EMA Only v0.6
Simple yet powerful EMA trend analysis with multi-timeframe support!
Overview:
This comprehensive indicator focuses on EMA-based trend analysis with clean visual presentation. It provides clear BUY/SELL signals, trend tracking with unique IDs, peak detection, and multi-timeframe analysis across M15, M30, and H1 timeframes.
Key Features:
✅ EMA Trend Analysis - Fast and Slow EMA crossover signals
✅ Trend Tracking - Unique trend IDs with start/end markers
✅ Peak Detection - Automatic peak identification during trends
✅ Multi-Timeframe - Analysis across M15, M30, and H1 timeframes
✅ Visual Clarity - Dotted lines connecting labels to candles
✅ Statistics - BUY/SELL count and average trend length
How It Works:
The indicator calculates signal strength using weighted analysis:
• MACD (50%) - Primary trend momentum
• RSI (30%) - Overbought/oversold conditions
• Volume (20%) - Volume confirmation
Signal Logic:
• BUY - Fast EMA crosses above Slow EMA + both slopes positive
• SELL - Fast EMA crosses below Slow EMA + both slopes negative
• NEUTRAL - EMAs too close (below threshold)
Visual Elements:
• 🟢 BUY - Green label with trend ID
• 🔴 SELL - Red label with trend ID
• ⚪ NEUTRAL - Gray label with trend ID
• 🟡 PEAK - Yellow label marking trend extremes
• ⚫ END - Gray label marking trend end
Information Table:
Real-time display showing:
• Current Timeframe trend state
• Multi-Timeframe analysis (M15, M30, H1)
• PEAK Labels status
• Offset Type configuration
• Trend Strength percentage
• Statistics (BUY/SELL count, average trend length)
Settings:
• Fast EMA Length - 9 (default)
• Slow EMA Length - 21 (default)
• Min Trend Bars - 3 (filters short trends)
• Label Offset Type - ATR, % of price, or Dynamic
• Show PEAK Labels - On/Off toggle
Best Practices:
🎯 Works best in trending markets
📊 Use as overlay on main chart
⚡ Combine with price action analysis
🛡️ Always use proper risk management
Pro Tips:
• Green background = Strong uptrend, Red background = Strong downtrend
• Watch for trend change arrows for early reversal signals
• Use the information table for quick market assessment
• Monitor trend statistics for market behavior insights
Alerts:
• BUY Alert - "BUY signal detected"
• SELL Alert - "SELL signal detected"
Version 0.6 Improvements:
• Optimized performance
• Enhanced visual clarity
• Improved multi-timeframe analysis
• Refined trend detection algorithms
Created with ❤️ for the trading community
This indicator is free to use for both commercial and non-commercial purposes.
trade buy-sell sushantThis indicator generates Buy and Sell signals based on a simple two-bar pattern comparison. It checks whether the last two candles have the same directional bias (bullish or bearish) and then confirms momentum by comparing the current and previous closes.
CHOCH & BOS with EMA200 with long and short signalsCHOCH & BOS with EMA200 when we have internal bos we have long or short signal
S76 - Multi-Indicator ComboThis custom indicator combines five powerful technical analysis tools into a single script to help you identify strong buy signals during upward price movements. It’s designed for use in both spot trading and stock markets.
1. Momentum
Calculated as the difference between the current price and the price from 14 periods ago.
A positive value indicates upward momentum — the price is gaining strength.
2. Moving Average (MA)
A 50-period Simple Moving Average (SMA).
If the price is above the MA, it suggests an uptrend is in place.
3. RSI (Relative Strength Index)
Measures whether the asset is overbought or oversold.
A value below 70 means the asset is not yet overbought — leaving room for further growth.
4. MACD
Based on the difference between two EMAs (12 and 26), plus a signal line (9-period EMA of MACD).
If MACD is above the signal line, it confirms bullish momentum.
5. Bollinger Bands
Shows volatility and potential breakout zones.
If the price breaks above the upper band, it may signal a strong upward move.
✅ Buy Signal Logic
The indicator plots a green marker below the candle when all of the following conditions are met:
Momentum > 0
Price > MA
RSI < 70
MACD > Signal Line
Price > Upper Bollinger Band
This combination suggests the price is rising with strength, in a confirmed trend, not yet overbought, and supported by volatility — a prime entry point.
📌 How to Use It
On TradingView: Add the indicator to your chart and watch for green markers as potential buy signals.
For spot and stock trading: Use it to time entries into assets like stocks, ETFs, or cryptocurrencies.
Customization: You can adjust the lengths of MA, RSI, and other components to match your trading style.
Reverse RSI [R] – Predictive RSI Price LevelsReverse RSI – Predictive RSI Price Levels
Description
This indicator is a modified and enhanced version of the original "Reverse RSI" by Franklin Moormann (cheatcountry), published under the MIT License. It estimates the price levels at which the RSI would reach specific thresholds, typically RSI = 30 (oversold) and RSI = 70 (overbought), based on current market conditions.
Key Features
Calculates price levels corresponding to RSI = 30 and RSI = 70
Helps forecast potential support and resistance zones based on RSI targets
Automatically updates with each new candle
Supports custom RSI length and price source (close, hl2, ohlc4, etc.)
Designed for traders who want to anticipate momentum extremes before they occur
Use Cases
Estimate how far the price must move to reach RSI oversold or overbought levels
Plan limit entries or exits based on projected RSI thresholds
Combine with standard RSI or other indicators for confirmation and analysis
Credits
This script is based on the original "Reverse RSI" by Franklin Moormann (cheatcountry) and released under the MIT License.
Modified and maintained by bitcoinrb.