SMC_CommonLibrary "SMC_Common"
Common types and utilities for Smart Money Concepts indicators
get_future_time(bars_ahead)
Parameters:
bars_ahead (int)
get_time_at_offset(offset)
Parameters:
offset (int)
get_mid_time(time1, time2)
Parameters:
time1 (int)
time2 (int)
timeframe_to_string(tf)
Parameters:
tf (string)
is_psychological_level(price)
Parameters:
price (float)
detect_swing_high(src_high, lookback)
Parameters:
src_high (float)
lookback (int)
detect_swing_low(src_low, lookback)
Parameters:
src_low (float)
lookback (int)
detect_fvg(h, l, min_size)
Parameters:
h (float)
l (float)
min_size (float)
analyze_volume(vol, volume_ma)
Parameters:
vol (float)
volume_ma (float)
create_label(x, y, label_text, bg_color, label_size, use_time)
Parameters:
x (int)
y (float)
label_text (string)
bg_color (color)
label_size (string)
use_time (bool)
SwingPoint
Fields:
price (series float)
bar_index (series int)
bar_time (series int)
swing_type (series string)
strength (series int)
is_major (series bool)
timeframe (series string)
LiquidityLevel
Fields:
price (series float)
bar_index (series int)
bar_time (series int)
liq_type (series string)
touch_count (series int)
is_swept (series bool)
quality_score (series float)
level_type (series string)
OrderBlock
Fields:
start_bar (series int)
end_bar (series int)
start_time (series int)
end_time (series int)
top (series float)
bottom (series float)
ob_type (series string)
has_liquidity_sweep (series bool)
has_fvg (series bool)
is_mitigated (series bool)
is_breaker (series bool)
timeframe (series string)
mitigation_level (series float)
StructureBreak
Fields:
level (series float)
break_bar (series int)
break_time (series int)
break_type (series string)
direction (series string)
is_confirmed (series bool)
source_swing_bar (series int)
source_time (series int)
SignalData
Fields:
signal_type (series string)
entry_price (series float)
stop_loss (series float)
take_profit (series float)
risk_reward_ratio (series float)
confluence_count (series int)
confidence_score (series float)
strength (series string)
חפש סקריפטים עבור "liquidity"
ICT IRL & ERL ZonesICT IRL & ERL Zones
This indicator visualizes Internal Range Liquidity (IRL) and External Range Liquidity (ERL) levels, based on ICT (Inner Circle Trader) concepts. It's designed to help traders identify key liquidity zones that often act as magnet levels or reversal points in price action.
🔍 How It Works
Lookback Range: The script analyzes the highest high and lowest low over a user-defined number of candles (default: 50).
IRL (Internal Range Liquidity):
Plots the highest high and lowest low within the lookback period.
Represented as orange lines and a shaded zone.
ERL (External Range Liquidity):
Extends the IRL boundaries by a small buffer (50 ticks above/below).
Visualizes zones where price may reach for liquidity beyond the current range.
Plotted as a green (high) and red (low) line.
⚙️ Inputs
Lookback Range: Number of candles to calculate the range (min 5).
Show IRL: Toggle visibility for Internal Range Liquidity zone.
Show ERL: Toggle visibility for External Range Liquidity buffer zone.
📊 Visual Elements
IRL High/Low: Orange lines with fill to mark the main liquidity range.
ERL High/Low: Green and red lines indicating potential liquidity sweep zones.
Zone Fill: Light orange shading to visually emphasize the IRL area.
📈 Use Case
Use this tool to:
Identify areas where price might consolidate or reverse.
Highlight likely zones of liquidity grabs before trend continuations or shifts.
Enhance entry/exit decisions based on smart money concepts.
Super Arma Institucional PRO v6.3Super Arma Institucional PRO v6.3
Description
Super Arma Institucional PRO v6.3 is a multifunctional indicator designed for traders looking for a clear and objective analysis of the market, focusing on trends, key price levels and high liquidity zones. It combines three essential elements: moving averages (EMA 20, SMA 50, EMA 200), dynamic support and resistance, and volume-based liquidity zones. This integration offers an institutional view of the market, ideal for identifying strategic entry and exit points.
How it Works
Moving Averages:
EMA 20 (orange): Sensitive to short-term movements, ideal for capturing fast trends.
SMA 50 (blue): Represents the medium-term trend, smoothing out fluctuations.
EMA 200 (red): Indicates the long-term trend, used as a reference for the general market bias.
Support and Resistance: Calculated based on the highest and lowest prices over a defined period (default: 20 bars). These dynamic levels help identify zones where the price may encounter barriers or supports.
Liquidity Zones: Purple rectangles are drawn in areas of significantly above-average volume, indicating regions where large market participants (institutional) may be active. These zones are useful for anticipating price movements or order absorption.
Purpose
The indicator was developed to provide a clean and institutional view of the market, combining classic tools (moving averages and support/resistance) with modern liquidity analysis. It is ideal for traders operating swing trading or position trading strategies, allowing to identify:
Short, medium and long-term trends.
Key support and resistance levels to plan entries and exits.
High liquidity zones where institutional orders can influence the price.
Settings
Show EMA 20 (true): Enables/disables the 20-period EMA.
Show SMA 50 (true): Enables/disables the 50-period SMA.
Show EMA 200 (true): Enables/disables the 200-period EMA.
Support/Resistance Period (20): Sets the period for calculating support and resistance levels.
Liquidity Sensitivity (20): Period for calculating the average volume.
Minimum Liquidity Factor (1.5): Multiplier of the average volume to identify high liquidity zones.
How to Use
Moving Averages:
Crossovers between the EMA 20 and SMA 50 may indicate short/medium-term trend changes.
The EMA 200 serves as a reference for the long-term bias (above = bullish, below = bearish).
Support and Resistance: Use the red (resistance) and green (support) lines to identify reversal or consolidation zones.
Liquidity Zones: The purple rectangles highlight areas of high volume, where the price may react (reversal or breakout). Consider these zones to place orders or manage risks.
Adjust the parameters according to the asset and timeframe to optimize the analysis.
Notes
The chart should be configured only with this indicator to ensure clarity.
Use on timeframes such as 1 hour, 4 hours or daily for better visualization of liquidity zones and support/resistance levels.
Avoid adding other indicators to the chart to keep the script output easily identifiable.
The indicator is designed to be clean, without explicit buy/sell signals, following an institutional approach.
This indicator is perfect for traders who want a visually clear and powerful tool to trade based on trends, key levels and institutional behavior.
Dealing rangeHi all!
This indicator will show you the current dealing range. The concept of dealing range comes from the inner circle trader (ICT) and gives you a range between an established swing high and an established swing low (the length of these pivots can be changed in settings parameter Length and defaults to 5/2 (left/right)). These swing points must have taken out liquidity to be considered "established". The liquidity that must be grabbed by the swing point has to be a pivot of left length of 1 and a right length of 1.
The dealing range that's created should be used in conjunction with market structure. This could be done through scripts (maybe the Market structure script that I published ()) or manually. It's a common approach to look for long opportunities when the trend is bullish and price is currently in the discount zone of the dealing range. If the trend is bearish then short opportunities are presented when the price is currently in the premium zone of the dealing range.
The zones within the dealing range are premium and discount that are split on the 50% level of the dealing range. These zones can be split into 3 zone with a Fair price (also called Fair value ) zone in between premium and discount. This makes the premium zone to be in the upper third of the dealing range, fair price in the middle third and discount in the lower third. This can be enabled in the settings through the Fair price parameter.
Enabled:
You can choose to enable/disable the visualisation of liquidity grabs and the External liquidity available above and below the swing points that created the dealing range.
Enabled:
Disabled:
Enabled on a higher timeframe (will display a box of the liquidity grab price instead of a label):
This dealing range is configurable to be created by a higher timeframe then the visible charts. Use the setting Higher timeframe to change this.
You can force candles to be closed (for liquidity and swing points). Please note that if you use a higher timeframe then the visible charts the candles must be closed on this timeframe.
Lastly you can also change the transparency of liquidity grabs and external liquidity outside of the dealing range. Use the Transparency setting to change this (a lower value will lead to stronger visuals).
If you have any input or suggestions on future features or bugs, don't hesitate to let me know!
Best of trading luck!
ICT Turtle Soup Ultimate V2📜 ICT Turtle Soup Ultimate V2 — Advanced Liquidity Reversal System
Overview:
The ICT Turtle Soup Ultimate V2 is a next-generation liquidity reversal indicator built on the principles of smart money concepts (SMC) and the classic ICT Turtle Soup setup. It is designed to detect false breakouts (liquidity grabs) at key swing points, enhanced by proprietary logic that filters out low-quality signals using a combination of trend context, kill zone timing, candle wick behavior, and multi-timeframe imbalance zones.
This tool is ideal for intraday traders seeking high-probability entry signals near liquidity pools and imbalance zones — where smart money makes its move.
🔍 What This Script Does
🧠 Liquidity Grab Detection (Turtle Soup Core Logic)
The script scans for recent swing highs/lows using a user-defined lookback.
A signal is generated when price breaks above/below a previous swing level but closes back inside — indicating a liquidity run and likely reversal.
A special Wick Trap Mode enhances this logic by detecting long-wick fakeouts — where the wick grabs stops but the candle body closes opposite the breakout direction.
📉 Trend Filter with ATR Buffer
Optional trend filter uses a simple moving average (SMA) to gauge market direction.
Instead of hard filtering, it applies an ATR-based buffer to allow for entries near the trend line, reducing signal suppression from micro-fluctuations.
🕰️ Kill Zone Session Filtering
Only show signals during institutional trading hours:
London Session
New York AM
Or any custom user-defined session
Helps traders avoid low-volume hours and focus on where stop hunts and price expansions typically occur.
🧱 Multi-Timeframe FVG Confluence (Optional)
Signal validation is strengthened by checking if price is within a higher timeframe Fair Value Gap — commonly used to identify imbalances or inefficiencies.
Filters out setups that lack underlying displacement or order flow justification.
🎨 Visual Feedback
Plots 🔺 bullish and 🔻 bearish markers at signal candles.
Optionally displays:
Swing High/Low Labels (SH / SL)
Reversal distance labels
Background color shading on valid signals
Includes built-in alerts for automated trade notification.
🔑 Unique Benefits
Wick Trap Detection: A proprietary approach to detecting stop hunts via wick behavior, not just candle closes.
ATR-based trend filtering: Avoids unnecessary filtering while still maintaining directional bias.
All-in-one system: No need to stack multiple indicators — swing detection, reversal logic, session filtering, and imbalance confirmation are all integrated.
💡 How to Use
Enable Wick Trap Mode to detect stealthy liquidity grabs with strong wicks.
Use Kill Zone filters to trade only when institutions are active.
Optionally enable FVG confluence to improve confidence in reversal zones.
Watch for Bullish signals near SL levels and Bearish signals near SH levels.
Combine with your own execution strategy or other SMC tools for optimal results.
🔗 Best Used With:
Maximize your edge by combining this script with complementary SMC-based tools:
✅ First FVG — Opening Range Fair Value Gap Detector
✅ ICT SMC Liquidity Grabs + OB + Fibonacci OTE Levels
✅ Liquidity Levels — Smart Swing Highs and Lows with horizontal line projections
Money Flow Divergence IndicatorOverview
The Money Flow Divergence Indicator is designed to help traders and investors identify key macroeconomic turning points by analyzing the relationship between U.S. M2 money supply growth and the S&P 500 Index (SPX). By comparing these two crucial economic indicators, the script highlights periods where market liquidity is outpacing or lagging behind stock market growth, offering potential buy and sell signals based on macroeconomic trends.
How It Works
1. Data Sources
S&P 500 Index (SPX500USD): Tracks the stock market performance.
U.S. M2 Money Supply (M2SL - Federal Reserve Economic Data): Represents available liquidity in the economy.
2. Growth Rate Calculation
SPX Growth: Percentage change in the S&P 500 index over time.
M2 Growth: Percentage change in M2 money supply over time.
Growth Gap (Delta): The difference between M2 growth and SPX growth, showing whether liquidity is fueling or lagging behind market performance.
3. Visualization
A histogram displays the growth gap over time:
Green Bars: M2 growth exceeds SPX growth (potential bullish signal).
Red Bars: SPX growth exceeds M2 growth (potential bearish signal).
A zero line helps distinguish between positive and negative growth gaps.
How to Use It
✅ Bullish Signal: When green bars appear consistently, indicating that liquidity is outpacing stock market growth. This suggests a favorable environment for buying or holding positions.
❌ Bearish Signal: When red bars appear consistently, meaning stock market growth outpaces liquidity expansion, signaling potential overvaluation or a market correction.
Best Timeframes for Analysis
This indicator works best on monthly timeframes (M) since it is designed for long-term investors and macro traders who focus on broad economic cycles.
Who Should Use This Indicator?
📈 Long-term investors looking for macroeconomic trends.
📊 Swing traders who incorporate liquidity analysis in their strategies.
💰 Portfolio managers assessing market liquidity conditions.
🚀 Use this indicator to stay ahead of market trends and make informed investment decisions based on macroeconomic liquidity shifts! 🚀
High Volume Points [BigBeluga]High Volume Points is a unique volume-based indicator designed to highlight key liquidity zones where significant market activity occurs. By visualizing high-volume pivots with dynamically sized markers and optional support/resistance levels, traders can easily identify areas of interest for potential breakouts, liquidity grabs, and trend reversals.
🔵 Key Features:
High Volume Points Visualization:
The indicator detects pivot highs and lows with exceptionally high trading volume.
Each high-volume point is displayed as a concentric circle, with its size dynamically increasing based on the volume magnitude.
The exact volume at the pivot is shown within the circle.
Dynamic Levels from Volume Pivots:
Horizontal levels are drawn from detected high-volume pivots to act as support or resistance.
Traders can use these levels to anticipate potential liquidity zones and market reactions.
Liquidity Grabs Detection:
If price crosses a high-volume level and grabs liquidity, the level automatically changes to a dashed line.
This feature helps traders track areas where institutional activity may have occurred.
Volume-Based Filtering:
Users can filter volume points by a customizable threshold from 0 to 6, allowing them to focus only on the most significant high-volume pivots.
Lower thresholds capture more volume points, while higher thresholds highlight only the most extreme liquidity events.
🔵 Usage:
Identify strong support/resistance zones based on high-volume pivots.
Track liquidity grabs when price crosses a high-volume level and converts it into a dashed line.
Filter volume points based on significance to remove noise and focus on key areas.
Use volume circles to gauge the intensity of market interest at specific price points.
High Volume Points is an essential tool for traders looking to track institutional activity, analyze liquidity zones, and refine their entries based on volume-driven market structure.
SL Hunting Detector📌 Step 1: Identify Liquidity Zones
The script plots high-liquidity zones (red) and low-liquidity zones (green).
These are areas where big players target stop-losses before reversing the price.
Example:
If price is near a red liquidity zone, expect a potential stop-loss hunt & reversal downward.
If price is near a green liquidity zone, expect a potential stop-loss hunt & reversal upward.
📌 Step 2: Watch for Stop-Loss Hunts (Fakeouts)
The indicator marks stop-loss hunts with red (bearish) or green (bullish) arrows.
When do stop-loss hunts occur?
✅ A long wick below support (with high volume) = Stop hunt before reversal upward.
✅ A long wick above resistance (with high volume) = Stop hunt before reversal downward.
Confirmation:
Volume must spike (volume > 1.5x the average volume).
ATR-based wicks must be longer than usual (showing a stop-hunt trap).
📌 Step 3: Enter a Trade After a Stop-Hunt
🔹 Bullish Trade (Buying a Dip)
If a green arrow appears (stop-hunt below support):
✅ Enter a long (buy) trade at or just above the wick’s recovery level.
✅ Stop-loss: Below the wick’s low (avoid getting hunted again).
✅ Take-profit: Next resistance level or mid-range of the liquidity zone.
🔹 Bearish Trade (Shorting a Fakeout)
If a red arrow appears (stop-hunt above resistance):
✅ Enter a short (sell) trade at or just below the wick’s rejection level.
✅ Stop-loss: Above the wick’s high (avoid getting stopped out).
✅ Take-profit: Next support level or mid-range of the liquidity zone.
📌 Step 4: Set Alerts & Automate
✅ The indicator triggers alerts when a stop-hunt is detected.
✅ You can set TradingView to notify you instantly when:
A bullish stop-hunt occurs → Look for long entry.
A bearish stop-hunt occurs → Look for short entry.
📌 Example Trade Setup
Example (BTC Long Trade on Stop-Hunt)
BTC is near $40,000 support (green liquidity zone).
A long wick drops to $39,800 with a green arrow (bullish stop-hunt signal).
Volume spikes, and price recovers quickly back above $40,000.
Trade entry: Buy at $40,050.
Stop-loss: Below wick ($39,700).
Take-profit: $41,500 (next resistance).
Result: BTC pumps, stop-loss remains safe, and trade profits.
🔥 Final Tips
Always wait for confirmation (don’t enter blindly on signals).
Use higher timeframes (15m, 1H, 4H) for better accuracy.
Combine with Order Flow tools (like Bookmap) to see real liquidity zones.
🚀 Now try it on TradingView! Let me know if you need adjustments. 📈🔥
ELC Indicator**ELC Indicator – Enigma Liquidity Concept**
The ELC Indicator is a cutting-edge tool designed for traders who want to leverage price action and liquidity concepts for high-precision trading opportunities. Unlike conventional indicators that rely purely on trend-following or oscillatory methods, ELC incorporates a unique combination of market structure, Fibonacci retracement levels, and dynamic EMA filtering to detect key buy and sell zones. This original approach helps traders capture the most relevant market movements and anticipate potential reversals with higher confidence.
---
### **What the ELC Indicator Does**
The primary goal of the ELC Indicator is to identify liquidity zones and plot Fibonacci-based levels around detected buy or sell signals. It continuously monitors price action to identify instances where significant liquidity grabs occur, signaled by breakouts beyond recent highs or lows. Once a signal is detected, the indicator plots horizontal lines at key Fibonacci ratios (0%, 25%, 50%, 75%, 100%, 120%, and 180%) to give traders a clear visual framework for potential retracement or extension levels.
Additionally, the indicator includes a dynamic EMA filter, which ensures that buy signals are only triggered when the price is above the EMA and sell signals when the price is below the EMA. This filtering mechanism helps reduce false signals in choppy markets and aligns trades with the broader trend direction.
---
### **Key Features**
1. **Buy & Sell Signals**
- Buy signals are generated when a liquidity grab occurs below the previous low, and the closing price is above the candle body midpoint and the EMA.
- Sell signals are triggered when a liquidity grab occurs above the previous high, and the closing price is below the candle body midpoint and the EMA.
- Visual cues are provided via small upward (green) and downward (red) triangles on the chart.
2. **Fibonacci Levels**
- For each buy or sell signal, the indicator plots multiple horizontal lines at key Fibonacci levels. These levels can help traders set realistic profit targets and stop-loss levels.
- The plotted lines can be customized in terms of style (solid, dotted, dashed) and color (buy and sell line colors).
3. **Dynamic EMA Filtering**
- A customizable EMA filter is integrated into the logic to align trades with the prevailing trend.
- The EMA length is adjustable, allowing traders to fine-tune the indicator based on their trading style and market conditions.
4. **Alert System**
- Alerts can be enabled for both buy and sell signals, ensuring traders never miss an opportunity even when away from the screen.
- Alerts are triggered once per bar, ensuring timely notifications without excessive noise.
5. **Customizable Signal Visibility**
- Traders can toggle the visibility of the last 9 buy and sell signals. When this option is disabled, only the most recent signal is displayed, helping to declutter the chart.
---
### **How to Use the ELC Indicator**
- **Trend Following**: The ELC Indicator works well in trending markets by filtering signals based on the EMA direction. Traders can use the plotted Fibonacci levels to enter trades, set profit targets, and manage risk.
- **Reversal Trading**: The liquidity grab detection mechanism allows traders to capture potential market reversals. By waiting for price retracements to key Fibonacci levels after a signal, traders can enter trades with a favorable risk-to-reward ratio.
- **Scalping & Day Trading**: With its ability to plot key intraday levels and generate real-time alerts, the ELC Indicator is particularly useful for scalpers and day traders looking to exploit short-term market inefficiencies.
---
### **Concepts Underlying the Calculations**
1. **Liquidity Grabs**: The ELC Indicator’s core logic is based on detecting instances where the market moves beyond a recent high or low, triggering a liquidity grab. This often signals a potential reversal or continuation, depending on broader market conditions.
2. **Fibonacci Ratios**: Once a signal is detected, key Fibonacci levels are plotted to provide traders with actionable zones for trade entries, profit targets, or stop-loss placements.
3. **EMA Filtering**: The EMA acts as a dynamic trend filter, ensuring that signals are aligned with the dominant market direction. This reduces the likelihood of entering trades against the prevailing trend.
---
### **Why ELC is Unique**
The ELC Indicator stands out by combining multiple powerful trading concepts—liquidity, Fibonacci ratios, and EMA filtering—into a single tool that provides actionable and visually intuitive information. Unlike traditional trend-following indicators that lag behind price action, ELC proactively identifies key market turning points based on liquidity events. Its customizable features, real-time alerts, and comprehensive plotting of Fibonacci levels make it a versatile tool for traders across various styles and timeframes.
Whether you're a scalper looking for intraday opportunities or a swing trader aiming to capture larger moves, the ELC Indicator offers a robust framework for identifying and executing high-probability trades.
---
### **How to Get Started**
1. Add the ELC Indicator to your chart.
2. Customize the EMA length, line colors, and style based on your preference.
3. Enable alerts to receive real-time notifications of buy and sell signals.
4. Use the plotted Fibonacci levels to plan your trade entries, profit targets, and stop-loss levels.
5. Combine the signals from ELC with your existing market analysis for optimal results.
---
This unique approach makes the ELC Indicator a valuable tool for traders seeking precision, clarity, and consistency in their trading decisions.
Engulfing bar detectorHere’s the updated description with the added step about using Fibonacci levels across timeframes for confirmation:
Liquidity Engulfing Bar Detector
The **Liquidity Engulfing Bar Detector** is a powerful tool designed for traders who want to identify high-probability reversal patterns in the market based on liquidity grabbing and price action. This indicator highlights **Bullish Engulfing** and **Bearish Engulfing** bars that fulfill specific liquidity criteria, helping you spot potential trend reversals and trading opportunities.
**Features**:
1. **Bullish Engulfing Bars**:
- The current candle's low dips below the previous candle's low (grabs liquidity).
- The current candle closes above the previous candle's open.
- A green label is plotted above the engulfing bar for easy identification.
2. **Bearish Engulfing Bars**:
- The current candle's high exceeds the previous candle's high (grabs liquidity).
- The current candle closes below the previous candle's open.
- A red label is plotted below the engulfing bar for clear visibility.
3. **Customizable Alerts**:
- Receive instant notifications via TradingView alerts when a bullish or bearish engulfing pattern is detected.
- Alerts are fully customizable, allowing you to stay updated without actively monitoring the chart.
4. **Visual Markers**:
- Clear and intuitive labels make it easy to spot key patterns directly on your chart.
- Fully integrated with any timeframe and market, ensuring versatility for all trading styles.
---
### **How to Use**:
1. **Add the Indicator**:
- Apply the Liquidity Engulfing Bar Detector to your chart to automatically highlight bullish and bearish engulfing bars.
2. **Enable Alerts**:
- Set up TradingView alerts to get notified of potential setups in real-time.
3. **Analyze with Fibonacci Levels**:
- Draw a Fibonacci retracement tool over the identified engulfing bar, from its low to its high (for bullish patterns) or high to low (for bearish patterns).
- Use the following Fibonacci levels as key zones of interest:
- **0.0 (start)**, **0.25**, **0.5 (midpoint)**, **0.75**, and **1.0 (end)**.
- These levels often act as critical support or resistance zones for price action.
4. **Use Multi-Timeframe Confirmation**:
- Validate zones from higher timeframes using lower timeframe candles:
- **1-minute candles** for confirming zones on the **15-minute chart**.
- **5-minute candles** for confirming zones on the **1-hour chart**.
- **15-minute candles** for confirming zones on the **4-hour chart**.
- This approach ensures precision in your entry points and aligns intraday movements with higher timeframe setups.
5. **Integrate with Your Strategy**:
- Combine the indicator with other tools (e.g., trendlines, moving averages, or volume analysis) for confirmation.
- Use proper risk management to maximize your trading edge.
---
### **Why Use This Indicator?**
Liquidity grabs often signal the participation of major market players, which can lead to significant reversals or continuations. By combining liquidity concepts with engulfing bar patterns and Fibonacci analysis, this indicator helps you:
- Identify key market turning points.
- Improve your entries and exits with multi-timeframe precision.
- Enhance your trading strategy with an edge rooted in smart money concepts.
---
**Note**: This indicator is best used with proper risk management and alongside other technical or fundamental analyses.
---
Let me know if there's anything more you'd like to include!
Trading IQ - ICT LibraryLibrary "ICTlibrary"
Used to calculate various ICT related price levels and strategies. An ongoing project.
Hello Coders!
This library is meant for sourcing ICT related concepts. While some functions might generate more output than you require, you can specify "Lite Mode" as "true" in applicable functions to slim down necessary inputs.
isLastBar(userTF)
Identifies the last bar on the chart before a timeframe change
Parameters:
userTF (simple int) : the timeframe you wish to calculate the last bar for, must be converted to integer using 'timeframe.in_seconds()'
Returns: bool true if bar on chart is last bar of higher TF, dalse if bar on chart is not last bar of higher TF
necessaryData(atrTF)
returns necessaryData UDT for historical data access
Parameters:
atrTF (float) : user-selected timeframe ATR value.
Returns: logZ. log return Z score, used for calculating order blocks.
method gradBoxes(gradientBoxes, idColor, timeStart, bottom, top, rightCoordinate)
creates neon like effect for box drawings
Namespace types: array
Parameters:
gradientBoxes (array) : an array.new() to store the gradient boxes
idColor (color)
timeStart (int) : left point of box
bottom (float) : bottom of box price point
top (float) : top of box price point
rightCoordinate (int) : right point of box
Returns: void
checkIfTraded(tradeName)
checks if recent trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent trade id matches target name, false otherwise
checkIfClosed(tradeName)
checks if recent closed trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent closed trade id matches target name, false otherwise
IQZZ(atrMult, finalTF)
custom ZZ to quickly determine market direction.
Parameters:
atrMult (float) : an atr multiplier used to determine the required price move for a ZZ direction change
finalTF (string) : the timeframe used for the atr calcuation
Returns: dir market direction. Up => 1, down => -1
method drawBos(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showBOS, isUp)
calculates and draws Break Of Structure
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the BoS line / label
showBOS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether BoS happened during price increase or price decrease.
Returns: void
method drawMSS(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showMSS, isUp, upRejections, dnRejections, highArr, lowArr, timeArr, closeArr, openArr, atrTFarr, upRejectionsPrices, dnRejectionsPrices)
calculates and draws Market Structure Shift. This data is also used to calculate Rejection Blocks.
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the MSS line / label
showMSS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether MSS happened during price increase or price decrease.
upRejections (array)
dnRejections (array)
highArr (array) : array containing historical highs, should be taken from the UDT "necessaryData" defined above
lowArr (array) : array containing historical lows, should be taken from the UDT "necessaryData" defined above
timeArr (array) : array containing historical times, should be taken from the UDT "necessaryData" defined above
closeArr (array) : array containing historical closes, should be taken from the UDT "necessaryData" defined above
openArr (array) : array containing historical opens, should be taken from the UDT "necessaryData" defined above
atrTFarr (array) : array containing historical atr values (of user-selected TF), should be taken from the UDT "necessaryData" defined above
upRejectionsPrices (array) : array containing up rejections prices. Is sorted and used to determine selective looping for invalidations.
dnRejectionsPrices (array) : array containing down rejections prices. Is sorted and used to determine selective looping for invalidations.
Returns: void
method getTime(id, compare, timeArr)
gets time of inputted price (compare) in an array of data
this is useful when the user-selected timeframe for ICT concepts is greater than the chart's timeframe
Namespace types: array
Parameters:
id (array) : the array of data to search through, to find which index has the same value as "compare"
compare (float) : the target data point to find in the array
timeArr (array) : array of historical times
Returns: the time that the data point in the array was recorded
method OB(id, highArr, signArr, lowArr, timeArr, sign)
store bullish orderblock data
Namespace types: array
Parameters:
id (array)
highArr (array) : array of historical highs
signArr (array) : array of historical price direction "math.sign(close - open)"
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
sign (int) : orderblock direction, -1 => bullish, 1 => bearish
Returns: void
OTEstrat(OTEstart, future, closeArr, highArr, lowArr, timeArr, longOTEPT, longOTESL, longOTElevel, shortOTEPT, shortOTESL, shortOTElevel, structureDirection, oteLongs, atrTF, oteShorts)
executes the OTE strategy
Parameters:
OTEstart (chart.point)
future (int) : future time point for drawings
closeArr (array) : array of historical closes
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
longOTEPT (string) : user-selected long OTE profit target, please create an input.string() for this using the example below
longOTESL (int) : user-selected long OTE stop loss, please create an input.string() for this using the example below
longOTElevel (float) : long entry price of selected retracement ratio for OTE
shortOTEPT (string) : user-selected short OTE profit target, please create an input.string() for this using the example below
shortOTESL (int) : user-selected short OTE stop loss, please create an input.string() for this using the example below
shortOTElevel (float) : short entry price of selected retracement ratio for OTE
structureDirection (string) : current market structure direction, this should be "Up" or "Down". This is used to cancel pending orders if market structure changes
oteLongs (bool) : input.bool() for whether OTE longs can be executed
atrTF (float) : atr of the user-seleceted TF
oteShorts (bool) : input.bool() for whether OTE shorts can be executed
@exampleInputs
oteLongs = input.bool(defval = false, title = "OTE Longs", group = "Optimal Trade Entry")
longOTElevel = input.float(defval = 0.79, title = "Long Entry Retracement Level", options = , group = "Optimal Trade Entry")
longOTEPT = input.string(defval = "-0.5", title = "Long TP", options = , group = "Optimal Trade Entry")
longOTESL = input.int(defval = 0, title = "How Many Ticks Below Swing Low For Stop Loss", group = "Optimal Trade Entry")
oteShorts = input.bool(defval = false, title = "OTE Shorts", group = "Optimal Trade Entry")
shortOTElevel = input.float(defval = 0.79, title = "Short Entry Retracement Level", options = , group = "Optimal Trade Entry")
shortOTEPT = input.string(defval = "-0.5", title = "Short TP", options = , group = "Optimal Trade Entry")
shortOTESL = input.int(defval = 0, title = "How Many Ticks Above Swing Low For Stop Loss", group = "Optimal Trade Entry")
Returns: void (0)
displacement(logZ, atrTFreg, highArr, timeArr, lowArr, upDispShow, dnDispShow, masterCoords, labelLevels, dispUpcol, rightCoordinate, dispDncol, noBorders)
calculates and draws dispacements
Parameters:
logZ (float) : log return of current price, used to determine a "significant price move" for a displacement
atrTFreg (float) : atr of user-seleceted timeframe
highArr (array) : array of historical highs
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
upDispShow (int) : amount of historical upside displacements to show
dnDispShow (int) : amount of historical downside displacements to show
masterCoords (map) : a map to push the most recent displacement prices into, useful for having key levels in one data structure
labelLevels (string) : used to determine label placement for the displacement, can be inside box, outside box, or none, example below
dispUpcol (color) : upside displacement color
rightCoordinate (int) : future time for displacement drawing, best is "last_bar_time"
dispDncol (color) : downside displacement color
noBorders (bool) : input.bool() to remove box borders, example below
@exampleInputs
labelLevels = input.string(defval = "Inside" , title = "Box Label Placement", options = )
noBorders = input.bool(defval = false, title = "No Borders On Levels")
Returns: void
method getStrongLow(id, startIndex, timeArr, lowArr, strongLowPoints)
unshift strong low data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the low before an upside BoS
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
strongLowPoints (array) : array of strong low prices. Used to retrieve highest strong low price and see if need for
removal of invalidated strong lows
Returns: void
method getStrongHigh(id, startIndex, timeArr, highArr, strongHighPoints)
unshift strong high data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the high before a downside BoS
timeArr (array) : array of historical times
highArr (array) : array of historical highs
strongHighPoints (array)
Returns: void
equalLevels(highArr, lowArr, timeArr, rightCoordinate, equalHighsCol, equalLowsCol, liteMode)
used to calculate recent equal highs or equal lows
Parameters:
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
rightCoordinate (int) : a future time (right for boxes, x2 for lines)
equalHighsCol (color) : user-selected color for equal highs drawings
equalLowsCol (color) : user-selected color for equal lows drawings
liteMode (bool) : optional for a lite mode version of an ICT strategy. For more control over drawings leave as "True", "False" will apply neon effects
Returns: void
quickTime(timeString)
used to quickly determine if a user-inputted time range is currently active in NYT time
Parameters:
timeString (string) : a time range
Returns: true if session is active, false if session is inactive
macros(showMacros, noBorders)
used to calculate and draw session macros
Parameters:
showMacros (bool) : an input.bool() or simple bool to determine whether to activate the function
noBorders (bool) : an input.bool() to determine whether the box anchored to the session should have borders
Returns: void
po3(tf, left, right, show)
use to calculate HTF po3 candle
@tip only call this function on "barstate.islast"
Parameters:
tf (simple string)
left (int) : the left point of the candle, calculated as bar_index + left,
right (int) : :the right point of the candle, calculated as bar_index + right,
show (bool) : input.bool() whether to show the po3 candle or not
Returns: void
silverBullet(silverBulletStratLong, silverBulletStratShort, future, userTF, H, L, H2, L2, noBorders, silverBulletLongTP, historicalPoints, historicalData, silverBulletLongSL, silverBulletShortTP, silverBulletShortSL)
used to execute the Silver Bullet Strategy
Parameters:
silverBulletStratLong (simple bool)
silverBulletStratShort (simple bool)
future (int) : a future time, used for drawings, example "last_bar_time"
userTF (simple int)
H (float) : the high price of the user-selected TF
L (float) : the low price of the user-selected TF
H2 (float) : the high price of the user-selected TF
L2 (float) : the low price of the user-selected TF
noBorders (bool) : an input.bool() used to remove the borders from box drawings
silverBulletLongTP (series silverBulletLevels)
historicalPoints (array)
historicalData (necessaryData)
silverBulletLongSL (series silverBulletLevels)
silverBulletShortTP (series silverBulletLevels)
silverBulletShortSL (series silverBulletLevels)
Returns: void
method invalidFVGcheck(FVGarr, upFVGpricesSorted, dnFVGpricesSorted)
check if existing FVGs are still valid
Namespace types: array
Parameters:
FVGarr (array)
upFVGpricesSorted (array) : an array of bullish FVG prices, used to selective search through FVG array to remove invalidated levels
dnFVGpricesSorted (array) : an array of bearish FVG prices, used to selective search through FVG array to remove invalidated levels
Returns: void (0)
method drawFVG(counter, FVGshow, FVGname, FVGcol, data, masterCoords, labelLevels, borderTransp, liteMode, rightCoordinate)
draws FVGs on last bar
Namespace types: map
Parameters:
counter (map) : a counter, as map, keeping count of the number of FVGs drawn, makes sure that there aren't more FVGs drawn
than int FVGshow
FVGshow (int) : the number of FVGs to show. There should be a bullish FVG show and bearish FVG show. This function "drawFVG" is used separately
for bearish FVG and bullish FVG.
FVGname (string) : the name of the FVG, "FVG Up" or "FVG Down"
FVGcol (color) : desired FVG color
data (FVG)
masterCoords (map) : a map containing the names and price points of key levels. Used to define price ranges.
labelLevels (string) : an input.string with options "Inside", "Outside", "Remove". Determines whether FVG labels should be inside box, outside,
or na.
borderTransp (int)
liteMode (bool)
rightCoordinate (int) : the right coordinate of any drawings. Must be a time point.
Returns: void
invalidBlockCheck(bullishOBbox, bearishOBbox, userTF)
check if existing order blocks are still valid
Parameters:
bullishOBbox (array) : an array declared using the UDT orderBlock that contains bullish order block related data
bearishOBbox (array) : an array declared using the UDT orderBlock that contains bearish order block related data
userTF (simple int)
Returns: void (0)
method lastBarRejections(id, rejectionColor, idShow, rejectionString, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws rejectionBlocks on last bar
Namespace types: array
Parameters:
id (array) : the array, an array of rejection block data declared using the UDT rejection block
rejectionColor (color) : the desired color of the rejection box
idShow (int)
rejectionString (string) : the desired name of the rejection blocks
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
method OBdraw(id, OBshow, BBshow, OBcol, BBcol, bullishString, bearishString, isBullish, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws orderblocks and breaker blocks for data stored in UDT array()
Namespace types: array
Parameters:
id (array) : the array, an array of order block data declared using the UDT orderblock
OBshow (int) : the number of order blocks to show
BBshow (int) : the number of breaker blocks to show
OBcol (color) : color of order blocks
BBcol (color) : color of breaker blocks
bullishString (string) : the title of bullish blocks, which is a regular bullish orderblock or a bearish orderblock that's converted to breakerblock
bearishString (string) : the title of bearish blocks, which is a regular bearish orderblock or a bullish orderblock that's converted to breakerblock
isBullish (bool) : whether the array contains bullish orderblocks or bearish orderblocks. If bullish orderblocks,
the array will naturally contain bearish BB, and if bearish OB, the array will naturally contain bullish BB
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
FVG
UDT for FVG calcualtions
Fields:
H (series float) : high price of user-selected timeframe
L (series float) : low price of user-selected timeframe
direction (series string) : FVG direction => "Up" or "Down"
T (series int) : => time of bar on user-selected timeframe where FVG was created
fvgLabel (series label) : optional label for FVG
fvgLineTop (series line) : optional line for top of FVG
fvgLineBot (series line) : optional line for bottom of FVG
fvgBox (series box) : optional box for FVG
labelLine
quickly pair a line and label together as UDT
Fields:
lin (series line) : Line you wish to pair with label
lab (series label) : Label you wish to pair with line
orderBlock
UDT for order block calculations
Fields:
orderBlockData (array) : array containing order block x and y points
orderBlockBox (series box) : optional order block box
vioCount (series int) : = 0 violation count of the order block. 0 = Order Block, 1 = Breaker Block
traded (series bool)
status (series string) : = "OB" status == "OB" => Level is order block. status == "BB" => Level is breaker block.
orderBlockLab (series label) : options label for the order block / breaker block.
strongPoints
UDT for strong highs and strong lows
Fields:
price (series float) : price of the strong high or strong low
timeAtprice (series int) : time of the strong high or strong low
strongPointLabel (series label) : optional label for strong point
strongPointLine (series line) : optional line for strong point
overlayLine (series line) : optional lines for strong point to enhance visibility
overlayLine2 (series line) : optional lines for strong point to enhance visibility
displacement
UDT for dispacements
Fields:
highPrice (series float) : high price of displacement
lowPrice (series float) : low price of displacement
timeAtPrice (series int) : time of bar where displacement occurred
displacementBox (series box) : optional box to draw displacement
displacementLab (series label) : optional label for displacement
po3data
UDT for po3 calculations
Fields:
dHigh (series float) : higher timeframe high price
dLow (series float) : higher timeframe low price
dOpen (series float) : higher timeframe open price
dClose (series float) : higher timeframe close price
po3box (series box) : box to draw po3 candle body
po3line (array) : line array to draw po3 wicks
po3Labels (array) : label array to label price points of po3 candle
macros
UDT for session macros
Fields:
sessions (array) : Array of sessions, you can populate this array using the "quickTime" function located above "export macros".
prices (matrix) : Matrix of session data -> open, high, low, close, time
sessionTimes (array) : Array of session names. Pairs with array sessions.
sessionLines (matrix) : Optional array for sesion drawings.
OTEtimes
UDT for data storage and drawings associated with OTE strategy
Fields:
upTimes (array) : time of highest point before trade is taken
dnTimes (array) : time of lowest point before trade is taken
tpLineLong (series line) : line to mark tp level long
tpLabelLong (series label) : label to mark tp level long
slLineLong (series line) : line to mark sl level long
slLabelLong (series label) : label to mark sl level long
tpLineShort (series line) : line to mark tp level short
tpLabelShort (series label) : label to mark tp level short
slLineShort (series line) : line to mark sl level short
slLabelShort (series label) : label to mark sl level short
sweeps
UDT for data storage and drawings associated with liquidity sweeps
Fields:
upSweeps (matrix) : matrix containing liquidity sweep price points and time points for up sweeps
dnSweeps (matrix) : matrix containing liquidity sweep price points and time points for down sweeps
upSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
dnSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
raidExitDrawings
UDT for drawings associated with the Liquidity Raid Strategy
Fields:
tpLine (series line) : tp line for the liquidity raid entry
tpLabel (series label) : tp label for the liquidity raid entry
slLine (series line) : sl line for the liquidity raid entry
slLabel (series label) : sl label for the liquidity raid entry
m2022
UDT for data storage and drawings associated with the Model 2022 Strategy
Fields:
mTime (series int) : time of the FVG where entry limit order is placed
mIndex (series int) : array index of FVG where entry limit order is placed. This requires an array of FVG data, which is defined above.
mEntryDistance (series float) : the distance of the FVG to the 50% range. M2022 looks for the fvg closest to 50% mark of range.
mEntry (series float) : the entry price for the most eligible fvg
fvgHigh (series float) : the high point of the eligible fvg
fvgLow (series float) : the low point of the eligible fvg
longFVGentryBox (series box) : long FVG box, used to draw the eligible FVG
shortFVGentryBox (series box) : short FVG box, used to draw the eligible FVG
line50P (series line) : line used to mark 50% of the range
line100P (series line) : line used to mark 100% (top) of the range
line0P (series line) : line used to mark 0% (bottom) of the range
label50P (series label) : label used to mark 50% of the range
label100P (series label) : label used to mark 100% (top) of the range
label0P (series label) : label used to mark 0% (bottom) of the range
sweepData (array)
silverBullet
UDT for data storage and drawings associated with the Silver Bullet Strategy
Fields:
session (series bool)
sessionStr (series string) : name of the session for silver bullet
sessionBias (series string)
sessionHigh (series float) : = high high of session // use math.max(silverBullet.sessionHigh, high)
sessionLow (series float) : = low low of session // use math.min(silverBullet.sessionLow, low)
sessionFVG (series float) : if applicable, the FVG created during the session
sessionFVGdraw (series box) : if applicable, draw the FVG created during the session
traded (series bool)
tp (series float) : tp of trade entered at the session FVG
sl (series float) : sl of trade entered at the session FVG
sessionDraw (series box) : optional draw session with box
sessionDrawLabel (series label) : optional label session with label
silverBulletDrawings
UDT for trade exit drawings associated with the Silver Bullet Strategy
Fields:
tpLine (series line) : tp line drawing for strategy
tpLabel (series label) : tp label drawing for strategy
slLine (series line) : sl line drawing for strategy
slLabel (series label) : sl label drawing for strategy
unicornModel
UDT for data storage and drawings associated with the Unicorn Model Strategy
Fields:
hPoint (chart.point)
hPoint2 (chart.point)
hPoint3 (chart.point)
breakerBlock (series box) : used to draw the breaker block required for the Unicorn Model
FVG (series box) : used to draw the FVG required for the Unicorn model
topBlock (series float) : price of top of breaker block, can be used to detail trade entry
botBlock (series float) : price of bottom of breaker block, can be used to detail trade entry
startBlock (series int) : start time of the breaker block, used to set the "left = " param for the box
includes (array) : used to store the time of the breaker block, or FVG, or the chart point sequence that setup the Unicorn Model.
entry (series float) : // eligible entry price, for longs"math.max(topBlock, FVG.get_top())",
tpLine (series line) : optional line to mark PT
tpLabel (series label) : optional label to mark PT
slLine (series line) : optional line to mark SL
slLabel (series label) : optional label to mark SL
rejectionBlocks
UDT for data storage and drawings associated with rejection blocks
Fields:
rejectionPoint (chart.point)
bodyPrice (series float) : candle body price closest to the rejection point, for "Up" rejections => math.max(open, close),
rejectionBox (series box) : optional box drawing of the rejection block
rejectionLabel (series label) : optional label for the rejection block
equalLevelsDraw
UDT for data storage and drawings associated with equal highs / equal lows
Fields:
connector (series line) : single line placed at the first high or low, y = avgerage of distinguished equal highs/lows
connectorLab (series label) : optional label to be placed at the highs or lows
levels (array) : array containing the equal highs or lows prices
times (array) : array containing the equal highs or lows individual times
startTime (series int) : the time of the first high or low that forms a sequence of equal highs or lows
radiate (array) : options label to "radiate" the label in connector lab. Can be used for anything
necessaryData
UDT for data storage of historical price points.
Fields:
highArr (array) : array containing historical high points
lowArr (array) : array containing historical low points
timeArr (array) : array containing historical time points
logArr (array) : array containing historical log returns
signArr (array) : array containing historical price directions
closeArr (array) : array containing historical close points
binaryTimeArr (array) : array containing historical time points, uses "push" instead of "unshift" to allow for binary search
binaryCloseArr (array) : array containing historical close points, uses "push" instead of "unshift" to allow the correct
binaryOpenArr (array) : array containing historical optn points, uses "push" instead of "unshift" to allow the correct
atrTFarr (array) : array containing historical user-selected TF atr points
openArr (array) : array containing historical open points
Market Structure Inducements ICT [TradinFinder] CHoch BOS Sweeps🔵 Introduction
Market Structure is the foundation for identifying trends in the market, crucial in technical analysis and strategies like ICT and SMC. Understanding key concepts such as Break of Structure (BOS) and Change of Character (CHOCH) helps traders recognize critical shifts in the market. BOS, referring to a Market Structure Change (BMS), and CHOCH or Market Structure Shift (MSS) signal trend reversals in the market.
Additionally, the concept of Inducement, a vital tool in Smart Money strategies, allows traders to avoid price traps. Identifying valid pullback, valid inducement, POI, and Liquidity Grab helps traders find optimal entry and exit points and leverage Smart Money movements effectively.
Bullish Market Structure :
Bearish Market Structure :
🔵 How to Use
The Market Structure indicator is designed to help traders better understand market structure and detect price traps. By using this indicator, you can identify the right entry and exit points based on structural changes in the market and avoid unprofitable trades. Below, we explain the key concepts and how to apply them in trading.
🟣 Market Structure
Market Structure refers to the overall pattern of price movement in the market. Using this indicator, traders can identify uptrends and downtrends and make better trading decisions based on changes in market structure. The two key concepts here are Break of Structure (BOS) and Change of Character (CHOCH).
Change of Character (CHOCH) : CHOCH occurs when the market shifts from an uptrend to a downtrend or vice versa. These changes typically indicate a broader trend reversal, and the indicator assists you in identifying them accurately.
Break of Structure (BOS) : When the market breaks a key support or resistance level, it signals a change in market structure. This indicator helps you identify these breakouts in time and take advantage of trading opportunities.
🟣 Inducement
Inducement refers to price traps set by Smart Money to trick retail traders into making the wrong trades. This indicator helps you recognize these traps and avoid unprofitable trades.
Valid Inducement : Valid Inducement refers to deliberately created price traps by major market players to gather liquidity from retail traders. Once the market has collected sufficient liquidity, it makes the real move, and professional traders use this moment to enter.
🟣 Valid Pullback
A Valid Pullback refers to a temporary market retracement, indicating a price correction within the main trend. This concept is crucial in technical analysis as it helps traders enter trades at the right time and profit from the continuation of the trend. The Market Structure indicator can identify these valid retracements, allowing traders to enter trades with greater confidence.
🟣 Point of Interest (POI)
Another important concept in market analysis is the Point of Interest (POI), referring to key price areas on the chart. POI includes zones where significant price movements are likely to occur. The Market Structure indicator helps you locate these key points and use them as entry signals for trades.
🟣 Liquidity Grab
Liquidity Grab refers to a scenario where the market intentionally moves to areas where retail traders' stop losses are placed. The goal is to gather liquidity, allowing major players to execute trades at better prices. By using this indicator, you can spot these liquidity grabs and avoid falling into price traps.
🔵 Setting
ChoCh Detector Period : The period of identifying the major market levels that occur when they break ChoCh.
BoS & Liquidity Detector Period : The period of identifying minor levels, which are used to identify BoS and Liquidity levels.
Inducement Detector Period : The period of identification of Inducement levels.
Fast Trend Detector : This feature will help you update the major market structure levels sooner.
Inducement Type Detector : Two modes "Sweeps" and "Total" can be used to identify the levels of Inducement. In "Sweeps" mode only Levels detected by touch shadow. In "Total" mode, all Levels are detected.
🔵 Conclusion
In financial market analysis and forex trading, identifying Market Structure and Inducement is crucial. Market Structure helps you detect uptrends and downtrends, and understand Break of Structure (BOS) and Change of Character (CHOCH). The concept of Inducement also enables traders to spot Smart Money price traps and avoid unprofitable trades.
The Market Structure indicator is a powerful tool that, by analyzing the market structure and concepts like valid pullback and valid inducement, helps you make more precise trade entries. Additionally, by identifying POI and Liquidity Grab, the indicator gives you the ability to spot key market zones and use them to your advantage in trading.
Market Structure & Session Alerts### Market Structure & Session Alerts Indicator
#### Overview
The "Market Structure & Session Alerts" indicator is a comprehensive tool designed to assist traders in identifying key market structure levels, detecting liquidity sweeps, and receiving alerts for specific trading sessions. This indicator is particularly useful for traders who want to keep an eye on previous high and low levels and be alerted during pre-London and pre-New York sessions.
#### Features
1. **Previous High/Low Levels:**
- **Daily, Weekly, and Monthly Highs and Lows:** The indicator plots the previous day, week, and month high and low levels on the chart. These levels can be crucial for identifying support and resistance zones.
- **Toggle Display:** Users can choose to show or hide these levels using the "Show Previous Day/Week/Month High/Low" option.
2. **Liquidity Sweep Detection:**
- **Liquidity Sweep Identification:** The indicator detects liquidity sweeps when the current price closes above the previous day's high. This can signal potential reversals or continuations in the market.
- **Visual Alerts:** When a liquidity sweep is detected, a green triangle is plotted below the bar.
3. **Session Alerts:**
- **Session Timings:** Users can set specific start and end times for the pre-London and pre-New York sessions to match their timezone.
- **Visual Background Highlight:** The background of the chart is highlighted in yellow during the defined session times to provide a visual cue.
- **Alert Messages:** The indicator can generate alerts to notify traders when the market enters the pre-London or pre-New York session.
4. **Current Price Line:**
- The current price is plotted as a black line, providing a clear visual reference for the current market price.
#### How to Use
1. **Input Parameters:**
- `Show Previous Day/Week/Month High/Low`: Enable or disable the display of previous high/low levels.
- `Show Liquidity Sweep`: Enable or disable the detection and display of liquidity sweeps.
- `Show Session Alerts`: Enable or disable session alerts and background highlights.
2. **Session Timing Adjustments:**
- Set the `Pre-London Start`, `Pre-London End`, `Pre-New York Start`, and `Pre-New York End` times according to your timezone to ensure accurate session alerts.
3. **Alerts:**
- Make sure alerts are enabled in your TradingView settings to receive notifications when the market enters the pre-London or pre-New York sessions.
#### Example Use Cases
- **Day Traders:** Identify potential support and resistance levels using the previous day's high and low.
- **Swing Traders:** Use weekly and monthly high and low levels to determine significant market structure points.
- **Scalpers:** Detect liquidity sweeps to identify potential quick trades.
- **Session Traders:** Be alerted when the market enters key trading sessions to align your trading strategy with major market activities.
This indicator combines multiple market analysis tools into one, providing a robust system for traders to enhance their trading decisions and market awareness.
Uptrick: Volume StrengthPurpose:
The "Uptrick: Volume Strength" indicator, known by its short title 'VolStrength,' is meticulously designed to evaluate the strength of volume activity within a market, providing traders with valuable insights into liquidity dynamics. By visualizing volume bars and comparing them to a predefined threshold, traders can gauge the intensity of buying or selling pressure, thereby assessing market liquidity and potential price movements.
Explanation:
Input Parameters:
Traders benefit from the ability to customize the threshold for high volume, allowing them to adapt the indicator to varying market conditions and trading strategies.
The calculation of the average volume over a specified period adds depth to the analysis, offering traders a reference point for assessing current volume levels relative to historical averages and evaluating liquidity trends.
Volume Analysis:
The script discerns between bars where the closing price exceeds the opening price (up bars) and bars where the closing price is lower than the opening price (down bars), facilitating the identification of bullish or bearish market sentiment.
High-volume bars that surpass the predefined threshold are prominently highlighted, serving as indicators of increased trading activity and enhanced liquidity levels.
Average Volume Visualization:
A line representing the average volume over the specified period is plotted on the chart, providing traders with a visual reference for evaluating current volume levels against historical averages. This aids in assessing the overall liquidity conditions in the market.
Volume Bar Representation:
The colorization of volume bars is contingent upon their direction (up or down) and whether they exceed the high volume threshold.
Up bars, symbolizing buying pressure, are typically depicted in green, while down bars, indicative of selling pressure, are rendered in red.
Notably, when volume surpasses the high volume threshold, the respective bar color is applied, accentuating significant volume spikes and their potential impact on liquidity and price dynamics.
Through its meticulous design and comprehensive features, the "Uptrick: Volume Strength" indicator equips traders with actionable insights into market liquidity dynamics. By integrating volume analysis into their trading strategies, traders can effectively assess liquidity conditions, identify potential price movements, and make informed trading decisions.
LIT - Timings Fx MartinThe Asia Liquidity Points Indicator is a powerful tool designed for traders to identify key liquidity points during the Asia trading session. This script is tailored specifically to aid traders in capitalizing on the unique characteristics of Asian markets, providing invaluable insights into liquidity zones that can significantly enhance trading decisions.
Key Features:
Asia Session Focus: The indicator focuses exclusively on the Asia trading session, which encompasses the trading activity primarily in the Asian markets such as Tokyo, Hong Kong, Singapore, and others.
Liquidity Zones Identification: The script utilizes advanced algorithms to identify and map out liquidity zones within the Asia trading session. These zones represent areas where significant buying or selling pressure is likely to occur, thus presenting lucrative trading opportunities.
Customizable Parameters: Traders have the flexibility to customize various parameters such as time frame, sensitivity, and display options to suit their trading preferences and strategies.
Visual Alerts: The indicator provides visual alerts on the trading chart, clearly indicating the location and strength of liquidity points. This feature enables traders to quickly identify potential entry or exit points based on the liquidity dynamics in the market.
Real-Time Updates: The script continuously monitors market activity during the Asia session, providing real-time updates on liquidity points as they evolve. This ensures traders stay informed and adaptable to changing market conditions.
Integration with Trading Strategies: The Asia Liquidity Points Indicator seamlessly integrates with various trading strategies, serving as a valuable tool for both discretionary and algorithmic traders. Whether used in isolation or in combination with other technical analysis tools, this indicator can enhance trading performance and profitability.
User-Friendly Interface: The indicator boasts a user-friendly interface, making it accessible to traders of all levels of experience. Whether you are a novice trader or a seasoned professional, you can easily incorporate this tool into your trading arsenal.
In conclusion, the Asia Liquidity Points Indicator offers traders a strategic advantage in navigating the nuances of the Asia trading session. By identifying key liquidity zones and providing real-time insights, this script empowers traders to make informed decisions and capitalize on lucrative trading opportunities in the dynamic Asian markets.
ICT - GAPs and Volume Imbalance
GAPs
Gaps are areas on chart where the price have moved sharply up or down, with no trading in between. Gaps often fill, but they don't have to.
Volume Imbalance
Volume imbalance - determined using 2 candles
Bullish Volume Imbalance - area between the close of 1st candle and the open of 2nd candle
Bearish Volume Imbalance - area between the close of 1st candle and the open of 2nd candle
How to use the indicator:-
When you find imbalance in volume or a GAP in the chart, you may expect price to rebalance it before continuation.
Importantly, GAPs/Imbalances do not always fill. Traders should never assume that a gap/imbalance will fill without understanding the reasons for the gap and monitoring trading activity around the gap.
Pair it with your current bias for better results.
FX Mini-Day/Index Dividers V2This is a combination of the Mini-Day Separator Indicator, timings based off the research by Tom Henstridge/@LiquiditySniper and additional Index KZ delineations, based on ICT's 2022 Youtube Mentorship.
*It borrows some minor code from Enricoamato997 . Credit where it is due!
This is a joint effort by myself, @vbwilkes / Offseason Vince and @Tom_FOREX / TraderTom on the Index/Index Future portion.
Index Future Example
Forex Example
Clean Market Structures This indicator marks out the highs and lows on the chart, allowing traders to easily follow the market structure and identify potential liquidity zones.
Highs are plotted when an up candle is followed by a down candle, marking the highest wick of that two-candle formation.
Lows are plotted when a down candle is followed by an up candle, marking the lowest wick of that two-candle formation.
These levels often act as liquidity pools, since liquidity typically rests above previous highs and below previous lows .
By highlighting these areas, the indicator helps traders visualize where price may seek liquidity and react, making it useful for structure-based and liquidity-driven trading strategies.
AG_STRATEGY📈 AG_STRATEGY — Smart Money System + Sessions + PDH/PDL
AG_STRATEGY is an advanced Smart Money Concepts (SMC) toolkit built for traders who follow market structure, liquidity and institutional timing.
It combines real-time market structure, session ranges, liquidity levels, and daily institutional levels — all in one clean, professional interface.
✅ Key Features
🧠 Smart Money Concepts Engine
Automatic detection of:
BOS (Break of Structure)
CHoCH (Change of Character)
Dual structure system: Swing & Internal
Historical / Present display modes
Optional structural candle coloring
🎯 Liquidity & Market Structure
Equal Highs (EQH) and Equal Lows (EQL)
Marks strong/weak highs & lows
Real-time swing confirmation
Clear visual labels + smart positioning
⚡ Fair Value Gaps (FVG)
Automatic bullish & bearish FVGs
Higher-timeframe compatible
Extendable boxes
Auto-filtering to remove noise
🕓 Institutional Sessions
Asia
London
New York
Includes:
High/Low of each session
Automatic range plotting
Session background shading
London & NY Open markers
📌 PDH/PDL + Higher-Timeframe Levels
PDH / PDL (Previous Day High/Low)
Dynamic confirmation ✓ when liquidity is swept
Multi-timeframe level support:
Daily
Weekly
Monthly
Line style options: solid / dashed / dotted
🔔 Built-in Alerts
Internal & swing BOS / CHoCH
Equal Highs / Equal Lows
Bullish / Bearish FVG detected
🎛 Fully Adjustable Interface
Colored or Monochrome visual mode
Custom label sizes
Extend levels automatically
Session timezone settings
Clean, modular toggles for each component
🎯 Designed For Traders Who
Follow institutional order flow
Enter on BOS/CHoCH + FVG + Liquidity sweeps
Trade London & New York sessions
Want structure and liquidity clearly mapped
Prefer clean charts with full control
💡 Why AG_STRATEGY Stands Out
✔ Professional SMC engine
✔ Real-time swing & internal structure
✔ Session-based liquidity tracking
✔ Non-cluttered chart — high clarity
✔ Supports institutional trading workflows
FU Candle Detector (Smart Money Concept) En Anglais🧠 Overall concept: “FU Candle” in Smart Money logic
In the context of Smart Money Concepts (SMC) or ICT (Inner Circle Trader), an FU Candle (also known as a “Fakeout Candle” or “Manipulation Candle”) is a candle that:
Creates an imbalance or a break (often above a swing high or below a swing low),
Attracts liquidity by trapping retail traders (liquidity grab),
Then abruptly reverses direction, revealing the hand of “Smart Money” (large institutions).
It therefore often marks:
The point of manipulation before an impulsive movement (reversal),
An area of interest for entering in the institutional direction (after the liquidity grab).
---
⚙️ How the “FU Candle Detector” script works
The script identifies these candlesticks by observing several typical criteria:
1. Detection of the manipulative candle (FU Candle)
Search for a candlestick that breaks a previous swing (significant high or low),
But closes in the opposite direction, often below/above the broken zone,
Thus indicating a fakeout.
Examples:
Bullish FU Candle: breaks a previous low, but closes bullish.
Bearish FU Candle: breaks a previous high, but closes bearish.
---
2. Visualization on the chart
The script generally displays:
🔴 Red markers for bearish FUs (Fake Breakout upwards),
🟢 Green markers for bullish FUs (Fake Breakout downwards),
🟦 Rectangles of areas of interest (often around the FU Candle Open),
📏 Horizontal lines on areas of imbalance (OB/FVG if integrated).
---
3. Possible additions depending on the version
Depending on the version you have received, the script can also:
Detect Fair Value Gaps (FVG) around FU Candles,
Mark Order Blocks (OB) associated with manipulation,
Add alerts when new FU Candles are detected,
Calculate the distance between the manipulation point and the price return,
Filter according to candle size, volume, or market structure (MSB/CHoCH).
---
🎯 Practical use
FU Candles are often used:
As confirmation of an imminent reversal,
To identify institutional entry zones (hidden Order Block),
To anticipate the direction of the next impulse after the liquidity hunt.
Typical entry example:
> Wait for the formation of an FU Candle + price return within the candle body = entry in the opposite direction to the false breakout.
📈 Recommended combinations
This detector is often combined with:
Structure Break Indicator (CHoCH / BOS)
Liquidity Pool Zones
Fair Value Gap Finder
Order Block Detector
This gives you a complete Smart Money Concept system, capable of mapping:
1. Where liquidity has been taken,
2. Where the price is rebalancing,
3. Where Smart Money is repositioning its orders.
LANZ Origins🔷 LANZ Origins – Multi-Framework Liquidity, Structure & Risk Management Overlay
LANZ Origins is an advanced multi-framework visualization toolkit that unifies key institutional concepts into one efficient interface. Designed for professional traders, it merges session mapping, liquidity analysis, imbalance detection, multi-account risk control, and higher-timeframe candle tracing — all in a single overlay.
🧩 Core Components
🈵 Asian Range Liquidity
Automatically detects and projects the Asian session range (19:00–02:00 NY) with an optional mid-price line (50 %). This provides visual context for intraday liquidity and manipulation zones commonly referenced in ICT-style analysis.
📊 Imbalance Detector
Highlights Fair Value Gaps (FVG), Opening Gaps (OG), and Volume Imbalances (VI) directly on-chart, using separate color schemes for bullish and bearish inefficiencies. Each element can be customized by width, ATR filter, and extension length.
🕯️ Higher-Timeframe Candles (ICT Style)
Displays multi-timeframe candles (HTF1–HTF6) simultaneously — e.g., 5 m, 30 m, 1 h, 4 h, 1 D, 1 W — each rendered with independent wick, border, and fill settings. Includes remaining-time counters, timeframe labels, and optional imbalance shading between bodies.
📈 Market Structure (ZigZag 30 m)
Replicates 30-minute swing structure to all active timeframes, producing dynamic pivots with live extension. Ideal for contextualizing BOS/CHoCH events across multiple scales.
💸 Multi-Account Lot Size Panel
Calculates position size for up to five accounts simultaneously, using your defined capital, risk %, and fixed SL distance (in pips). Results appear in a clean table at the bottom-right corner of the chart.
🎨 Session Visualization
Colored backgrounds mark key trading phases:
🟢 Day division
🔴 No-action zone
🔵 Kill-zone
🟡 Hold session
⚙️ Customization & Performance
Every module can be toggled individually, with full color, opacity, and style control. The script is optimized for overlay use and supports up to 500 boxes, lines, and labels with efficient resource handling.
🧠 Best Use Case
LANZ Origins is ideal for traders who follow:
Smart Money Concepts / ICT methodology
Liquidity & Imbalance-based trading
Multi-timeframe confluence setups
Risk-based position sizing workflows
Use it to observe how price interacts with liquidity pools, higher-timeframe candles, and imbalances within key sessions — while monitoring lot size risk in real time.
📌 Recommended Setup
Timeframes: 30m - 5m – 3m
Pairs: FX
Session Timezone: New York (EST/EDT)
Combine with: LANZ Strategy series for execution and journaling
💬 Note
This indicator does not generate buy/sell signals. It’s a visual and analytical tool built to support your own decision-making process.
PRO Scalper(EN)
## What it is
**PRO Scalper** is an intraday price–action and liquidity map that helps you see where the market is likely to move **now**, not just where it has been.
It combines five building blocks that professional scalpers often watch together:
1. **Session Volume-Weighted Average Price (VWAP)** — the intraday “fair value” anchor.
2. **Opening Range** — the first minutes of the session that set the day’s balance.
3. **Trend filter** — higher-timeframe bias using **Exponential Moving Averages (EMA)** and optional **Average Directional Index (ADX)** strength.
4. **Two independent Supply/Demand zone engines** — zones are drawn from confirmed swing pivots, with midlines and **touch counters**.
5. **Order-flow style visuals**:
* **Delta bubbles** (green/red circles) show where buying or selling pressure was unusually strong, using a safe **delta proxy** (no external feeds).
* **Liquidity densities** (subtle rectangular bands) highlight clusters of large activity that often act as magnets or barriers and disappear when “eaten” by strong moves.
This mix gives you a **complete intraday picture**: the mean (VWAP), the day’s initial balance (Opening Range), the higher-timeframe push (trend filter), the nearby fuel or brakes (zones), and the live pressure points (bubbles and densities).
---
## Why these components
* **VWAP** tracks where the bulk of traded value sits. Price tends to rotate around it or accelerate away from it — a perfect compass for scalps.
* **Opening Range** frames the early auction. Many intraday breaks, fades and retests start at its boundaries.
* **EMA bias + ADX strength** separates trending conditions from chop, so you can keep only the zones that agree with the bigger push.
* **Pivot-based zones (two pairs at once)** are simple, objective and fast. Midlines help with confirmations; touch counters quantify how many times the zone was tested.
* **Bubbles and densities** add the “effort” layer: where the push appeared and where liquidity is concentrated. You see **where** a move is likely to continue or fail.
Together they reduce ambiguity: **context + level + effort** — all on one screen.
---
## How it works (plain language)
* **VWAP** resets each day and is calculated as the cumulative sum of typical price multiplied by volume divided by total volume.
* **Opening Range** is either automatic (a multiple of your chart timeframe) or a manual number of minutes. While it is forming, the highest high and lowest low are captured and plotted as the range.
* **Trend filter**
* **EMA Fast** and **EMA Slow** define directional bias.
* **ADX (optional)** adds “trend strength”: only when the Average Directional Index is above the chosen threshold do we treat the move as strong. You can source this from a higher timeframe.
* **Zones**
* There are **two independent pairs** of pivots at the same time (for example 10-left 10-right and 5-left 5-right).
* Each detected pivot creates a **Supply** (from a swing high) or **Demand** (from a swing low) box. Box depth = **zone depth × Average True Range** for adaptive sizing; the boxes **extend forward**.
* Midline (optional dashed line inside the box) is the “balance” of the zone.
* **“Only in trend”** mode can hide boxes that go against the higher-timeframe bias.
* The **touch counter** increases when price revisits the box. Labels show the pair name and the number of touches.
* **Bubbles**
* A safe **delta proxy** measures bar pressure (for example, range-weighted close vs open).
* A **quantile filter** shows only unusually large pressure: choose lookback and percentile, and the script draws a circle sized by intensity (green = bullish pressure, red = bearish).
* **Densities**
* The script marks heavy activity clusters as **subtle bands** around price (depth = fraction of Average True Range).
* If price **breaks** a density with volume above its moving average, the band **disappears** (“eaten”), which often precedes continuation.
---
## How to use — practical playbooks
> Recommended chart: crypto or index futures, one to five minutes. Use **one hour** or **fifteen minutes** for the higher-timeframe bias.
### 1) Trend pullback scalp (continuation)
1. Enable **Only in trend** zones.
2. In an uptrend: wait for a pullback into a **Demand** zone that overlaps with VWAP or sits just below the Opening Range midpoint.
3. Look for **green bubbles** near the zone’s bottom or a fresh **density** under price.
4. Enter on a candle closing **back above the zone midline**.
5. Stop-loss: below the bottom of the zone or a small multiple of Average True Range.
6. Targets: previous swing high, Opening Range high, fixed risk multiples, or VWAP.
Mirror the logic for downtrends using Supply zones, red bubbles and densities above price.
### 2) Reversion with liquidity sweep (fade)
1. Bias neutral or countertrend allowed.
2. Price **wicks through** a zone boundary (or an Opening Range line) and **closes back inside** the zone.
3. The bubble color often flips (absorption).
4. Enter toward the **inside** of the zone; stop beyond the sweep wick; first target = zone midline, second = opposite side of the zone or VWAP.
### 3) Opening Range break and retest
1. Wait for the Opening Range to complete.
2. A break with a large bubble suggests intent.
3. Look for a **retest** into a nearby zone aligned with VWAP.
4. Trade continuation toward the next zone or the session extremes.
### 4) Density “eaten” continuation
1. When a density band **disappears** on high volume, it often means the resting liquidity was consumed.
2. Trade in the direction of the break, toward the nearest opposing zone.
---
## Settings — quick guide
**Core**
* *ATR Length* — used for zone and density depths.
* *Show VWAP / Show Opening Range*.
* *Opening Range*: Auto (multiple of timeframe minutes) or Manual minutes.
**Trend Filter**
* *Mode*: Off, EMA only, or EMA with ADX strength.
* *Use higher timeframe* and its value.
* *EMA Fast / EMA Slow*, *ADX Length*, *ADX threshold*.
* *Plot EMA filter* to display the moving averages.
**Zones (two pairs)**
* *Pivot A Left / Right* and *Pivot B Left / Right*.
* *Zone depth × ATR*, *Extend bars*.
* *Show zone midline*, *Only in trend zones*.
* Labels automatically show the touch counters.
**Bubbles**
* *Show Bubbles*.
* *Quantile lookback* and *Quantile percent* (higher percent = stricter filter, fewer bubbles).
**Densities**
* *Metric*: absolute delta proxy or raw volume.
* *Quantile lookback / percent*.
* *Depth × ATR*, *Extend bars*, *Merge distance* (in ATR),
* *Break condition*: volume moving average length and multiplier,
* *Midline for densities* (optional dashed line).
---
## Tips and risk management
* This script **does not use external order-flow feeds**. Delta is a **proxy** suitable for TradingView; tune quantiles per symbol and timeframe.
* Do not trade every bubble. Combine **context (trend + VWAP + Opening Range)** with **level (zone)** and **effort (bubble/density)**.
* Set stop-losses beyond the zone or at a fraction of Average True Range. Predefine risk per trade.
* Backtest your rules with a strategy script before using real funds.
* Markets differ. Parameters that work on Bitcoin may not transfer to low-liquidity altcoins or stocks.
* Nothing here is financial advice. Scalping is high-risk; slippage and over-trading can quickly damage your account.
---
## What makes PRO Scalper unique
* Two **independent** zone engines run in parallel, so you can see both **larger structure** and **fine intraday levels** at the same time.
* Clean **“only in trend” rendering** — zones and midlines against the bias can be hidden, reducing clutter and hesitation.
* **Touch counters** convert “feel” into numbers.
* **Self-contained order-flow visuals** (bubbles and densities) that require no extra data sources.
* Careful defaults: subtle colors for densities, clearer zones, and responsive auto Opening Range.
---
(RU)
## Что это такое
**PRO Scalper** — это индикатор для внутридневной торговли, который показывает **контекст и ликвидность прямо сейчас**.
Он объединяет пять модулей, которыми профессиональные скальперы пользуются вместе:
1. **VWAP** — средневзвешенная по объему цена за сессию, «справедливая стоимость» дня.
2. **Opening Range** — первая часть сессии, задающая баланс дня.
3. **Фильтр тренда** — направление старшего таймфрейма по **экспоненциальным средним** и при желании по силе тренда **Average Directional Index**.
4. **Две независимые системы зон спроса/предложения** — зоны строятся от подтвержденных экстремумов (пивотов), имеют **среднюю линию** и **счетчик касаний**.
5. **Визуализация «ордер-флоу»**:
* **Пузыри дельты** (зеленые/красные круги) — места повышенного покупательного/продажного давления, рассчитанные через безопасный **прокси-дельты**.
* **Плотности ликвидности** (ненавязчивые прямоугольные ленты) — скопления объема, которые нередко притягивают цену или удерживают ее и исчезают, когда «разъедаются» сильным движением.
Итог — **полная картинка момента**: среднее (VWAP), баланс дня (Opening Range), старшая сила (фильтр тренда), ближайшие уровни топлива/тормозов (зоны), текущие точки усилия (пузыри и плотности).
---
## Почему именно эти элементы
* **VWAP** показывает, где сосредоточена стоимость; цена либо вращается вокруг него, либо быстро уходит — идеальный ориентир скальпера.
* **Opening Range** фиксирует ранний аукцион — от его границ часто начинаются пробои, возвраты и ретесты.
* **EMA + ADX** отделяют тренд от «пилы», позволяя оставлять на графике только зоны по направлению старшего таймфрейма.
* **Зоны от пивотов** просты, объективны и быстры; средняя линия помогает подтверждать разворот, счетчик касаний переводит субъективность в цифры.
* **Пузыри и плотности** добавляют слой «усилия»: где именно возник толчок и где сконцентрирована ликвидность.
Комбинация **контекста + уровня + усилия** уменьшает двусмысленность и ускоряет принятие решения.
---
## Как это работает (простыми словами)
* **VWAP** каждый день стартует заново: сумма «типичной цены × объем» делится на суммарный объем.
* **Opening Range** — автоматический (кратный минутам вашего таймфрейма) или вручную заданный период; пока он формируется, фиксируются максимум и минимум.
* **Фильтр тренда**
* Две экспоненциальные средние задают направление.
* **ADX** (по желанию) добавляет «силу». Источник можно взять со старшего таймфрейма.
* **Зоны**
* Одновременно работает **две пары** пивотов (например 10-лево 10-право и 5-лево 5-право).
* От пивота строится зона **предложения** (от максимума) или **спроса** (от минимума). Глубина зоны = **коэффициент × Average True Range**; зона тянется вперед.
* Внутри рисуется **средняя линия** (по желанию).
* Режим **«только по тренду»** скрывает зоны против старшего направления.
* **Счетчик касаний** увеличивается, когда цена снова входит в зону; подпись показывает пару и количество касаний.
* **Пузыри**
* Используется безопасный **прокси-дельты** — измерение «напряжения» внутри свечи.
* Через **квантильный фильтр** выводятся только необычно сильные места: настраиваются окно и процент квантиля; размер кружка — сила, цвет: зеленый покупатели, красный продавцы.
* **Плотности**
* Крупные активности отмечаются **ненавязчивыми прямоугольниками** (глубина — доля Average True Range).
* Если плотность **пробивается** объемом выше среднего, она **исчезает** — часто это предвещает продолжение.
---
## Как пользоваться — практические схемы
> Рекомендация: крипто или фьючерсы, таймфрейм 1–5 минут. Для старшего фильтра удобно взять **1 час** или **15 минут**.
### 1) Скальп на откат по тренду
1. Включите **«только по тренду»**.
2. В восходящем тренде дождитесь отката в **зону спроса**, желательно рядом с **VWAP** или серединой **Opening Range**.
3. Подтверждение — **зеленые пузыри** у нижней границы зоны или свежая **плотность** под ценой.
4. Вход после закрытия свечи **выше средней линии** зоны.
5. Стоп-лосс: за нижнюю границу зоны или небольшой множитель Average True Range.
6. Цели: предыдущий максимум, верх Opening Range, фиксированные R-множители, либо VWAP.
Для нисходящего тренда зеркально: зоны предложения, красные пузыри и плотности над ценой.
### 2) Контрдвижение с «выбиванием ликвидности»
1. Нейтральный или контртрендовый режим.
2. Цена **выносит хвостом** границу зоны (или линию Opening Range) и **закрывается обратно внутри**.
3. Цвет пузыря часто меняется (поглощение).
4. Вход внутрь зоны; стоп — за хвост выбивания; цели: средняя линия, противоположная граница зоны или VWAP.
### 3) Пробой Opening Range + ретест
1. Дождитесь завершения диапазона.
2. Сильный пробой с крупным пузырем — признак намерения.
3. Ищите **ретест** в зоне по тренду рядом с линией диапазона и VWAP.
4. Торгуйте продолжение к следующей зоне.
### 4) Продолжение после «съеденной» плотности
1. Когда прямоугольник плотности **исчезает** на повышенном объеме, это значит, что ликвидность поглощена.
2. Торгуйте в сторону пробоя к ближайшей противоположной зоне.
---
## Настройки — краткая шпаргалка
**Core**
— Длина Average True Range (для размеров зон и плотностей).
— Включение VWAP и Opening Range.
— Длина Opening Range: автоматическая (кратная минутам ТФ) или ручная.
**Trend Filter**
— Режим: выкл., только средние, либо средние + ADX.
— Источник со старшего таймфрейма и его значение.
— Длины средних, длина ADX и порог силы.
— Показать/скрыть линий средних.
**Zones (две пары одновременно)**
— Пара A: лев/прав; Пара B: лев/прав.
— Глубина зоны × Average True Range, продление по барам.
— Средняя линия, режим **«только по тренду»**.
— Подписи со счетчиком касаний.
**Bubbles**
— Вкл./выкл., окно поиска и процент квантиля (чем выше процент — тем реже пузыри).
**Densities**
— Метрика: абсолютная прокси-дельты или чистый объем.
— Окно/квантиль, глубина × Average True Range, продление,
— Порог объединения (в Average True Range),
— Условие «разъедания» по объему,
— Средняя линия плотности (по желанию).
---
## Советы и риски
* Индикатор **не использует внешние потоки ордер-флоу**. Дельта — **прокси**, подходящая для TradingView; подбирайте квантили под инструмент и таймфрейм.
* Не торгуйте каждый пузырь. Склейте **контекст (тренд + VWAP + Opening Range)** с **уровнем (зона)** и **усилием (пузырь/плотность)**.
* Стоп-лосс — за границей зоны или по Average True Range. Риск на сделку задавайте заранее.
* Перед реальными деньгами протестируйте правила в стратегии.
* Разные рынки ведут себя по-разному; настройки из Биткоина могут не подойти малоликвидным альткоинам или акциям.
* Это не инвестиционная рекомендация. Скальпинг — высокий риск; проскальзывание и переизбыток сделок быстро наносят ущерб капиталу.
---
## Чем уникален PRO Scalper
* Две **одновременные** системы зон показывают и **крупную структуру**, и **точные локальные уровни**.
* Режим **«только по тренду»** чистит экран от лишних уровней и ускоряет решение.
* **Счетчики касаний** дают количественную опору.
* **Самодостаточные визуализации усилия** (пузыри и плотности) — без сторонних источников данных.
* Аккуратная цветовая схема: плотности — мягко, зоны — ясно; Opening Range — адаптивный.
Пусть он станет вашей «картой местности» для быстрых и дисциплинированных решений внутри дня.
Fractals & SweepThe Fractals & Sweep indicator is designed to identify key market structure points (fractals) and detect potential liquidity sweeps around those areas. It visually highlights both Bill Williams fractals and regular fractals, and alerts the user when the market sweeps liquidity above or below the most recent fractal levels.
Fractal Recognition:
Detects both bullish (low) and bearish (high) fractals on the price chart.
Users can choose between:
Bill Williams fractal logic (default), or
Regular fractal logic (when the “Filter Bill Williams Fractals” option is enabled).
Fractals are plotted directly on the chart as red downward triangles for highs and green upward triangles for lows.
Fractal Tracking:
The indicator stores the most recent high and low fractal levels to serve as reference points for potential sweep detection.
Sweep Detection:
A bearish sweep is triggered when the price wicks above the last fractal high but closes below it — suggesting a liquidity grab above resistance.
A bullish sweep is triggered when the price wicks below the last fractal low but closes above it — suggesting a liquidity grab below support.
When a sweep occurs, the indicator draws a horizontal line from the previous fractal point to the current bar.
Alert System:
Custom alerts notify the trader when a bearish sweep or bullish sweep occurs, allowing for timely reactions to potential reversals or liquidity traps.






















