ConditionalAverages█ OVERVIEW
This library is a Pine Script™ programmer’s tool containing functions that average values selectively.
█ CONCEPTS
Averaging can be useful to smooth out unstable readings in the data set, provide a benchmark to see the underlying trend of the data, or to provide a general expectancy of values in establishing a central tendency. Conventional averaging techniques tend to apply indiscriminately to all values in a fixed window, but it can sometimes be useful to average values only when a specific condition is met. As conditional averaging works on specific elements of a dataset, it can help us derive more context-specific conclusions. This library offers a collection of averaging methods that not only accomplish these tasks, but also exploit the efficiencies of the Pine Script™ runtime by foregoing unnecessary and resource-intensive for loops.
█ NOTES
To Loop or Not to Loop
Though for and while loops are essential programming tools, they are often unnecessary in Pine Script™. This is because the Pine Script™ runtime already runs your scripts in a loop where it executes your code on each bar of the dataset. Pine Script™ programmers who understand how their code executes on charts can use this to their advantage by designing loop-less code that will run orders of magnitude faster than functionally identical code using loops. Most of this library's function illustrate how you can achieve loop-less code to process past values. See the User Manual page on loops for more information. If you are looking for ways to measure execution time for you scripts, have a look at our LibraryStopwatch library .
Our `avgForTimeWhen()` and `totalForTimeWhen()` are exceptions in the library, as they use a while structure. Only a few iterations of the loop are executed on each bar, however, as its only job is to remove the few elements in the array that are outside the moving window defined by a time boundary.
Cumulating and Summing Conditionally
The ta.cum() or math.sum() built-in functions can be used with ternaries that select only certain values. In our `avgWhen(src, cond)` function, for example, we use this technique to cumulate only the occurrences of `src` when `cond` is true:
float cumTotal = ta.cum(cond ? src : 0) We then use:
float cumCount = ta.cum(cond ? 1 : 0) to calculate the number of occurrences where `cond` is true, which corresponds to the quantity of values cumulated in `cumTotal`.
Building Custom Series With Arrays
The advent of arrays in Pine has enabled us to build our custom data series. Many of this library's functions use arrays for this purpose, saving newer values that come in when a condition is met, and discarding the older ones, implementing a queue .
`avgForTimeWhen()` and `totalForTimeWhen()`
These two functions warrant a few explanations. They operate on a number of values included in a moving window defined by a timeframe expressed in milliseconds. We use a 1D timeframe in our example code. The number of bars included in the moving window is unknown to the programmer, who only specifies the period of time defining the moving window. You can thus use `avgForTimeWhen()` to calculate a rolling moving average for the last 24 hours, for example, that will work whether the chart is using a 1min or 1H timeframe. A 24-hour moving window will typically contain many more values on a 1min chart that on a 1H chart, but their calculated average will be very close.
Problems will arise on non-24x7 markets when large time gaps occur between chart bars, as will be the case across holidays or trading sessions. For example, if you were using a 24H timeframe and there is a two-day gap between two bars, then no chart bars would fit in the moving window after the gap. The `minBars` parameter mitigates this by guaranteeing that a minimum number of bars are always included in the calculation, even if including those bars requires reaching outside the prescribed timeframe. We use a minimum value of 10 bars in the example code.
Using var in Constant Declarations
In the past, we have been using var when initializing so-called constants in our scripts, which as per the Style Guide 's recommendations, we identify using UPPER_SNAKE_CASE. It turns out that var variables incur slightly superior maintenance overhead in the Pine Script™ runtime, when compared to variables initialized on each bar. We thus no longer use var to declare our "int/float/bool" constants, but still use it when an initialization on each bar would require too much time, such as when initializing a string or with a heavy function call.
Look first. Then leap.
█ FUNCTIONS
avgWhen(src, cond)
Gathers values of the source when a condition is true and averages them over the total number of occurrences of the condition.
Parameters:
src : (series int/float) The source of the values to be averaged.
cond : (series bool) The condition determining when a value will be included in the set of values to be averaged.
Returns: (float) A cumulative average of values when a condition is met.
avgWhenLast(src, cond, cnt)
Gathers values of the source when a condition is true and averages them over a defined number of occurrences of the condition.
Parameters:
src : (series int/float) The source of the values to be averaged.
cond : (series bool) The condition determining when a value will be included in the set of values to be averaged.
cnt : (simple int) The quantity of last occurrences of the condition for which to average values.
Returns: (float) The average of `src` for the last `x` occurrences where `cond` is true.
avgWhenInLast(src, cond, cnt)
Gathers values of the source when a condition is true and averages them over the total number of occurrences during a defined number of bars back.
Parameters:
src : (series int/float) The source of the values to be averaged.
cond : (series bool) The condition determining when a value will be included in the set of values to be averaged.
cnt : (simple int) The quantity of bars back to evaluate.
Returns: (float) The average of `src` in last `cnt` bars, but only when `cond` is true.
avgSince(src, cond)
Averages values of the source since a condition was true.
Parameters:
src : (series int/float) The source of the values to be averaged.
cond : (series bool) The condition determining when the average is reset.
Returns: (float) The average of `src` since `cond` was true.
avgForTimeWhen(src, ms, cond, minBars)
Averages values of `src` when `cond` is true, over a moving window of length `ms` milliseconds.
Parameters:
src : (series int/float) The source of the values to be averaged.
ms : (simple int) The time duration in milliseconds defining the size of the moving window.
cond : (series bool) The condition determining which values are included. Optional.
minBars : (simple int) The minimum number of values to keep in the moving window. Optional.
Returns: (float) The average of `src` when `cond` is true in the moving window.
totalForTimeWhen(src, ms, cond, minBars)
Sums values of `src` when `cond` is true, over a moving window of length `ms` milliseconds.
Parameters:
src : (series int/float) The source of the values to be summed.
ms : (simple int) The time duration in milliseconds defining the size of the moving window.
cond : (series bool) The condition determining which values are included. Optional.
minBars : (simple int) The minimum number of values to keep in the moving window. Optional.
Returns: (float) The sum of `src` when `cond` is true in the moving window.
在腳本中搜尋"sessions"
Ultimate Time Filter V1The only time filter that you will ever need.
Easily filter for:
--> Start/End Dates
--> Weekdays
--> 1 or 2 Daily Trade Sessions.
This is open source on purpose so you can enjoy ease of use on your own codes. Simply copy the code and use the variable "inTime" to filter bars that fit your time constraints.
I spent a lot more time on this than I'd like to admit but so be it. Any comments for improvements, or questions on how to use the script is appreciated. Or if you wanna chat about trading / pine script hit me up on Discord.
Cheers
Session Volatility CalculatorHey traders!
This script calculates the average volatility of trading sessions.
You specify a start date, an end date, and a session time (eg. market open, Asian session etc)
The script then scans through all the price action on your chart and calculates the average price movement during that specified period.
What Is It For?
I created this script for my own purposes when developing certain strategies and testing certain ideas.
The purpose of this script is to give you an idea of how much price tends to move during certain times of day for certain markets.
You could think of it as a "session's average true range".
In crypto and forex this might be how much price tends to move on certain pairs during the Australian/Asian session, or the European session, or the overnight U.S. session etc.
In stocks this might be how much a symbol tends to move during the first hour of the day or the last hour of the day.
The point of calculating this information is for better understanding how markets move during certain times of day.
It's not a perfect science obviously since some days can be wilder than others depending on what fundamental events are developing, but it's useful information to have for times when there are no expected volatility-inducing events.
This info can help with optimizing targets and stop loss placement for certain day-trading strategies, and just generally getting an idea of what kinds of moves you might reasonably expect out of overnight positions or certain times of day etc - or at least that's what I use it for.
Settings
Hover your mouse over the "i" symbol to get more information on the script's settings, but here's a brief description:
Start Date: The date to begin calculating from (set to 1000 by default so it scans the entire chart).
End Date: The date to stop calculating (set to 2099 by default so it scans the entire chart)
Time Session: This is the time session during the day that you want to analyze.
Color Background: If turned on, this setting changes the background color to highlight the session.
Indicator Values
The indicator outputs a handful of values onto your chart. This is what the colors correspond to:
Top-Right Box: The average price range during the given time of day over historical price action.
Green Number: The recent session's highest price.
Red Number: The recent session's lowest price.
Purple Number: The recent session's price range (high - low).
Orange Number: The recent session's range ÷ the average (outputs a relative % of the average).
[RickAtw] O1 Opening Market LineThis indicator helps to identify current support and resistance based on the opening of the Asian, London and New York sessions.
Function
You can make good trade entries based on these lines. Shows daily and weekly openings of each session
It will also help you to look at which session you are currently trading)
Purple ----> Asian session
Red ----> London session
Blue ----> New York session
Key Signal
buy ---> A strong buy signal is a bounce from the low and the presence of a weekly or day open line.
sell ---> A strong sell signal is a bounce from the maximum and the presence of a weekly or day open line.
P.S. Be sure to test on your pair!
Remarks
This will help you determine the approximate area of support and resistance.
Since we cannot look into the future, it does not inform you about the exact records, but a possible change in trends.
Readme
In real life, I am a professional investor. And I check each of my indicators on my portfolio and how effective it is. I will not post a non-working method. The main thing is to wait for the beginning of trends and make money!
I would be grateful if you subscribe ❤️
A Multi 10 indicatorREAD NOTE BEFORE APPLYING or you may think indicator doesnt work.
This indicator is a revise of another i made and contains 10 Optional Indicators allowing you to load more then 3 indicators at once if you so choose and dont pay for the platform!
Hopefully someone will find use for this script besides me :) I dont suggest turning all on at once because it
will not look right. Alot will overlap if you wish but i only use the Session and trend bar at once in
conjuction with a Oscillator setting like MacD , RSI , Stoch , Aroon or CCI .
In the chart you see i only have a few indicators active ENJOY!!
---------- NOTE ----------- ( Everything is OFF by default and indicator SHOULD show up BLANK when loaded) ------------ NOTE -------------
(Can turn EVERYTHING on AND change any values in the format tab once indicator loads)
NY session, Aussie session, Asian session, and Europe market sessions.
MacD Split Colored , aroon oscillator
CCI Oscillator , classic aroon
RSI Oscillator , Elliot wave
Stoch RSI Oscillator
Aroon Oscillator
My own Trend bar
---------- NOTE ----------- ( Everything is OFF by default and indicator SHOULD show up BLANK when loaded) ------------ NOTE -------------
(Can turn EVERYTHING on AND change any values in the format tab once indicator loads) CODE probably looks messey but this is something i made for me so i didnt really care lol
#BLTA - CARE 7891🔷 #BLTA - CARE 7891: Ny session toolkit + Risk box + Confirmed levels + Asia box + Structure + Imbalances
Description:
#BLTA - CARE 7891 is an overlay toolkit 🧭🛠️ built for structured discretionary trading preparation. Its main purpose is to keep your chart reading and pre-trade planning in one place by combining time context, confirmed reference levels, liquidity framing, manual risk sizing, and context overlays (structure + imbalances).
🚫 This script is an indicator, not a strategy. It does not place orders.
🧩 Why these modules are combined (and how they work together)
This is not a “mashup for the sake of mixing”. Each module supports a specific step of a practical workflow:
🕒 Time context (new york session mapping)
Background highlights mark precise NY-time windows (day division at 17:00, london blocks, and new york blocks).
This provides the timing framework for when you typically scan, plan, or execute.
📰📅 Confirmed reference levels (previous day/week highs & lows)
Instead of plotting live extremes, this script confirms levels at defined boundaries:
Trading day: 17:00 → 17:00 NY
Weekly boundary: Sunday 17:00 NY
Lines start exactly at the candle where the high/low occurred and extend forward.
Optional “stop on hit” 🧊 freezes a level once price touches it, keeping the chart clean and realistic for forward analysis.
🈵 Asian range liquidity box (session that can cross midnight)
A dedicated Asian range container tracks high/low and an optional 50% midline.
It uses NY timestamps and safely handles sessions that cross midnight (storing the correct session date).
This gives you a daily liquidity “frame” often used for sweeps, breaks, and invalidations.
💸 Manual risk planning (trade box + lot sizing + table)
You select Entry (EP) and Stop (SL) directly on the chart using input.price(..., confirm=true) and time anchors.
The script then calculates:
💰 cash at risk from balance and risk %
📏 stop distance in pips (forex-aware pip sizing)
📦 lot size using units-per-lot and account currency inputs
🎯 target price using a reward ratio
It draws a risk box + target box and shows a compact table for quick verification.
🔁 Re-confirm mode (wizard) is included to prevent “stale” anchor points after timeframe changes or when you want a clean reset. While enabled, the risk table is replaced with a step guide and temporary EP/SL markers.
📈 Market structure overlay (1H zigzag projected to any timeframe)
A zigzag swing engine is computed on 1H via request.security() and projected onto the current chart.
Opacity is automatically reduced on non-1H charts so it stays contextual, not dominant.
Optional live extension of the last leg helps you see the active swing in progress.
📊 Imbalance map (fvg / og / vi) + optional dashboard
The script detects and draws:
🤏 fair value gaps (fvg)
👐 opening gaps (og)
🔎 volume imbalances (vi)
Optional filters allow minimum width by points / % / atr, and each imbalance type can be extended forward.
A dashboard 📱 can summarize bullish/bearish frequency and fill rates for context review.
✅ Quick start (recommended order)
Turn on 🕒 session visualization to align with NY timing.
Enable 📰 pdh/pdl and 📅 weekly highs/lows to map confirmed reference liquidity.
Use 🈵 the asian range box to frame the early-session liquidity container.
Plan your trade with 💸 risk module (pick EP/SL, verify pips + lots + target).
Add 📈 zigzag structure and 📊 imbalances only as supporting context.
⚠️ Notes & limitations
This tool is for planning and chart reading, not automated execution.
Lot sizing is an estimate based on your inputs; always confirm broker contract specs.
Some modules draw many objects (boxes/lines/tables) 🧱, which may slow very small timeframes.
SessionVWAP + ORBThis TradingView Pine Script indicator combines two powerful intraday tools:
Multiple Rolling VWAPs: It plots up to four independent rolling (continuous) Volume Weighted Average Prices (VWAPs) with user-defined periods (e.g., 1-hour, 2-hour, 4-hour, daily). These are "anchored" to a customizable session start time and roll forward accurately without daily resets, providing dynamic fair-value benchmarks that react at different speeds (fastest/shortest on top).
Opening Range Breakout (ORB) Zones: It displays the high/low range (with optional background shading and lines) for major global trading sessions — Sydney, Tokyo, London, New York, and US RTH (Regular Trading Hours, starting at 9:30 ET) — over the first configurable minutes (default 30) after each session open, with history for several prior days.
The latest version adds full timezone flexibility (e.g., Chicago, New York, UTC, London, Tokyo, Sydney), automatically adjusting anchor times and session opens.
Use Case
This script is ideal for intraday and day traders (especially in stocks, futures, forex, or indices) seeking confluence between volume-based value areas and session momentum.
VWAP Component: Use the layered rolling VWAPs as dynamic support/resistance. Price above the fastest VWAPs suggests bullish bias; pullbacks to slower VWAPs offer mean-reversion entries. The multi-timeframe view helps gauge short-term vs. longer-term "fair value."
ORB Component: Trade breakouts from major session opening ranges — e.g., buy above the New York ORB high (red line) for momentum longs, or fade failures for reversals. Combine with VWAP (e.g., only take NY ORB longs if price is above session VWAP) for higher-probability filters.
Overall: Overlay on lower timeframes (1-15 min) to spot setups like ORB breakouts aligning with VWAP crosses, or use for risk management (stops beyond ORB extremes). The timezone support makes it versatile for global markets without manual adjustments.
ATR-Reset Pivot Points ATR-Reset Pivot Points - Dynamic for London & NY Sessions
Standard daily pivots go stale fast after Asia — this version fixes that.
Key feature:
Instead of resetting on time (daily/4h/6h), pivots only update when price makes a REAL move.
How it works:
- Tracks 5m ATR(14) volatility (usually 200–400 pts on BTC)
- Resets pivots when price moves ≥ 1.7 × ATR (or min 300 pts) away from last reset high/low
- New P, R1–R5, S1–S5 are calculated from the exact candle where the big move happened
- Green triangle marks each reset
Why this matters for day trading:
- Asia: stays quiet, almost no resets → clean like standard pivots
- London open / NY killzone: auto-refreshes on real volume legs → levels always reflect current session structure
- No more sandwiching or fakeouts from 12-hour-old pivots
Best on BTCUSDT.P 5m
Recommended settings:
- ATR Multiplier: 1.7–2.0 (higher = fewer resets)
- Min Reset Points: 300–400 (safety net in chop)
- Pivot Type: Traditional or Fibonacci
Perfect for directional bias, Tokyo Protocol style, when real money flows in.
Prints fresh levels exactly when you need them most.
Enjoy the edge.
4H HOD/LOD Checkpoint Analysis4H HOD/LOD Checkpoint Analysis - Detailed User Guide
OVERVIEW
This indicator is a data-driven probability framework for NQ Futures traders that predicts High-of-Day (HOD) and Low-of-Day (LOD) placement based on statistical analysis of 3,136+ trading days (2013-2025). Unlike traditional indicators that rely on technical signals, this tool uses checkpoint-based state analysis with zero forward-looking bias to provide real-time probabilities of whether the daily range is complete.
⚠️ IMPORTANT: This indicator is specifically designed for NQ FUTURES ONLY. All probabilities, patterns, and statistics were derived from a 10+ year historical dataset of NQ 1-minute bars. Using this on other instruments will produce inaccurate results.
CORE CONCEPT: CHECKPOINT METHODOLOGY
What is a Checkpoint?
A checkpoint occurs when a 4-hour candle closes. At this moment, the indicator "locks" the current market state and calculates probabilities for the remainder of the trading day. The key innovation is that state never changes after locking - probabilities remain constant throughout the session until the next checkpoint.
The Six 4-Hour Candles (EST):
6PM (18:00-22:00) - Evening/Globex open
10PM (22:00-02:00) - Asia session
2AM (02:00-06:00) - Early London
6AM (06:00-10:00) - Late London + NY Open
10AM (10:00-14:00) - NY Morning
2PM (14:00-17:00) - NY Afternoon (3 hours only)
Five Checkpoints:
10PM Checkpoint - After 6PM closes
2AM Checkpoint - After 10PM closes
6AM Checkpoint - After 2AM closes
10AM Checkpoint - After 6AM closes (most critical)
2PM Checkpoint - After 10AM closes (highest conviction fade signals)
HOW IT WORKS: THE THREE-FACTOR STATE SYSTEM
At each checkpoint, the indicator evaluates three critical factors to determine probability:
1. ELIMINATIONS (Quantity)
An "elimination" occurs when a candle trades beyond a previous candle's high or low, effectively removing that candle from contention for HOD/LOD.
Example at 10AM Checkpoint:
6PM high = 18,000
10PM high = 18,050 (eliminates 6PM high)
2AM high = 18,100 (eliminates 10PM high)
6AM high = 18,075 (does NOT eliminate 2AM high)
Result: 2 eliminations
The number of eliminations indicates trend strength:
0 eliminations = Range-bound, high probability extremes already set
1-2 eliminations = Moderate trend
3-4 eliminations = Strong trend day, range likely to extend
2. STRUCTURE (Pattern Type)
The indicator distinguishes between two elimination patterns:
Sequential: Eliminations occur in order (6pm → 10pm → 2am → 6am → 10am)
Indicates smooth, consistent trend
Example: 10pm eliminates 6pm, then 2am eliminates 10pm (sequential)
Skip: Eliminations skip candles
Indicates choppy/reversal behavior
Example: 2am eliminates 6pm but NOT 10pm (skip pattern)
Why it matters: Skip patterns show 2X probability differences compared to sequential patterns. At 10AM checkpoint with 2 eliminations, skip pattern shows 64% participation rate vs 36% for sequential pattern with previous survived.
3. PREVIOUS CANDLE STATUS
Did the immediately prior candle get eliminated?
Eliminated: Previous candle's high/low was taken out
Indicates relentless trend
Higher probability of continuation
Survived: Previous candle's high/low still intact
Indicates trend pause
Higher probability of mean reversion or range completion
Critical insight: High and low are tracked separately. At 2AM checkpoint, 10PM might have eliminated 6PM high (relentless uptrend) but NOT eliminated 6PM low (low survived). This creates different probabilities for HOD vs LOD.
VISUAL ELEMENTS
4-Hour Candle Boxes
Each 4H candle is displayed as a colored box showing its range:
Gray = 6PM (evening)
Blue = 10PM (Asia)
Purple = 2AM (early London)
Orange = 6AM (London + NY Open) - THE CURVE SESSION
Teal = 10AM (NY morning) - THE MONEY SESSION
Red = 2PM (NY afternoon) - THE FADE SESSION
HOD/LOD Lines
Black horizontal lines extend from current HOD/LOD with labels showing:
Which candle set the extreme
Current price level
THE CHECKPOINT TABLE EXPLAINED
Table Header:
Shows current checkpoint (e.g., "🎯 10AM CHECKPOINT") or "⏳ PRE-CHECKPOINT" if between checkpoints.
Main Metrics (Side-by-Side Comparison):
The table displays HOD and LOD separately in two columns because they can have different patterns:
METRIC
HODLOD Eliminations
Number of candles eliminated so far for highs
Number of candles eliminated so far for lows
Structure
Sequential or Skip pattern for highs
Sequential or Skip pattern for lows
Prev Candle
Was previous candle's high eliminated or did it survive?
Was previous candle's low eliminated or did it survive?
Pattern
Combined interpretation: Relentless/Paused/Skip/Early
Combined interpretation: Relentless/Paused/Skip/Early
Color Coding:
Structure Row:
White = Sequential (smooth trend)
Orange = Skip (choppy/reversal)
Previous Candle Row:
Red = Eliminated (relentless trend continuing)
Blue = Survived (trend paused)
Pattern Row:
Red = Relentless (previous eliminated + sequential = strong trend)
Blue = Paused (previous survived + sequential = trend pause)
Orange = Skip/Chop (skip pattern = reversal likely)
Gray = Early (0-1 eliminations, too early to tell)
Probability Section:
Prob Already In: Percentage chance that HOD/LOD has already been set
Color coding:
Green (>75%) = High confidence extreme is in, FADE
Yellow (45-75%) = Moderate confidence
Red (<45%) = Low confidence extreme is in, CONTINUATION likely
Sample Size: Shows how many historical occurrences match this exact state (n=XXX)
Larger samples = higher confidence
Most common states have n=500-2,000+
Current: Which candle currently holds HOD/LOD
Pattern Guide Section:
Appears when you have 2+ eliminations. Provides interpretation:
📈 Paused: Trend has paused, 2pm more likely to set extreme
📈 Relentless: Breaking higher/lower, continuation expected
📈 Skip/Chop: Choppy pattern, next session likely
Same for lows with 📉 symbol.
PRACTICAL TRADING EXAMPLES
Example 1: High Conviction Fade Setup
State at 10AM Checkpoint:
Eliminations: 0 (both HOD/LOD)
Structure: None (no eliminations yet)
Prev Candle: Survived
Table shows:
HOD Prob Already In: 68.9% (n=582)
LOD Prob Already In: 73.6% (n=785)
Interpretation: Range is likely complete. Fade extremes. With 0 eliminations and 70%+ probability, this is a high-conviction mean reversion signal.
Example 2: Strong Continuation Signal
State at 10AM Checkpoint:
Eliminations: 3 (both HOD/LOD)
Structure: Sequential
Prev Candle: Eliminated (relentless)
Table shows:
HOD Prob Already In: 29.8% (n=1,758)
LOD Prob Already In: 34.6% (n=1,451)
Pattern: 📈 Relentless / 📉 Relentless
Interpretation: Strong trend day. Only 30-35% chance range is complete. Look for breakouts in direction of trend. 10AM and 2PM likely to extend range.
Example 3: Pattern Structure Edge
State at 10AM Checkpoint:
Eliminations: 2 (HOD)
Structure: Skip (orange background)
Prev Candle: Eliminated vs Alternative State:
Eliminations: 2 (HOD)
Structure: Sequential
Prev Candle: Survived
Result: Skip pattern shows 64% chance 10AM participates vs 36% for sequential+survived. Skip pattern = 2X more likely to see 10AM high. This structural edge is unique to this indicator.
Example 4: Different HOD vs LOD Patterns
State at 10AM Checkpoint:
HOD: 2 eliminations, Sequential, Previous Eliminated (Relentless) = 46.7% in
LOD: 2 eliminations, Skip, Previous Eliminated (Choppy) = 48.4% in
Interpretation: Highs show relentless uptrend but lows show choppy behavior. This divergence suggests potential for upside continuation but with volatility. Not a clean trend day.
KEY CHECKPOINT STATISTICS (DERIVED FROM 10-YEAR DATASET)
10PM Checkpoint (After 6PM):
Very early in day
13.5% HOD in, 21.3% LOD in
Most likely outcome: Range extends into 6AM/10AM
2AM Checkpoint (After 10PM):
Still early
With 0 elims: 22-31% in (balanced)
With 1 elim: 8-12% in (strong trend signal)
6AM Checkpoint (After 2AM) - Critical Decision Point:
With 0 elims: 40-47% in (balanced, could go either way)
With 2 elims: 18-22% in (strong trend into 6AM/10AM)
Most likely outcome: 10AM sets extremes (~38-40%)
10AM Checkpoint (After 6AM) - Highest Conviction:
With 0 elims: 69-74% in → FADE (high confidence)
With 3 elims: 30-35% in → BUY/SELL continuation
This is THE money checkpoint for high-probability setups
2PM Checkpoint (After 10AM) - Maximum Fade Conviction:
With 0-3 elims: 67-95% in → FADE strongly
With 4 elims: 49-61% in (monster trend, weaker fade)
2PM is primarily a mean reversion session
UNDERSTANDING THE UNDERLYING DATA
All probabilities are derived from analysis of:
Instrument: NQ Futures (E-mini NASDAQ-100)
Timeframe: 1-minute bars
Period: January 2013 - December 2025
Sample: 3,136+ complete trading days
Methodology: Real-time checkpoint analysis with zero forward-looking bias
Why NQ-Specific?
Each futures contract has unique:
Session characteristics (6AM in NQ shows 60-64% curve behavior, other sessions differ)
Timing patterns (NQ's 10AM session has 67-74% immediate takeouts)
Volatility profiles (NQ 2PM shows 56% bullish bias vs ES shows different bias)
Using this indicator on ES, RTY, or other instruments will produce inaccurate results because the probability tables are NQ-specific.
ORIGINALITY & INNOVATION
What Makes This Indicator Unique:
Zero Forward-Looking Bias: State locks at checkpoint moments. Traditional indicators recalculate continuously, introducing bias. This indicator freezes probabilities at the exact moment a 4H candle closes.
Three-Factor State System: Combines elimination count, structure pattern, and previous candle status. Most indicators only track one dimension. This multi-factor approach provides 2X+ probability differentials.
Separate HOD/LOD Tracking: Highs and lows can have different patterns simultaneously (relentless high with choppy low). This indicator tracks them separately for precision.
Pattern Structure Analysis: Distinguishes between sequential and skip patterns, a concept not found in standard indicators. Skip patterns show mean reversion while sequential shows continuation.
10+ Year Statistical Foundation: Every probability is backed by hundreds to thousands of historical occurrences (sample sizes shown in table). Not based on theories or assumptions.
Checkpoint-Specific Probabilities: Different checkpoints have different probability profiles. 10AM checkpoint with 0 eliminations = 70%+ fade. 6AM checkpoint with same state = 40%+ fade. Context matters.
HOW TO USE THIS INDICATOR
Step 1: Wait for Checkpoint
The table will show "⏳ PRE-CHECKPOINT" until a 4H candle closes. Probabilities are only valid at checkpoint moments.
Step 2: Read the State
Check the three factors:
How many eliminations?
Sequential or skip?
Previous candle eliminated or survived?
Step 3: Check Probability
Look at "Prob Already In" percentage:
>75% (Green) = High confidence extreme is set, fade
45-75% (Yellow) = Moderate confidence, use other confirmation
<45% (Red) = Low confidence extreme is set, continuation likely
Step 4: Check Sample Size
Larger sample (n=1,000+) = higher confidence
Smaller sample (n=50-200) = use caution, edge is real but less robust
Step 5: Consider Pattern
Read the pattern guide:
Relentless = trend continuing
Paused = trend stalled, mean reversion
Skip/Chop = reversal/range likely
Step 6: Compare HOD vs LOD
If both show similar patterns = cleaner signal
If divergent patterns = complex day, be cautious
BEST PRACTICES
Focus on 10AM and 2PM checkpoints - These have the highest conviction signals
Combine with price action - Don't fade blindly at 90% probability if price is breaking out strongly
Larger samples = better edges - Prioritize setups with n=500+
Watch for pattern divergence - When HOD and LOD show different patterns, expect complexity
Remember session characteristics:
6AM = THE CURVE SESSION (60-64% mean reversion when Q2 breaks Q1)
10AM = THE MONEY SESSION (67-74% immediate takeouts, highest conviction)
2PM = THE FADE SESSION (67-95% extremes already in)
SETTINGS
Show 4H Candle Boxes - Display colored boxes for each 4H candle
Show HOD/LOD Lines - Display horizontal lines at current extremes
Show Checkpoint Analysis - Display probability table
Table Position - Choose where to place the checkpoint table
Table Size - Tiny/Small/Normal
Colors - Customize box colors for each session
LIMITATIONS & DISCLAIMERS
NQ FUTURES ONLY - Do not use on other instruments
Not a standalone system - Use as confluence with your strategy
Historical data - Past performance doesn't guarantee future results
Sample size variance - Some states have smaller samples, use judgment
Requires understanding - Read this guide fully before trading with this tool
FINAL NOTES
This indicator represents 10+ years of NQ futures data distilled into actionable, real-time probabilities. The checkpoint methodology ensures zero forward-looking bias, while the three-factor state system provides granular edge that traditional indicators miss.
Remember: This tool provides probabilities, not certainties. Trade with proper risk management, and use this as one input in your decision-making process.
V-Max: Tactical Clock & Price (Master Fit)Overview
The V-Max Tactical Clock & Price is a high-visibility utility dashboard engineered for precision execution in global financial markets. It serves as a "Physical Timezone Navigator," providing real-time price tracking and synchronized local time display directly on the chart. This ensures traders can align their execution with specific market openings and closing volatility regardless of the exchange's default timezone.
Core Technical Logic & Features
This script focuses on the physics of time-alignment and visual stability:
Physical Time Calibration Engine: Unlike standard UI clocks, this script employs a millisecond-level compensation engine using the formula: $timenow + (tz\_offset \times 60 \times 60 \times 1000)$. This allows for precise synchronization with any global market (e.g., London, New York, or Asia sessions).
Momentum-Driven Price Rendering: The price display utilizes conditional coloring logic ($close \ge open ? up\_col : dn\_col$) to provide immediate visual feedback on the current bar's momentum.
High-Identifiability UI (Master Fit): Leverages the table.new titan rendering engine with size.huge font specifications for the price. This ensures critical data remains readable even on small mobile screens or high-density multi-chart layouts.
Anti-Flicker Monospaced Formatting: Employs font.family_monospace to ensure strict numerical alignment, preventing visual flickering or "jumping" during periods of extreme market volatility.
How to Use
Timezone Setup: Enter your local GMT offset (e.g., +8 for Taiwan/Singapore, -5 for New York) in the settings.
Visual Customization: Adjust the dashboard position (default: Bottom Left) and background aesthetics to fit your professional trading workspace.
產品概述
V-Max 戰術時鐘與價格顯示器是一款為全球市場設計的高辨識度工具。它作為一個實時的「全球時區導航儀」,在圖表上直接提供實時價格追蹤與同步化的本地時間顯示,確保交易者能精確對齊各國市場開盤瞬間的波動。
核心技術邏輯與功能物理時間校準引擎:採用毫秒級時間補償運算,公式為:$timenow + (tz\_offset \times 60 \times 60 \times 1000)$。這讓交易者能精確校準全球任一交易所的本地時間。
動能價格渲染:價格顯示具備即時漲跌變色邏輯,提供直觀的即時盤感反饋。
特大字體 UI (Master Fit):採用 size.huge 字體規格顯示價格,確保在移動端或複雜多圖表布局下依然清晰易讀。
防閃爍等寬格式:使用等寬字體確保數字在劇烈波動時不會產生視覺跳動,維持高度的讀數穩定性。
Access & Support
This script is published as a Free Public Utility in the TradingView Library. Disclaimer: For educational purposes only. Past performance does not guarantee future results.
Disclaimer: This script is for technical analysis and educational purposes only. It does not provide financial advice.
ICT Concepts [Kodexius]ICT Concepts is an all in one, chart overlay toolkit that combines several widely used ICT style components into a single, modular workflow. It is designed to help you map higher timeframe context, track directional structure, and refine execution areas with imbalance and liquidity concepts, without turning the chart into a cluttered drawing board.
Instead of plotting everything indefinitely, each module focuses on “live relevance” and chart readability. Zones, lines, and labels are managed with sensible limits so the most recent and most meaningful structures remain visible while older objects are automatically retired.
Because the system is modular, you can run it like a complete toolkit:
- Use multi timeframe Order Blocks to define high probability zones
- Use Market Structure (BOS and MSS) for bias and context
- Validate intent with SMT Divergence when you want intermarket confirmation
- Refine with Imbalances (FVG, BPR, CE) and Liquidity Sweeps
- Add timing structure via Killzones and risk structure via auto Fibonacci
🔹 Features
🔸 Multi Timeframe Order Blocks (3 candle displacement OB)
The OB engine detects a strict 3 candle displacement sequence (bull and bear) and projects the “order block candle” as a forward extending zone. Detection can run on the chart timeframe or on a user selected higher timeframe and then be displayed on your execution chart.
🔸 Overlap Control
Before adding a new OB, the script checks overlap against existing zones of the same direction. If a new zone intersects an existing one, it is ignored to reduce redundant stacking in the same price area.
🔸 Automatic Extension and Mitigation for Order Blocks
OB zones extend forward on every bar and are removed once mitigation is confirmed. Mitigation is evaluated by close breaking decisively beyond the relevant boundary:
- Bullish OB mitigates when close prints below the OB bottom
- Bearish OB mitigates when close prints above the OB top
🔸 Market Structure (BOS and MSS)
Market Structure is built from swing pivots using a configurable pivot length. When price closes through the latest swing, the script prints a structure event:
BOS (Break of Structure) for continuation
MSS (Market Structure Shift) for a directional change
To keep the chart readable, older structure drawings are capped by history limits.
🔸 SMT Divergence with optional mini panel
SMT can compare the current instrument with a user selected symbol to highlight divergence at swing points. A divergence is flagged when one market makes a new swing extreme while the other fails to confirm.
Optional: a compact right side “compare symbol” candle panel can be enabled so you can visually confirm what the secondary market is doing without leaving the chart.
🔸 Imbalances: FVG, BPR, and CE modes
You can choose between three imbalance views depending on your style:
FVG mode: Fair Value Gaps are plotted as extending zones
CE mode: Consequent Encroachment is visualized using a midpoint line and a half zone fill
BPR mode: Balanced Price Range is formed when a new FVG overlaps an opposing FVG, producing a “balanced” region that often behaves differently than a standalone gap
🔸 Automatic extension, limits, and mitigation for imbalances
Imbalance objects extend forward until mitigated. Mitigation uses wick based logic:
Bullish imbalance mitigates when price wicks below the zone bottom
Bearish imbalance mitigates when price wicks above the zone top
The script also enforces per side limits and removes older items to keep performance stable.
🔸 Liquidity sweeps (buyside and sellside)
The liquidity module tracks swing highs and lows and marks sweep events when price runs the level and then closes back through it, which often behaves like a rejection signal. Sweeps are visualized with a level line plus a small sweep highlight box, with an optional history cap.
🔸 Auto anchored Fibonacci (EQ and OTE focus)
Fibonacci levels are automatically anchored using the most recent structure context so you do not need to manually re draw fibs every time the market evolves. EQ and OTE focused bands are plotted to support common premium discount style workflows, with optional extra levels if desired.
🔸 Killzones (session boxes with optional range tracking)
Asian, London Open, New York AM, and New York PM killzones can be displayed using UTC-5 session definitions. Session boxes dynamically expand as new highs and lows are formed during the session, and historical zones can be retained up to a user set count. Rendering is restricted to intraday timeframes up to 60 minutes for clean scaling and performance.
🔹 Calculations
1) Order Block detection (3 candle displacement)
The OB pattern is defined inside detectLogic() . The zone boundaries always come from candle (the middle candle of the 3 candle sequence).
detectLogic() =>
bool isBull = open > close and close > open and close > open and low < low and close > high
bool isBear = open < close and close < open and close < open and high > high and close < low
[isBull, high , low , time , isBear, high , low , time ]
Interpretation (bullish side):
Candle is bearish
Candle is bullish (the OB candle)
Current candle is bullish and closes above high
low undercuts low to form the sweep style condition
Bearish logic is the mirrored inverse.
2) Multi timeframe projection and duplicate control
If the timeframe input is set, detections are computed on that timeframe and projected onto the current chart using request.security . A last processed time check prevents duplicate prints.
=
request.security(syminfo.tickerid, i_tf, detectLogic())
var int lastBullTime = 0
var int lastBearTime = 0
if mtf_isBull and mtf_bullTime != lastBullTime
lastBullTime := mtf_bullTime
if mtf_isBear and mtf_bearTime != lastBearTime
lastBearTime := mtf_bearTime
3) OB overlap validation and mitigation
Overlap is checked before pushing a new zone, then zones are extended and removed once mitigated by close.
method hasOverlap(array OBs, float top, float bottom) =>
bool overlap = false
if OBs.size() > 0
for i = 0 to OBs.size() - 1
OB item = OBs.get(i)
if (top < item.top and top > item.bottom) or (bottom > item.bottom and bottom < item.top)
overlap := true
break
overlap
method isMitigated(OB this, float currentClose) =>
this.isBull ? (currentClose < this.bottom) : (currentClose > this.top)
4) Market Structure: pivots, BOS, and MSS
Swings are derived from pivots; then BOS/MSS prints when price crosses the latest swing. The script tracks trend state to decide whether the break is continuation (BOS) or shift (MSS).
float ph = ta.pivothigh(i_structLen, i_structLen)
float pl = ta.pivotlow(i_structLen, i_structLen)
bool brokenHigh = ta.crossover(close, lastHigh)
bool brokenLow = ta.crossunder(close, lastLow)
// drawStructure(..., "BOS", ...) or drawStructure(..., "MSS", ...) depending on trend state
5) SMT Divergence conditions
SMT uses pivot highs/lows on both instruments. A bearish SMT prints when the main chart makes a higher high but the compare symbol fails to exceed its prior high. A bullish SMT prints when the main chart makes a lower low but the compare symbol fails to make a lower low.
bool bearishSmt = not na(smtAHighPrev) and not na(smtBHighPrev) and (smtAHighLast > smtAHighPrev) and (smtBHighLast <= smtBHighPrev)
bool bullishSmt = not na(smtALowPrev) and not na(smtBLowPrev) and (smtALowLast < smtALowPrev) and (smtBLowLast >= smtBLowPrev)
6) FVG detection, BPR construction, and CE level
FVGs are detected via a classic 3 bar gap condition. When a new FVG overlaps an opposing FVG, the script builds a BPR using the intersecting region. CE is the midpoint (top + bottom) / 2, plotted as a dashed line plus a half fill box.
bool fvgBullDetected = low > high
bool fvgBearDetected = high < low
// CE
float ceLevel = (this.top + this.bottom) / 2
Imbalance mitigation uses wick logic:
method isMitigated(FVG this, float currentHigh, float currentLow) =>
this.isBull ? (currentLow < this.bottom) : (currentHigh > this.top)
7) Liquidity sweep trigger
A sweep is confirmed only when price runs the pivot level and closes back through it (reject style).
bool sweepBull = i_showLiq and not na(liqLastLow) and not liqLastLowSwept and low < liqLastLow and close > liqLastLow
bool sweepBear = i_showLiq and not na(liqLastHigh) and not liqLastHighSwept and high > liqLastHigh and close < liqLastHigh
8) Killzone session mapping
Sessions are defined in UTC-5 using time() session strings.
string kzTz = "UTC-5"
kzInSession(string sess) =>
not na(time(timeframe.period, sess, kzTz))
bool inAsian = kzInSession("2000-0000")
bool inLondon = kzInSession("0200-0500")
bool inNY = kzInSession("0830-1100")
SAR Volume ScalperSAR Volume Scalper is a minimalist intraday scalping indicator designed for 1–2 minute charts, optimized for high-liquidity markets such as NASDAQ (NQ) and Gold (GC).
The indicator combines Parabolic SAR price crossings with a neutral volume participation filter (Volume ≥ EMA(Volume)), ensuring that signals appear only when the market is active, without relying on rare or aggressive volume spikes.
🔑 Core Logic
Parabolic SAR identifies precise micro-trend shifts
Trend EMA filters directional bias and reduces counter-trend trades
Neutral volume filter confirms market participation while preserving signal frequency
ATR-based targets adapt automatically to current volatility
🎯 Designed For
High-frequency scalping on 1–2 minute timeframes
Manual trade execution during active market sessions
Traders who prefer price and flow confirmation over heavy indicator stacking
⚠️ Disclaimer
This indicator is a decision-support tool and should not be used as standalone trading advice.
It is not intended for fully automated trading.
PA SystemPA System
短简介 Short Description(放在最上面)
中文:
PA System 是一套以 AL Brooks 价格行为为核心的策略(Strategy),将 结构(HH/HL/LH/LL)→ 回调(H1/L1)→ 二次入场(H2/L2 微平台突破) 串成完整可回测流程,并可选叠加 BoS/CHoCH 结构突破过滤 与 Liquidity Sweep(扫流动性)确认。内置风险管理:定风险仓位、部分止盈、保本、移动止损、时间止损、冷却期。
English:
PA System is an AL Brooks–inspired Price Action strategy that chains Market Structure (HH/HL/LH/LL) → Pullback (H1/L1) → Second Entry (H2/L2 via Micro Range Breakout) into a complete backtestable workflow, with optional BoS/CHoCH structure-break filtering and Liquidity Sweep confirmation. Built-in risk management includes risk-based sizing, partial exits, breakeven, trailing stops, time stop, and cooldown.
⸻
1) 核心理念 Core Idea
中文:
这不是“指标堆叠”,而是一条清晰的价格行为决策链:
结构确认 → 回调出现 → 小平台突破(二次入场)→ 风控出场。
策略把 Brooks 常见的“二次入场”思路程序化,同时用可选的结构突破与扫流动性模块提升信号质量、减少震荡误入。
English:
This is not an “indicator soup.” It’s a clear price-action decision chain:
Confirmed structure → Pullback → Micro-range breakout (second entry) → Risk-managed exits.
The system programmatically implements the Brooks-style “second entry” concept, and optionally adds structure-break and liquidity-sweep context to reduce chop and improve trade quality.
⸻
2) 主要模块 Main Modules
A. 结构识别 Market Structure (HH/HL/LH/LL)
中文:
使用 pivot 摆动点确认结构,标记 HH/HL/LH/LL,并可显示最近一组摆动水平线,方便对照结构位置。
English:
Uses confirmed pivot swings to label HH/HL/LH/LL and optionally plots the most recent swing levels for clean structure context.
B. 状态机 Market Regime (State Machine + “Always In”)
中文:
基于趋势K强度、EMA关系与波动范围,识别市场环境(Breakout/Channel/Range)以及 Always-In 方向,用于过滤不合适的交易环境。
English:
A lightweight regime engine detects Breakout/Channel/Range and an “Always In” directional bias using momentum and EMA/range context to avoid low-quality conditions.
C. 二次入场 Second Entry Engine (H1→H2 / L1→L2)
中文:
• H1/L1:回调到结构附近并出现反转迹象
• H2/L2:在 H1/L1 后等待最小 bars,然后触发 Micro Range Breakout(小平台突破)并要求信号K收盘强度达标
这一段是策略的“主发动机”。
English:
• H1/L1: Pullback into structure with reversal intent
• H2/L2: After a minimum wait, triggers on Micro Range Breakout plus a configurable close-strength filter
This is the main “entry engine.”
D. 可选过滤器 Optional Filters (Quality Boost)
BoS/CHoCH(结构突破过滤)
中文: 可识别 BoS / CHoCH,并可要求“入场前最近 N bars 必须有同向 break”。
English: Detects BoS/CHoCH and can require a recent same-direction break within N bars.
Liquidity Sweeps(扫流动性确认)
中文: 画出 pivot 高/低的流动性水平线,检测“刺破后收回”的 sweep,并可要求入场前出现同向 sweep。
English: Tracks pivot-based liquidity levels, confirms sweeps (pierce-and-reclaim), and can require a recent sweep before entry.
E. FVG 可视化 FVG Visualization
中文: 提供 FVG 区域盒子与管理模式(仅保留未回补 / 仅保留最近N),主要用于区域理解与复盘,不作为强制入场条件(可自行扩展)。
English: Displays FVG boxes with retention modes (unfilled-only or last-N). Primarily for context/analysis; not required for entries (you can extend it as a filter/target).
⸻
3) 风险管理 Risk Management (Built-In)
中文:
• 定风险仓位:按账户权益百分比计算仓位
• SL/TP:基于结构 + ATR 缓冲,且限制最大止损 ATR 倍
• 部分止盈:到达指定 R 后减仓
• 保本:到达指定 R 后推到 BE
• 移动止损:到达指定 R 后开始跟随
• 时间止损:持仓太久不动则退出
• 冷却期:出场后等待 N bars 再允许新单
English:
• Risk-based sizing: position size from equity risk %
• SL/TP: structure + ATR buffer with max ATR risk cap
• Partial exits at an R threshold
• Breakeven at an R threshold
• Trailing stop activation at an R threshold
• Time stop to reduce chop damage
• Cooldown after exit to avoid rapid re-entries
⸻
4) 推荐使用方式 Recommended Usage
中文:
• 推荐从 5m / 15m / 1H 开始测试
• 想更稳:开启 EMA Filter + Break Filter + Sweep Filter,并提高 Close Strength
• 想更多信号:关闭 Break/Sweep 过滤或降低 Swing Length / Close Strength
• 回测时务必设置合理的手续费与滑点,尤其是期货/指数
English:
• Start testing on 5m / 15m / 1H
• For higher quality: enable EMA Filter + Break Filter + Sweep Filter and increase Close Strength
• For more signals: disable Break/Sweep filters or reduce Swing Length / Close Strength
• Use realistic commissions/slippage in backtests (especially for futures/indices)
⸻
5) 重要说明 Notes
中文:
结构 pivot 需要右侧确认 bars,因此结构点存在天然滞后(确认后不会再变)。策略逻辑尽量避免不必要的对象堆叠,并对数组/对象做了稳定管理,适合长期运行与复盘。
English:
Pivot-based structure requires right-side confirmation (inherent lag; once confirmed it won’t change). The script is designed for stability and resource-safe object management, suitable for long sessions and review.
⸻
免责声明 Disclaimer(建议原样保留)
中文:
本脚本仅用于教育与研究目的,不构成任何投资建议。策略回测结果受市场条件、手续费、滑点、交易时段、数据质量等影响显著。使用者需自行验证并承担全部风险。过往表现不代表未来结果。
English:
This script is for educational and research purposes only and does not constitute financial advice. Backtest results are highly sensitive to market conditions, fees, slippage, session settings, and data quality. Use at your own risk. Past performance is not indicative of future results.
VolumeValueArea (Double Ref Back)Description :
Overview This indicator is designed for traders who rely on Auction Market Theory and want to identify the market's true Fair Value with precision. It combines two independent Volume Profile instances into a single tool, allowing you to analyze market structure across multiple timeframes simultaneously (e.g., Daily and 4-Hour).
The unique feature of this script is the "Reference Back" logic. Instead of only seeing the current session's profile, you can project the Value Area (VA) and Point of Control (POC) from n periods ago onto the current session. This allows you to immediately see how price reacts to previous areas of high liquidity.
Key Features
Dual Profile Instances: Run two separate profiles (e.g., Profile 1 on 'Daily' and Profile 2 on '4 Hour') within one indicator to find confluence.
Historical Referencing (Offset): Display the levels of past sessions on the current chart.
Offset 0: Shows the developing levels of the current session.
Offset 1: Projects the finished levels of the previous session onto the current price action.
Active Line Projection: Automatically projects the relevant POC and Value Area lines into the future (infinite extension) for the currently active session, making it easy to spot upcoming support and resistance.
Stateless Session Precision: Uses a robust calculation method to ensure session breaks (like the 4-Hour starts) are mathematically precise, regardless of exchange timestamps.
Full Visual Control: Customize line styles (Solid, Dashed, Dotted), widths, and colors for POC, VAH, and VAL independently.
How to Use: Finding Fair Value Clusters
The primary goal of this script is to visualize where "Fair Value" overlaps across different timeframes. This is often called Clustering.
Setup Confluence: Set Profile 1 to a higher timeframe (e.g., Daily) and Profile 2 to a lower timeframe (e.g., 4 Hour or 1 Hour).
Analyze the Context: Set the Reference Back to 1. This allows you to trade the current session while seeing the key levels established in the previous session.
Identify Clusters: Look for areas where the Daily POC/Value Area aligns closely with the H4 POC/Value Area.
Strong Support/Resistance: When a Daily VAH aligns with a 4H POC, it creates a "Cluster" of interest.
Acceptance vs. Rejection: If price moves away from a cluster and creates a new value area, the market is seeking a new fair value. If it rotates around the cluster, fair value is established.
Settings Guide
Session Type: Choose between Daily, Weekly, Monthly, 4 Hour, 1 Hour, etc.
Reference Back (n Periods): Determines which past session's levels are drawn on the current bars. 0 = Current, 1 = Previous, 2 = The one before that.
Resolution: The granularity of the volume profile (higher = more precise).
Extend Active: If enabled, the lines for the current calculation period will extend infinitely to the right until a new session begins.
Styles: Configure independent line styles to visually distinguish between Profile 1 (e.g., solid lines) and Profile 2 (e.g., dashed lines).
Risk Disclaimer This tool is for chart analysis and educational purposes only. Past volume nodes do not guarantee future price reactions. Always manage your risk responsibly.
Prop ES Bollinger Bands Strat during Single/Dual Trading SessionBollinger Band strategy for ES futures optimized for prop firm rules.
Choose long-only, short-only, or both directions.
Customizable BB length and multiplier.
Enter trades during one or two configurable sessions specified in New York time.
Fixed TP/SL in ticks with forced close by 4:59 PM NY time.
enigmaMarkets move, but price remembers.
Long before indicators flash signals or momentum shifts, price reacts to levels that were already there — quiet, patient, and unmoving.
This tool reveals those levels.
Fixed price intervals — the kind institutions respect, algorithms acknowledge, and charts quietly obey — are drawn automatically above and below current price. No predictions. No signals. Just structure.
The levels don’t chase price.
They wait for it.
On their own, they are simple.
Paired with time, context, and comparison, they become something else entirely.
When price reaches a level in alignment with a larger cycle, reactions tend to be cleaner and more decisive.
When related markets arrive at similar prices but disagree in direction, the divergence often tells a deeper story.
And when those moments occur within broader macro conditions, the response is rarely random.
Use these levels to observe reactions, pauses, rejections, and expansions.
Use them to frame risk across sessions, instruments, and regimes.
Use them to see how short-term movement fits inside a much larger narrative.
Nothing here tells you when to trade.
It only reveals where price matters — and when the market is paying attention.
If you know, you know.















