Swing S/R Bounce ScreenerStep 1: Identify Swing Highs & Lows on 1 minute timeframe
- price bars that stand out from the 5 bars on each side (left and right). A swing high is a bar whose high is higher than the 5 bars before and after it. A swing low is a bar whose low is lower than the 5 bars before and after it.
Step 2: Draw Horizontal Lines
When a swing high/low is identified, the scanner draws a horizontal line from that point extending to the right of the chart.
Step 3: Monitor Price Returns
The scanner continuously watches for price to return to these horizontal lines. When price approaches and touches the line:
* Resistance: Price touches from below and closes below the line
* Support: Price touches from above and closes above the line
חפש סקריפטים עבור "chart"
HH/HL/LH/LLThe script works by detecting swing highs and swing lows with a simple pivot function (ta.pivothigh / ta.pivotlow) using a fixed 2-bar lookback and confirmation window. Each new pivot is compared against the previous confirmed pivot of the same type:
If a swing high is greater than the last swing high → it is labelled HH.
If a swing high is lower than the last swing high → it is labelled LH.
If a swing low is greater than the last swing low → it is labelled HL.
If a swing low is lower than the last swing low → it is labelled LL.
To keep the chart clean and readable, the indicator:
Plots only the two-letter labels (HH, HL, LH, LL) with no background box.
Uses red text for highs and green text for lows.
Places labels directly at the pivot bar (with the necessary confirmation offset).
Keeps labels small (size.tiny) to avoid clutter.
Opening Range IndicatorComplete Trading Guide: Opening Range Breakout Strategy
What Are Opening Ranges?
Opening ranges capture the high and low prices during the first few minutes of market open. These levels often act as key support and resistance throughout the trading day because:
Heavy volume occurs at market open as overnight orders execute
Institutional activity is concentrated during opening minutes
Price discovery happens as market participants react to overnight news
Psychological levels are established that traders watch all day
Understanding the Three Timeframes
OR5 (5-Minute Range: 9:30-9:35 AM)
Most sensitive - captures immediate market reaction
Quick signals but higher false breakout rate
Best for scalping and momentum trading
Use for early entry when conviction is high
OR15 (15-Minute Range: 9:30-9:45 AM)
Balanced approach - most popular among day traders
Moderate sensitivity with better reliability
Good for swing trades lasting several hours
Primary timeframe for most strategies
OR30 (30-Minute Range: 9:30-10:00 AM)
Most reliable but slower signals
Lower false breakout rate
Best for position trades and trend following
Use when looking for major moves
Core Trading Strategies
Strategy 1: Basic Breakout
Setup:
Wait for price to break above OR15 high or below OR15 low
Enter on the breakout candle close
Stop loss: Opposite side of the range
Target: 2-3x the range size
Example:
OR15 range: $100.00 - $102.00 (Range = $2.00)
Long entry: Break above $102.00
Stop loss: $99.50 (below OR15 low)
Target: $104.00+ (2x range size)
Strategy 2: Multiple Confirmation
Setup:
Wait for OR5 break first (early signal)
Confirm with OR15 break in same direction
Enter on OR15 confirmation
Stop: Below OR30 if available, or OR15 opposite level
Why it works:
Multiple timeframe confirmation reduces false signals and increases probability of sustained moves.
Strategy 3: Failed Breakout Reversal
Setup:
Price breaks OR15 level but fails to hold
Wait for re-entry into the range
Enter reversal trade toward opposite OR level
Stop: Recent breakout high/low
Target: Opposite side of range + extension
Key insight: Failed breakouts often lead to strong moves in the opposite direction.
Advanced Techniques
Range Quality Assessment
High-Quality Ranges (Trade these):
Range size: 0.5% - 2% of stock price
Clean boundaries (not choppy)
Volume spike during range formation
Clear rejection at range levels
Low-Quality Ranges (Avoid these):
Very narrow ranges (<0.3% of stock price)
Extremely wide ranges (>3% of stock price)
Choppy, overlapping candles
Low volume during formation
Volume Confirmation
For Breakouts:
Look for volume spike (2x+ average) on breakout
Declining volume often signals false breakout
Rising volume during range formation shows interest
Market Context Filters
Best Conditions:
Trending market days (SPY/QQQ with clear direction)
Earnings reactions or news-driven moves
High-volume stocks with good liquidity
Volatility above average (VIX considerations)
Avoid Trading When:
Extremely low volume days
Major economic announcements pending
Holidays or half-days
Choppy, sideways market conditions
Risk Management Rules
Position Sizing
Conservative: Risk 0.5% of account per trade
Moderate: Risk 1% of account per trade
Aggressive: Risk 2% maximum per trade
Stop Loss Placement
Inside the range: Quick exit but higher stop-out rate
Outside opposite level: More room but larger risk
ATR-based: 1.5-2x Average True Range below entry
Profit Taking
Target 1: 1x range size (take 50% off)
Target 2: 2x range size (take 25% off)
Runner: Trail remaining 25% with moving stops
Specific Entry Techniques
Breakout Entry Methods
Method 1: Immediate Entry
Enter as soon as price closes above/below range
Fastest entry but highest false signal rate
Best for strong momentum situations
Method 2: Pullback Entry
Wait for breakout, then pullback to range level
Enter when price bounces off former resistance/support
Better risk/reward but may miss some moves
Method 3: Volume Confirmation
Wait for breakout + volume spike
Enter after volume confirmation candle
Reduces false signals significantly
Multiple Timeframe Entries
Aggressive: OR5 break → immediate entry
Conservative: OR5 + OR15 + OR30 all align → enter
Balanced: OR15 break with OR30 support → enter
Common Mistakes to Avoid
1. Trading Poor-Quality Ranges
❌ Don't trade ranges that are too narrow or too wide
✅ Focus on clean, well-defined ranges with good volume
2. Ignoring Volume
❌ Don't chase breakouts without volume confirmation
✅ Always check for volume spike on breakouts
3. Over-Trading
❌ Don't force trades when ranges are unclear
✅ Wait for high-probability setups only
4. Poor Risk Management
❌ Don't risk more than planned or use tight stops in volatile conditions
✅ Stick to predetermined risk levels
5. Fighting the Trend
❌ Don't fade breakouts in strongly trending markets
✅ Align trades with overall market direction
Daily Trading Routine
Pre-Market (8:00-9:30 AM)
Check overnight news and earnings
Review major indices (SPY, QQQ, IWM)
Identify potential opening range candidates
Set alerts for range breakouts
Market Open (9:30-10:00 AM)
Watch opening range formation
Note volume and price action quality
Mark key levels on charts
Prepare for breakout signals
Trading Session (10:00 AM - 4:00 PM)
Execute breakout strategies
Manage existing positions
Trail stops as profits develop
Look for additional setups
Post-Market Review
Analyze winning and losing trades
Review range quality vs. outcomes
Identify improvement areas
Prepare for next session
Best Stocks/ETFs for Opening Range Trading
Large Cap Stocks (Best for beginners):
AAPL, MSFT, GOOGL, AMZN, TSLA
High liquidity, predictable behavior
Good range formation most days
ETFs (Consistent patterns):
SPY, QQQ, IWM, XLF, XLE
Excellent liquidity
Clear range boundaries
Mid-Cap Growth (Advanced traders):
Stocks with good volume (1M+ shares daily)
Recent news catalysts
Clean technical patterns
Performance Optimization
Track These Metrics:
Win rate by range type (OR5 vs OR15 vs OR30)
Average R/R (risk vs reward ratio)
Best performing market conditions
Time of day performance
Continuous Improvement:
Keep detailed trade journal
Review failed breakouts for patterns
Adjust position sizing based on win rate
Refine entry timing based on backtesting
Final Tips for Success
Start small - Paper trade or use tiny positions initially
Focus on quality - Better to miss trades than take bad ones
Stay disciplined - Stick to your rules even during losing streaks
Adapt to conditions - What works in trending markets may fail in choppy conditions
Keep learning - Markets evolve, so should your approach
The opening range strategy is powerful because it captures natural market behavior, but like all strategies, it requires practice, discipline, and proper risk management to be profitable long-term.
Strong BUY/SELL with BB + RSI + MACD (with alerts)alertcondition() doesn’t fire alerts by itself — it enables the alert in TradingView’s alert menu.
Once you add this script to a chart, you can go to Alerts → Create Alert → Condition → (your script name).
You’ll see BUY Signal and SELL Signal in the dropdown.
You can then choose notification type: popup, email, SMS, app push, or webhook (for bots)
Strong BUY/SELL with BB + RSI + MACD (with alerts)alertcondition() doesn’t fire alerts by itself — it enables the alert in TradingView’s alert menu.
Once you add this script to a chart, you can go to Alerts → Create Alert → Condition → (your script name).
You’ll see BUY Signal and SELL Signal in the dropdown.
You can then choose notification type: popup, email, SMS, app push, or webhook (for bots)
Strong BUY/SELL with BB + RSI + MACDGreen BUY arrows only if score ≥ +2 and confirmed
Red SELL arrows only if score ≤ -2 and confirmed
Background shading for trend phases
Strength meter below chart for confirmation
BB + RSI + MACD + Volume Filter SignalsPlots Bollinger Bands (upper, median, lower).
Confirms buy/sell signals only when all rules match:
Bollinger Band touch
RSI oversold/overbought
MACD crossover
Closes on the correct side of the median band
Volume above average
Labels BUY/SELL on chart.
ninu3q merged//@version=6
indicator("Ultimate Trend + Momentum + Volume Pro (merged)", overlay=true,
max_boxes_count=700, max_lines_count=300, max_labels_count=300)
// -----------------------------
// 1) EMA Trend + VWAP Layer (combined)
// -----------------------------
ema200 = ta.ema(close, 200)
ema50 = ta.ema(close, 50)
vwap = ta.vwap
ema200Plot = plot(ema200, "EMA 200", color=color.red, linewidth=2, style=plot.style_line)
ema50Plot = plot(ema50, "EMA 50", color=color.teal, linewidth=1, style=plot.style_line)
vwapPlot = plot(vwap, "VWAP", color=color.orange, linewidth=1, style=plot.style_line)
// Trick: combine them into a group so TradingView counts less
plot(na) // placeholder, only one is really required
// -----------------------------
// 2) UT Bot Alerts
// -----------------------------
utAtrPeriod = input.int(10, "UT ATR Period")
utAtrMultiplier = input.float(2.0, "UT ATR Multiplier")
utAtr = ta.atr(utAtrPeriod)
utUpper = close + utAtrMultiplier * utAtr
utLower = close - utAtrMultiplier * utAtr
utBuy = ta.crossover(close, utUpper)
utSell = ta.crossunder(close, utLower)
plotshape(utBuy, "UT Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(utSell, "UT Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// -----------------------------
// 3) Volume Profile (anchored to last N bars)
// -----------------------------
barsBack = input.int(150, "Bars Back", minval=1, maxval=5000)
cols = input.int(35, "Columns", minval=5, maxval=200)
vaPct = input.float(70.0, "Value Area %", minval=40.0, maxval=99.0)
histWidth = input.int(24, "Histogram Width (bars)", minval=6, maxval=200)
direction = input.string("Into chart (left)", "Histogram Direction", options= )
// Block/line styles
blockFillColor = input.color(#B0B0B0, "Volume Block Fill Color")
blockFillOpacity = input.int(70, "Volume Block Fill Opacity %", minval=0, maxval=100)
blockBorderColor = input.color(#000000, "Volume Block Border Color")
blockBorderOpacity = input.int(0, "Volume Block Border Opacity %", minval=0, maxval=100)
showPOC = input.bool(true, "Show POC Line")
pocColor = input.color(#FF0000, "POC Color")
pocWidth = input.int(2, "POC Width", minval=1, maxval=6)
showVA = input.bool(false, "Show VAH/VAL Lines")
vaColor = input.color(#FFA500, "VA Color")
vaWidth = input.int(1, "VA Width", minval=1, maxval=6)
showVWAP = input.bool(false, "Show AVWAP Line")
vwapColor = input.color(#0000FF, "AVWAP Color")
vwapWidth = input.int(1, "AVWAP Width", minval=1, maxval=6)
showLabels = input.bool(false, "Show Line Labels")
priceForBin = hlcc4
// Draw registries
var boxesArr = array.new_box()
var linesArr = array.new_line()
var labelsArr = array.new_label()
f_wipe() =>
while array.size(boxesArr) > 0
box.delete(array.pop(boxesArr))
while array.size(linesArr) > 0
line.delete(array.pop(linesArr))
while array.size(labelsArr) > 0
label.delete(array.pop(labelsArr))
if barstate.islast
f_wipe()
eff = math.min(barsBack, bar_index + 1)
if eff > 1
float pMin = na
float pMax = na
float pvSum = 0.0
float vSum = 0.0
for look = 0 to eff - 1
lo = low
hi = high
pMin := na(pMin) ? lo : math.min(pMin, lo)
pMax := na(pMax) ? hi : math.max(pMax, hi)
pvSum += priceForBin * volume
vSum += volume
anchoredVWAP = vSum > 0 ? pvSum / vSum : na
if not na(pMin) and not na(pMax) and pMax > pMin
step = (pMax - pMin) / cols
step := step == 0.0 ? syminfo.mintick : step
var vols = array.new_float()
var lows = array.new_float()
var highs = array.new_float()
array.clear(vols), array.clear(lows), array.clear(highs)
for i = 0 to cols - 1
array.push(vols, 0.0)
lo = pMin + i * step
hi = lo + step
array.push(lows, lo)
array.push(highs, hi)
for look = 0 to eff - 1
pr = priceForBin
vol = volume
idx = int(math.floor((pr - pMin) / step))
idx := idx < 0 ? 0 : idx > cols - 1 ? cols - 1 : idx
array.set(vols, idx, array.get(vols, idx) + vol)
pocIdx = 0
pocVol = 0.0
totalVol = 0.0
for i = 0 to cols - 1
v = array.get(vols, i)
totalVol += v
if v > pocVol
pocVol := v
pocIdx := i
targetVol = totalVol * (vaPct / 100.0)
left = pocIdx
right = pocIdx
cumVA = array.get(vols, pocIdx)
while cumVA < targetVol and (left > 0 or right < cols - 1)
vLeft = left > 0 ? array.get(vols, left - 1) : -1.0
vRight = right < cols - 1 ? array.get(vols, right + 1) : -1.0
if vRight > vLeft
right += 1
cumVA += array.get(vols, right)
else if vLeft >= 0
left -= 1
cumVA += array.get(vols, left)
else
break
VAH = array.get(highs, right)
VAL = array.get(lows, left)
profileStart = bar_index - (eff - 1)
rightStart = bar_index + 1
rightEnd = bar_index + 1 + histWidth
intoChart = direction == "Into chart (left)"
for i = 0 to cols - 1
v = array.get(vols, i)
len = pocVol > 0 ? (v / pocVol) : 0.0
px = int(math.round(len * histWidth))
x1 = intoChart ? (rightEnd - px) : rightStart
x2 = intoChart ? rightEnd : (rightStart + px)
y1 = array.get(lows, i)
y2 = array.get(highs, i)
b = box.new(x1, y2, x2, y1, xloc=xloc.bar_index, border_color=color.new(blockBorderColor, blockBorderOpacity))
box.set_bgcolor(b, color.new(blockFillColor, 100 - blockFillOpacity))
array.push(boxesArr, b)
if showPOC
pocPrice = (array.get(lows, pocIdx) + array.get(highs, pocIdx)) / 2.0
lnPOC = line.new(profileStart, pocPrice, rightEnd, pocPrice, xloc=xloc.bar_index, extend=extend.right, color=pocColor, width=pocWidth)
array.push(linesArr, lnPOC)
if showLabels
lbPOC = label.new(rightEnd, pocPrice, "POC", xloc=xloc.bar_index, style=label.style_label_right, textcolor=color.white, color=pocColor)
array.push(labelsArr, lbPOC)
if showVA
lnVAL = line.new(profileStart, VAL, rightEnd, VAL, xloc=xloc.bar_index, extend=extend.right, color=vaColor, width=vaWidth)
lnVAH = line.new(profileStart, VAH, rightEnd, VAH, xloc=xloc.bar_index, extend=extend.right, color=vaColor, width=vaWidth)
array.push(linesArr, lnVAL)
array.push(linesArr, lnVAH)
if showLabels
lbVAH = label.new(rightEnd, VAH, "VAH", xloc=xloc.bar_index, style=label.style_label_right, textcolor=color.white, color=vaColor)
lbVAL = label.new(rightEnd, VAL, "VAL", xloc=xloc.bar_index, style=label.style_label_right, textcolor=color.white, color=vaColor)
array.push(labelsArr, lbVAH)
array.push(labelsArr, lbVAL)
if showVWAP and not na(anchoredVWAP)
lnVW = line.new(profileStart, anchoredVWAP, rightEnd, anchoredVWAP, xloc=xloc.bar_index, extend=extend.right, color=vwapColor, width=vwapWidth)
array.push(linesArr, lnVW)
if showLabels
lbVW = label.new(rightEnd, anchoredVWAP, "AVWAP", xloc=xloc.bar_index, style=label.style_label_right, textcolor=color.white, color=vwapColor)
array.push(labelsArr, lbVW)
// placeholder plot
plot(na)
Day Trader Trend & Triggers + Mini-Meter — v6**Day Trader Trend & Triggers — Intraday**
A fast, intraday trend and entry tool designed for **1m–15m charts**. It identifies **strong up/down trends** using:
* **MA ribbon:** EMA9 > EMA21 > EMA50 (or inverse) for directional bias.
* **Momentum:** RSI(50-line) and MACD histogram flips.
* **Volume & VWAP:** only confirms when volume expands above SMA(20) and price is above/below VWAP.
* **Higher-TF bias filter (optional):** e.g., align 1m/5m signals with the 15m trend.
When all align, the background highlights and the mini-meter shows UP/DOWN.
It also plots **entries**:
* **Pullbacks** to EMA21/EMA50 with a MACD re-cross,
* **Breakouts** of recent highs/lows on strong volume.
Built-in **alerts** for trend flips, pullbacks, and breakouts let you trade hands-off.
Best used on **5m for active day trades**, with 1m/3m for scalping and 15m for cleaner intraday swings.
Day Trader Trend & Triggers — v6**Day Trader Trend & Triggers — Intraday**
A fast, intraday trend and entry tool designed for **1m–15m charts**. It identifies **strong up/down trends** using:
* **MA ribbon:** EMA9 > EMA21 > EMA50 (or inverse) for directional bias.
* **Momentum:** RSI(50-line) and MACD histogram flips.
* **Volume & VWAP:** only confirms when volume expands above SMA(20) and price is above/below VWAP.
* **Higher-TF bias filter (optional):** e.g., align 1m/5m signals with the 15m trend.
When all align, the background highlights and the mini-meter shows UP/DOWN.
It also plots **entries**:
* **Pullbacks** to EMA21/EMA50 with a MACD re-cross,
* **Breakouts** of recent highs/lows on strong volume.
Built-in **alerts** for trend flips, pullbacks, and breakouts let you trade hands-off.
Best used on **5m for active day trades**, with 1m/3m for scalping and 15m for cleaner intraday swings.
Strong Trend Suite — Clean v6A clean, rules-based trend tool for swing traders. It identifies strong up/down trends by syncing five pillars:
Trend structure: price above/below a MA stack (EMA20 > SMA50 > EMA200 for up; inverse for down).
Momentum: RSI (50 line) and MACD (line > signal and side of zero).
Trend strength: ADX above a threshold and rising.
Volume confirmation: OBV vs its short MA (accumulation/distribution).
Optional higher-TF bias: weekly filter to avoid fighting bigger flows.
When all align, the background tints and the mini-meter flips green/red (UP/DOWN).
It also marks entry cues: pullbacks to EMA20/SMA50 with a MACD re-cross, or breakouts of recent highs/lows on volume.
Built-in alerts for strong trend, pullback, and breakout keep you hands-off; use “Once per bar close” on the Daily chart for best signal quality.
JFC 21:52JFC 21:52 — Brief Description
Concept: Pure time/price rule, no indicators.
Reference: Close at 21:20 (chart/exchange timezone).
Entry (21:52):
– LONG if price is below the 21:20 close.
– SHORT if price is above the 21:20 close.
– Equal → no trade.
Exit: Force close at 22:13.
Frequency: Max one trade per day.
Note: Use 1-minute resolution and the correct chart timezone; market must be trading at those times.
EMA + VWMA + ATR Smoothed BuySell (merged) - TOM ZENG 202509Logic and Functionality Analysis
The script is divided into three main logical sections: EMA trend analysis, ATR-based signal generation, and VWMA smoothing.
1. EMA Trend Analysis (EMA Fan) 📈
This section uses a series of Exponential Moving Averages (EMAs) to identify trends. You've wisely chosen a set of EMA lengths (8, 21, 50, 200) that are commonly used in trading. These numbers are often derived from the Fibonacci sequence and are believed to offer a good balance of sensitivity to recent price action while still reflecting the underlying trend.
Purpose: The EMAs serve as dynamic support and resistance levels. When the price is above the EMAs and they are fanned out in ascending order (short-term EMA above long-term EMA), it indicates a strong uptrend. Conversely, a descending order indicates a downtrend.
Customization: The code allows you to easily adjust the EMA lengths in the inputs section, giving you control over the sensitivity of your trend analysis.
2. ATR Trailing Stop (Buy/Sell Signals) 🎯
This is the core of the indicator's signal-generating capability. It uses the Average True Range (ATR) to create a dynamic trailing stop line. The ATR measures volatility, so the stop line adjusts automatically to wider price swings.
Logic: The script uses a var float variable xATRTrailingStop to store the value of the stop line from the previous bar. The code then determines the current bar's stop line by comparing the current price to the previous bar's stop line and using math.max and math.min to smoothly move the line along with the trend.
Signal Generation: The pos variable tracks whether the trend is long (pos = 1) or short (pos = -1). The isLong and isShort variables act as a state machine, ensuring that the "Buy" and "Sell" signals are only triggered once at the exact point of a crossover, rather than on every subsequent bar.
Visuals & Alerts: The plotshape functions create labels directly on the chart, and the barcolor function changes the color of the candlesticks, providing a clear visual representation of the current trend state. The alertcondition functions are crucial for automation, allowing you to set up notifications for when a signal occurs.
3. VWMA and Combined Average 🌊
This section introduces a Volume-Weighted Moving Average (VWMA), which gives more weight to periods of high trading volume. This makes the VWMA more responsive to significant moves that are backed by strong institutional buying or selling.
Combined Logic: The avg1 variable creates a new line by averaging the VWMA and the xATRTrailingStop line. This is an innovative approach to blend two different types of analysis—volume-based trend and volatility-based risk management—into a single, smoothed line. It can act as an additional filter or a unique trading signal on its own.
Summary
Your code is a very effective and clean example of a multi-faceted indicator. It correctly implements a robust ATR trailing stop for signals while also providing valuable trend context through EMAs and volume analysis through VWMA. The combination of these elements makes it a powerful tool for a trader looking for a comprehensive view of the market.
童貞2_MACDUp and down arrows will appear to let you know which way to place it. It is important to be able to analyze the chart before using this indicator. We recommend using our homemade MACD at 15 minutes.
Classic RSI/MACD Overlay (Normalized)i tried to put macd and rsi on price chart, i am sure it will help traders in many ways to visualize exactly what is going to happen next moment.
20 EMA Slope ConfirmationWhat This Script Does:
- Calculates the current 20 EMA.
- Computes the average of the previous 20 EMAs, excluding today.
- Flags when today’s EMA is greater than the average → bullish slope.
- Highlights the chart background and adds a triangle for visual cue.
Price Action [BreakOut] InternalKey Features and Functionality
Support & Resistance (S/R): The script automatically identifies and draws support and resistance lines based on a user-defined "swing period." These lines are drawn from recent pivot points, and users can customize their appearance, including color, line style (solid, dashed, dotted), and extension (left, right, or both). The indicator can also display the exact price of each S/R level.
Trendlines: It draws trendlines connecting pivot highs and pivot lows. This feature helps visualize the current trend direction. Users can choose to show only the newest trendlines, customize their length and style, and select the source for the pivot points (e.g., candle close or high/low shadow).
Price Action Pivots: This is a core component that identifies and labels different types of pivots based on price action: Higher Highs (HH), Lower Highs (LH), Higher Lows (HL), and Lower Lows (LL). These pivots are crucial for understanding market structure and identifying potential trend changes. The script marks these pivots with shapes and can display their price values.
Fractal Breakouts: The script identifies and signals "fractal breakouts" and "breakdowns" when the price closes above a recent high pivot or below a recent low pivot, respectively. These signals are visually represented with up (⬆) and down (⬇) arrow symbols on the chart.
Customization and Alerts: The indicator is highly customizable. You can toggle on/off various features (S/R, trendlines, pivots, etc.), adjust colors, line styles, and text sizes. It also includes an extensive list of alert conditions, allowing traders to receive notifications for:
Price Crossovers: When the close price crosses over or under a support or resistance level.
Trendline Breaks: When the price breaks above an upper trendline or below a lower trendline.
Fractal Breaks: When a fractal breakout or breakdown occurs.
STRAT 3-2-2 (30m) • Upcoming / Approach / Entry + AlertsThis indicator is built for The STRAT trading method, specifically the 3-2-2 reversal pattern. It monitors price action on the 30-minute timeframe (HTF = 30m) and visually/alert-wise highlights where a 3-2-2 setup, approach, or entry trigger occurs.
---
⚙️ How it works
1. Detects bar types:
3 (Outside Bar) = range breaks both high & low of the previous bar
2u (Up bar) = higher high, not outside
2d (Down bar) = lower low, not outside
1 (Inside bar) = fully contained within prior bar
2. Looks for 3-2-2 setups:
Bullish 3-2-2 = 3 → 2d → 2u (expect reversal UP)
Bearish 3-2-2 = 3 → 2u → 2d (expect reversal DOWN)
3. Defines trigger levels:
Bullish trigger = high of the first “2d” bar
Bearish trigger = low of the first “2u” bar
4. Signals 3 phases:
Upcoming: pattern is forming, second “2” hasn’t triggered yet
Approach: price comes within 50% (adjustable) of the trigger level
Entry: price breaks the trigger (actual reversal confirmation)
5. Visualization:
Labels above/below candles show “Approach” and “Entry”
Background or bar colors (toggle in settings) highlight Setup / Approach / Entry
Optional dotted line marks the trigger level for clarity
---
🔔 Alerts
Two alert systems are built in:
1. Safe static conditions (for normal TradingView alert setup):
APPROACH: Bullish 3-2-2 (30m)
APPROACH: Bearish 3-2-2 (30m)
ENTRY: Bullish 3-2-2 (30m)
ENTRY: Bearish 3-2-2 (30m)
2. Dynamic messages (using alert() calls with price info):
If you create an alert with “Any alert() function call”, the pop-up will include the trigger price.
---
📋 Inputs (Settings)
Signal timeframe (HTF) → default 30m
Confirm signals at HTF bar close → waits for bar close (non-repainting)
Approach = % of first '2' bar range → default 50%
Show labels → On/Off
Color candles instead of background → toggle between candle color vs. chart background
HTF HV Lines + Exceptional + Nearest Breakout (core only)Non-repainting breakout tool that maps high-volume (HV) levels from a higher timeframe (Daily by default) onto any intraday chart. It detects new HV bars only when the higher-timeframe candle closes, then draws persistent horizontal lines at that bar’s high and low. Optionally color “exceptional” volume events. On the trading timeframe, the script watches the nearest HV line and flags breakouts using OHLC quality checks: ATR-scaled close distance, minimum real body, and small opposite wick. Inputs let you cap stored events, tune strictness, ignore stale lines, and manage visual style easily.
XAUUSD Buy/Sell Alerts with SL & TPThis custom TradingView indicator identifies high-probability buy and sell signals on XAUUSD using EMA crossovers combined with RSI confirmation. Designed for precision entries, it automatically calculates optimal Stop Loss (SL) and Take Profit (TP) levels based on user-defined pip distances.
Key Features:
Fast and Slow EMA crossover for trend direction
RSI filter for momentum confirmation
Dynamic SL and TP levels to manage risk and reward
Visual buy/sell signals plotted on chart
Real-time alerts with detailed messages including entry price, SL, and TP
Suitable for multiple timeframes and trading styles
Perfect for traders seeking clear signals with built-in risk management for scalping or swing trading XAUUSD.
NY Open 15-Minute Range - Current Day OnlyV1.0
This script shows the NY opening range for the first 15 min overlayed on the chart. This is only for the current day.
Three-Step 9:30 Range Scalping# Three-Step 9:30 Range Scalping Strategy Rules
## Step 1: Mark the Levels (9:30 AM)
- Wait for the **first 5-minute candle** starting at 9:30 AM EST to close
- Mark the **HIGH** and **LOW** of this candle
- Switch to **1-minute chart** for trading
## Step 2: Find Your Entry (Trade for 1 hour only: 9:30-10:30 AM)
### BREAK Entry
- Need: **Fair Value Gap (FVG)** + **ANY** of the 3 FVG candles closes outside the range
- FVG = Gap between candle wicks (3-candle pattern)
### TRAP Entry
- Need: Break outside range → Retest back inside → Close back outside again
### REVERSAL Entry
- Need: Failed break in one direction → Opposite FVG back into the range
## Step 3: Trade Management
### Stop Loss:
- **Break/Trap**: Low/High of first candle that closed outside the range
- **Reversal**: Low/High of first candle in the FVG pattern
### Take Profit:
- **Always 2:1 risk-to-reward ratio**
- If you risk $100, you make $200
## Key Rules:
- ✅ **Body close** outside range (not just wicks)
- ✅ Trade on **1-minute chart** only
- ✅ Only trade **first hour** (9:30-10:30 AM EST)
- ✅ **Fixed 2:1** take profit every time
- ✅ One strategy, stay consistent
**That's it. No complicated indicators, no higher timeframe bias, no guesswork.**