Squeeze Weekday Frequency [CHE] Squeeze Weekday Frequency — Tracks historical frequency of low-volatility squeezes by weekday to inform timing of low-risk setups.
Summary
This indicator monitors periods of unusually low volatility, defined as when the average true range falls below a percentile threshold, and tallies their occurrences across each weekday. By aggregating these counts over the chart's history, it reveals patterns in squeeze frequency, helping traders avoid or target specific days for reduced noise. The approach uses persistent counters to ensure accurate daily tallies without duplicates, providing a robust view of weekday biases in volatility regimes.
Motivation: Why this design?
Traders often face inconsistent signal quality due to varying volatility patterns tied to the trading calendar, such as quieter mid-week sessions or busier Mondays. This indicator addresses that by binning low-volatility events into weekday buckets, allowing users to spot recurring low-activity days where trends may develop with less whipsaw. It focuses on historical aggregation rather than real-time alerts, emphasizing pattern recognition over prediction.
What’s different vs. standard approaches?
- Reference baseline: Traditional volatility trackers like simple moving averages of range or standalone Bollinger Band squeezes, which ignore temporal distribution.
- Architecture differences:
- Employs array-based persistent counters for each weekday to accumulate events without recounting.
- Includes duplicate prevention via day-key tracking to handle sparse data.
- Features on-demand sorting and conditional display modes for focused insights.
- Practical effect: Charts show a persistent table of ranked weekdays instead of transient plots, making it easier to glance at biases like higher squeezes on Fridays, which reduces the need for manual logging and highlights calendar-driven edges.
How it works (technical)
The indicator first computes the average true range over a specified lookback period to gauge recent volatility. It then ranks this value against its own history within a sliding window to identify squeezes when the rank drops below the threshold. Each bar's timestamp is resolved to a weekday using the selected timezone, and a unique day identifier is generated from the date components.
On detecting a squeeze and valid price data, it checks against a stored last-marked day for that weekday to avoid multiple counts per day. If it's a new occurrence, the corresponding weekday counter in an array increments. Total days and data-valid days are tracked separately for context.
At the chart's last bar, it sums all counters to compute shares, sorts weekdays by their squeeze proportions, and populates a table with the selected subset. The table alternates row colors and highlights the peak weekday. An info label above the final bar summarizes totals and the top day. Background shading applies a faint red to squeeze bars for visual confirmation. State persists via variable arrays initialized once, ensuring counts build incrementally without resets.
Parameter Guide
ATR Length — Sets the lookback for measuring average true range, influencing squeeze sensitivity to short-term swings. Default: 14. Trade-offs/Tips: Shorter values increase responsiveness but raise false positives in chop; longer smooths for stability, potentially missing early squeezes.
Percentile Window (bars) — Defines the history length for ranking the current ATR, balancing recent relevance with sample size. Default: 252. Trade-offs/Tips: Narrower windows adapt faster to regime shifts but amplify noise; wider ones stabilize ranks yet lag in fast markets—aim for 100-500 bars on daily charts.
Squeeze threshold (PR < x) — Determines the cutoff for low-volatility classification; lower values flag rarer, tighter squeezes. Default: 10.0. Trade-offs/Tips: Tighter thresholds (under 5) yield fewer but higher-quality signals, reducing clutter; looser (over 20) captures more events at the cost of relevance.
Timezone — Selects the reference for weekday assignment; exchange default aligns with asset's session. Default: Exchange. Trade-offs/Tips: Use custom for cross-market analysis, but verify alignment to avoid offset errors in global pairs.
Show — Toggles the results table visibility for quick on/off of the display. Default: true. Trade-offs/Tips: Disable in multi-indicator setups to save screen space; re-enable for periodic reviews.
Pos — Positions the table on the chart pane for optimal viewing. Default: Top Right. Trade-offs/Tips: Bottom options suit long-term charts; test placements to avoid overlapping price action.
Font — Adjusts text size in the table for readability at different zooms. Default: normal. Trade-offs/Tips: Smaller fonts fit more data but strain eyes on small screens; larger for presentations.
Dark — Applies a dark color scheme to the table for contrast against chart backgrounds. Default: true. Trade-offs/Tips: Toggle false for light themes; ensures legibility without manual recoloring.
Display — Filters table rows to show all, top three, or bottom three weekdays by squeeze share. Default: All. Trade-offs/Tips: Use "Top 3" for focus on high-frequency days in active trading; "All" for full audits.
Reading & Interpretation
Red-tinted backgrounds mark individual squeeze bars, indicating current low-volatility conditions. The table's summary row shows the highest squeeze count, its percentage of total events, and the associated weekday in teal. Detail rows list selected weekdays with their absolute counts, proportional shares, and a left arrow for the peak day—higher percentages signal days where squeezes cluster, suggesting potential for calmer trend development. The info label reports overall days observed, valid data days, and reiterates the top weekday with its count. Drifting counts toward zero on a weekday imply rarity, while elevated ones point to habitual low-activity sessions.
Practical Workflows & Combinations
- Trend following: Scan for squeezes on high-frequency weekdays as entry filters, confirming with higher highs or lower lows in the structure; pair with momentum oscillators to time breaks.
- Exits/Stops: On low-squeeze days, widen stops for breathing room, tightening them during peak squeeze periods to guard against false breaks—use the table's percentages as a regime proxy.
- Multi-asset/Multi-TF: Defaults work across forex and indices on hourly or daily frames; for stocks, adjust percentile window to 100 for shorter histories. Scale thresholds up by 5-10 points for high-vol assets like crypto to maintain signal sparsity.
Behavior, Constraints & Performance
- Repaint/confirmation: Counts update only on confirmed bars via day-key changes, with no future references—live bars may shade red tentatively but tallies finalize at session close.
- security()/HTF: Not used, so no higher-timeframe repaint risks; all computations stay in the chart's resolution.
- Resources: Relies on a fixed-size array of seven elements and small loops for sorting and table fills, capped at 5000 bars back—efficient for most charts but may slow on very long intraday histories.
- Known limits: Ignores weekends and holidays implicitly via data presence; early chart bars lack full percentile context, leading to initial undercounting; assumes continuous sessions, so gaps in data (e.g., news halts) skew totals.
Sensible Defaults & Quick Tuning
Start with the built-in values for broad-market daily charts: ATR at 14, window at 252, threshold at 10. For noisier environments, lower the threshold to 5 and shorten the window to 100 to prioritize rare squeezes. If too few events appear, raise the threshold to 15 and extend ATR to 20 for broader capture. To combat overcounting in sparse data, widen the window to 500 while keeping others stock—monitor the info label's data-days count before trusting patterns.
What this indicator is—and isn’t
This serves as a statistical overlay for spotting calendar-based volatility biases, aiding in session selection and filter design. It is not a standalone signal generator, predictive model, or risk manager—integrate it with price action, volume, and broader strategy rules for decisions.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Cykle
First-Move-Wrong Toolkit [CHE] First-Move-Wrong Toolkit — Session-bound sweep rejection with structure confirmation
Summary
This indicator marks potential “first move wrong” reversals during a defined trading session. It looks for a quick sweep beyond the prior day high or low, or the opening range high or low, followed by rejection and a basic structure confirmation. Optional rules require a retest and a VWAP reclaim in the direction of the trade idea. The script renders session levels as right-extended lines, signals as labels, optional SL/TP guide lines for visualization, and background tints during sweep events. Pivots are confirmed using swing width, which reduces repaint risk compared to live swings.
Motivation: Why this design?
Intraday reversals often start with a liquidity sweep around obvious highs or lows. Acting on the sweep alone can be noisy, while waiting for structure break and a retest can be slow. This tool balances both by checking a sweep and rejection at session-relevant levels, then requiring a simple structure cue and, optionally, a retest and a VWAP filter. The goal is a clear, rule-based signal layer that is easy to audit on chart without hidden state.
What’s different vs. standard approaches?
Baseline reference: Simple sweep detectors or basic CHOCH markers that ignore session context and liquidity anchors.
Architecture differences:
Session-aware opening range tracking that finalizes after the chosen minutes from session start.
Daily previous high and low pulled without lookahead, then extended forward as visual anchors.
Confirmed pivot highs and lows to avoid repaint from live, unconfirmed swings.
Optional retest rule using crossover or crossunder at the trigger level.
Optional VWAP filter to demand reclaim in the intended direction.
Global label cooldown to prevent clusters of signals.
Practical effect: Fewer one-off flips around noisy levels, clearer alignment with session structure, and compact visual feedback through lines, labels, and tints.
How it works (technical)
Levels: During the defined session, the script builds an opening range high and low until the configured minute mark after session start, then freezes those levels for the day. It also fetches the previous day high and low from the daily timeframe without lookahead and extends them forward.
Sweep and rejection: A sweep is defined as price moving beyond a target level and then rejecting back inside on the same bar. The script checks this condition separately for highs and lows against opening range and previous-day levels.
Structure validation: Confirmed pivot highs and lows are computed using a symmetric swing width. A bearish idea requires a prior sweep of a high plus a break through the last confirmed swing low. A bullish idea requires a prior sweep of a low plus a break through the last confirmed swing high.
Optional retest: If enabled, a bearish signal needs a cross under the bearish trigger level; a bullish signal needs a cross over the bullish trigger level.
VWAP filter (optional): The script requires a reclaim of VWAP in the intended direction when enabled.
State handling: Opening range values, previous-day lines, and the label cooldown timestamp are stored in persistent variables. Lines are created once and updated each bar to extend forward.
Repaint considerations: Pivots confirm only after the specified swing width, reducing repaint. The daily level request is performed without lookahead. Signals use closed-bar checks implied by crossover and crossunder logic.
Parameter Guide
Session (local) — Defines the active trading window. Default nine to seventeen. Narrower windows focus on the main session drive.
Opening Range (min) — Minutes from session start to finalize OR levels. Default fifteen. Shorter values react faster; longer values stabilize levels.
Use PrevDay H/L levels — Toggle previous-day anchors. On by default.
Use OR H/L levels — Toggle opening range anchors. On by default.
Equal H/L tolerance (ticks) — Intended tolerance for equal highs or lows. Default one. (Unknown/Optional) in current signals.
Swing width — Bars on both sides for confirmed pivots. Default two. Larger values reduce noise but confirm later.
Require CHOCH after sweep — Enforces structure break after a sweep. On by default.
Prefer retest entries — Requires crossover or crossunder of the trigger level. On by default.
VWAP filter — Demands a reclaim of VWAP in signal direction. Off by default.
TP in R (guide) — Multiplier for visual TP guides. Default one. Visualization only.
Show levels / Show signals / Show R-guides — Rendering toggles. R-guides are visual aids, not orders.
Label cooldown (bars) — Minimum bars between labels. Default five. Higher values reduce clusters.
Palette inputs — Colors and transparencies for levels, labels, VWAP, and tints.
Reading & Interpretation
Lines: Dotted lines represent opening range high and low after the OR window completes. Dashed lines represent previous-day high and low.
Signals: “Long” labels appear after a low-side sweep with rejection and structure confirmation, subject to optional retest and VWAP rules. “Short” labels mirror this on the high side.
Background tints: Red-tinted bars indicate a high-side sweep and rejection. Green-tinted bars indicate a low-side sweep and rejection.
R-guides: Circles display a visual stop level at the bar extreme and a target guide based on the selected multiple. They are informational only.
Practical Workflows & Combinations
Session reversal scans: During the first hour, watch for sweeps around previous-day or opening range levels, then wait for structure confirmation and optional retest.
Trend following with filters: Combine signals with higher-timeframe structure or a moving average regime check. Ignore signals against the dominant regime.
Exits and stops: Use the visual stop as a reference near the sweep extreme; adapt the target guide to volatility and market conditions.
Multi-asset / Multi-TF: Works on intraday timeframes for liquid futures, indices, forex, and large-cap equities. Start with default settings and adjust swing width and OR minutes to instrument volatility.
Behavior, Constraints & Performance
Repaint/confirmation: Pivots confirm after the swing window completes. Signals occur only when conditions are met on closed bars.
security()/HTF: Daily previous-day levels are requested without lookahead to reduce repaint.
Resources: Uses persistent variables and line updates per bar; no heavy loops or arrays.
Known limits: Signals can arrive later when swing width is large. Gaps around session boundaries may distort OR levels. VWAP behavior may vary with partial sessions or illiquid assets.
Sensible Defaults & Quick Tuning
Starting point: Session nine to seventeen, opening range fifteen minutes, swing width two, CHOCH required, retest on, VWAP off, cooldown five bars.
Too many flips: Increase swing width, enable VWAP filter, or raise label cooldown.
Too sluggish: Reduce swing width or shorten the opening range window.
Too many session-level hits: Disable either previous-day levels or opening range levels to simplify context.
What this indicator is—and isn’t
This is a session-aware visualization and signal layer focused on sweep-plus-structure behavior. It is not a complete trading system and does not manage orders, risk, or portfolio exposure. Use it with market structure, risk limits, and execution rules that fit your process.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
OrderBlocks by exp3rts (Non-Repainting)The OrderBlocks by exp3rts indicator automatically identifies and visualizes bullish and bearish order blocks using confirmed, non-repainting fractals combined with Fair Value Gap (FVG) validation for enhanced accuracy.
This tool is designed to help traders spot high-probability institutional price zones — areas where large buy or sell orders previously caused significant moves — allowing you to anticipate potential reversal, continuation, or mitigation levels with precision.
Core Features
✅ Non-Repainting Logic: Uses confirmed 3- or 5-bar fractals only after full pattern completion.
📈 Dynamic Order Block Detection: Marks both bullish and bearish OBs automatically.
⚖️ FVG Filter (Optional): Optionally require a Fair Value Gap within a user-defined distance to confirm valid OBs.
🎯 Customizable OB Lines: Adjust color, style (solid, dashed, dotted), width, and body/wick placement.
🧹 Auto-Cleanup: Option to remove order block lines once price has been mitigated (touched/filled).
🔺🔻 Fractal Display: Toggle fractal highs/lows on or off for extra structure clarity.
⚡ Optimized for Performance: Uses efficient array management to run smoothly within TradingView’s bar processing limits.
How to Use
Add the indicator to your chart.
Adjust settings such as Fractal Filter (3/5), FVG distance, and Line Style to match your trading preference.
Watch for bullish OBs (green lines) near potential demand zones and bearish OBs (red lines) near supply zones.
Use in confluence with market structure and liquidity concepts for best results.
Settings Overview
Fractal Filter: Choose between 3-bar or 5-bar swing fractals.
Order Block Type: Detect OBs based on Close or High/Low break structure.
FVG Filter: Optionally require nearby Fair Value Gaps.
Delete After Fill: Automatically remove mitigated OBs.
Visuals: Customize line color, thickness, and style for clear chart integration.
Made for any timeframe & any market.
Background Trend Follower by exp3rtsThe Background Trend Follower indicator visually highlights the market’s daily directional bias using subtle background colors. It calculates the price change from the daily open and shades the chart background according to the current intraday momentum.
🟢 Green background → Price is significantly above the daily open (strong bullish trend)
🔴 Red background → Price is significantly below the daily open (strong bearish trend)
🟡 Yellow background → Price is trading near the daily open (neutral or consolidating phase)
The script automatically detects each new trading day.
It records the opening price at the start of the day.
As the session progresses, it continuously measures how far the current price has moved from that open.
When the move exceeds ±50 points (custom threshold), the background color adapts to reflect the trend strength.
Perfect for traders who want a quick visual sense of intraday bias — bullish, bearish, or neutral — without cluttering the chart with extra indicators.
DK Fractals (Strategy)Convert to strategy. Introduce the first 2 trading models (Still heavily in development) The reversal and continuation models. More to come.
If you still want to use as an indicator, just disable the two trading models.
Moon Phases Long/Short StrategyThis is an experiment of Moon Phases, likely buy when full moon and sell when new moon with few changes, like it would buy a day ahead or sometimes sell a day post these events, with Stop loss and take profits, 50% profitable so sounds good to me
Long only good for bitcoin gold, both modes(L+S) better for stocks and alt coins
Period Separator + Future Lines (Exchange-Time Synced)Monthly, Weekly, Daily,4hr and hr dividers and future separators (custom as wish, how many lines it should show in future)
Future separators corrected
Tamu2.0Testing Oct 2025. Indicator tries to identify short periods of volatility and market manipulation.
Multi-Session Futures Range Boxes(NY, Europe, & Asia)Multi-Session Boxes — ASIA / EUROPE / NEW YORK
This indicator draws session boxes for three custom trading sessions and updates them live on intraday charts.
Each box tracks the high, low, and open of its session; the box color switches Up/Down based on whether the current price is above or below the session open.
Default setup
• ASIA — 20:00–02:59 (ET), Purple (bg/border), opacity 90
• EUROPE — 03:00–09:29 (ET), Turquoise (bg/border), opacity 90
• NEW YORK — 09:30–16:00 (ET), Yellow (bg/border), opacity 90
You can change times, time zones (IANA names like America/New_York, UTC, Europe/London), colors, opacity, and border width per session from the settings. Each session also has an Enable toggle.
How it works
• At each session’s first bar, the indicator records the open and initializes high/low.
• During the session, it updates the highest high / lowest low and stretches the box to the current bar.
• Box background & border use your Up/Down colors:
◦ Up if close > session open
◦ Down otherwise
• Works on intraday timeframes only (as with the original script).
Notes for futures
• The box schedule is based on your selected time zone.
• If you keep ASIA at 20:00, the gap between 16:00–20:00 ET (post-RTH / Globex evening) is intentionally unboxed so Asia’s H/L aren’t polluted by thin trade.
• If you prefer to fill that gap visually, you can add a separate “Evening” session later without changing Asia’s times.
Quarter Levels — Auto Recentering NQ onlyQuarter Levels — Auto Recentering (PERMANENT) + Big Offset Labels
What it is
This tool paints true horizontal key levels that traders naturally anchor to: the 00 / 25 / 50 / 75 quarter levels (black), the 35 / 65 / 90 reaction levels (red), and the 10 / 80 sweep/edge levels (purple).
Lines are infinite horizontals and the grid auto-recenters ±200 points around current price each new bar. Labels on the right show the last two digits (e.g., 25, 35, 50, 65, 75, 80, 90), so you instantly know which level you’re at.
Why it helps
Markets often “snap” to simple numbers. These levels create a clean scaffold for intraday structure, pullbacks, and rotations—without clutter or lagging math.
Color Legend
Black — 00 / 25 / 50 / 75:
Core quarter levels. Expect frequent pauses, re-tests, and rotations.
Use: default S/R map; bias for mean-reversion inside ranges.
Red — 35 / 65 / 90:
“Continuation / reaction” levels. Price often accelerates through these once momentum takes.
Use: breakout guides and precise take-profit targets.
Purple — 10 / 80:
Sweep / edge levels. Price often wicks into these and rejects.
Use: fade the last push, or confirm a sweep before a reversal.
How it works
The script draws the levels as extend.both horizontals (not derived from candle points).
Every new bar, it rebuilds the grid around close ± 200 pts (editable in code: RANGE_POINTS).
Prices are snapped to tick (syminfo.mintick) so lines lock to the Y-axis.
Labels show only the offset (two-digit number) to keep the chart clean.
Setup & Customization
No inputs required.
If you want tweaks, open the code and edit at the top:
RANGE_POINTS – widen/narrow the vertical coverage.
LABEL_OFFSET – push labels further to the right.
LABEL_SIZE – size.small / normal / large.
Color & width constants (per group).
Practical Use (playbook)
Use this grid as a price map, not a signal generator. Combine it with your execution tools.
1) In Range Conditions
Fade to Black: When price rotates inside a range, look for exhaustion into black levels (00/25/50/75).
Plan: wait for rejection (wick + failed follow-through), enter back toward the mid/next quarter. Stop just beyond the level; first target the next red or black.
Purple Sweeps: Watch quick spikes into 10/80 that immediately fail.
Plan: fade the sweep with tight risk; scale out at 25/75; hold a runner to 50.
2) In Trend / Momentum
Red Rails (35/65/90): When momentum is strong, price often steps through red levels cleanly.
Plan: use them as continuation targets or trail anchors. If pullback holds above a prior red level, consider continuation with stop below that level.
Quarter-to-Quarter Ladders: In clean trends, expect quarter-to-quarter traversals (00→25→50→75→00…).
Plan: add on pullbacks to 25 or 50 with trend confirmation (e.g., 9/21 EMA stack or anchored VWAP hold).
3) Confluence (AI-logic suggestions)
Pair the grid with any two of:
VWAP / Anchored VWAP: Rejections at a quarter level + VWAP = higher quality entry.
EMAs (9/21/50/200): Use as directional filter. Only take longs at quarters when fast EMAs > slow EMAs.
Liquidity cues: Prior high/low, session O/H/L, or liquidity pools aligning with a quarter level.
Orderflow / footprint: Aggressive delta through a red level? Expect follow-through to the next black or red.
Volatility (ATR): If ATR expands, lean more on red levels (continuations). In compression, lean more on black and purple (fades).
Risk & Management Tips
Stops: Just beyond the level you’re trading against. Let the level “be wrong” to prove you wrong.
Targets: Next red or black line. Scale at the first, hold a small runner to the next.
Session awareness: Levels interact differently in Asia/EU/US. In US RTH, expect sharper responses at red and purple.
Timeframes: Works across all. Intraday (1–15m) for entries; 1h/4h daily for context.
Do not chase: If you miss the touch, wait for the next level; the map is dense by design.
Limitations
This indicator does not generate buy/sell signals; it supplies a stable structure.
In runaway trends, price can cut through multiple lines—use trend filters and risk caps.
Auto-recentering means the visible band travels with price; if you need static levels far away, increase RANGE_POINTS.
Troubleshooting
No labels? Make sure max_labels_count isn’t hit and SHOW_LABELS = true.
Labels too close to price? Increase LABEL_OFFSET.
Too many lines? Reduce RANGE_POINTS or hide a color group in code.
Credits / License
Created by: TRC — The Refuge Camp
License: Free to use on TradingView with attribution.
If you fork or embed, please credit “TRC — The Refuge Camp” and link back to the original post/profile.
Quick Start (TL;DR)
Add the script.
Trade the map:
Fade purple/black in ranges.
Target red/black in trends.
Combine with VWAP/EMAs or your orderflow tool for confirmation.
Respect stops just beyond the level; scale at the next line.
Happy trading, and welcome to the Quarter-Level grid.
Asia Risk MonitorAsia Risk Monitor for all those monitoring the financial situation in the US, looking for a clue of a move to the down or upside.
First week of the yearA very simple indicator that marks a channel on the candlestick for the first week of the year.
The channel can serve as an entry/exit point with a medium and long term focus.
Note: This indicator should be observed exclusively on the weekly timeframe.
MANOLES MINDSETBEST STRATEGY AT SUPPORTS “This indicator combines Bollinger Bands, RSI, Stochastic RSI, MACD, and a Moving Average to identify potential buy/sell points. It also includes alert conditions for trade signals.”
EMA50/200 — Nth Close After Break (Up/Down/Both)This indicator tracks EMA-based momentum confirmation using a customizable N-bar rule.
🧠 Logic:
- You can choose whether to track EMA 50 or EMA 200.
- When the price breaks above (or below) the selected EMA, the indicator starts counting.
- If the price stays on that side of the EMA for N consecutive closes, a single signal is triggered on the Nth bar.
- After signaling, the counter resets — the next signal appears only after a new EMA break.
⚙️ Parameters:
- Target EMA: Choose which EMA (50 or 200) the logic is based on.
- N: Number of consecutive bars required after a break.
- Direction: Up / Down / Both.
- Optional trend filters: Require EMA50 > EMA200 for Up signals, or EMA50 < EMA200 for Down signals.
- Blue ▲ = Bullish signal (Nth close after breaking above EMA)
- Red ▼ = Bearish signal (Nth close after breaking below EMA)
✅ Ideal for identifying strong trend confirmations and filtering out false EMA breakouts.
TeamBull FuturesThe TeamBull Futures indicator plots key London Session and New York ORB (Opening Range Breakout) levels for intraday futures and forex trading.
London Session (03:00–09:29 ET) – Automatically tracks and plots the session’s high and low, updating in real time and extending both levels until 5:00 PM ET for clear intraday reference.
New York ORB (09:30–09:45 ET) – Marks the high, low, and 50% midpoint of the U.S. market’s opening range, visible only for the current trading day and removed after 5:00 PM ET.
This tool helps traders identify major liquidity zones and intraday breakout areas across global market sessions with clean, time-synced precision.
Squeeze Hour Frequency [CHE]Squeeze Hour Frequency (ATR-PR) — Standalone — Tracks daily squeeze occurrences by hour to reveal time-based volatility patterns
Summary
This indicator identifies periods of unusually low volatility, defined as squeezes, and tallies their frequency across each hour of the day over historical trading sessions. By aggregating counts into a sortable table, it helps users spot hours prone to these conditions, enabling better scheduling of trading activity to avoid or target specific intraday regimes. Signals gain robustness through percentile-based detection that adapts to recent volatility history, differing from fixed-threshold methods by focusing on relative lowness rather than absolute levels, which reduces false positives in varying market environments.
Motivation: Why this design?
Traders often face uneven intraday volatility, with certain hours showing clustered low-activity phases that precede or follow breakouts, leading to mistimed entries or overlooked calm periods. The core idea of hourly squeeze frequency addresses this by binning low-volatility events into 24 hourly slots and counting distinct daily occurrences, providing a historical profile of when squeezes cluster. This reveals time-of-day biases without relying on real-time alerts, allowing proactive adjustments to session focus.
What’s different vs. standard approaches?
- Reference baseline: Classical volatility tools like simple moving average crossovers or fixed ATR thresholds, which flag squeezes uniformly across the day.
- Architecture differences:
- Uses persistent arrays to track one squeeze per hour per day, preventing overcounting within sessions.
- Employs custom sorting on ratio arrays for dynamic table display, prioritizing top or bottom performers.
- Handles timezones explicitly to ensure consistent binning across global assets.
- Practical effect: Charts show a persistent table ranking hours by squeeze share, making intraday patterns immediately visible—such as a top hour capturing over 20 percent of total events—unlike static overlays that ignore temporal distribution, which matters for avoiding low-liquidity traps in crypto or forex.
How it works (technical)
The indicator first computes a rolling volatility measure over a specified lookback period. It then derives a relative ranking of the current value against recent history within a window of bars. A squeeze is flagged when this ranking falls below a user-defined cutoff, indicating the value is among the lowest in the recent sample.
On each bar, the local hour is extracted using the selected timezone. If a squeeze occurs and the bar has price data, the count for that hour increments only if no prior mark exists for the current day, using a persistent array to store the last marked day per hour. This ensures one tally per unique trading day per slot.
At the final bar, arrays compile counts and ratios for all 24 hours, where the ratio represents each hour's share of total squeezes observed. These are sorted ascending or descending based on display mode, and the top or bottom subset populates the table. Background shading highlights live squeezes in red for visual confirmation. Initialization uses zero-filled arrays for counts and negative seeds for day tracking, with state persisting across bars via variable declarations.
No higher timeframe data is pulled, so there is no repaint risk from external fetches; all logic runs on confirmed bars.
Parameter Guide
ATR Length — Controls the lookback for the volatility measure, influencing sensitivity to short-term fluctuations; shorter values increase responsiveness but add noise, longer ones smooth for stability — Default: 14 — Trade-offs/Tips: Use 10-20 for intraday charts to balance quick detection with fewer false squeezes; test on historical data to avoid over-smoothing in trending markets.
Percentile Window (bars) — Sets the history depth for ranking the current volatility value, affecting how "low" is defined relative to past; wider windows emphasize long-term norms — Default: 252 — Trade-offs/Tips: 100-300 bars suit daily cycles; narrower for fast assets like crypto to catch recent regimes, but risks instability in sparse data.
Squeeze threshold (PR < x) — Defines the cutoff for flagging low relative volatility, where values below this mark a squeeze; lower thresholds tighten detection for rarer events — Default: 10.0 — Trade-offs/Tips: 5-15 percent for conservative signals reducing false positives; raise to 20 for more frequent highlights in high-vol environments, monitoring for increased noise.
Timezone — Specifies the reference for hourly binning, ensuring alignment with market sessions — Default: Exchange — Trade-offs/Tips: Set to "America/New_York" for US assets; mismatches can skew counts, so verify against chart timezone.
Show Table — Toggles the results display, essential for reviewing frequencies — Default: true — Trade-offs/Tips: Disable on mobile for performance; pair with position tweaks for clean overlays.
Pos — Places the table on the chart pane — Default: Top Right — Trade-offs/Tips: Bottom Left avoids candle occlusion on volatile charts.
Font — Adjusts text readability in the table — Default: normal — Trade-offs/Tips: Tiny for dense views, large for emphasis on key hours.
Dark — Applies high-contrast colors for visibility — Default: true — Trade-offs/Tips: Toggle false in light themes to prevent washout.
Display — Filters table rows to focus on extremes or full list — Default: All — Trade-offs/Tips: Top 3 for quick scans of risky hours; Bottom 3 highlights safe low-squeeze periods.
Reading & Interpretation
Red background shading appears on bars meeting the squeeze condition, signaling current low relative volatility. The table lists hours as "H0" to "H23", with columns for daily squeeze counts, percentage share of total squeezes (summing to 100 percent across hours), and an arrow marker on the top hour. A summary row above details the peak count, its share, and the leading hour. A label at the last bar recaps total days observed, data-valid days, and top hour stats. Rising shares indicate clustering, suggesting regime persistence in that slot.
Practical Workflows & Combinations
- Trend following: Scan for hours with low squeeze shares to enter during stable regimes; confirm with higher highs or lower lows on the 15-minute chart, avoiding top-share hours post-news like tariff announcements.
- Exits/Stops: Tighten stops in high-share hours to guard against sudden vol spikes; use the table to shift to conservative sizing outside peak squeeze times.
- Multi-asset/Multi-TF: Defaults work across crypto pairs on 5-60 minute timeframes; for stocks, widen percentile window to 500 bars. Combine with volume oscillators—enter only if squeeze count is below average for the asset.
Behavior, Constraints & Performance
Logic executes on closed bars, with live bars updating counts provisionally but finalizing on confirmation; table refreshes only at the last bar, avoiding intrabar flicker. No security calls or higher timeframes, so no repaint from external data. Resources include a 5000-bar history limit, loops up to 24 iterations for sorting and totals, and arrays sized to 24 elements; labels and table are capped at 500 each for efficiency. Known limits: Skips hours without bars (e.g., weekends), assumes uniform data availability, and may undercount in sparse sessions; timezone shifts can alter profiles without warning.
Sensible Defaults & Quick Tuning
Start with ATR Length at 14, Percentile Window at 252, and threshold at 10.0 for broad crypto use. If too many squeezes flag (noisy table), raise threshold to 15.0 and narrow window to 100 for stricter relative lowness. For sluggish detection in calm markets, drop ATR Length to 10 and threshold to 5.0 to capture subtler dips. In high-vol assets, widen window to 500 and threshold to 20.0 for stability.
What this indicator is—and isn’t
This is a historical frequency tracker and visualization layer for intraday volatility patterns, best as a filter in multi-tool setups. It is not a standalone signal generator, predictive model, or risk manager—pair it with price action, news filters, and position sizing rules.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Thanks to Duyck
for the ma sorter
MAUL RSI Gaussian Filter MACD Gaussian Filter MACD — Strategy (with RSI Gate)
A momentum-first, chop-aware strategy built on a Gaussian-smoothed MACD with an optional RSI threshold filter. It looks for clean transitions in trend and ignores half-hearted wiggles around the zero line. You choose how signals are confirmed and whether shorts are allowed—no clutter, just deliberate entries and exits.
What it does (at a glance)
Confirms momentum using a smoothed MACD and a selectable signal mode.
Optional RSI gate to avoid low-quality breakouts.
Flexible source options (incl. Heikin-Ashi families) to match your charting style.
Long-only by default; shorts are an option.
Built-in alerts for entries/exits.
How to use
Add to chart and select your preferred signal mode.
Toggle the RSI gate and set your threshold to filter weak setups.
Forward-test across symbols/timeframes; then walk it into live with conservative sizing.
Notes
The parameters and internals are intentionally locked to protect IP and avoid over-fitting by casual copycats.
Works best on liquid symbols with consistent session structure.
Risk
Backtests are not a promise. Markets are noisy, slippage is real, and capital at risk should be sized accordingly. Use with sound risk management and a clear exit plan.
HammerThis indicator automatically detects powerful candlestick formations such as Hammer, Inverted Hammer, Bullish Engulfing, Hanging Man, Shooting Star, and Bearish Engulfing.
It visually marks potential reversal zones on the chart and provides instant Long / Short alerts.
By combining pattern recognition with swing levels, it helps you identify possible trend reversals more clearly.
A simple, fast, and price-action-focused tool for smarter trading decisions.
💡 Yellow dotted lines indicate possible reaction zones around swing points.
3-6-9 Times v3.2 (rdt)3-6-9 Times v3.1 Indicator Overview
Core Concept
This indicator identifies specific times/dates where the digital root (sum of digits reduced to a single number) equals 3, 6, or 9, which are considered significant in numerology and certain trading methodologies.
How It Calculates Roots:
For Intraday Timeframes (minutes, hours):
Formula: Hour + First Minute Digit + Last Minute Digit → Reduce to single digit
For Daily/Weekly/Monthly Timeframes:
Uses Month + Day calculations with similar digit reduction logic.
Key Features:
1. Break Filter (Default: ON)
Only displays labels after a swing high/low is broken
Prevents clutter by filtering out times that don't coincide with price action
Configurable pivot length (default: 2 bars)
Optional directional filter: green candles must break highs, red candles must break lows
2. Root Selection
Toggle individual roots (3, 6, or 9) on/off
Each root has customizable color
Default colors: Blue (3), Green (6), Red (9)
3. Display Options
Marking Style: Labels, Vertical Lines, or Both
Label Text Format:
Root Only (default) - shows just "3", "6", or "9"
Time/Date Only - shows the actual time/date
Root + Time/Date (separate lines) - shows both
Label Background: Toggle colored box behind text (default: OFF)
Chart Background: Toggle colored background highlight (default: OFF)
Text Color: Customizable (default: black)
4. Session Filter:
Set specific hours/minutes for when to display signals
Default: 00:00 to 23:59 (all day)
Useful for focusing on specific trading sessions
5. Hour Offset
Manual adjustment for timezone/DST issues
Range: -12 to +12 hours
Helps align calculations with your preferred timezone
6. Label Placement
Green candles: Label appears above the bar
Red candles: Label appears below the bar
7. Alerts
Four alert conditions available:
Any 3-6-9 root hit
Specific Root 3 hit
Specific Root 6 hit
Specific Root 9 hit
Typical Use Case
Traders use this to identify potential reversal or continuation points when:
A 3/6/9 time occurs
Price breaks a recent swing high/low
Combining this timing signal with other technical analysis
The indicator helps identify "energetic" time windows that may correlate with increased volatility or directional moves.
3-6-9 Times v3.1 (rdt)3-6-9 Times v3.1 Indicator Overview
Core Concept
This indicator identifies specific times/dates where the digital root (sum of digits reduced to a single number) equals 3, 6, or 9, which are considered significant in numerology and certain trading methodologies.
How It Calculates Roots:
For Intraday Timeframes (minutes, hours):
Formula: Hour + First Minute Digit + Last Minute Digit → Reduce to single digit
For Daily/Weekly/Monthly Timeframes:
Uses Month + Day calculations with similar digit reduction logic.
Key Features:
1. Break Filter (Default: ON)
Only displays labels after a swing high/low is broken
Prevents clutter by filtering out times that don't coincide with price action
Configurable pivot length (default: 2 bars)
Optional directional filter: green candles must break highs, red candles must break lows
2. Root Selection
Toggle individual roots (3, 6, or 9) on/off
Each root has customizable color
Default colors: Blue (3), Green (6), Red (9)
3. Display Options
Marking Style: Labels, Vertical Lines, or Both
Label Text Format:
Root Only (default) - shows just "3", "6", or "9"
Time/Date Only - shows the actual time/date
Root + Time/Date (separate lines) - shows both
Label Background: Toggle colored box behind text (default: OFF)
Chart Background: Toggle colored background highlight (default: OFF)
Text Color: Customizable (default: black)
4. Session Filter:
Set specific hours/minutes for when to display signals
Default: 00:00 to 23:59 (all day)
Useful for focusing on specific trading sessions
5. Hour Offset
Manual adjustment for timezone/DST issues
Range: -12 to +12 hours
Helps align calculations with your preferred timezone
6. Label Placement
Green candles: Label appears above the bar
Red candles: Label appears below the bar
7. Alerts
Four alert conditions available:
Any 3-6-9 root hit
Specific Root 3 hit
Specific Root 6 hit
Specific Root 9 hit
Typical Use Case
Traders use this to identify potential reversal or continuation points when:
A 3/6/9 time occurs
Price breaks a recent swing high/low
Combining this timing signal with other technical analysis
The indicator helps identify "energetic" time windows that may correlate with increased volatility or directional moves.
Current & Previous-Day VWAPThe “Current & Previous‑Day VWAP” indicator plots two important volume‑weighted price references on intraday charts:
Current Session VWAP (solid line): The VWAP is the volume‑weighted average price of the current trading session. TradingView’s built‑in ta.vwap() function automatically resets its calculation at the start of each new intraday session
offline-pixel.github.io
, so the line accurately follows today’s price action. You can set the color of this line via the indicator’s input (defaults to blue).
Previous‑Day VWAP (dotted lines): At the final bar of each session, the indicator stores the current session’s VWAP value. On the first bar of the following session, it draws a horizontal dotted line at that stored value and extends it across the entire day. This uses TradingView’s session detection functions—session.islastbar to capture the closing VWAP and session.isfirstbar to start the new line
tradingview.com
. An array holds each line and its y‑value so that multiple previous‑day VWAPs remain visible for comparison. The color of these dotted lines is also user‑configurable.
This design lets you see both where the current price is relative to today’s VWAP and how it stands against the closing VWAP levels of previous sessions, all at a glance.