Weekly Futures VWAP (Major Indices) - StableAutomatically puts the VWAP anchor on Sunday opening of futures at 16:00, you are able to toggle on/off VWAP bands and of course enter alerts
Chỉ báo và chiến lược
Highlight Selected PeriodEdit and put what month or week you want and it will highlight all january's or all second weeks of the month to try and see if there are any patterns.
ICT SMT A+ LONG & SELL ChecklistTrade Checklist. Once all items checked color changes from yellow to green.
Boring MACD Trading Strategy - Dedicated to 'The Secret Mindset'This indicator displays the MACD status across three selectable timeframes, regardless of the chart timeframe you are currently viewing.
For each timeframe, it shows whether the MACD line is above or below the zero line, indicating bullish or bearish momentum.
It also shows whether the MACD line is above or below the signal line, revealing the current trend condition as bullish, bearish, or neutral.
Boring MACD Trading Strategy - Dedicated to 'The Secret Mindset'This indicator displays the MACD status across three selectable timeframes, regardless of the chart timeframe you are currently viewing.
For each timeframe, it shows whether the MACD line is above or below the zero line, indicating bullish or bearish momentum.
It also shows whether the MACD line is above or below the signal line, revealing the current trend condition as bullish, bearish, or neutral.
YCGH ATH DrawdownHow the Indicator Measures Drawdown from ATH
The indicator continuously tracks and calculates the percentage decline from the all-time high (ATH) using a systematic approach.
ATH Tracking Mechanism
Dynamic ATH Calculation: The script maintains a persistent variable that stores the highest price ever reached. On each bar, it compares the current high with the stored ATH using ath := math.max(ath, high), updating the ATH whenever a new peak is reached.
BTCUSD / (inverted)DXY RatioShows relation between INVERTED DXY and BITCOIN ( blue line ) . With EMA-smoothing ( red line ).
LibVeloLibrary "LibVelo"
This library provides a sophisticated framework for **Velocity
Profile (Flow Rate)** analysis. It measures the physical
speed of trading at specific price levels by relating volume
to the time spent at those levels.
## Core Concept: Market Velocity
Unlike Volume Profiles, which only answer "how much" traded,
Velocity Profiles answer "how fast" it traded.
It is calculated as:
`Velocity = Volume / Duration`
This metric (contracts per second) reveals hidden market
dynamics invisible to pure Volume or TPO profiles:
1. **High Velocity (Fast Flow):**
* **Aggression:** Initiative buyers/sellers hitting market
orders rapidly.
* **Liquidity Vacuum:** Price slips through a level because
order book depth is thin (low resistance).
2. **Low Velocity (Slow Flow):**
* **Absorption:** High volume but very slow price movement.
Indicates massive passive limit orders ("Icebergs").
* **Apathy:** Little volume over a long time. Lack of
interest from major participants.
## Architecture: Triple-Engine Composition
To ensure maximum performance while offering full statistical
depth for all metrics, this library utilises **object
composition** with a lazy evaluation strategy:
#### Engine A: The Master (`vpVol`)
* **Role:** Standard Volume Profile.
* **Purpose:** Maintains the "ground truth" of volume distribution,
price buckets, and ranges.
#### Engine B: The Time Container (`vpTime`)
* **Role:** specialized container for time duration (in ms).
* **Hack:** It repurposes standard volume arrays (specifically
`aBuy`) to accumulate time duration for each bucket.
#### Engine C: The Calculator (`vpVelo`)
* **Role:** Temporary scratchpad for derived metrics.
* **Purpose:** When complex statistics (like Value Area or Skewness)
are requested for **Velocity**, this engine is assembled
on-demand to leverage the full statistical power of `LibVPrf`
without rewriting complex algorithms.
---
**DISCLAIMER**
This library is provided "AS IS" and for informational and
educational purposes only. It does not constitute financial,
investment, or trading advice.
The author assumes no liability for any errors, inaccuracies,
or omissions in the code. Using this library to build
trading indicators or strategies is entirely at your own risk.
As a developer using this library, you are solely responsible
for the rigorous testing, validation, and performance of any
scripts you create based on these functions. The author shall
not be held liable for any financial losses incurred directly
or indirectly from the use of this library or any scripts
derived from it.
create(buckets, rangeUp, rangeLo, dynamic, valueArea, allot, estimator, cdfSteps, split, trendLen)
Construct a new `Velo` controller, initializing its engines.
Parameters:
buckets (int) : series int Number of price buckets ≥ 1.
rangeUp (float) : series float Upper price bound (absolute).
rangeLo (float) : series float Lower price bound (absolute).
dynamic (bool) : series bool Flag for dynamic adaption of profile ranges.
valueArea (int) : series int Percentage for Value Area (1..100).
allot (series AllotMode) : series AllotMode Allocation mode `Classic` or `PDF` (default `PDF`).
estimator (series PriceEst enum from AustrianTradingMachine/LibBrSt/1) : series PriceEst PDF model for distribution attribution (default `Uniform`).
cdfSteps (int) : series int Resolution for PDF integration (default 20).
split (series SplitMode) : series SplitMode Buy/Sell split for the master volume engine (default `Classic`).
trendLen (int) : series int Look‑back for trend factor in dynamic split (default 3).
Returns: Velo Freshly initialised velocity profile.
method clone(self)
Create a deep copy of the composite profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo Profile object to copy.
Returns: Velo A completely independent clone.
method clear(self)
Reset all engines and accumulators.
Namespace types: Velo
Parameters:
self (Velo) : Velo Profile object to clear.
Returns: Velo Cleared profile (chaining).
method merge(self, srcVolBuy, srcVolSell, srcTime, srcRangeUp, srcRangeLo, srcVolCvd, srcVolCvdHi, srcVolCvdLo)
Merges external data (Volume and Time) into the current profile.
Automatically handles resizing and re-bucketing if ranges differ.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
srcVolBuy (array) : array Source Buy Volume bucket array.
srcVolSell (array) : array Source Sell Volume bucket array.
srcTime (array) : array Source Time bucket array (ms).
srcRangeUp (float) : series float Upper price bound of the source data.
srcRangeLo (float) : series float Lower price bound of the source data.
srcVolCvd (float) : series float Source Volume CVD final value.
srcVolCvdHi (float) : series float Source Volume CVD High watermark.
srcVolCvdLo (float) : series float Source Volume CVD Low watermark.
Returns: Velo `self` (chaining).
method addBar(self, offset)
Main data ingestion. Distributes Volume and Time to buckets.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
offset (int) : series int Offset of the bar to add (default 0).
Returns: Velo `self` (chaining).
method setBuckets(self, buckets)
Sets the number of buckets for the profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
buckets (int) : series int New number of buckets.
Returns: Velo `self` (chaining).
method setRanges(self, rangeUp, rangeLo)
Sets the price range for the profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
rangeUp (float) : series float New upper price bound.
rangeLo (float) : series float New lower price bound.
Returns: Velo `self` (chaining).
method setValueArea(self, va)
Set the percentage of volume/time for the Value Area.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
va (int) : series int New Value Area percentage (0..100).
Returns: Velo `self` (chaining).
method getBuckets(self)
Returns the current number of buckets in the profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: series int The number of buckets.
method getRanges(self)
Returns the current price range of the profile.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns:
rangeUp series float The upper price bound of the profile.
rangeLo series float The lower price bound of the profile.
method getArrayBuyVol(self)
Returns the internal raw data array for **Buy Volume** directly.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for buy volume.
method getArraySellVol(self)
Returns the internal raw data array for **Sell Volume** directly.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for sell volume.
method getArrayTime(self)
Returns the internal raw data array for **Time** (in ms) directly.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for time duration.
method getArrayBuyVelo(self)
Returns the internal raw data array for **Buy Velocity** directly.
Automatically executes _assemble() if data is dirty.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for buy velocity.
method getArraySellVelo(self)
Returns the internal raw data array for **Sell Velocity** directly.
Automatically executes _assemble() if data is dirty.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
Returns: array The internal array for sell velocity.
method getBucketBuyVol(self, idx)
Returns the **Buy Volume** of a specific bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The buy volume.
method getBucketSellVol(self, idx)
Returns the **Sell Volume** of a specific bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The sell volume.
method getBucketTime(self, idx)
Returns the raw accumulated time (in ms) spent in a specific bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The time in milliseconds.
method getBucketBuyVelo(self, idx)
Returns the **Buy Velocity** (Aggressive Buy Flow) of a bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The buy velocity in .
method getBucketSellVelo(self, idx)
Returns the **Sell Velocity** (Aggressive Sell Flow) of a bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns: series float The sell velocity in .
method getBktBnds(self, idx)
Returns the price boundaries of a specific bucket.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
idx (int) : series int The index of the bucket.
Returns:
up series float The upper price bound of the bucket.
lo series float The lower price bound of the bucket.
method getPoc(self, target)
Returns Point of Control (POC) information for the specified target metric.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
pocIdx series int The index of the POC bucket.
pocPrice series float The mid-price of the POC bucket.
method getVA(self, target)
Returns Value Area (VA) information for the specified target metric.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
vaUpIdx series int The index of the upper VA bucket.
vaUpPrice series float The upper price bound of the VA.
vaLoIdx series int The index of the lower VA bucket.
vaLoPrice series float The lower price bound of the VA.
method getMedian(self, target)
Returns the Median price for the specified target metric distribution.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
medianIdx series int The index of the bucket containing the median.
medianPrice series float The median price.
method getAverage(self, target)
Returns the weighted average price (VWAP/TWAP) for the specified target.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
avgIdx series int The index of the bucket containing the average.
avgPrice series float The weighted average price.
method getStdDev(self, target)
Returns the standard deviation for the specified target distribution.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns: series float The standard deviation.
method getSkewness(self, target)
Returns the skewness for the specified target distribution.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns: series float The skewness.
method getKurtosis(self, target)
Returns the excess kurtosis for the specified target distribution.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns: series float The excess kurtosis.
method getSegments(self, target)
Returns the fundamental unimodal segments for the specified target metric.
Calculates on-demand if the target is 'Velocity' and data changed.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns: matrix A 2-column matrix where each row is an pair.
method getCvd(self, target)
Returns Cumulative Volume/Velo Delta (CVD) information for the target metric.
Namespace types: Velo
Parameters:
self (Velo) : Velo The profile object.
target (series Metric) : Metric The data aspect to analyse (Volume, Time, Velocity).
Returns:
cvd series float The final delta value.
cvdHi series float The historical high-water mark of the delta.
cvdLo series float The historical low-water mark of the delta.
Velo
Velo Composite Velocity Profile Controller.
Fields:
_vpVol (VPrf type from AustrianTradingMachine/LibVPrf/2) : LibVPrf.VPrf Engine A: Master Volume source.
_vpTime (VPrf type from AustrianTradingMachine/LibVPrf/2) : LibVPrf.VPrf Engine B: Time duration container (ms).
_vpVelo (VPrf type from AustrianTradingMachine/LibVPrf/2) : LibVPrf.VPrf Engine C: Scratchpad for velocity stats.
_aTime (array) : array Pointer alias to `vpTime.aBuy` (Time storage).
_valueArea (series float) : int Percentage of total volume to include in the Value Area (1..100)
_estimator (series PriceEst enum from AustrianTradingMachine/LibBrSt/1) : LibBrSt.PriceEst PDF model for distribution attribution.
_allot (series AllotMode) : AllotMode Attribution model (Classic or PDF).
_cdfSteps (series int) : int Integration resolution for PDF.
_isDirty (series bool) : bool Lazy evaluation flag for vpVelo.
BTC 1H Momentum + Near-Setup Alerts bigbeeukthis alert, sets up on 1h chart of BTC only. it alerts you to price action and when its close to a setup. it will then trigger again once the setup is ready
Projected 15min RVOLProjects RVOL every 15 minutes no matter what the timeframe you are using in the chart
Binary Ratio Table (30 tokens) - against 3 Benchmark TokensDescription:
This indicator compares the relative strength of 30 selected cryptocurrencies against three major benchmark assets — BTC, ETH, and SOL — using a ratio-based RSI system.
For each token, the script:
Calculates the ratio of the token’s price to each major (BTC, ETH, SOL).
Computes RSI(60) of the ratio, then compares its EMA(10) vs. Median(30).
Assigns a score of 1 (green) if EMA > Median (bullish) or 0 (red) if not (bearish).
Results are displayed in two color-coded tables showing all 30 tokens and their relative strength signals vs. BTC, ETH, and SOL.
A full JSON payload of all scores is also generated for webhook alerts or external automation.
Use Case:
Quickly assess which altcoins are outperforming or underperforming major crypto benchmarks. Ideal for relative strength rotation, momentum analysis, or automated portfolio filters.
Ratio Logic is adjustable in Pincescript
Gold-Silver Ratio (GSR) ComparatorUpdated to present silver as % of gold price. Otherwise identical function as previous version.
ATR (No Gap) - Advanced Volatility IndicatorA customizable Average True Range indicator that eliminates gap distortion between trading sessions, providing cleaner volatility measurements for intraday and swing traders.
Key Features:
Gap Filtering: Optional toggle to ignore overnight/weekend gaps that distort volatility readings
EMA Smoothing: Defaults to EMA for more responsive volatility tracking (also supports RMA and SMA)
Half ATR Display: Shows 50% ATR value for quick stop-loss and take-profit calculations
Clean Value Table: Real-time values displayed on chart with configurable decimal precision
Flexible Settings: Customize length, smoothing method, and display options
Ideal for:
Setting dynamic stop losses and take profits
Position sizing based on current volatility
Comparing gap vs. no-gap volatility measurements
Trading instruments with large overnight gaps (indices, forex, crypto)
Use this indicator to get a more accurate picture of intraday volatility without the noise from session gaps!
Live Higher TF Volume Ratio DashboardComparative intraday volume dashboard for 15 mins volume in any intraday timeframe
MACD/SMACD Screener — signal EMA supportFor MACD and SMACD in Pinescreener, finding for instance crosses up below 0-line.
MACD/SMACD Screener — signal EMA supportFor screening in Pine, SMACD values for crosses up below 0-line for instance.
BTC CME Gaps Detector [SwissAlgo]BTC CME Gaps Detector
Track Unfilled Gaps & Identify Price Magnets
------------------------------------------------------
Overview
The BTC CME Gap Detector identifies and tracks unfilled price gaps on any timeframe (1-minute recommended for scalping) to gauge potential trading bias.
Verify Gap Behavior Yourself : Use TradingView's Replay Mode on the 1-Minute chart to observe how the price interacts with gaps. Load the BTC1! ticker (Bitcoin CME Futures), enable Replay Mode, and play forward through time (for example: go back 15 days). You may observe patterns such as price frequently returning to fill gaps, nearest gaps acting as near-term targets, and gaps serving as potential support/resistance zones. Some gaps may fill quickly, while others may remain open for longer periods. This hands-on analysis lets you independently assess how gaps may influence price movement in real market conditions and whether you may use this indicator as a complement to your trading analysis.
------------------------------------------------------
Purpose
Price gaps occur when there is a discontinuity between consecutive candles - when the current candle's low is above the previous candle's high (gap up), or when the current candle's high is below the previous candle's low (gap down).
This indicator identifies and tracks these gaps on any timeframe to help traders:
Identify gap zones that may attract price (potential "price magnets")
Monitor gap fill progression
Assess potential directional bias based on nearest unfilled gaps (long, short)
Analyze market structure and liquidity imbalances
------------------------------------------------------
Why Use This Indicator?
Universal Gap Detection : Identifies all gaps on any timeframe (1-minute, hourly, daily, etc.)
Multi-Candle Mitigation Tracking : Detects gap fills that occur across multiple candles
Distance Analysis : Shows percentage distance to nearest bullish and bearish gaps
Visual Representation : Color-coded boxes indicate gap status (active vs. mitigated)
Age Filtering : Option to display only gaps within specified time periods (3/6/12/24 months), as older gaps may lose relevance
ATR-Based Sizing : Minimum gap size adjusts to instrument volatility to filter noise (i.e. small gaps)
------------------------------------------------------
Trading Concept
Gaps represent price zones where no trading occurred. Historical market behavior suggests that unfilled gaps may attract price action as markets tend to revisit areas of incomplete price discovery. This phenomenon creates potential trading opportunities:
Bullish gaps (above current price) may act as upside targets where the price could move to fill the gap
Bearish gaps (below current price) may act as downside targets where price could move to fill the gap
The nearest gap often provides directional bias, as closer gaps may have a higher probability of being filled in the near term
This indicator helps quantify gap proximity and provides a visual reference for these potential target zones.
EXAMPLE
Step 1: Bearish Gaps Appear Below Price
Step 2: Price Getting Close to Fill Gap
Step 3: Gap Mitigated Gap
------------------------------------------------------
Recommended Setup
Timeframe: 1-minute chart recommended for maximum gap detection frequency. Works on all timeframes (higher timeframes will show fewer, larger gaps).
Symbol: Any tradable instrument. Originally designed for BTC1! (CME Bitcoin Futures) but compatible with all symbols.
Settings:
ATR Length: 14 (default)
Min Gap Size: 0.5x ATR (adjust based on timeframe and noise level)
Gap Age Limit: 3 months (configurable)
Max Historical Gaps: 300 (adjustable 1-500)
------------------------------------------------------
How It Works
Gap Detection : Identifies price discontinuities on every candle where:
Gap up: current candle low > previous candle high
Gap down: current candle high < previous candle low
Minimum gap size filter (ATR-based) eliminates insignificant gaps
Mitigation Tracking : Monitors when price touches both gap boundaries. A gap is marked as filled when the price has touched both the top and bottom of the gap zone, even if this occurs across multiple candles.
Visual Elements :
Green boxes: Unfilled gaps above current price (potential bullish targets)
Red boxes: Unfilled gaps below current price (potential bearish targets)
Gray boxes: Filled gaps (historical reference)
Labels: Display gap type, price level, and distance percentage
Analysis Table: Shows :
Distance % to nearest bullish gap (above price)
Distance % to nearest bearish gap (below price)
Trade bias (LONG if nearest gap is above, SHORT if nearest gap is below)
------------------------------------------------------
Key Features
Detects gaps on any timeframe (1m, 5m, 1h, 1D, etc.)
Boxes extend 500 bars forward for active gaps, stop at the fill bar for mitigated gaps
Real-time distance calculations update on every candle
Configurable age filter removes outdated gaps
ATR multiplier ensures gap detection adapts to market volatility and timeframe
------------------------------------------------------
Disclaimer
This indicator is provided for informational and educational purposes only.
It does not constitute financial advice, investment recommendations, or trading signals. The concept that gaps attract price is based on historical observation and does not guarantee future results.
Gap fills are not certain - gaps may remain unfilled indefinitely, or the price may reverse before reaching a gap. This indicator should not be used as the sole basis for trading decisions.
All trading involves substantial risk, including the potential loss of principal. Users should conduct their own research, apply proper risk management, test strategies thoroughly, and consult with qualified financial professionals before making trading decisions.
The authors and publishers are not responsible for any losses incurred through the use of this indicator.
Institutional Trend LITE – Signal Line Overlay A clean, reactive, and non-repainting indicator designed to highlight the true market trend direction through an intelligent line based on EMA 21.
The signal line automatically changes color according to a dynamic trend score calculated from the relationship between EMA 21 / EMA 100, RSI 6 / RSI 12, ADX, and candle structure (body & direction).
Lightning Session LevelsLightning Session Levels (LSL) draws clean, non-repainting levels for the major market sessions and a compact HUD in the top-right corner. It’s built to be lightweight, readable, and “set-and-forget” for intraday traders.
What it shows
Session High/Low and Open/Close levels for:
ASIA (00:00–08:00 UTC)
EUROPE (07:00–16:00 UTC)
US (13:30–20:00 UTC)
OVERNIGHT (20:00–24:00 UTC)
HUD panel:
Current active session
Countdown to the next US session (auto-calculated from UTC)
How it works (non-repainting)
Levels are anchored at session close. Each line is created once on the confirmed closing bar of the session (x2 = session end).
Optional Extend Right keeps the level projecting forward without changing the anchor (no “drifting”).
All drawings are pinned to the right price scale for stable reading.
Inputs
Show HUD — toggle the top-right panel.
Show Levels — master switch for drawing levels.
Draw High/Low — H/L session levels.
Draw Open/Close — O/C session levels.
Extend Right — extend all session lines to the future.
Keep N past sessions per market — FIFO limit per session group (default 12).
ASIA / EUROPE / US / OVERNIGHT — enable/disable specific sessions.
Style & palette
Consistent “Lightning” colors:
ASIA = Cyan, EUROPE = Violet, US = Amber, OVERNIGHT = Teal
Labels are always size: Normal for readability.
HUD uses a dark, subtle two-tone background to stay out of the way.
Recommended use
Timeframes: intraday (1m → 4h).
On 1D and higher, TradingView’s session-window time() filters won’t match intraday windows, so levels won’t plot (by design).
Markets: crypto, indices, FX, equities — any symbol where intraday session context helps.
Notes & limitations
Fixed UTC windows. The US window is set to 13:30–20:00 UTC. Daylight-saving shifts (DST) are not auto-adjusted; if you need region-specific DST behavior, treat this as a consistent UTC model.
The HUD timer counts down to the next US open from the current UTC clock.
Draw limits are capped (500 lines, 500 labels) for performance and stability.
Quick start
Add Lightning Session Levels to your chart.
Toggle Draw High/Low and/or Draw Open/Close.
Turn on Extend Right if you want the levels to project forward.
Enable only the sessions you care about (e.g., just EUROPE and US).
Use Keep N past sessions to control clutter (e.g., 6–12).
Disclaimer
This tool is for educational/informational purposes only and is not financial advice. Past session behavior does not guarantee future results. Always manage risk.
New York Session Zones (Full Candle Coverage + Range Lines)It shows the New york time zones of (8:12 am to 9:12 am) & (1:12 pm to 2:12 pm)
BK=(PDH/PDL,ATH,PWH/PWL)this indicator is for marking previous day high & low, all time high, previous week high & low






















