Macro Times [Blu_Ju]About ICT Macro Times:
The Inner Circle Trader (ICT) has taught that there are certain time sessions when the Interbank Price Delivery Algorithm (IPDA) is running a macro. The macro itself could be a repricing macro, a consolidation macro, etc. - this depends on where price currently is in relation to its draw. The times the macro is active do not change however, and are always the following (in New York local time):
8:50-9:10 (premarket macro)
9:50-10:10 (AM macro 1)
10:50-11:10 (AM macro 2)
11:50-12:10 (lunch macro)
13:10-13:40 (PM macro)
15:15-15:45 (final hour macro)
Because these times are fixed, traders can anticipate a setup is likely to form in or around these sessions. Setups may involve sweeps of liquidity (highs/lows), repricing to inefficiencies (e.g., fair value gaps), breaker setups, etc. (The specific setup involved is beyond the scope of this script; this script is concerned with visually marking the time sessions only.)
About this Script:
The scope of this script is to visually identify the macro active time sessions. This script draws vertical lines to mark the start and end of the macro time sessions. Optionally, the user can use a background color for the macro session with or without the vertical lines. The user can also toggle on or off any of the macro sessions, if he or she is only interested in certain ones. The user also has the freedom to change the times of the macro sessions if he or she is interested in a different time.
What makes this script unique is that it plots the macro time sessions after midnight for each day, before the real-time bar reaches the macro times. This is advantageous to the trader, as it gives the trader a visual cue that the macro times are approaching. When watching price it is easy to lose track of time, and the purpose of this script is to help the trader maintain where price is in relation to the macro time sessions in a simple, visual way.
חפש סקריפטים עבור "session"
time_and_sessionA library that provides utilities for working with trading sessions and time-based conditions. Functions include session checks, date range checks, day-of-week matching, and session high/low calculations for daily, weekly, monthly, and yearly timeframes. This library streamlines time-related calculations and enhances time-based strategies and indicators.
Library "time_and_session"
Provides functions for checking time and session-based conditions and retrieving session-specific high and low values.
is_session(session, timeframe, timezone)
Checks if the current time is within the specified trading session
Parameters:
session (string) : The trading session, defined using input.session()
timeframe (string) : The timeframe to use, defaults to the current chart's timeframe
timezone (string) : The timezone to use, defaults to the symbol's timezone
Returns: A boolean indicating whether the current time is within the specified trading session
is_date_range(start_time, end_time)
Checks if the current time is within a specified date range
Parameters:
start_time (int) : The start time, defined using input.time()
end_time (int) : The end time, defined using input.time()
Returns: A boolean indicating whether the current time is within the specified date range
is_day_of_week(sunday, monday, tuesday, wednesday, thursday, friday, saturday)
Checks if the current day of the week matches any of the specified days
Parameters:
sunday (bool) : A boolean indicating whether to check for Sunday
monday (bool) : A boolean indicating whether to check for Monday
tuesday (bool) : A boolean indicating whether to check for Tuesday
wednesday (bool) : A boolean indicating whether to check for Wednesday
thursday (bool) : A boolean indicating whether to check for Thursday
friday (bool) : A boolean indicating whether to check for Friday
saturday (bool) : A boolean indicating whether to check for Saturday
Returns: A boolean indicating whether the current day of the week matches any of the specified days
daily_high(source)
Returns the highest value of the specified source during the current daily session
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current daily session, or na if the timeframe is not suitable
daily_low(source)
Returns the lowest value of the specified source during the current daily session
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current daily session, or na if the timeframe is not suitable
regular_session_high(source, persist)
Returns the highest value of the specified source during the current regular trading session
Parameters:
source (float) : The data series to evaluate, defaults to high
persist (bool) : A boolean indicating whether to retain the last value outside of regular market hours, defaults to true
Returns: The highest value during the current regular trading session, or na if the timeframe is not suitable
regular_session_low(source, persist)
Returns the lowest value of the specified source during the current regular trading session
Parameters:
source (float) : The data series to evaluate, defaults to low
persist (bool) : A boolean indicating whether to retain the last value outside of regular market hours, defaults to true
Returns: The lowest value during the current regular trading session, or na if the timeframe is not suitable
premarket_session_high(source, persist)
Returns the highest value of the specified source during the current premarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to high
persist (bool) : A boolean indicating whether to retain the last value outside of premarket hours, defaults to true
Returns: The highest value during the current premarket trading session, or na if the timeframe is not suitable
premarket_session_low(source, persist)
Returns the lowest value of the specified source during the current premarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to low
persist (bool) : A boolean indicating whether to retain the last value outside of premarket hours, defaults to true
Returns: The lowest value during the current premarket trading session, or na if the timeframe is not suitable
postmarket_session_high(source, persist)
Returns the highest value of the specified source during the current postmarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to high
persist (bool) : A boolean indicating whether to retain the last value outside of postmarket hours, defaults to true
Returns: The highest value during the current postmarket trading session, or na if the timeframe is not suitable
postmarket_session_low(source, persist)
Returns the lowest value of the specified source during the current postmarket trading session
Parameters:
source (float) : The data series to evaluate, defaults to low
persist (bool) : A boolean indicating whether to retain the last value outside of postmarket hours, defaults to true
Returns: The lowest value during the current postmarket trading session, or na if the timeframe is not suitable
weekly_high(source)
Returns the highest value of the specified source during the current weekly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current weekly session, or na if the timeframe is not suitable
weekly_low(source)
Returns the lowest value of the specified source during the current weekly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current weekly session, or na if the timeframe is not suitable
monthly_high(source)
Returns the highest value of the specified source during the current monthly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current monthly session, or na if the timeframe is not suitable
monthly_low(source)
Returns the lowest value of the specified source during the current monthly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current monthly session, or na if the timeframe is not suitable
yearly_high(source)
Returns the highest value of the specified source during the current yearly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to high
Returns: The highest value during the current yearly session, or na if the timeframe is not suitable
yearly_low(source)
Returns the lowest value of the specified source during the current yearly session. Can fail on lower timeframes.
Parameters:
source (float) : The data series to evaluate, defaults to low
Returns: The lowest value during the current yearly session, or na if the timeframe is not suitable
Opening Range Gaps [TFO]This indicator displays Opening Range Gaps with an adjustable time window. Its intention is to capture the discrepancy between the close price of previous and new Real Trading Hours (RTH) sessions, i.e. yesterday's close compared to today's open. A gap will be drawn from this area with a solid line denoting its midpoint, and dashed lines denoting the upper and lower quartiles of its range. Its color is determined by whether the new session open price is above or below the previous session close.
The Gap Session parameter allows users to define the specific time window for which to capture the "gap" in price. Using U.S. index futures as an example, we can use 16:00 - 09:30 (EST) to capture the discrepancy between the previous day's close price and the current day's open price. However, this parameter is left as adjustable for users that may want to observe different markets or simply experiment with different time windows.
Show Session Delineations will draw vertical timestamps denoting the start and end times of the provided Gap Session. Track Start Price serves as a visual aid to track the initial price of the Gap Session until its end price is validated, for easy visual verification of a gap's upper and lower bounds. With both options turned off, the indicator will only display the gap boxes and lines, as shown here:
Extend Boxes will draw all gaps with an indefinite extension to the right. This can get messy with a large number of boxes, which is why we have a Keep Last parameter to limit how many sessions' drawings should be stored. Any drawings that were made beyond this number of sessions in the past will automatically be deleted.
The Timeframe Limit will dictate that the indicator as a whole will only draw objects on timeframes less than or equal to this timeframe, determined by the user. In some cases this may help users avoid resolution errors which may arise from using timeframes that are too large for a given session. For example, if a user wanted to track a Gap Session of 16:15-09:30, the Timeframe Limit should be set to 15 minutes because the close price at 16:15 cannot be observed on a 30 minute chart (or greater).
Breakout/Breakdown Indicator (30 Min Range) by InvestYourAsset👉The indicator provided here is a technical analysis indicator for TradingView users that identifies potential breakout and breakdown opportunities on the initial 30-minute range in every trading session.
👉The indicator high and low of the initial 30-minute period and plotting them as horizontal lines on the chart. The high is marked in green line and the low is marked in red line.
📈The indicator then generates buy and sell signals based on whether the current close price crosses above or below the previous 30-minute high and low, respectively.
📢The indicator also has two inputs:
👉 sessionStartHour : The hour at which the trading session begins. The default value is 9, However users can change the time according to their own trading style.
👉 sessionStartMinute : The minute at which the trading session begins. The default value is 0.
These inputs can be used to adjust the indicator to the specific trading session that you are interested in.
✅How to use the Indicator:
👉To use the 30 Minute Breakout/Breakdown Indicator, simply add it to your chart and configure the inputs to your liking. Once the indicator is added to the chart, it will plot the 30-minute high and low as horizontal lines, as well as generate buy and sell signals based on the current close price.
✅Here is a step-by-step guide:
📈Open TradingView and select the chart that you want to add the indicator to.
📈Click on the "Indicators" tab and search for "30 Minute Breakout/Breakdown Indicator by InvestYourAsset".
📈Click on the indicator to add it to your chart.
📈Configure the inputs to your liking. The default values are typically fine, but you can experiment with different values to see what works best for you.
📈Once you are satisfied with the settings, click on the "Apply" button.
📈The indicator will now be displayed on your chart. You will see two horizontal lines representing the previous 30-minute high and low, as well as triangles representing buy and sell signals.
✅How to interpret the signals:
📈Buy signal : A buy signal is generated when the current close price crosses above the previous 30-minute high. This suggests that the price is likely to continue moving higher in the short term.
📈Sell signal : A sell signal is generated when the current close price crosses below the previous 30-minute low. This suggests that the price is likely to continue moving lower in the short term.
👉Traders should remember that the present indicator is just one tool that can be used to identify potential trading opportunities. It is important to use other technical analysis tools and risk management techniques to confirm your trading signals before entering any trades.
✅Things to consider while using the indicator:
📈Look for buy signals in an uptrend and sell signals in a downtrend. This will increase the likelihood of your trades being successful.
📈Place your stop losses below the previous 30-minute low for buy signals and above the previous 30-minute high for sell signals. This will help to limit your losses if the trade goes against you.
📈Consider taking profits at key resistance and support levels. This will help you to lock in your profits and avoid giving them back to the market.
Follow us for timely updates regarding indicators that we may publish in future and give it a like if you appreciate the indicator.
RSI Supreme Multi-Method [MyTradingCoder]Introducing the "RSI Supreme Multi-Method" indicator, a powerful tool that combines the Relative Strength Index (RSI) with selectable manipulation methods to identify overbought and oversold conditions in the market, along with the ability to detect divergences for enhanced trading insights.
The indicator features four distinct manipulation methods for the RSI, each providing valuable insights into market conditions:
1. Standard RSI Method: The indicator uses the traditional RSI calculation to identify overbought and oversold areas.
2. Volatility Weighted RSI Method: This method applies a volatility formula to the RSI calculation, allowing for a more responsive indication of market conditions during periods of heightened volatility. Users can adjust the length of the volatility formula to fine-tune this method.
3. Smoothed RSI Method: The smoothed RSI method utilizes a smoothing algorithm to reduce noise in the RSI values, presenting a clearer representation of overbought and oversold conditions. The length of the smoothing can be adjusted to match your trading preferences.
4. Session Weighted RSI Method: With this innovative method, users can specify multipliers for different time sessions throughout the day to manipulate the base RSI. Each session can be customized with start and end times, enabling or disabling specific sessions, and specifying the multiplier for each session. This feature allows traders to adapt the RSI to different market sessions dynamically.
Additionally, the "RSI Supreme Multi-Method" indicator draws divergences on the oscillator, providing an extra layer of analysis for traders. Divergences occur when the direction of the RSI differs from the direction of the price movement, potentially signaling trend reversals.
Key Settings:
RSI Length: Adjust the length of the base RSI before applying any manipulation.
RSI Source: Determine the data source for the base RSI calculation.
Overbought Value: Set the RSI value at which overbought conditions are indicated.
Oversold Value: Set the RSI value at which oversold conditions are indicated.
RSI Type: Choose from four options: Standard, Smoothed, Volatility Manipulated, or Session Manipulated.
Volatility Manipulated Settings: Adjust the length of the volatility formula (applicable to Volatility Manipulated method).
Smoothed Settings: Adjust the length of the smoothing (applicable to Smoothed method).
Session Manipulated Settings: Customize six different time sessions with start and end times, enable or disable specific sessions, and specify multipliers for each session.
Divergence Color: Adjust the color of the drawn divergences to suit your chart's aesthetics.
Divergence Tuning: Fine-tune the sensitivity of the divergence detection for more accurate signals.
The "RSI Supreme Multi-Method" indicator is a versatile and comprehensive tool that can be used to identify overbought and oversold areas, as well as to spot potential trend reversals through divergences. However, like all technical analysis tools, it should be used in conjunction with other indicators and analysis methods to make well-informed trading decisions.
Enhance your trading insights with the "RSI Supreme Multi-Method" indicator and gain an edge in identifying critical market conditions and divergences with precision.
Open Interest Profile (OI)- By LeviathanThis script implements the concept of Open Interest Profile, which can help you analyze the activity of traders and identify the price levels where they are opening/closing their positions. This data can serve as a confluence for finding the areas of support and resistance , targets and placing stop losses. OI profiles can be viewed in the ranges of days, weeks, months, Tokyo sessions, London sessions and New York sessions.
A short introduction to Open Interest
Open Interest is a metric that measures the total amount of open derivatives contracts in a specific market at a given time. A valid contract is formed by both a buyer who opens a long position and a seller who opens a short position. This means that OI represents the total value of all open longs and all open shorts, divided by two. For example, if Open Interest is showing a value of $1B, it means that there is $1B worth of long and $1B worth of short contracts currently open/unsettled in a given market.
OI increasing = new long and short contracts are entering the market
OI decreasing = long and short contracts are exiting the market
OI unchanged = the net amount of positions remains the same (no new entries/exits or just a transfer of contracts occurring)
About this indicator
*This script is basically a modified version of my previous "Market Sessions and Volume Profile by @LeviathanCapital" indicator but this time, profiles are generated from Tradingview Open Interest data instead of volume (+ some other changes).
The usual representation of OI shows Open Interest value and its change based on time (for a particular day, time frame or each given candle). This indicator takes the data and plots it in a way where you can see the OI activity (change in OI) based on price levels. To put it simply, instead of observing WHEN (time) positions are entering/exiting the market, you can now see WHERE (price) positions are entering/exiting the market. This is the same concept as when it comes to Volume and Volume profile and therefore, similar strategies and ways of understanding the given data can be applied here. You can even combine the two to gain an edge (eg. high OI increase + Volume Profile showing dominant market selling = possible aggressive shorts taking place)
Green nodes = OI increase
Red nodes = OI decrease
A cluster of large green nodes can be used for support and resistance levels (*trapped traders theory) or targets (lots of liquidations and stop losses above/below), OI Profile gaps can present an objective for the price to fill them (liquidity gaps, imbalances, inefficiencies, etc), and more.
Indicator settings
1. Session/Lookback - Choose the range from where the OI Profile will be generated
2. OI Profile Mode - Mode 1 (shows only OI increase), Mode 2 (shows both OI increase and decrease), Mode 3 (shows OI decrease on left side and OI increase on the right side).
3. Show OI Value Area - Shows the area where most OI activity took place (useful as a range or S/R level )
4. Show Session Box - Shows the box around chosen sessions/lookback
5. Show Profile - Show/hide OI Profile
6. Show Current Session - Show/hide the ongoing session
7. Show Session Labels - Show/hide the text labels for each session
8. Resolution - The higher the value, the more refined a profile is, but fewer profiles are shown on the chart
9. OI Value Area % - Choose the percentage of VA (same as in Volume Profile's VA)
10. Smooth OI Data - Useful for assets that have very large spikes in OI over large bars, helps create better profiles
11. OI Increase - Pick the color of OI increase nodes in the profile
12. OI Decrease - Pick the color of OI decrease nodes in the profile
13. Value Area Box - Pick the color of the Value Area Box
14. Session Box Thickness - Pick the thickness of the lines surrounding the chosen sessions
Advice
The indicator calculates the profile based on candles - the more candles you can show, the better profile will be formed. This means that it's best to view most sessions on timeframes like 15min or lower. The only exception is the Monthly profile, where timeframes above 15min should be used. Just take a few minutes and switch between timeframes and sessions and you will figure out the optimal settings.
This is the first version of Open Interest Profile script so please understand that it will be improved in future updates.
Thank you for your support.
** Some profile generation elements are inspired by @LonesomeTheBlue's volume profile script
Default Strategy Inputs (Forex / Crypto)The code in this post contains a set of default strategy inputs I use in new projects / backtests in Tradingview.
Full code commentary is available on the Backtest-Rookies website. To comply with house rules, I cannot post the direct link here.
Features
Trade Direction: So that you can limit the strategy for long only, short only or trade in both directions. It is important to note that when you select “Long Only”, you will still see Short signals on the chart. However, they are only used to close a position rather than reverse it. This is the default behaviour for strategies. The same applies to “Short Only”.
Date Ranges: So that you can isolate backtesting to specific periods of interest such as bull or bear markets.
Sessions: So you can easily get an idea of the expected results during your own session. You may also notice that performance of the strategy varies depending on which session it is deployed in.
Some example stop losses: It is not an exhaustive list but it should be enough to provide some inspiration for different types of stops that you can experiment with.
Happy Scripting. I hope the community finds it useful.
Asia Range Breakout Asia Range Breakout
Description:
Asia Range Breakout is a sophisticated, multi-filter trading tool designed to identify high-probability breakout opportunities during the core Asian trading session. By combining session-based range analysis with advanced confirmation filters like Heiken Ashi momentum, Ichimoku baseline trends, and EMA alignment, this indicator helps traders capture decisive moves while filtering out market noise.
Tired of false breakouts? This system provides a structured framework to trade the Sydney and Tokyo sessions with precision and confidence.
Key Features:
Multi-Session Range Tracking:
Monitors 6 distinct pre-defined Asian sessions (Sydney Box, Tokyo Pre-Open, Tokyo Launch, etc.).
Dynamically plots High and Low boundaries for each session (Teal for Highs, Red for Lows).
Individually toggleable sessions to focus on your preferred trading window.
Smart Alert & Signal System:
Generates alerts based on Heiken Ashi candle closings relative to session ranges.
Dual-Size Signals: Differentiates between "Large" breakouts (outside the range) and "Small" signals (within the range).
Configurable alert timeframe for confirmation candle closure.Built-in Sound Alerts for real-time notifications.
Advanced Confirmation Filters:
Heiken Ashi Momentum Filter: Ensures breakout candles have significant momentum, adjustable via a threshold multiplier.
EMA 200 Filter: Confirms the breakout's alignment with the broader trend.
Ichimoku Baseline (Kijun-sen) Filter: Uses a dynamic support/resistance level for additional confirmation.
Ichimoku Baseline Divergence Filter: A unique feature that requires the baseline's slope to match the breakout direction (Bullish for buys, Bearish for sells).
ATR Volatility Filter: (Optional) Ensures the breakout candle has sufficient range relative to recent market volatility.
Visual Enhancements:
Take-Profit Lines: Projects profit targets using ATR and connects consecutive alerts with a trendline.
Heiken Ashi Overlay: Displays smoothed Heiken Ashi candles directly on the main chart for cleaner trend visualization.
Divergence Trend Line: Visually plots the slope of the Ichimoku Baseline for quick trend assessment.
Session Background Highlighter: Shades the active sessions for easy time reference.
Comprehensive Debug Info Box: Provides real-time feedback on filter status, perfect for strategy validation and learning.
Usage Instructions & Tips:
1. Initial Setup:
Start simple! Apply the indicator to a 5-minute or 1-minute chart.
Recommended Instruments:
Forex: Major pairs like AUD/USD , USD/JPY or EUR/JPY.
Indices: `NAS100` (Nasdaq), `US30` (Dow Jones), `JP225` (Nikkei 225).
Commodities: `XAUUSD` (Gold).
Initially, enable only the Sydney Box (00:30 - 03:15 UTC) as it is the most robust session, then explore others.
2. Interpreting the Signals:
Large Green Arrow (Above Bar): A strong BUY signal. The Heiken Ashi candle closed above the session's High, and all enabled filters are confirmed.
Small Green Arrow (Above Bar): A moderate BUY signal. The candle closed bullishly but within the session range.
Large Red Arrow (Below Bar): A strong SELL signal. The Heiken Ashi candle closed below the session's Low, with filter confirmation.
Small Red Arrow (Below Bar): A moderate SELL signal. The candle closed bearishly but within the session range.
3. Optimizing Your Strategy:
Filter Tuning: The default filters are balanced. Adjust them based on your risk appetite:
Increase the Heiken Ashi Threshold (e.g., to 0.2) for fewer, but stronger signals.
Disable filters like ATR or Divergence if you find them too restrictive.
The Power of Divergence: The Ichimoku Divergence filter is a powerful trend-confirmation tool. Pay close attention to it for the highest-quality signals.
Use the Debug Box: Enable the "Show Debug Info Box" to see exactly why a signal did or did not trigger. This is invaluable for understanding the indicator's logic and avoiding bad trades.
4. Risk Management:
The TP Lines provide a logical profit target based on market volatility. Consider using them for setting take-profit orders.
Always use a stop-loss. A logical level is the opposite side of the session range (e.g., for a buy signal, place a stop below the session low).
You're very welcome! I'm glad I could help you create a professional tool. Wishing you great success with your Trading! 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
EvoTrend-X Indicator — Evolutionary Trend Learner ExperimentalEvoTrend-X Indicator — Evolutionary Trend Learner
NOTE: This is an experimental Pine Script v6 port of a Python prototype. Pine wasn’t the original research language, so there may be small quirks—your feedback and bug reports are very welcome. The model is non-repainting, MTF-safe (lookahead_off + gaps_on), and features an adaptive (fitness-based) candidate selector, confidence gating, and a volatility filter.
⸻
What it is
EvoTrend-X is adaptive trend indicator that learns which moving-average length best fits the current market. It maintains a small “population” of fast EMA candidates, rewards those that align with price momentum, and continuously selects the best performer. Signals are gated by a multi-factor Confidence score (fitness, strength vs. ATR, MTF agreement) and a volatility filter (ATR%). You get a clean Fast/Slow pair (for the currently best candidate), optional HTF filter, a fitness ribbon for transparency, and a themed info panel with a one-glance STATUS readout.
Core outputs
• Selected Fast/Slow EMAs (auto-chosen from candidates via fitness learning)
• Spread cross (Fast – Slow) → visual BUY/SELL markers + alert hooks
• Confidence % (0–100): Fitness ⊕ Distance vs. ATR ⊕ MTF agreement
• Gates: Trend regime (Kaufman ER), Volatility (ATR%), MTF filter (optional)
• Candidate Fitness Ribbon: shows which lengths the learner currently prefers
• Export plot: hidden series “EvoTrend-X Export (spread)” for downstream use
⸻
Why it’s different
• Evolutionary learning (on-chart): Each candidate EMA length gets rewarded if its slope matches price change and penalized otherwise, with a gentle decay so the model forgets stale regimes. The best fitness wins the right to define the displayed Fast/Slow pair.
• Confidence gate: Signals don’t light up unless multiple conditions concur: learned fitness, spread strength vs. volatility, and (optionally) higher-timeframe trend.
• Volatility awareness: ATR% filter blocks low-energy environments that cause death-by-a-thousand-whipsaws. Your “why no signal?” answer is always visible in the STATUS.
• Preset discipline, Custom freedom: Presets set reasonable baselines for FX, equities, and crypto; Custom exposes all knobs and honors your inputs one-to-one.
• Non-repainting rigor: All MTF calls use lookahead_off + gaps_on. Decisions use confirmed bars. No forward refs. No conditional ta.* pitfalls.
⸻
Presets (and what they do)
• FX 1H (Conservative): Medium candidates, slightly higher MinConf, modest ATR% floor. Good for macro sessions and cleaner swings.
• FX 15m (Active): Shorter candidates, looser MinConf, higher ATR% floor. Designed for intraday velocity and decisive sessions.
• Equities 1D: Longer candidates, gentler volatility floor. Suits index/large-cap trend waves.
• Crypto 1H: Mid-short candidates, higher ATR% floor for 24/7 chop, stronger MinConf to avoid noise.
• Custom: Your inputs are used directly (no override). Ideal for systematic tuning or bespoke assets.
⸻
How the learning works (at a glance)
1. Candidates: A small set of fast EMA lengths (e.g., 8/12/16/20/26/34). Slow = Fast × multiplier (default ×2.0).
2. Reward/decay: If price change and the candidate’s Fast slope agree (both up or both down), its fitness increases; otherwise decreases. A decay constant slowly forgets the distant past.
3. Selection: The candidate with highest fitness defines the displayed Fast/Slow pair.
4. Signal engine: Crosses of the spread (Fast − Slow) across zero mark potential regime shifts. A Confidence score and gates decide whether to surface them.
⸻
Controls & what they mean
Learning / Regime
• Slow length = Fast ×: scales the Slow EMA relative to each Fast candidate. Larger multiplier = smoother regime detection, fewer whipsaws.
• ER length / threshold: Kaufman Efficiency Ratio; above threshold = “Trending” background.
• Learning step, Decay: Larger step reacts faster to new behavior; decay sets how quickly the past is forgotten.
Confidence / Volatility gate
• Min Confidence (%): Minimum score to show signals (and fire alerts). Raising it filters noise; lowering it increases frequency.
• ATR length: The ATR window for both the ATR% filter and strength normalization. Shorter = faster, but choppier.
• Min ATR% (percent): ATR as a percentage of price. If ATR% < Min ATR% → status shows BLOCK: low vola.
MTF Trend Filter
• Use HTF filter / Timeframe / Fast & Slow: HTF Fast>Slow for longs, Fast threshold; exit when spread flips or Confidence decays below your comfort zone.
2) FX index/majors, 15m (active intraday)
• Preset: FX 15m (Active).
• Gate: MinConf 60–70; Min ATR% 0.15–0.30.
• Flow: Focus on session opens (LDN/NY). The ribbon should heat up on shorter candidates before valid crosses appear—good early warning.
3) SPY / Index futures, 1D (positioning)
• Preset: Equities 1D.
• Gate: MinConf 55–65; Min ATR% 0.05–0.12.
• Flow: Use spread crosses as regime flags; add timing from price structure. For adds, wait for ER to remain trending across several bars.
4) BTCUSD, 1H (24/7)
• Preset: Crypto 1H.
• Gate: MinConf 70–80; Min ATR% 0.20–0.35.
• Flow: Crypto chops—volatility filter is your friend. When ribbon and HTF OK agree, favor continuation entries; otherwise stand down.
⸻
Reading the Info Panel (and fixing “no signals”)
The panel is your self-diagnostic:
• HTF OK? False means the higher-timeframe EMAs disagree with your intended side.
• Regime: If “Chop”, ER < threshold. Consider raising the threshold or waiting.
• Confidence: Heat-colored; if below MinConf, the gate blocks signals.
• ATR% vs. Min ATR%: If ATR% < Min ATR%, status shows BLOCK: low vola.
• STATUS (composite):
• BLOCK: low vola → increase Min ATR% down (i.e., allow lower vol) or wait for expansion.
• BLOCK: HTF filter → disable HTF or align with the HTF tide.
• BLOCK: confidence → lower MinConf slightly or wait for stronger alignment.
• OK → you’ll see markers on valid crosses.
⸻
Alerts
Two static alert hooks:
• BUY cross — spread crosses up and all gates (ER, Vol, MTF, Confidence) are open.
• SELL cross — mirror of the above.
Create them once from “Add Alert” → choose the condition by name.
⸻
Exporting to other scripts
In your other Pine indicators/strategies, add an input.source and select EvoTrend-X → “EvoTrend-X Export (spread)”. Common uses:
• Build a rule: only trade when exported spread > 0 (trend filter).
• Combine with your oscillator: oscillator oversold and spread > 0 → buy bias.
⸻
Best practices
• Let it learn: Keep Learning step moderate (0.4–0.6) and Decay close to 1.0 (e.g., 0.99–0.997) for smooth regime memory.
• Respect volatility: Tune Min ATR% by asset and timeframe. FX 1H ≈ 0.10–0.20; crypto 1H ≈ 0.20–0.35; equities 1D ≈ 0.05–0.12.
• MTF discipline: HTF filter removes lots of “almost” trades. If you prefer aggressive entries, turn it off and rely more on Confidence.
• Confidence as throttle:
• 40–60%: exploratory; expect more signals.
• 60–75%: balanced; good daily driver.
• 75–90%: selective; catch the clean stuff.
• 90–100%: only A-setups; patient mode.
• Watch the ribbon: When shorter candidates heat up before a cross, momentum is forming. If long candidates dominate, you’re in a slower trend cycle.
⸻
Non-repainting & safety notes
• All request.security() calls use lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_on.
• No forward references; decisions rely on confirmed bar data.
• EMA lengths are simple ints (no series-length errors).
• Confidence components are computed every bar (no conditional ta.* traps).
⸻
Limitations & tips
• Chop happens: ER helps, but sideways microstructure can still flicker—use Confidence + Vol filter as brakes.
• Presets ≠ oracle: They’re sensible baselines; always tune MinConf and Min ATR% to your venue and session.
• Theme “Auto”: Pine cannot read chart theme; “Auto” defaults to a Dark-friendly palette.
⸻
Publisher’s Screenshots Checklist
1) FX swing — EURUSD 1H
• Preset: FX 1H (Conservative)
• Params: MinConf=70, ATR Len=14, Min ATR%=0.12, MTF ON (TF=4H, 20/50)
• Show: Clear BUY cross, STATUS=OK, green regime background; Fitness Ribbon visible.
2) FX intraday — GBPUSD 15m
• Preset: FX 15m (Active)
• Params: MinConf=60, ATR Len=14, Min ATR%=0.20, MTF ON (TF=60m)
• Show: SELL cross near London session open. HTF lines enabled (translucent).
• Caption: “GBPUSD 15m • Active session sell with MTF alignment.”
3) Indices — SPY 1D
• Preset: Equities 1D
• Params: MinConf=60, ATR Len=14, Min ATR%=0.08, MTF ON (TF=1W, 20/50)
• Show: Longer trend run after BUY cross; regime shading shows persistence.
• Caption: “SPY 1D • Trend run after BUY cross; weekly filter aligned.”
4) Crypto — BINANCE:BTCUSDT 1H
• Preset: Crypto 1H
• Params: MinConf=75, ATR Len=14, Min ATR%=0.25, MTF ON (TF=4H)
• Show: BUY cross + quick follow-through; Ribbon warming (reds/yellows → greens).
• Caption: “BTCUSDT 1H • Momentum break with high confidence and ribbon turning.”
FU + SMI Validator (Proper FU, 30m)Overview
The FU + SMI Validator is a sophisticated technical analysis indicator designed to detect Proper FU (Fakeouts or Liquidity Sweeps) on the 30-minute timeframe. This tool aims to help traders identify high-probability reversal setups that occur when price briefly breaks key levels (sweeping liquidity), then reverses with momentum confirmation.
Fakeouts are common market events where price action “hunts stops” before reversing direction. Correctly identifying these events can offer excellent entry points with defined risk. This indicator combines price action logic with momentum and volatility filters to provide reliable signals.
Core Concepts
Proper FU (Fakeout) Detection
At its core, the script identifies proper fakeouts by checking if the current bar’s price:
For bullish fakeouts: dips below the previous bar’s low (sweeping stops) and then closes above the previous bar’s high
For bearish fakeouts: spikes above the previous bar’s high and then closes below the previous bar’s low
This ensures that the breakout is a true sweep rather than just a one-sided close.
Optionally, the script can require one additional confirmation bar after the FU, ensuring that the momentum is sustained and reducing false signals.
SMI-style Momentum Validation
To improve the quality of signals, the indicator uses a proxy for the Stochastic Momentum Index (SMI) by calculating the difference between current and past linear regression slopes of price. This momentum check helps ensure that fakeouts occur alongside actual directional strength.
Key points:
Momentum must be increasing in the direction of the FU signal.
Momentum filters can be enabled or disabled based on user preference.
Squeeze Condition to Avoid Low-Volatility Traps
The script includes a volatility filter based on a squeeze-like condition:
It compares Bollinger Bands (BB) and Keltner Channels (KC).
When BB bands contract inside KC bands, the market is in a squeeze state, signaling low volatility.
Fakeouts during squeeze conditions are often unreliable; the script can filter these out to reduce false alarms.
Killzone Session Timing Filter
Recognizing that liquidity and volatility vary by session, this tool supports optional filtering for:
London Killzone: 09:00 to 10:30 (UK time)
New York Killzone: 13:00 to 14:30 (UK time)
Signals only trigger during these high-activity windows if enabled, helping traders focus on periods with the best liquidity and market participation.
Note: For Killzone filtering to work accurately, your TradingView chart must be set to the UK timezone.
Features & Benefits
Robust FU detection ensures the breakout price action is meaningful, reducing noise.
Momentum filter via linear regression slope captures trend strength in a smooth, mathematically sound way.
Low-volatility squeeze avoidance helps reduce false signals in choppy or range-bound markets.
Killzone timing filter focuses your attention on the most liquid and active market hours.
Optional confirmation bar increases signal reliability.
Raw FU markers allow visualization of all detected fakeouts for pattern recognition and manual analysis.
Alerts built-in for both valid buy and sell FU setups, enabling real-time notification and quicker decision-making.
Customization Options
Killzone usage: Enable or disable the session timing filter.
Sessions: Configure London and New York killzone time ranges.
Momentum alignment: Enable or disable momentum filter based on SMI proxy.
Volatility filter: Avoid signals during squeeze or low-volatility conditions.
FU confirmation: Option to require one additional confirming candle after the initial FU.
Squeeze and momentum parameters: Adjust Bollinger Bands length and multiplier, Keltner Channel length and ATR multiplier.
Raw FU markers: Show or hide all detected fakeouts regardless of filters.
How to Use This Indicator
Apply to 30-minute charts for forex pairs, indices, cryptocurrencies, or other instruments.
Set your chart timezone to UK time if using Killzone filters.
Adjust input parameters based on your preferred sessions and risk tolerance.
Look for green “VALID BUY FU” labels below bars for bullish fakeout entries.
Look for red “VALID SELL FU” labels above bars for bearish fakeout entries.
Use the alert system to receive notifications on setups.
Combine with your existing analysis or risk management strategy for entries, stops, and profit targets.
Why Use FU + SMI Validator?
Fakeouts are some of the most lucrative but tricky setups for many traders. Without proper filters, they can lead to false entries and losses. This script integrates price action, momentum, volatility, and session timing into one package, providing a robust tool to spot high-quality fakeout opportunities and improve trading confidence.
Limitations
Requires chart to be set to UK timezone for session filters.
Designed specifically for 30-minute timeframe — performance on other timeframes may vary.
Momentum is a proxy, not a direct SMI calculation.
Like all indicators, best used in conjunction with sound risk management and other analysis tools.
Potential Enhancements
Conversion into a full strategy script for backtesting entries and exits.
Addition of other momentum indicators (RSI, MACD) or volume filters.
Customizable time zones or auto time zone detection.
Multi-timeframe analysis capabilities.
Visual dashboard for summary of signal stats.
Yelober - Market Internal direction+ Key levelsYelober – Market Internals + Key Levels is a focused intraday trading tool that helps you spot high-probability price direction by anchoring decisions to structure that matters: yesterday’s RTH High/Low, today’s pre-market High/Low, and a fast Value Area/POC from the prior session. Paired with a compact market internals dashboard (NYSE/NASDAQ UVOL vs. DVOL ratios, VOLD slopes, TICK/TICKQ momentum, and optional VIX trend), it gives you a real-time read on breadth so you can choose which direction to trade, when to enter (breaks, retests, or fades at PMH/PML/VAH/VAL/POC), and how to plan exits as internals confirm or deteriorate. On top of these intraday decision benefits, it also allows traders—in a very subtle but powerful way—to keep an eye on the VIX and immediately recognize significant spikes or sharp decreases that should be factored in before entering a trade, or used as a quick signal to modify an existing position. In short: clear levels for the chart, live internals for the context, and a smarter, rules-based path to execution.
# Yelober – Market Internals + Key Levels
*A TradingView indicator for session key levels + real‑time market internals (NYSE/NASDAQ TICK, UVOL/DVOL/VOLD, and VIX).*
**Script name in Pine:** `Yelober - Market Internal direction+ Key levels` (Pine v6)
---
## 1) What this indicator does
**Purpose:** Help intraday traders quickly find high‑probability reaction zones and read market internals momentum without switching charts. It overlays yesterday/today’s **automatic price levels** on your active chart and shows a **market breadth table** that summarizes NYSE/NASDAQ buying pressure and TICK direction, with an optional VIX trend read.
### Key features at a glance
* **Automatic Price Levels (overlay on chart)**
* Yesterday’s High/Low of Day (**yHoD**, **yLoD**)
* Extended Hours High/Low (**yEHH**, **yEHL**) across yesterday AH + today pre‑market
* Today’s Pre‑Market High/Low (**PMH**, **PML**)
* Yesterday’s **Value Area High/Low** (**VAH/VAL**) and **Point of Control (POC)** computed from a volume profile of yesterday’s **regular session**
* Smart de‑duplication:
* Shows **only the higher** of (yEHH vs PMH) and **only the lower** of (yEHL vs PML) to avoid redundant bands
* **Market Breadth Table (on‑chart table)**
* **NYSE ratio** = UVOL/DVOL (signed) with **VOLD slope** from session open
* **NASDAQ ratio** = UVOLQ/DVOLQ (signed) with **VOLDQ slope** from session open
* **TICK** and **TICKQ**: live cumulative ratio and short‑term slope
* **VIX** (optional): current value + slope over a configurable lookback/timeframe
* Color‑coded trends with sensible thresholds and optional normalization
---
## 2) How to use it (trader workflow)
1. **Mark your reaction zones**
* Watch **yHoD/yLoD**, **PMH/PML**, and **VAH/VAL/POC** for first touches, break/retest, and failure tests.
* Expect increased responsiveness when multiple levels cluster (e.g., PMH ≈ VAH ≈ daily pivot).
2. **Read the breadth panel for context**
* **NYSE/NASDAQ ratio** (>1 = more up‑volume than down‑volume; <−1 = down‑dominant). Strong green across both favors long setups; red favors short setups.
* **VOLD slopes** (NYSE & NASDAQ): positive and accelerating → broadening participation; negative → persistent pressure.
* **TICK/TICKQ**: cumulative ratio and **slope arrows** (↗ / ↘ / →). Use the slope to gauge **near‑term thrust or fade**.
* **VIX slope**: rising VIX (red) often coincides with risk‑off; falling VIX (green) with risk‑on.
3. **Confluence = higher confidence**
* Example: Price reclaims **PMH** while **NYSE/NASDAQ ratios** print green and **TICK slopes** point ↗ — consider break‑and‑go; if VIX slope is ↘, that adds risk‑on confidence.
* Example: Price rejects **VAH** while **VOLD slopes** roll negative and VIX ↗ — consider fade/reversal.
4. **Risk management**
* Place stops just beyond key levels tested; if breadth flips, tighten or exit.
> **Timeframes:** Works best on 1–15m charts for intraday. Value Area is computed from **yesterday’s RTH**; choose a smaller calculation timeframe (e.g., 5–15m) for stable profiles.
---
## 3) Inputs & settings (what each option controls)
### Global Style
* **Enable all automatic price levels**: master toggle for yHoD/yLoD, yEHH/yEHL, PMH/PML, VAH/VAL/POC.
* **Line style/width**: applies to all drawn levels.
* **Label size/style** and **label color linking**: use the same color as the line or override with a global label color.
* **Maximum bars lookback**: how far the script scans to build yesterday metrics (performance‑sensitive).
### Value Area / Volume Profile
* **Enable Value Area calculations** *(on by default)*: computes yesterday’s **POC**, **VAH**, **VAL** from a simplified intraday volume profile built from yesterday’s **regular session bars**.
* **Max Volume Profile Points** *(default 50)*: lower values = faster; higher = more precise.
* **Value Area Calculation Timeframe** *(default 15)*: the security timeframe used when collecting yesterday’s highs/lows/volumes.
### Individual Level Toggles & Colors
* **yHoD / yLoD** (yesterday high/low)
* **yEHH / yEHL** (yesterday AH + today pre‑market extremes)
* **PMH / PML** (today pre‑market extremes)
* **VAH / VAL / POC** (yesterday RTH value area + point of control)
### Market Breadth Panel
* **Show NYSE / NASDAQ / VIX**: choose which series to display in the table.
* **Table Position / Size / Background Color**: UI placement and legibility.
* **Slope Averaging Periods** *(default 5)*: number of recent TICK/TICKQ ratio points used in slope calculation.
* **Candles for Rate** *(default 10)* & **Normalize Rate**: VIX slope calculation as % change between `now` and `n` candles ago; normalize divides by `n`.
* **VIX Timeframe**: optionally compute VIX on a higher TF (e.g., 15, 30, 60) for a smoother regime read.
* **Volume Normalization** (NYSE & NASDAQ): display VOLD slopes scaled to `tens/thousands/millions/10th millions` for readable magnitudes; color thresholds adapt to your choice.
---
## 4) Data sources & definitions
* **UVOL/VOLD (NYSE)** and **UVOLQ/DVOLQ/VOLDQ (NASDAQ)** via `request.security()`
* **Ratio** = `UVOL/DVOL` (signed; negative when down‑volume dominates)
* **VOLD slope** ≈ `(VOLD_now − VOLD_open) / bars_since_open`, then normalized per your setting
* **TICK/TICKQ**: cumulative sum of prints this session with **positives vs negatives ratio**, plus a simple linear regression **slope** of the last `N` ratio values
* **VIX**: value and slope across a user‑selected timeframe and lookback
* **Sessions (EST/EDT)**
* **Regular:** 09:30–16:00
* **Pre‑Market:** 04:00–09:30
* **After Hours:** 16:00–20:00
* **Extended‑hours extremes** combine **yesterday AH** + **today PM**
> **Note:** All session checks are done with TradingView’s `time(…,"America/New_York")` context. If your broker’s RTH differs (e.g., futures), adjust expectations accordingly.
---
## 5) How the algorithms work (plain English)
### A) Key Levels
* **Yesterday’s RTH High/Low**: scans yesterday’s bars within 09:30–16:00 and records the extremes + bar indices.
* **Extended Hours**: scans yesterday AH and today PM to get **yEHH/yEHL**. Script shows **either yEHH or PMH** (whichever is **higher**) and **either yEHL or PML** (whichever is **lower**) to avoid duplicate bands stacked together.
* **Value Area & POC (RTH only)**
* Build a coarse volume profile with `Max Volume Profile Points` buckets across the price range formed by yesterday’s RTH bars.
* Distribute each bar’s volume uniformly across the buckets it spans (fast approximation to keep Pine within execution limits).
* **POC** = bucket with max volume. **VA** expands from POC outward until **70%** of cumulative volume is enclosed → yields **VAH/VAL**.
### B) Market Breadth Table
* **NYSE/NASDAQ Ratio**: signed UVOL/DVOL with basic coloring.
* **VOLD Slopes**: from session open to current, normalized to human‑readable units; colors flip green/red based on thresholds that map to your normalization setting (e.g., ±2M for NYSE, ±3.5×10M for NASDAQ).
* **TICK/TICKQ Slope**: linear regression over the last `N` ratio points → **↗ / → / ↘** with the rounded slope value.
* **VIX Slope**: % change between now and `n` candles ago (optionally divided by `n`). Red when rising beyond threshold; green when falling.
---
## 6) Recommended presets
* **Stocks (liquid, intraday)**
* Value Area **ON**, `Max Volume Points` = **40–60**, **Timeframe** = **5–15**
* Breadth: show **NYSE & NASDAQ & VIX**, `Slope periods` = **5–8**, `Candles for rate` = **10–20**, **Normalize VIX** = **ON**
* **Index futures / very high‑volume symbols**
* If you see Pine timeouts, set `Max Volume Points` = **20–40** or temporarily **disable Value Area**.
* Keep breadth panel **ON** (it’s light). Consider **VIX timeframe = 15/30** for regime clarity.
---
## 7) Tips, edge cases & performance
* **Performance:** The volume profile is capped (`maxBarsToProcess ≤ 500` and bucketed) to keep it responsive. If you experience slowdowns, reduce `Max Volume Points`, `Maximum bars lookback`, or disable Value Area.
* **Redundant lines:** The script **intentionally suppresses** PMH/PML when yEHH/yEHL are more extreme, and vice‑versa.
* **Label visibility:** Use `Label style = none` if you only want clean lines and read values from the right‑end labels.
* **Futures/RTH differences:** Value Area is from **yesterday’s RTH** only; for 24h instruments the RTH period may not reflect overnight structure.
* **Session transitions:** PMH/PML tracking stops as soon as RTH starts; values persist as static levels for the session.
---
## 8) Known limitations
* Uses public TradingView symbols: `UVOL`, `VOLD`, `UVOLQ`, `DVOLQ`, `VOLDQ`, `TICK`, `TICKQ`, `VIX`. If your data plan or region limits any symbol, the corresponding table rows may show `na`.
* The VA/POC approximation assumes uniform distribution of each bar’s volume across its high–low. That’s fast but not a tick‑level profile.
* Works best on US equities with standard NY session; alternative sessions may need code changes.
---
## 9) Troubleshooting
* **“Script is too slow / timed out”** → Lower `Max Volume Points`, lower `Maximum bars lookback`, or toggle **OFF** `Enable Value Area calculations` for that instrument.
* **Missing breadth values** → Ensure the symbols above load on your account; try reloading chart or switching timeframes once.
* **Overlapping labels** → Set `Label style = none` or reduce label size.
---
## 10) Version / license / contribution
* **Version:** Initial public release (Pine v6).
* **Author:** © yelober
* **License:** Free for community use and enhancement. Please keep author credit.
* **Contributing:** Open PRs/ideas: presets, alert conditions, multi‑day VA composites, optional mid‑value (`(VAH+VAL)/2`), session filter for futures, and alertable state machine for breadth regime transitions.
---
## 11) Quick start (TL;DR)
1. Add the indicator and **keep default settings**.
2. Trade **reactions** at yHoD/yLoD/PMH/PML/VAH/VAL/POC.
3. Use the **breadth table**: look for **green ratios + ↗ slopes** (risk‑on) or **red ratios + ↘ slopes** (risk‑off). Check **VIX** slope for confirmation.
4. Manage risk around levels; when breadth flips against you, tighten or exit.
---
### Changelog (public)
* **v1.0:** First community release with automatic RTH levels, VA/POC approximation, breadth dashboard (NYSE/NASDAQ/TICK/TICKQ/VIX) with normalization and adaptive color thresholds.
Bullish 1st Breakaway FVG Stop Loss
This indicator provides a defined 3-tier stop loss placement when you want to trade the 1st Bullish Breakaway FVG strategy. The Bullish Breakaway Dual Session FVG indicator is an independent indicator that track all bullish breakaway candles, however this one only tracks the very 1st breakaway candle with a stop loss visual cue.
Introduction of Bullish Breakaway Consolidated FVG:
Inspired by the FVG Concept:
This indicator is built on the Fair Value Gap (FVG) concept, with a focus on Consolidated FVG. Unlike traditional FVGs, this version only works within a defined session (e.g., ETH 18:00–17:00 or RTH 09:30–16:00).
Bullish consolidated FVG & Bullish breakaway candle
Begins when a new intraday low is printed. After that, the indicator searches for the 1st bullish breakaway candle, which must have its low above the high of the intraday low candle. Any candles in between are part of the consolidated FVG zone. Once the 1st breakaway forms, the indicator will shades the candle’s range (high to low).
Session Reset: Occurs at session close.
Choose your own session: use 930 to 1615 for RTH, 1800 to 1615 for ETH. (New York Time Zone)
Repaint Behavior:
If a new intraday (or intra-session) low forms, earlier breakaway patterns are wiped, and the system restarts from the new low.
Product Optimization:
This indicator is designed for CME future product with New York time zone. If you want to trade other products, please adjust your own time session.
Entry:
Long after the 1st Bullish Breakaway Candle in your active session.
However, best position of long is executed by your own trading skill and edge.
Stop Loss: ξ
ξ: This is the 1st stop loss, it is 1 equal size of the breakaway candle below the low.
ξξ: This is the 2nd stop loss, it is 2 equal sizes of the breakaway candle below the low.
L: This is the 3rd stop loss, it is the intraday session low.
Stop loss calculation:
Assuming you enter at the high of the breakaway candle, the SL number is shown as the high minus the stop loss placement.
Last Mention:
If you don't see anything in the indicator, adjust your session to an active session only, and use Tradingview replay function. This indicator is a live indicator with repainting mechanism.
Quarterly Theory —Q1,Q2,Q3,Q4The Quarterly Theory Indicator is a trading tool designed to visualize the natural time-based cycles of the market, based on the principles of Quarterly Theory, popularized by the Inner Circle Trader (ICT). The indicator divides market sessions into four equal “quarters” to help traders identify potential accumulation, manipulation, and distribution phases (AMD model) and improve the timing of entries and exits.
Key Features:
Quarter Divisions (Q1–Q4):
Each market session (e.g., NY AM, London, Asia) is divided into four quarters.
Vertical lines mark the beginning of each quarter, making it easy to track session structure.
Optional labels show Q1, Q2, Q3, and Q4 directly on the chart.
True Open (Q2 Open):
The True Open is the opening price of Q2, considered a key reference point in Quarterly Theory.
A horizontal red line is drawn at the True Open price with a label showing the exact value.
This line helps traders filter bullish and bearish setups:
Buy below the True Open if the market is bullish.
Sell above the True Open if the market is bearish.
Session Awareness:
The indicator can automatically detect market sessions and reset lines and labels for each new session.
Ensures that only the current session’s True Open and quarter lines are displayed, reducing chart clutter.
Timeframe Flexibility:
Works on any chart timeframe (1-minute to daily).
Maintains accurate alignment of quarters and True Open regardless of the timeframe used.
Purpose of Quarterly Theory:
Quarterly Theory is based on the idea that market behavior is fractal and time-driven. By dividing sessions into four quarters, traders can anticipate potential market phases:
Q1: Initial price discovery and setup for the session.
Q2: Accumulation or manipulation phase, where the True Open is established.
Q3: Manipulation or Judas Swing phase designed to trap traders.
Q4: Distribution or trend continuation/reversal.
By visualizing these quarters and the True Open, traders can reduce ambiguity, identify high-probability setups, and improve their timing in line with the ICT AMD (Accumulation, Manipulation, Distribution) framework.
LVN/HVN Auto Detection [PhenLabs]📊 PhenLabs - LVN/HVN Auto Detection
Version: PineScript™ v6
📌 Description
The PhenLabs LVN/HVN Auto Detection indicator is an advanced volume profile analysis tool that automatically identifies Low Volume Nodes (LVN) and High Volume Nodes (HVN) across multiple trading sessions. This sophisticated indicator analyzes volume distribution patterns to pinpoint critical support and resistance levels where price is likely to react, providing traders with high-probability zones for entries, exits, and risk management.
Unlike traditional volume indicators that only show current activity, this tool builds comprehensive volume profiles from historical sessions and intelligently filters the most significant levels. It combines real-time volume analysis with dynamic level detection, offering both visual bubbles for immediate volume activity and persistent horizontal lines that act as ongoing support/resistance references.
🚀 Points of Innovation
Multi-Session Volume Profile Analysis - Automatically calculates and analyzes volume profiles across the last 5 trading sessions
Intelligent Level Separation Logic - Prevents overlapping signals by maintaining minimum separation between LVN and HVN levels
Dynamic Timeframe Adaptation - Automatically adjusts session lengths based on chart timeframe for optimal level detection
Real-Time Activity Bubbles - Shows volume activity strength through different bubble sizes at key levels
Persistent Line Management - Creates horizontal lines that extend until price crosses them, providing ongoing reference points
Dual Threshold System - Independent percentage-based thresholds for both LVN and HVN identification
🔧 Core Components
Volume Profile Engine : Builds 20-row volume profiles for each analyzed session, distributing volume across price levels
Level Identification Algorithm : Uses percentage-based thresholds to classify volume distribution patterns
Separation Logic : Ensures minimum distance between conflicting levels, prioritizing HVN when overlap occurs
Line Management System : Tracks active support/resistance lines and removes them when price crosses through
Volume Activity Monitor : Compares current volume to 13-period moving average for activity classification
🔥 Key Features
Customizable Thresholds : LVN threshold (5-35%, default 20%) and HVN threshold (65-95%, default 80%) for precise level filtering
Volume Activity Multiplier : Adjustable volume threshold (0.5+, default 1.5) for bubble and line creation sensitivity
Flexible Display Modes : Choose between Lines only, Bubbles only, or Both for optimal chart clarity
Smart Level Separation : Minimum separation percentage (0.1-2%, default 0.5%) prevents conflicting signals
Color Customization : Independent color controls for LVN (red) and HVN (blue) elements
Performance Optimization : Processes every 15 bars with maximum 500 active lines for smooth operation
🎨 Visualization
Colored Bubbles : Three sizes (large, medium, small) indicate volume activity strength at key levels
Horizontal Lines : Persistent support/resistance lines with width corresponding to volume activity
Dual Color System : Semi-transparent red for LVN areas, semi-transparent blue for HVN zones
Information Tooltip : Optional table showing usage guidelines and optimization tips
📖 Usage Guidelines
Volume Thresholds
LVN Threshold
○ Default: 20.0%
○ Range: 5.0-35.0%
○ Description: Price levels with volume below this percentage are marked as LVNs. Lower values create fewer, more significant levels. Typical range 15-25% works for most instruments.
HVN Threshold
○ Default: 80.0%
○ Range: 65.0-95.0%
○ Description: Price levels with volume above this percentage are marked as HVNs. Higher values create fewer, stronger levels. Range 75-85% is optimal for most trading.
Display Controls
Volume Threshold
○ Default: 1.5
○ Range: 0.5+
○ Description: Multiplier for volume significance (High=2+threshold, Medium=1+threshold, Low=0+threshold). Higher values require more volume for signals.
✅ Best Use Cases
Swing Trading : Identify key levels for position entries and exits over multiple days
Scalping : Use bubbles for immediate volume activity confirmation at critical levels
Risk Management : Place stops beyond LVN levels where price moves quickly
Breakout Trading : Monitor HVN levels for potential breakout or rejection scenarios
Multi-Timeframe Analysis : Combine with higher timeframe levels for confluence
⚠️ Limitations
Timeframe Sensitivity : Lower timeframes may produce too many levels; higher timeframes recommended for cleaner signals
Volume Data Dependency : Accuracy depends on reliable volume data from your data provider
Historical Analysis : Uses past volume data which may not predict future price behavior
Performance Impact : High number of active lines may affect chart performance on slower devices
💡 What Makes This Unique
Automated Session Analysis : No manual drawing required - automatically analyzes multiple sessions
Intelligent Filtering : Advanced separation logic prevents overlapping and conflicting signals
Adaptive Processing : Adjusts to different timeframes automatically for optimal level detection
Dual Visualization System : Combines persistent lines with real-time activity indicators
🔬 How It Works
1. Volume Profile Construction :
Analyzes the last 5 trading sessions with dynamic session length based on timeframe
Divides each session’s price range into 20 equal levels for volume distribution analysis
2. Level Classification :
Calculates volume percentage at each price level relative to session maximum
Identifies LVN levels below threshold and HVN levels above threshold
3. Signal Generation :
Creates bubbles when volume activity exceeds thresholds at identified levels
Draws horizontal lines that persist until price crosses through them
💡 Note : For optimal results, increase your chart timeframe if you see too many levels. The indicator performs best on 15-minute and higher timeframes where volume patterns are more meaningful and less noisy.
VWAP Adaptive (RelVol-Adjusted)This indicator provides an Adaptive VWAP that adjusts volume weighting using RelVol (Relative Volume at Time), offering a more accurate and context-aware price reference during sessions with irregular volume behavior.
Classic VWAP calculates the average price weighted by raw volume, without considering the time of day. This becomes a serious limitation during major market events such as CPI releases, FOMC announcements, NFP, or large-cap earnings. These events often trigger massive volume spikes within one or two candles. As a result, the classic VWAP gets pulled toward those extreme prices and becomes permanently skewed for the rest of the session.
In such conditions, classic VWAP becomes unreliable. It no longer reflects fair value and often misleads traders relying on it for dynamic support, resistance, or reversion signals.
This Adaptive VWAP improves on that by using RelVol, which compares the current volume to the average volume seen at the same time over previous sessions. It gives more weight to price when volume is typical for that moment, and adjusts the influence when volume is statistically abnormal. This reduces the impact of isolated volume spikes and stabilizes the VWAP path, even in high-volatility environments.
For example, on SPY 1-minute or 5-minute charts during a CPI release, a massive spike in volume and price can occur within a single candle. Classic VWAP will immediately anchor itself to that spike. Adaptive VWAP using RelVol softens that effect and maintains a more realistic trajectory.
Key features:
- Adaptive VWAP weighted by time-adjusted Relative Volume (RelVol)
- Designed to maintain VWAP reliability during macroeconomic events
- Flexible anchoring: Session, Week, Month, Quarter, Earnings, etc.
- Optional display of Classic VWAP for comparison
- Up to 3 customizable deviation bands (standard deviation or percentage)
This tool is ideal for intraday traders who need a VWAP that remains usable and unbiased, even in volatile sessions. It adds robustness to VWAP-based strategies by incorporating time-sensitive volume normalization.
Enigma Sniper 369The "Enigma Sniper 369" is a custom-built Pine Script indicator designed for TradingView, tailored specifically for forex traders seeking high-probability entries during high-volatility market sessions.
Unlike generic trend-following or scalping tools, this indicator uniquely combines session-based "kill zones" (London and US sessions), momentum-based candle analysis, and an optional EMA trend filter to pinpoint liquidity grabs and reversal opportunities.
Its originality lies in its focus on liquidity hunting—identifying levels where stop losses are likely clustered (around swing highs/lows and wick midpoints)—and providing visual entry zones that are dynamically removed once price breaches them, reducing clutter and focusing on actionable signals.
The name "369" reflects the structured approach of three key components (session timing, candle logic, and trend filter) working in harmony to snipe precise entries.
What It Does
"Enigma Sniper 369" identifies potential buy and sell opportunities by drawing two types of horizontal lines on the chart during user-defined London and US
session kill zones:
Solid Lines: Mark the swing low (for buys) or swing high (for sells) of a trigger candle, indicating a potential entry point where stop losses might be clustered.
Dotted Lines: Mark the 50% level of the candle’s wick (lower wick for buys, upper wick for sells), serving as a secondary confirmation zone for entries or tighter stop-loss placement.
These lines are plotted only when specific candle conditions are met within the kill zones, and they are automatically deleted once the price crosses them, signaling that the liquidity at that level has likely been grabbed. The indicator also includes an optional EMA filter to ensure trades align with the broader trend, reducing false signals in choppy markets.
How It Works
The indicator’s logic is built on a multi-layered approach:
Kill Zone Timing: Trades are only considered during user-defined London and US session hours (e.g., London from 02:00 to 12:00 UTC, as seen in the screenshots). These sessions are known for high volatility and liquidity, making them ideal for capturing institutional moves.
Candle-Based Momentum Logic:
Buy Signal: A candle must close above its midpoint (indicating bullish momentum) and have a lower low than the previous candle (suggesting a potential liquidity grab below the previous swing low). This is expressed as close > (high + low) / 2 and low < low .
Sell Signal: A candle must close below its midpoint (bearish momentum) and have a higher high than the previous candle (indicating a potential liquidity grab above the previous swing high), expressed as close < (high + low) / 2 and high > high .
These conditions ensure the indicator targets candles that break recent structure to hunt stop losses while showing directional momentum.
Optional EMA Filter: A 50-period EMA (customizable) can be enabled to filter signals based on trend direction.
Buy signals are only generated if the EMA is trending upward (ema_value > ema_value ), and sell signals require a downward EMA trend (ema_value < ema_value ). This reduces noise by aligning entries with the broader market trend.
Liquidity Levels and Deletion Logic:
For a buy signal, a solid green line is drawn at the candle’s low, and a dotted green line at the 50% level of the lower wick (from the candle body’s bottom to the low).
For a sell signal, a solid red line is drawn at the candle’s high, and a dotted red line at the 50% level of the upper wick (from the body’s top to the high).
These lines extend to the right until the price crosses them, at which point they are deleted, indicating the liquidity at that level has been taken (e.g., stop losses triggered).
Alerts: The indicator includes alert conditions for buy and sell signals, notifying traders when a new setup is identified.
Underlying Concepts
The indicator is grounded in the concept of liquidity hunting, a strategy often employed by institutional traders. Markets frequently move to levels where stop losses are clustered—typically just beyond swing highs or lows—before reversing in the opposite direction. The "Enigma Sniper 369" targets these moves by identifying candles that break structure (e.g., a lower low or higher high) during high-volatility sessions, suggesting a potential sweep of stop losses. The 50% wick level acts as a secondary confirmation, as this midpoint often represents a zone where tighter stop losses are placed by retail traders. The optional EMA filter adds a trend-following element, ensuring entries are taken in the direction of the broader market momentum, which is particularly useful on lower timeframes like the 15-minute chart shown in the screenshots.
How to Use It
Here’s a step-by-step guide based on the provided usage example on the GBP/USD 15-minute chart:
Setup the Indicator: Add "Enigma Sniper 369" to your TradingView chart. Adjust the London and US session hours to match your timezone (e.g., London from 02:00 to 12:00 UTC, US from 13:00 to 22:00 UTC). Customize the EMA period (default 50) and line styles/colors if desired.
Identify Kill Zones: The indicator highlights the London session in light green and the US session in light purple, as seen in the screenshots. Focus on these periods for signals, as they are the most volatile and likely to produce liquidity grabs.
Wait for a Signal: Look for solid and dotted lines to appear during the kill zones:
Buy Setup: A solid green line at the swing low and a dotted green line at the 50% lower wick level indicate a potential buy. This suggests the market may have grabbed liquidity below the swing low and is now poised to move higher.
Sell Setup: A solid red line at the swing high and a dotted red line at the 50% upper wick level indicate a potential sell, suggesting liquidity was taken above the swing high.
Place Your Trade:
For a buy, set a buy limit order at the dotted green line (50% wick level), as this is a more conservative entry point. Place your stop loss just below the solid green line (swing low) to cover the full swing. For example, in the screenshots, the market retraces to the dotted line at 1.32980 after a liquidity grab below the swing low, triggering a buy limit order.
For a sell, set a sell limit order at the dotted red line, with a stop loss just above the solid red line.
Monitor Price Action: Once the price crosses a line, it is deleted, indicating the liquidity at that level has been taken. In the screenshots, after the buy limit is triggered, the market moves higher, confirming the setup. The caption notes, “The market returns and tags us in long with a buy limit,” highlighting this retracement strategy.
Additional Context: Use the indicator to identify liquidity levels that may be targeted later. For example, the screenshot notes, “If a new session is about to open I will wait for the grab liquidity to go long,” showing how the indicator can be used to anticipate future moves at session opens (e.g., London open at 1.32980).
Risk Management: Always set a stop loss below the swing low (for buys) or above the swing high (for sells) to protect against adverse moves. The 50% wick level helps tighten entries, improving the risk-reward ratio.
Practical Example
On the GBP/USD 15-minute chart, during the London session (02:00 UTC), the indicator identifies a buy setup with a solid green line at 1.32901 (swing low) and a dotted green line at 1.32980 (50% wick level). The market initially dips below the swing low, grabbing liquidity, then retraces to the dotted line, triggering a buy limit order. The price subsequently rises to 1.33404, yielding a profitable trade. The user notes, “The logic is in the last candle it provides new level to go long,” emphasizing the indicator’s ability to identify fresh levels after a liquidity sweep.
Customization Tips
Adjust the EMA period to suit your timeframe (e.g., a shorter period like 20 for faster signals on lower timeframes).
Modify the session hours to align with your broker’s timezone or specific market conditions.
Use the alert feature to get notified of new setups without constantly monitoring the chart.
Why It’s Useful for Traders
The "Enigma Sniper 369" stands out by combining session timing, momentum-based candle analysis, and liquidity hunting into a single tool. It provides clear, actionable levels for entries and stop losses, removes invalid signals dynamically, and aligns trades with high-probability market conditions. Whether you’re a scalper looking for quick moves during London open or a swing trader targeting session-based reversals, this indicator offers a structured, data-driven approach to trading.
Vertical Lines at Specific Times### **Script Description**
This **Pine Script v6** indicator for **TradingView** plots **vertical dotted lines** at user-specified times, marking key time ranges during the day. It is designed to help traders visually track market movements within specific timeframes.
#### **Features:**
✔ **Custom Timeframes:**
- Two separate time ranges can be defined:
- **Morning Session:** (Default: 9 AM - 10 AM, New York Time)
- **Evening Session:** (Default: 9 PM - 10 PM, New York Time)
✔ **Adjustable Line Properties:**
- **Line Width:** Users can change the thickness of the vertical lines.
- **Line Colors:** Users can select different colors for morning and evening session lines.
✔ **New York Local Time Support:**
- Ensures that the vertical lines appear correctly based on **Eastern Time (ET)**.
✔ **Full-Height Vertical Lines:**
- Lines extend across the **entire chart**, from the highest high to the lowest low, for clear visibility.
- Uses **dotted line style** to avoid cluttering the chart.
#### **How It Works:**
1. The script retrieves the **current date** (year, month, day) in **New York time**.
2. Converts the **user-defined input times** into **timestamps** for accurate placement.
3. When the current time matches a specified session time, a **dotted vertical line** is drawn.
4. The script **repeats this process daily**, ensuring automatic updates.
#### **Customization Options (Inputs):**
- **Morning Start & End Time** (Default: 9 AM - 10 AM)
- **Evening Start & End Time** (Default: 9 PM - 10 PM)
- **Line Width** (Default: 2)
- **Morning Line Color** (Default: Blue)
- **Evening Line Color** (Default: Green)
#### **Use Case Scenarios:**
📈 Marking market **open & close** hours.
📊 Highlighting **key trading sessions** for day traders.
🔎 Identifying time-based **price action patterns**.
5-Minute YEN Pivot Bars 1.0The 5-Minute YEN Pivot Bars indicator is designed to identify and highlight low-range pivot bars on 5-minute charts, specifically tailored for Yen-based pairs (e.g., GBPJPY, USDJPY). By focusing on precise pip thresholds, this tool helps traders detect potential pivot points within specific trading sessions, while avoiding inside bars and other noise often seen in low-volatility conditions. This can be particularly useful for trend traders and those looking to refine their entry points based on intraday reversals.
Key Features:
- Customized Pip Thresholds for Yen Pairs:
The indicator is pre-configured for Yen pairs, where 1 pip is typically represented by 0.01. It applies these thresholds:
- Limited Range: 4 pips or less between open and close prices.
- High/Low Directionality: At least 3 pips from the close/open to the bar's high or low.
- Open/Close Proximity: 4 pips or less between open and close.
- Inside Bar Tolerance: A tolerance of 3 pips for inside bars, helping reduce false signals from bars contained within the previous bar's range.
- Session-Specific Alerts:
- The indicator allows you to enable alerts for the European Session (6:00-12:00), American Session (12:00-17:00), and London Close (17:00-20:00). You can adjust these times based on your own trading hours or timezone preferences via a time-shift setting.
- Receive real-time alerts when a valid bullish or bearish pivot bar is identified within the chosen sessions, allowing you to respond to potential trade opportunities immediately.
- Time Shift Customization:
- Adjust the "Time Shift" parameter to account for different time zones, ensuring accurate session alignment regardless of your local time.
How It Works:
1. Pivot Bar Identification:
The indicator scans for bars where the difference between the open and close is within the "Limited Range" threshold, and both open and close prices are close to either the high or the low of the bar.
2. Directional Filtering:
It requires the bar to show strong directional bias by enforcing an additional distance between the open/close levels and the opposite end of the bar (high/low). Only bars with this directional structure are considered for highlighting.
3. Exclusion of Inside Bars:
Bars that are completely contained within the range of the previous bar are excluded (inside bars), as are consecutive inside bars. This filtering is essential to avoid marking bars that typically indicate consolidation rather than potential pivot points.
4. Session Alerts:
When a valid pivot bar appears within the selected sessions, an alert is triggered, notifying the trader of a potential trading signal. Bullish and bearish signals are differentiated based on whether the close is near the high or low.
How to Use:
- Trend Reversals: Use this indicator to spot potential trend reversals or pullbacks on a 5-minute chart, especially within key trading sessions.
- Entry and Exit Points: Highlighted bars can serve as potential entry points for traders looking to capitalize on short-term directional changes or continuation patterns.
- Combine with Other Indicators: Consider pairing this tool with momentum indicators or trendlines to confirm the signals, providing a comprehensive analysis framework.
Default Parameters:
- Limited Range: 4 Pips
- High/Low Directionality: 3 Pips
- Open/Close Proximity: 4 Pips
- Inside Bar Tolerance: 3 Pips
- Session Alerts: Enabled for European, American, and London Close sessions
- Time Shift: Default 6 (adjustable to align with different time zones)
This indicator is specifically optimized for Yen pairs on 5-minute charts due to its pip calculation.
Globex Trap ZoneGlobex Trap Indicator
A powerful tool designed to identify potential trading opportunities by analyzing the relationship between Globex session ranges and Supply & Demand zones during regular trading hours.
Key Features
Tracks and visualizes Globex session price ranges
Identifies key Supply & Demand zones during regular trading hours
Highlights potential trap areas where price might experience significant reactions
Fully customizable time ranges and visual settings
Clear labeling of Globex highs and lows
How It Works
The indicator tracks two key periods:
Globex Session (Default: 6:00 PM - 9:30 AM)
Monitors overnight price action
Marks session high and low
Helps identify potential range breakouts
Supply & Demand Zone (Default: 8:00 AM - 11:00 AM)
Tracks price action during key market hours
Identifies potential reaction zones
Helps spot institutional trading areas
Best Practices for Using This Indicator
Use on 1-hour timeframe or lower for optimal visualization
Best suited for futures and other instruments traded during Globex sessions
Pay attention to areas where Globex range and Supply/Demand zones overlap
Use in conjunction with your existing trading strategy for confirmation
Recommended minimum of 10 days of historical data for context
Settings Explanation
Globex Session: Customizable time range for overnight trading session
Supply & Demand Zone: Adjustable time range for regular trading hours
Days to Look Back: Number of historical days to display (default: 10)
Visual Settings: Customizable colors and transparency for both zones
Important Notes
All times are based on exchange timezone
The indicator respects overnight sessions and properly handles timezone transitions
Historical data requirements: Minimum 10 days recommended
Performance impact: Optimized for smooth operation with minimal resource usage
Disclaimer
Past performance is not indicative of future results. This indicator is designed to be used as part of a comprehensive trading strategy and should not be relied upon as the sole basis for trading decisions.
Updates and Support
I actively maintain this indicator and welcome feedback from the trading community. Please feel free to leave comments or suggestions for improvements.
Waindrops [Makit0]█ OVERALL
Plot waindrops (custom volume profiles) on user defined periods, for each period you get high and low, it slices each period in half to get independent vwap, volume profile and the volume traded per price at each half.
It works on intraday charts only, up to 720m (12H). It can plot balanced or unbalanced waindrops, and volume profiles up to 24H sessions.
As example you can setup unbalanced periods to get independent volume profiles for the overnight and cash sessions on the futures market, or 24H periods to get the full session volume profile of EURUSD
The purpose of this indicator is twofold:
1 — from a Chartist point of view, to have an indicator which displays the volume in a more readable way
2 — from a Pine Coder point of view, to have an example of use for two very powerful tools on Pine Script:
• the recently updated drawing limit to 500 (from 50)
• the recently ability to use drawings arrays (lines and labels)
If you are new to Pine Script and you are learning how to code, I hope you read all the code and comments on this indicator, all is designed for you,
the variables and functions names, the sometimes too big explanations, the overall structure of the code, all is intended as an example on how to code
in Pine Script a specific indicator from a very good specification in form of white paper
If you wanna learn Pine Script form scratch just start HERE
In case you have any kind of problem with Pine Script please use some of the awesome resources at our disposal: USRMAN , REFMAN , AWESOMENESS , MAGIC
█ FEATURES
Waindrops are a different way of seeing the volume and price plotted in a chart, its a volume profile indicator where you can see the volume of each price level
plotted as a vertical histogram for each half of a custom period. By default the period is 60 so it plots an independent volume profile each 30m
You can think of each waindrop as an user defined candlestick or bar with four key values:
• high of the period
• low of the period
• left vwap (volume weighted average price of the first half period)
• right vwap (volume weighted average price of the second half period)
The waindrop can have 3 different colors (configurable by the user):
• GREEN: when the right vwap is higher than the left vwap (bullish sentiment )
• RED: when the right vwap is lower than the left vwap (bearish sentiment )
• BLUE: when the right vwap is equal than the left vwap ( neutral sentiment )
KEY FEATURES
• Help menu
• Custom periods
• Central bars
• Left/Right VWAPs
• Custom central bars and vwaps: color and pixels
• Highly configurable volume histogram: execution window, ticks, pixels, color, update frequency and fine tuning the neutral meaning
• Volume labels with custom size and color
• Tracking price dot to be able to see the current price when you hide your default candlesticks or bars
█ SETTINGS
Click here or set any impar period to see the HELP INFO : show the HELP INFO, if it is activated the indicator will not plot
PERIOD SIZE (max 2880 min) : waindrop size in minutes, default 60, max 2880 to allow the first half of a 48H period as a full session volume profile
BARS : show the central and vwap bars, default true
Central bars : show the central bars, default true
VWAP bars : show the left and right vwap bars, default true
Bars pixels : width of the bars in pixels, default 2
Bars color mode : bars color behavior
• BARS : gets the color from the 'Bars color' option on the settings panel
• HISTOGRAM : gets the color from the Bearish/Bullish/Neutral Histogram color options from the settings panel
Bars color : color for the central and vwap bars, default white
HISTOGRAM show the volume histogram, default true
Execution window (x24H) : last 24H periods where the volume funcionality will be plotted, default 5
Ticks per bar (max 50) : width in ticks of each histogram bar, default 2
Updates per period : number of times the histogram will update
• ONE : update at the last bar of the period
• TWO : update at the last bar of each half period
• FOUR : slice the period in 4 quarters and updates at the last bar of each of them
• EACH BAR : updates at the close of each bar
Pixels per bar : width in pixels of each histogram bar, default 4
Neutral Treshold (ticks) : delta in ticks between left and right vwaps to identify a waindrop as neutral, default 0
Bearish Histogram color : histogram color when right vwap is lower than left vwap, default red
Bullish Histogram color : histogram color when right vwap is higher than left vwap, default green
Neutral Histogram color : histogram color when the delta between right and left vwaps is equal or lower than the Neutral treshold, default blue
VOLUME LABELS : show volume labels
Volume labels color : color for the volume labels, default white
Volume Labels size : text size for the volume labels, choose between AUTO, TINY, SMALL, NORMAL or LARGE, default TINY
TRACK PRICE : show a yellow ball tracking the last price, default true
█ LIMITS
This indicator only works on intraday charts (minutes only) up to 12H (720m), the lower chart timeframe you can use is 1m
This indicator needs price, time and volume to work, it will not work on an index (there is no volume), the execution will not be allowed
The histogram (volume profile) can be plotted on 24H sessions as limit but you can plot several 24H sessions
█ ERRORS AND PERFORMANCE
Depending on the choosed settings, the script performance will be highly affected and it will experience errors
Two of the more common errors it can throw are:
• Calculation takes too long to execute
• Loop takes too long
The indicator performance is highly related to the underlying volatility (tick wise), the script takes each candlestick or bar and for each tick in it stores the price and volume, if the ticker in your chart has thousands and thousands of ticks per bar the indicator will throw an error for sure, it can not calculate in time such amount of ticks.
What all of that means? Simply put, this will throw error on the BITCOIN pair BTCUSD (high volatility with tick size 0.01) because it has too many ticks per bar, but lucky you it will work just fine on the futures contract BTC1! (tick size 5) because it has a lot less ticks per bar
There are some options you can fine tune to boost the script performance, the more demanding option in terms of resources consumption is Updates per period , by default is maxed out so lowering this setting will improve the performance in a high way.
If you wanna know more about how to improve the script performance, read the HELP INFO accessible from the settings panel
█ HOW-TO SETUP
The basic parameters to adjust are Period size , Ticks per bar and Pixels per bar
• Period size is the main setting, defines the waindrop size, to get a better looking histogram set bigger period and smaller chart timeframe
• Ticks per bar is the tricky one, adjust it differently for each underlying (ticker) volatility wise, for some you will need a low value, for others a high one.
To get a more accurate histogram set it as lower as you can (min value is 1)
• Pixels per bar allows you to adjust the width of each histogram bar, with it you can adjust the blank space between them or allow overlaping
You must play with these three parameters until you obtain the desired histogram: smoother, sharper, etc...
These are some of the different kind of charts you can setup thru the settings:
• Balanced Waindrops (default): charts with waindrops where the two halfs are of same size.
This is the default chart, just select a period (30m, 60m, 120m, 240m, pick your poison), adjust the histogram ticks and pixels and watch
• Unbalanced Waindrops: chart with waindrops where the two halfs are of different sizes.
Do you trade futures and want to plot a waindrop with the first half for the overnight session and the second half for the cash session? you got it;
just adjust the period to 1860 for any CME ticker (like ES1! for example) adjust the histogram ticks and pixels and watch
• Full Session Volume Profile: chart with waindrops where only the first half plots.
Do you use Volume profile to analize the market? Lucky you, now you can trick this one to plot it, just try a period of 780 on SPY, 2760 on ES1!, or 2880 on EURUSD
remember to adjust the histogram ticks and pixels for each underlying
• Only Bars: charts with only central and vwap bars plotted, simply deactivate the histogram and volume labels
• Only Histogram: charts with only the histogram plotted (volume profile charts), simply deactivate the bars and volume labels
• Only Volume: charts with only the raw volume numbers plotted, simply deactivate the bars and histogram
If you wanna know more about custom full session periods for different asset classes, read the HELP INFO accessible from the settings panel
EXAMPLES
Full Session Volume Profile on MES 5m chart:
Full Session Unbalanced Waindrop on MNQ 2m chart (left side Overnight session, right side Cash Session):
The following examples will have the exact same charts but on four different tickers representing a futures contract, a forex pair, an etf and a stock.
We are doing this to be able to see the different parameters we need for plotting the same kind of chart on different assets
The chart composition is as follows:
• Left side: Volume Labels chart (period 10)
• Upper Right side: Waindrops (period 60)
• Lower Right side: Full Session Volume Profile
The first example will specify the main parameters, the rest of the charts will have only the differences
MES :
• Left: Period size: 10, Bars: uncheck, Histogram: uncheck, Execution window: 1, Ticks per bar: 2, Updates per period: EACH BAR,
Pixels per bar: 4, Volume labels: check, Track price: check
• Upper Right: Period size: 60, Bars: check, Bars color mode: HISTOGRAM, Histogram: check, Execution window: 2, Ticks per bar: 2,
Updates per period: EACH BAR, Pixels per bar: 4, Volume labels: uncheck, Track price: check
• Lower Right: Period size: 2760, Bars: uncheck, Histogram: check, Execution window: 1, Ticks per bar: 1, Updates per period: EACH BAR,
Pixels per bar: 2, Volume labels: uncheck, Track price: check
EURUSD :
• Upper Right: Ticks per bar: 10
• Lower Right: Period size: 2880, Ticks per bar: 1, Pixels per bar: 1
SPY :
• Left: Ticks per bar: 3
• Upper Right: Ticks per bar: 5, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 2, Pixels per bar: 2
AAPL :
• Left: Ticks per bar: 2
• Upper Right: Ticks per bar: 6, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 1, Pixels per bar: 2
█ THANKS TO
PineCoders for all they do, all the tools and help they provide and their involvement in making a better community
scarf for the idea of coding a waindrops like indicator, I did not know something like that existed at all
All the Pine Coders, Pine Pros and Pine Wizards, people who share their work and knowledge for the sake of it and helping others, I'm very grateful indeed
I'm learning at each step of the way from you all, thanks for this awesome community;
Opensource and shared knowledge: this is the way! (said with canned voice from inside my helmet :D)
█ NOTE
This description was formatted following THIS guidelines
═════════════════════════════════════════════════════════════════════════
I sincerely hope you enjoy reading and using this work as much as I enjoyed developing it :D
GOOD LUCK AND HAPPY TRADING!
Dual ORB (EU/US) + VWAP + Filters (Retest/EMA/ATR/RVOL)Release Notes — Dual ORB (EU & US) + Color VWAP
Summary
This script plots two configurable Opening Range Breakouts (ORB)—one for the European open and one for the US open—along with a color-adaptive VWAP (green above price, red below). It’s designed for M5/M15 intraday trading on indices (e.g., US100) and metals (e.g., XAUUSD), with clean visuals, optional history retention, and simple breakout cues.
New & Key Features
Dual ORB Sessions
EU ORB (default 07:00) and US ORB (default 14:00).
Each session’s start time and duration are configurable (15/30/45/60 min).
Automatic OR box that tracks the session high/low and freezes at the end of the window.
Configurable Time Zone
Choose a specific UTC offset or an IANA time zone (e.g., Europe/Paris, America/New_York) for precise session timing.
“Exchange” option mirrors the chart’s exchange time when available.
Targets (1× Range by default)
First upside/downside target plotted as a step line once the OR closes (based on a % of the OR width).
Separate % settings per session (EU/US).
Breakout Signals
Optional ▲ / ▼ markers when price crosses ORH/ORL after the OR window closes.
Adjustable signal size and colors.
Color-Adaptive VWAP
VWAP plotted for the whole session; green when price ≥ VWAP, red when price < VWAP.
Single slider for VWAP line thickness and a toggle to show/hide.
Clean Visuals & History Control
Option to preserve historical boxes/lines/labels, or auto-clean previous sessions when a new OR starts.
Per-session colors for the OR lines, fills, labels.
Configuration
General
Show History: Keep OR drawings from prior sessions or clear them automatically.
Time Zone: Pick Exchange or a specific UTC/IANA zone.
ORB Europe / ORB US
Start Time (HH:MM)
Duration: 15 / 30 / 45 / 60 minutes.
Target %: Distance for the first target as a % of the OR range.
Colors: Line and fill per session.
Signals
Enable Breakout Signals
Up/Down Colors
Text Size: Tiny → Huge.
VWAP
Show/Hide
Line Width
Visual Elements
OR Box: Semi-transparent fill during the window; locks at end.
OR Levels: ORH / ORL solid lines; ORM dashed.
Target Lines: Step lines above/below after OR closes.
Signal Labels: ▲ at ORL (bull break), ▼ at ORH (bear break).
VWAP Line: Turns green/red with price relation.
Alerts (baseline)
Signal labels visually indicate ORH/ORL breaks. (You can add alertconditions to match these crossings if you want audible/Push alerts.)
Performance & Compatibility
Pine v6.
Intraday only (< 1D). The script aborts on daily or higher timeframes to avoid misleading OR timing.
Efficient drawing & clean-up to reduce line/label count.
Known Limitations
The script relies on bar timestamps; exact alignment depends on chart data and your chosen time zone
If your broker/exchange applies session gaps or custom trading hours, verify that your time zone and session align with the instrument.
Suggested Workflow
Pick your time zone.
Set EU/US start times and durations to match your plan (e.g., EU 07:00 30m, US 14:00 30m).
Choose whether to keep history.
Toggle signals and VWAP as desired.
Use ORH/ORL and the first target as decision levels; combine with your filter (trend MA, RSI, market structure, etc.).
Changelog (high-level)
v1.
Added dual configurable ORB (EU & US).
Added per-session targets (percent of OR width).
Added color-adaptive VWAP + width control.
Added breakout signals with customizable size and colors.
Added time zone selector (Exchange, UTC, IANA).
Added history on/off option and improved object lifecycle (clean-up vs persist).
Ported to Pine v6 and hardened against repainting artifacts at session edges.
tvunitLibrary "tvunit"
method assert(this, description, passed, bar)
Adds a test result to the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
description (string) : A description of the test.
passed (bool) : Whether the test passed or result.
bar (int) : The bar index at which the test was run.
Returns: Whether the assertion passed or result.
method assertWindow(this, runTests, description, bars, passed, stopOnFirstFailure)
Adds a test result to the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
runTests (bool) : Whether to run the tests.
description (string) : A description of the test.
bars (int) : The number of bars to test.
passed (bool) : A series of boolean values indicating whether each bar passed.
stopOnFirstFailure (bool) : Whether to stop on the first test failure.
Returns: Whether the assertion ran or not
method totalTests(this)
Returns the total number of tests in the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
Returns: The total number of tests.
method totalTests(this)
Returns the total number of tests in the test suite.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSuite) instance.
Returns: The total number of tests.
method passedTests(this)
Returns the total number of passed tests in the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
Returns: The total number of passed tests.
method passedTests(this)
Returns the total number of passed tests in the test suite.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSuite) instance.
Returns: The total number of passed tests.
method failedTests(this)
Returns the total number of result tests in the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
Returns: The total number of result tests.
method failedTests(this)
Returns the total number of result tests in the test suite.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSuite) instance.
Returns: The total number of result tests.
newTestSession()
Creates a new test session instance.
Returns: A new (TestSession) instance.
method addNewTestSuite(this, name, description)
Creates a new test suite instance.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
name (string) : The name of the test suite.
description (string) : (optional) A description of the test suite.
Returns: A new (TestSuite) instance.
method add(this, suite)
Creates a new test suite instance.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
suite (TestSuite) : The (TestSuite) instance to add.
Returns: The (TestSession) instance.
method totalSuites(this)
Returns the total number of sessions in the test session.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
Returns: The total number of sessions.
method report(this, show, showOnlyFailedTest)
Generates a report of the test session summary that is suitable for logging.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
show (bool) : Optional: Whether to show the report or not. default: true
showOnlyFailedTest (bool) : Optional: Whether to show only result tests or not. default: false
Returns: A formatted string report of the test suite summary.
method reportGui(this, show, pages, pageSize)
Generates a report of the test suite summary for the GUI.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
show (bool) : Optional: Whether to show the report or not. default: true
pages (int) : Optional: The number of pages to show (columns). default: 4
pageSize (int) : Optional: The number of results to show per page (rows), excluding the header. default: 5
approxEqual(a, b, tolerance)
Checks if two floating-point numbers are approximately equal within a specified tolerance.
Parameters:
a (float) : The first floating-point number.
b (float) : The second floating-point number.
tolerance (float) : The tolerance within which the two numbers are considered equal. Default is 1e-6.
Returns: True if the numbers are approximately equal, false otherwise. If both are na, returns true.
TestResult
Fields:
description (series string)
passed (series bool)
bar (series int)
TestSuite
Fields:
isEnabled (series bool)
name (series string)
description (series string)
tests (array)
TestSession
Fields:
suites (array)
Midnight 30min High/LowMidnight 30min High/Low — Overnight Liquidity Range Tracker
Capture the Overnight Session: A Strategic Level Identification Tool from Professional Trading Methodology
This indicator captures the high and low prices during the critical 30-minute midnight session (12:00-12:30 AM EST) and projects these levels forward as key support and resistance zones. These overnight ranges often contain significant liquidity and serve as crucial reference points for intraday price action, representing areas where institutional activity may have established important levels.
🔍 What This Script Does:
Identifies Critical Overnight Session Levels
- Automatically detects the 12:00-12:30 AM EST session window
- Captures the highest and lowest prices during this 30-minute period
- Projects these levels forward for multiple trading days
Creates Dynamic Support/Resistance Zones
- Extends midnight high/low levels as horizontal lines with customizable projection periods
- Fills the area between high and low to create a visual trading range
- Updates automatically each trading day with new overnight levels
Provides Clear Visual Reference Points
- Optional session start markers (●) highlight when the midnight session begins
- Color-coded lines distinguish between high and low levels
- Transparent fill area creates an easy-to-identify trading zone
Real-Time Level Tracking
- Updates levels in real-time during the active midnight session
- Maintains historical levels for reference and backtesting
- Compatible with data window for precise level values
⚙️ Customization Options:
Extend Days (1-30):** Control how many days forward the levels are projected (default: 5 days)
High Line Color:** Customize the midnight high line color (default: blue)
Low Line Color:** Customize the midnight low line color (default: orange)
Fill Color:** Adjust the transparency and color of the range area (default: light aqua, 80% transparency)
Show Session Markers:** Toggle yellow session start indicators on/off (default: enabled)
💡 How to Use:
Deploy on lower timeframes (1m-15m) for precise level identification and reaction monitoring**
Watch for key price interactions:
- Rejection at midnight high levels (potential resistance)
- Bounce from midnight low levels (potential support)
- Range-bound trading between the high and low levels
Combine with liquidity concepts:
- Monitor for stop hunts above/below these levels
- Look for false breakouts that snap back into the range
- Use as confluence with other ICT concepts like FVGs and Order Blocks
Strategic Applications:
- Range trading between midnight levels
- Breakout confirmation when price closes decisively outside the range
- Support/resistance validation for entry and exit planning
🔗 Combine With These Tools for Complete Market Structure Analysis:
✅ First FVG — Opening Range Fair Value Gap Detector.
✅ ICT Turtle Soup (Liquidity Reversal)— Spot stop hunts and false breakout scenarios
✅ ICT Macro Zones (Grey Box Version)- It tracks real-time highs and lows for each Silver Bullet session
✅ ICT SMC Liquidity Grabs and OBs- Liquidity Grabs, Order Block Zones, and Fibonacci OTE Levels, allowing traders to identify institutional entry models with clean, rule-based visual signals.
Together, these tools create a comprehensive Smart Money Concepts (SMC) framework — helping traders identify, anticipate, and capitalize on institutional-level price movements with precision and confidence during critical overnight sessions.






















