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!
在腳本中搜尋"liquidity"
PRO SMC Full Suite BY Mashrur“PRO SMC Full Suite BY Mashrur”
A Pine Script (v5) indicator for TradingView, focused on Smart Money Concepts (SMC). It overlays on price charts and provides visual tools for identifying key institutional trading behaviors.
🎯 Purpose
This script is designed to help traders analyze and trade using SMC principles by automatically detecting:
Order Blocks (OBs)
Fair Value Gaps (FVGs)
Breaks of Structure (BoS)
Liquidity Sweeps (Buy/Sell Side Liquidity Grabs)
Mitigation Entries
⚙️ Inputs / Settings
Show Fair Value Gaps: Toggle FVGs on/off
Higher Timeframe (HTF): Choose HTF for OB analysis
Use HTF OBs: Switch between current TF OBs and HTF OBs
Show Order Blocks: Toggle OBs on/off
Show OB Mitigation Entries: Toggle mitigation entry signals on/off
🧠 Core Logic Overview
🔹 1. Swing Points Detection
Identifies swing highs/lows using a 3-bar pattern (pivot-based structure).
🔹 2. Break of Structure (BoS)
A bullish BoS happens when price closes above the last swing high.
A bearish BoS occurs when price closes below the last swing low.
🔹 3. Order Block Detection
Upon BoS, the script marks the previous candle as the Order Block.
Uses either:
Current TF OBs (based on price action)
HTF OBs (based on candle body direction)
🔹 4. Mitigation Entry Logic
A mitigation occurs when price returns to the OB and reacts with confirmation:
Bullish: price dips into OB and closes above
Bearish: price wicks into OB and closes below
Plots entry markers for these mitigations.
🔹 5. Liquidity Sweeps
Detects equal highs/lows (liquidity zones)
Marks Buy SL when price dips below an equal low then closes above
Marks Sell SL when price breaks above an equal high then closes below
🔹 6. Fair Value Gaps (FVGs)
FVG Up: Gap between candle 3 and candle 1 (low > high )
FVG Down: Gap between candle 3 and candle 1 (high < low )
Plots highlighted boxes on these gaps
📊 Visual Elements
Boxes: For OB zones and FVGs
Shapes:
Labels: OB Buy/Sell entries
Triangles: Buy SL / Sell SL liquidity sweeps
Lines: Equal Highs and Lows
🔔 Alerts
Built-in alerts to notify when:
OB entries are confirmed
Liquidity sweeps happen
Helps in automation or active monitoring
✅ Ideal For
Traders using SMC, ICT concepts, Wyckoff, or institutional trading models
Anyone wanting to automate detection of structural elements on their chart
Akkerman IMB + Targets IndicatorAkkerman IMB + Targets Indicator
The Akkerman IMB + Targets Indicator is a powerful tool for traders who use the Smart Money Concept (SMC) methodology for intraday trading. This indicator combines several key elements of technical analysis, such as IMB (Imbalance) zones, liquidity zones, and intraday targets, to help traders identify significant levels on the chart for potential entry and exit points.
Main Features of the Indicator:
IMB (Imbalance) Zones:
The indicator detects IMB zones (imbalances) on the chart, which are often significant for the market because these zones can signal unsupported price moves where the market may either retrace or continue the move.
Green box — indicates a bullish IMB, where the price moves downward but does not reach the previous "low" level.
Red box — indicates a bearish IMB, where the price moves upward but does not reach the previous "high" level.
Liquidity Zones:
The indicator automatically identifies liquidity zones, which are critical levels for potential retracements or breakouts. These zones are determined by equal highs and lows on the chart (where the price has made similar highs or lows).
Triangles or lines highlight levels where significant buy or sell orders might be gathered.
Intraday Target Lines:
The indicator generates targets for intraday trading based on support and resistance levels over the last 10 periods.
These target lines on the chart indicate potential entry or exit points based on the lowest and highest prices over the past 10 bars, which represent key points for trading within the current session.
Indicator Settings:
Show IMB: Toggle to show or hide IMB zones on the chart.
Show Liquidity Zones: Toggle to show or hide liquidity zones on the chart.
Show Targets (Intraday): Toggle to show or hide intraday target lines.
Max Targets (maxTargets): Set the maximum number of targets to display on the chart.
How to Use:
IMB Zones help identify potential retracement or breakout zones on the market. These zones are a critical part of Smart Money analysis, as markets often retrace to these areas after significant price moves.
Liquidity Zones provide clues about where large orders may be gathered, which could lead to a retracement or breakout.
Intraday Targets assist in identifying important levels for entering or exiting trades within the current session to take advantage of short-term price movements.
Important Notes:
This indicator works best on the 1-hour timeframe (H1) for more accurate and stable signals.
For maximum effectiveness, it is recommended to combine this indicator with other technical indicators and analysis methods.
Institutional Quantum Momentum Impulse [BullByte]## Overview
The Institutional Quantum Momentum Impulse (IQMI) is a sophisticated momentum oscillator designed to detect institutional-level trend strength, volatility conditions, and market regime shifts. It combines multiple advanced technical concepts, including:
- Quantum Momentum Engine (Hilbert Transform + MACD Divergence + Stochastic Energy)
- Fractal Volatility Scoring (GARCH + Keltner-based volatility)
- Dynamic Adaptive Bands (Self-adjusting thresholds based on efficiency)
- Market Phase Detection (Volume + Momentum alignment)
- Liquidity & Cumulative Delta Analysis
The indicator provides a Z-score normalized momentum reading, making it ideal for mean-reversion and trend-following strategies.
---
## Key Features
### 1. Quantum Momentum Core
- Combines Hilbert Transform, MACD divergence, and Stochastic Energy into a single composite momentum score.
- Normalized using a Z-score for statistical significance.
- Smoothed with EMA/WMA/HMA for cleaner signals.
### 2. Dynamic Adaptive Bands
- Upper/Lower bands adjust based on volatility and efficiency ratio .
- Acts as overbought/oversold zones when momentum reaches extremes.
### 3. Market Phase Detection
- Identifies bullish , bearish , or neutral phases using:
- Volume-Weighted MA alignment
- Fractal momentum extremes
### 4. Volatility & Liquidity Filters
- Fractal Volatility Score (0-100 scale) shows market instability.
- Liquidity Check ensures trades are taken in favorable spread conditions.
### 5. Dashboard & Visuals
- Real-time dashboard with key metrics:
- Momentum strength, volatility, efficiency, cumulative delta, and market regime.
- Gradient coloring for intuitive momentum visualization .
---
## Best Trade Setups
### 1. Trend-Following Entries
- Signal :
- QM crosses above zero + Market Phase = Bullish + ADX > 25
- Cumulative Delta rising (buying pressure)
- Confirmation :
- Efficiency > 0.5 (strong momentum quality)
- Liquidity = High (tight spreads)
### 2. Mean-Reversion Entries
- Signal :
- QM touches upper band + Volatility expanding
- Market Regime = Ranging (ADX < 25)
- Confirmation :
- Efficiency < 0.3 (weak momentum follow-through)
- Cumulative Delta divergence (price high but delta declining)
### 3. Breakout Confirmation
- Signal :
- QM holds above zero after a pullback
- Market Phase shifts to Bullish/Bearish
- Confirmation :
- Volatility rising (expansion phase)
- Liquidity remains high
---
## Recommended Timeframes
- Intraday (5M - 1H): Works well for scalping & swing trades.
- Swing Trading (4H - Daily): Best for trend-following setups.
- Position Trading (Weekly+): Useful for macro trend confirmation.
---
## Input Customization
- Resonance Factor (1.0 - 3.618 ): Adjusts MACD divergence sensitivity.
- Entropy Filter (0.382/0.50/0.618) : Controls stochastic damping.
- Smoothing Type (EMA/WMA/HMA) : Changes momentum responsiveness.
- Normalization Period : Adjusts Z-score lookback.
---
The IQMI is a professional-grade momentum indicator that combines institutional-level concepts into a single, easy-to-read oscillator. It works across all markets (stocks, forex, crypto) and is ideal for traders who want:
✅ Early trend detection
✅ Volatility-adjusted signals
✅ Institutional liquidity insights
✅ Clear dashboard for quick analysis
Try it on TradingView and enhance your trading edge! 🚀
Happy Trading!
- BullByte
Pivot S/R with Volatility Filter## *📌 Indicator Purpose*
This indicator identifies *key support/resistance levels* using pivot points while also:
✅ Detecting *high-volume liquidity traps* (stop hunts)
✅ Filtering insignificant pivots via *ATR (Average True Range) volatility*
✅ Tracking *test counts and breakouts* to measure level strength
---
## *⚙ SETTINGS – Detailed Breakdown*
### *1️⃣ ◆ General Settings*
#### *🔹 Pivot Length*
- *Purpose:* Determines how many bars to analyze when identifying pivots.
- *Usage:*
- *Low values (5-20):* More pivots, better for scalping.
- *High values (50-200):* Fewer but stronger levels for swing trading.
- *Example:*
- Pivot Length = 50 → Only the most significant highs/lows over 50 bars are marked.
#### *🔹 Test Threshold (Max Test Count)*
- *Purpose:* Sets how many times a level can be tested before being invalidated.
- *Example:*
- Test Threshold = 3 → After 3 tests, the level is ignored (likely to break).
#### *🔹 Zone Range*
- *Purpose:* Creates a price buffer around pivots (±0.001 by default).
- *Why?* Markets often respect "zones" rather than exact prices.
---
### *2️⃣ ◆ Volatility Filter (ATR)*
#### *🔹 ATR Period*
- *Purpose:* Smoothing period for Average True Range calculation.
- *Default:* 14 (standard for volatility measurement).
#### *🔹 ATR Multiplier (Min Move)*
- *Purpose:* Requires pivots to show *meaningful price movement*.
- *Formula:* Min Move = ATR × Multiplier
- *Example:*
- ATR = 10 pips, Multiplier = 1.5 → Only pivots with *15+ pip swings* are valid.
#### *🔹 Show ATR Filter Info*
- Displays current ATR and minimum move requirements on the chart.
---
### *3️⃣ ◆ Volume Analysis*
#### *🔹 Volume Change Threshold (%)*
- *Purpose:* Filters for *unusual volume spikes* (institutional activity).
- *Example:*
- Threshold = 1.2 → Requires *120% of average volume* to confirm signals.
#### *🔹 Volume MA Period*
- *Purpose:* Lookback period for "normal" volume calculation.
---
### *4️⃣ ◆ Wick Analysis*
#### *🔹 Wick Length Threshold (Ratio)*
- *Purpose:* Ensures rejection candles have *long wicks* (strong reversals).
- *Formula:* Wick Ratio = (Upper Wick + Lower Wick) / Candle Range
- *Example:*
- Threshold = 0.6 → 60% of the candle must be wicks.
#### *🔹 Min Wick Size (ATR %)*
- *Purpose:* Filters out small wicks in volatile markets.
- *Example:*
- ATR = 20 pips, MinWickSize = 1% → Wicks under *0.2 pips* are ignored.
---
### *5️⃣ ◆ Display Settings*
- *Show Zones:* Toggles support/resistance shaded areas.
- *Show Traps:* Highlights liquidity traps (▲/▼ symbols).
- *Show Tests:* Displays how many times levels were tested.
- *Zone Transparency:* Adjusts opacity of zones.
---
## *🎯 Practical Use Cases*
### *1️⃣ Liquidity Trap Detection*
- *Scenario:* Price spikes *above resistance* then reverses sharply.
- *Requirements:*
- Long wick (Wick Ratio > 0.6)
- High volume (Volume > Threshold)
- *Outcome:* *Short Trap* signal (▼) appears.
### *2️⃣ Strong Support Level*
- *Scenario:* Price bounces *3 times* from the same level.
- *Indicator Action:*
- Labels the level with test count (3/5 = 3 tests out of max 5).
- Turns *red* if broken (Break Count > 0).
Deep Dive: How This Indicator Works*
This indicator combines *four professional trading concepts* into one powerful tool:
1. *Classic Pivot Point Theory*
- Identifies swing highs/lows where price previously reversed
- Unlike basic pivot indicators, ours uses *confirmed pivots only* (filtered by ATR)
2. *Volume-Weighted Validation*
- Requires unusual trading volume to confirm levels
- Filters out "phantom" levels with low participation
3. *ATR Volatility Filtering*
- Eliminates insignificant price swings in choppy markets
- Ensures only meaningful levels are plotted
4. *Liquidity Trap Detection*
- Spots institutional stop hunts where markets fake out traders
- Uses wick analysis + volume spikes for high-probability signals
---
Deep Dive: How This Indicator Works*
This indicator combines *four professional trading concepts* into one powerful tool:
1. *Classic Pivot Point Theory*
- Identifies swing highs/lows where price previously reversed
- Unlike basic pivot indicators, ours uses *confirmed pivots only* (filtered by ATR)
2. *Volume-Weighted Validation*
- Requires unusual trading volume to confirm levels
- Filters out "phantom" levels with low participation
3. *ATR Volatility Filtering*
- Eliminates insignificant price swings in choppy markets
- Ensures only meaningful levels are plotted
4. *Liquidity Trap Detection*
- Spots institutional stop hunts where markets fake out traders
- Uses wick analysis + volume spikes for high-probability signals
---
## *📊 Parameter Encyclopedia (Expanded)*
### *1️⃣ Pivot Engine Settings*
#### *Pivot Length (50)*
- *What It Does:*
Determines how many bars to analyze when searching for swing highs/lows.
- *Professional Adjustment Guide:*
| Trading Style | Recommended Value | Why? |
|--------------|------------------|------|
| Scalping | 10-20 | Captures short-term levels |
| Day Trading | 30-50 | Balanced approach |
| Swing Trading| 50-200 | Focuses on major levels |
- *Real Market Example:*
On NASDAQ 5-minute chart:
- Length=20: Identifies levels holding for ~2 hours
- Length=50: Finds levels respected for entire trading day
#### *Test Threshold (5)*
- *Advanced Insight:*
Institutions often test levels 3-5 times before breaking them. This setting mimics the "probe and push" strategy used by smart money.
- *Psychology Behind It:*
Retail traders typically give up after 2-3 tests, while institutions keep testing until stops are run.
---
### *2️⃣ Volatility Filter System*
#### *ATR Multiplier (1.0)*
- *Professional Formula:*
Minimum Valid Swing = ATR(14) × Multiplier
- *Market-Specific Recommendations:*
| Market Type | Optimal Multiplier |
|------------------|--------------------|
| Forex Majors | 0.8-1.2 |
| Crypto (BTC/ETH) | 1.5-2.5 |
| SP500 Stocks | 1.0-1.5 |
- *Why It Matters:*
In EUR/USD (ATR=10 pips):
- Multiplier=1.0 → Requires 10 pip swings
- Multiplier=1.5 → Requires 15 pip swings (fewer but higher quality levels)
---
### *3️⃣ Volume Confirmation System*
#### *Volume Threshold (1.2)*
- *Institutional Benchmark:*
- 1.2x = Moderate institutional interest
- 1.5x+ = Strong smart money activity
- *Volume Spike Case Study:*
*Before Apple Earnings:*
- Normal volume: 2M shares
- Spike threshold (1.2): 2.4M shares
- Actual volume: 3.1M shares → STRONG confirmation
---
### *4️⃣ Liquidity Trap Detection*
#### *Wick Analysis System*
- *Two-Filter Verification:*
1. *Wick Ratio (0.6):*
- Ensures majority of candle shows rejection
- Formula: (UpperWick + LowerWick) / Total Range > 0.6
2. *Min Wick Size (1% ATR):*
- Prevents false signals in flat markets
- Example: ATR=20 pips → Min wick=0.2 pips
- *Trap Identification Flowchart:*
Price Enters Zone →
Spikes Beyond Level →
Shows Long Wick →
Volume > Threshold →
TRAP CONFIRMED
---
## *💡 Master-Level Usage Techniques*
### *Institutional Order Flow Analysis*
1. *Step 1:* Identify pivot levels with ≥3 tests
2. *Step 2:* Watch for volume contraction near levels
3. *Step 3:* Enter when trap signal appears with:
- Wick > 2×ATR
- Volume > 1.5× average
### *Multi-Timeframe Confirmation*
1. *Higher TF:* Find weekly/monthly pivots
2. *Lower TF:* Use this indicator for precise entries
3. *Example:*
- Weekly pivot at $180
- 4H shows liquidity trap → High-probability reversal
---
## *⚠ Critical Mistakes to Avoid*
1. *Using Default Settings Everywhere*
- Crude oil needs higher ATR multiplier than bonds
2. *Ignoring Trap Context*
- Traps work best at:
- All-time highs/lows
- Major psychological numbers (00/50 levels)
3. *Overlooking Cumulative Volume*
- Check if volume is building over multiple tests
Fib BB on VWMA*ATRThis TradingView Pine Script is designed to plot Fibonacci Bollinger Bands on a Volume Weighted Moving Average (VWMA) using the Average True Range (ATR). The script takes a higher timeframe (HTF) approach, allowing traders to analyze price action and volatility from a broader market perspective.
🔹 How It Works
Higher Timeframe Data Integration
Users can select a specific timeframe to calculate the VWMA and ATR.
This allows for a more macro perspective, avoiding the noise of lower timeframes.
Volume Weighted Moving Average (VWMA)
Unlike the Simple Moving Average (SMA), VWMA gives higher weight to price movements with larger volume.
Calculation Formula:
𝑉𝑊𝑀𝐴=∑(𝐶𝑙𝑜𝑠𝑒×𝑉𝑜𝑙𝑢𝑚𝑒) / ∑𝑉𝑜𝑙𝑢𝑚𝑒
Since VWMA accounts for volume, it is more reactive to price zones with high buying or selling activity, making it useful for identifying liquidity zones.
ATR-Based Fibonacci Bollinger Bands
The Average True Range (ATR) is used to measure market volatility.
Instead of standard deviation-based Bollinger Bands, Fibonacci multipliers (2.618, 3.0, 3.414) are applied to ATR.
These bands adjust dynamically with market volatility.
🔹 Key Findings from Exploration
Through testing and analysis, this indicator seems to effectively detect supply and demand zones, particularly at the Fibonacci levels of 2.618 to 3.414.
Price frequently reacts at these bands, indicating that they capture key liquidity zones.
Potential Order Block Detection:
The ends of the Fibonacci Bollinger Bands (especially at 2.618, 3.0, and 3.414) tend to align with order blocks—areas where institutional traders previously accumulated or distributed positions.
This is particularly useful for order flow traders who focus on unfilled institutional orders.
🔹 How to Use This Indicator?
Identifying Order Blocks
When price reaches the upper or lower bands, check if there was a strong reaction (rejection or consolidation).
If price rapidly moves away from a band, that level might be an order block.
Spotting Liquidity Pools
VWMA’s nature enhances liquidity detection since it emphasizes high-volume price action.
If a price level repeatedly touches the band without breaking through, it suggests institutional orders may be absorbing liquidity there.
Trend Confirmation
If VWMA is trending upwards and price keeps rejecting the lower bands, it confirms a strong bullish trend.
Conversely, constant rejection from the upper bands suggests a bearish market.
This script is designed for open-source publication and offers traders a refined approach to detecting order blocks and liquidity zones using Fibonacci-based volatility bands.
📌 한글 설명 (상세 설명)
이 트레이딩뷰 파인스크립트는 거래량 가중 이동평균(VWMA)과 평균 실제 범위(ATR)를 활용하여 피보나치 볼린저 밴드를 표시하는 지표입니다.
또한, 고차 타임프레임(HTF) 데이터를 활용하여 시장의 큰 흐름을 분석할 수 있도록 설계되었습니다.
🔹 지표 작동 방식
고차 타임프레임(HTF) 데이터 적용
사용자가 원하는 타임프레임을 선택하여 VWMA와 ATR을 계산할 수 있습니다.
이를 통해 더 큰 시장 흐름을 분석할 수 있으며, 저타임프레임의 노이즈를 줄일 수 있습니다.
거래량 가중 이동평균(VWMA) 적용
VWMA는 단순 이동평균(SMA)보다 거래량이 많은 가격 움직임에 더 큰 가중치를 부여합니다.
계산 공식:
𝑉𝑊𝑀𝐴=∑(𝐶𝑙𝑜𝑠𝑒×𝑉𝑜𝑙𝑢𝑚𝑒) / ∑𝑉𝑜𝑙𝑢𝑚𝑒
거래량이 많이 발생한 가격 구간을 강조하는 특성이 있어, 시장의 유동성 구간을 더 정확히 포착할 수 있습니다.
ATR 기반 피보나치 볼린저 밴드 생성
ATR(Average True Range)를 활용하여 변동성을 측정합니다.
기존의 표준편차 기반 볼린저 밴드 대신, 피보나치 계수(2.618, 3.0, 3.414)를 ATR에 곱하여 밴드를 생성합니다.
이 밴드는 시장 변동성에 따라 유동적으로 조정됩니다.
🔹 탐구 결과: 매물대 및 오더블록 감지
테스트를 통해 Fibonacci 2.618 ~ 3.414 구간에서 매물대 및 오더블록을 포착하는 경향이 있음을 확인했습니다.
가격이 피보나치 밴드(특히 2.618, 3.0, 3.414)에 닿을 때 반응하는 경우가 많음
VWMA의 특성을 통해 오더블록을 감지할 가능성이 높음
🔹 오더블록(Order Block) 감지 원리
Fibonacci 밴드 끄트머리(2.618 ~ 3.414)에서 가격이 강하게 반응
이 영역에서 가격이 강하게 튀어 오르거나(매수 압력) 급락하는(매도 압력) 경우,
→ 기관들이 포지션을 청산하거나 추가 매집하는 구간일 가능성이 큼.
과거에 대량 주문이 체결된 가격 구간(= 오더블록)일 수 있음.
VWMA를 통한 유동성 감지
VWMA는 거래량이 집중된 가격을 기준으로 이동하기 때문에, 기관 주문이 많이 들어온 가격대를 강조하는 특징이 있음.
따라서 VWMA와 피보나치 밴드가 만나는 지점은 유동성이 높은 핵심 구간이 될 가능성이 큼.
매물대 및 청산 구간 분석
가격이 밴드에 도달했을 때 강한 반등이 나오는지를 확인 → 오더블록 가능성
가격이 밴드를 여러 번 테스트하면서 돌파하지 못한다면, 해당 지점은 강한 매물대일 가능성
🔹 활용 방법
✅ 오더블록 감지:
가격이 밴드(2.618~3.414)에 닿고 강하게 튕긴다면, 오더블록 가능성
해당 지점에서 거래량 증가 및 강한 반등 발생 시 매수 고려
✅ 유동성 풀 확인:
VWMA와 피보나치 밴드가 만나는 구간에서 반복적으로 거래량이 터진다면, 해당 지점은 기관 유동성 구간일 가능성
✅ 추세 확인:
VWMA가 상승하고 가격이 밴드 하단(지지선)에서 튕긴다면 강한 상승 추세
VWMA가 하락하고 가격이 밴드 상단(저항선)에서 거부당하면 하락 추세 지속
Volume Profile & Smart Money Explorer🔍 Volume Profile & Smart Money Explorer: Decode Institutional Footprints
Master the art of institutional trading with this sophisticated volume analysis tool. Track smart money movements, identify peak liquidity windows, and align your trades with major market participants.
🌟 Key Features:
📊 Triple-Layer Volume Analysis
• Total Volume Patterns
• Directional Volume Split (Up/Down)
• Institutional Flow Detection
• Real-time Smart Money Tracking
• Historical Pattern Recognition
⚡ Smart Money Detection
• Institutional Trade Identification
• Large Block Order Tracking
• Smart Money Concentration Periods
• Whale Activity Alerts
• Volume Threshold Analysis
📈 Advanced Profiling
• Hourly Volume Distribution
• Directional Bias Analysis
• Liquidity Heat Maps
• Volume Pattern Recognition
• Custom Threshold Settings
🎯 Strategic Applications:
Institutional Trading:
• Track Big Player Movements
• Identify Accumulation/Distribution
• Follow Smart Money Flow
• Detect Institutional Trading Windows
• Monitor Block Orders
Risk Management:
• Identify High Liquidity Windows
• Avoid Thin Market Periods
• Optimize Position Sizing
• Track Market Participation
• Monitor Volume Quality
Market Analysis:
• Volume Pattern Recognition
• Smart Money Flow Analysis
• Liquidity Window Identification
• Institutional Activity Cycles
• Market Depth Analysis
💡 Perfect For:
• Professional Traders
• Volume Profile Traders
• Institutional Traders
• Risk Managers
• Algorithmic Traders
• Smart Money Followers
• Day Traders
• Swing Traders
📊 Key Metrics:
• Normalized Volume Profiles
• Institutional Thresholds
• Directional Volume Split
• Smart Money Concentration
• Historical Patterns
• Real-time Analysis
⚡ Trading Edge:
• Trade with Institution Flow
• Identify Optimal Entry Points
• Recognize Distribution Patterns
• Follow Smart Money Positioning
• Avoid Thin Markets
• Capitalize on Peak Liquidity
🎓 Educational Value:
• Understand Market Structure
• Learn Volume Analysis
• Master Institutional Patterns
• Develop Market Intuition
• Track Smart Money Flow
🛠️ Customization:
• Adjustable Time Windows
• Flexible Volume Thresholds
• Multiple Timeframe Analysis
• Custom Alert Settings
• Visual Preference Options
Whether you're tracking institutional flows in crypto markets or following smart money in traditional markets, the Volume Profile & Smart Money Explorer provides the deep insights needed to trade alongside the biggest players.
Transform your trading from retail guesswork to institutional precision. Know exactly when and where smart money moves, and position yourself ahead of major market shifts.
#VolumeProfile #SmartMoney #InstitutionalTrading #MarketAnalysis #TradingView #VolumeAnalysis #CryptoTrading #ForexTrading #TechnicalAnalysis #Trading #PriceAction #MarketStructure #OrderFlow #Liquidity #RiskManagement #TradingStrategy #DayTrading #SwingTrading #AlgoTrading #QuantitativeTrading
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! 🚀
EBP Candle Marker### **EBP Candle Marker – TradingView Indicator**
The **EBP Candle Marker** is a specialized TradingView indicator designed to identify and highlight potential liquidity sweep candles. This indicator visually emphasizes key price action patterns where the market sweeps previous highs or lows and closes in the opposite direction, often signaling potential reversals or liquidity grabs.
---
### 📊 **Indicator Logic:**
1. **Bullish Sweep:**
- The current candle’s **low** is lower than the previous candle’s **low** (indicating a liquidity sweep).
- The **close** is above both the **open** and **close** of the previous candle.
2. **Bearish Sweep:**
- The current candle’s **high** is higher than the previous candle’s **high** (indicating a liquidity sweep).
- The **close** is below both the **open** and **close** of the previous candle.
---
### 🎨 **Visual Representation:**
- **Yellow Candle Body:** Highlights any candle meeting the bullish or bearish sweep conditions.
---
### 🔔 **Alert Functionality:**
The indicator supports setting custom alerts in TradingView for:
- **Bullish Sweep Detected** – Notifies when a bullish sweep occurs.
- **Bearish Sweep Detected** – Notifies when a bearish sweep occurs.
These alerts are compatible across any timeframe, providing flexibility to monitor key market conditions.
---
### 📈 **Use Cases:**
- **Liquidity Sweep Detection:** Identify areas where the market may be triggering stop-loss orders or liquidity hunts.
- **Reversal Confirmation:** Enhance trade confirmation by identifying potential reversal zones.
- **Scalping & Swing Trading:** Suitable for both short-term and long-term trading strategies across multiple timeframes.
CLS Patterns + Price Action Levels📌 Key Features:
✅ CLS Candle Patterns Detection:
CLS Type 1 (Sweeps & Closes Opposite) – Confirms liquidity sweeps with opposite direction close.
CLS Type 2 (Sweeps but No Opposite Close) – Identifies liquidity traps without full reversal.
CLS Type 3 (Engulfing Candles) – Strong momentum shifts with engulfing price action.
CLS Type 4 (Order Block Reversals) – Institutional order flow recognition.
✅ Institutional & Price Action Levels:
250 Pip Institutional Levels – Major S&R zones for Forex & Indices.
Minor Quarter Points (25 Pips) – Intraday precision for refined entries.
✅ Liquidity Imbalance & Order Flow Gaps:
Detects early impulse moves & liquidity voids
Highlights areas of market inefficiency & potential reversals
✅ Higher Timeframe EMA for Trend Confirmation:
Customizable Weekly 3 EMA Overlay
Dynamic color change based on price action
✅ Built-in Alerts for CLS Patterns:
Real-time alerts for CLS buy/sell signals
Configurable notifications for trade execution
🎯 How to Use:
1️⃣ Enable CLS Pattern Signals to spot liquidity sweep candles with directional confirmation.
2️⃣ Use Institutional & QP Levels to identify key areas where price is likely to react.
3️⃣ Monitor Liquidity Imbalances to detect inefficient price moves that may fill.
4️⃣ Confirm Trend with HTF EMA to trade with momentum.
5️⃣ Set Alerts for CLS patterns and key price levels to stay ahead of the market.
This indicator is ideal for Forex, Indices, and Crypto traders looking to refine their entries with precise price action confirmations.
Sniper Trade Pro (ES 15-Min) - Topstep Optimized🔹 Overview
Sniper Trade Pro is an advanced algorithmic trading strategy designed specifically for E-mini S&P 500 (ES) Futures on the 15-minute timeframe. This strategy is optimized for Topstep 50K evaluations, incorporating strict risk management to comply with their max $1,000 daily loss limit while maintaining a high probability of success.
It uses a multi-confirmation approach, integrating:
✅ Money Flow Divergence (MFD) → To track liquidity imbalances and institutional accumulation/distribution.
✅ Trend Confirmation (EMA + VWAP) → To identify strong trend direction and avoid choppy markets.
✅ ADX Strength Filter → To ensure entries only occur in trending conditions, avoiding weak setups.
✅ Break-Even & Dynamic Stop-Losses → To reduce drawdowns and protect profits dynamically.
This script automatically generates Buy and Sell signals and provides built-in risk management for automated trading execution through TradingView Webhooks.
🔹 How Does This Strategy Work?
📌 1. Trend Confirmation (EMA + VWAP)
The strategy uses:
✔ 9-EMA & 21-EMA: Fast-moving averages to detect short-term momentum.
✔ VWAP (Volume-Weighted Average Price): Ensures trades align with institutional volume flow.
How it works:
Bullish Condition: 9-EMA above 21-EMA AND price above VWAP → Confirms buy trend.
Bearish Condition: 9-EMA below 21-EMA AND price below VWAP → Confirms sell trend.
📌 2. Liquidity & Money Flow Divergence (MFD)
This indicator measures liquidity shifts by tracking momentum changes in price and volume.
✔ MFD Calculation:
Uses Exponential Moving Average (EMA) of Momentum (MOM) to detect changes in buying/selling pressure.
If MFD is above its moving average, it signals liquidity inflows → bullish strength.
If MFD is below its moving average, it signals liquidity outflows → bearish weakness.
Why is this important?
Detects when Smart Money is accumulating or distributing before major moves.
Filters out false breakouts by confirming momentum strength before entry.
📌 3. Trade Entry Triggers (Candlestick Patterns & ADX Filter)
To avoid random entries, the strategy waits for specific candlestick confirmations with ADX trend strength:
✔ Bullish Entry (Buy Signal) → Requires:
Bullish Engulfing Candle (Reversal confirmation)
ADX > 20 (Ensures strong trending conditions)
MFD above its moving average (Liquidity inflows)
9-EMA > 21-EMA & price above VWAP (Trend confirmation)
✔ Bearish Entry (Sell Signal) → Requires:
Bearish Engulfing Candle (Reversal confirmation)
ADX > 20 (Ensures strong trending conditions)
MFD below its moving average (Liquidity outflows)
9-EMA < 21-EMA & price below VWAP (Trend confirmation)
📌 4. Risk Management & Profit Protection
This strategy is built with strict risk management to maintain low drawdowns and maximize profits:
✔ Dynamic Position Sizing → Automatically adjusts trade size to risk a fixed $400 per trade.
✔ Adaptive Stop-Losses → Uses ATR-based stop-loss (0.8x ATR) to adapt to market volatility.
✔ Take-Profit Targets → Fixed at 2x ATR for a Risk:Reward ratio of 2:1.
✔ Break-Even Protection → Moves stop-loss to entry once price moves 1x ATR in profit, locking in gains.
✔ Max Daily Loss Limit (-$1,000) → Stops trading if total losses exceed $1,000, complying with Topstep rules.
Trading Sessions Highs/Lows | InvrsROBINHOODTrading Sessions Highs/Lows | InvrsROBINHOOD
🚀 A powerful indicator for tracking key trading sessions and the highs and lows of each session!
📌 Description
The Trading Sessions Highs/Lows indicator visually marks the most critical trading sessions—Asia, London, and New York—using small colored dots at the bottom of the candle. It also tracks and plots the highs and lows of each session, along with the Daily Open and Weekly Open levels.
This tool is designed to help traders identify session-based liquidity zones, price reactions, and potential trade setups with minimal chart clutter.
Key Features:
✅ Session markers (Asia, London, NY AM, NY Lunch, NY PM) plotted as small dots
✅ Plots session highs and lows for market structure insights
✅ Daily Open line for intraday reference
✅ Weekly Open line for higher timeframe bias
✅ Alerts for session high/low breaks to capture momentum shifts
✅ User-defined UTC offset for global traders
✅ Customizable session colors for personal preference
📖 How to Use the Indicator
1️⃣ Understanding the Sessions
Asia Session (Yellow Dot) → Marks liquidity buildup & pre-London moves
London Session (Blue Dot) → Strong volatility, breakout opportunities
New York AM Session (Green Dot) → Major trends & institutional participation
New York Lunch (Red Dot) → Low volume, ranging market
New York PM Session (Dark Green Dot) → End-of-day movements & reversals
2️⃣ Session Highs & Lows for Market Structure
Session Highs can act as resistance or breakout points.
Session Lows can act as support or stop-hunt zones.
Break of a session high/low with volume may indicate continuation or reversal.
3️⃣ Using the Daily & Weekly Open
The Daily Open (Black Line) helps gauge the intraday trend.
Above Daily Open → Bearish Bias
Below Daily Open → Bullish Bias
The Weekly Open (Red Line) sets the higher timeframe directional bias.
4️⃣ Alerts for Breakouts
The indicator will trigger alerts when price breaks session highs or lows.
Useful for setting stop-losses, breakout trades, and risk management.
💡 Why This Indicator is Important for Beginners
1️⃣ Avoids Overtrading:
Many beginners trade in low-volume periods (NY Lunch, Asia session) and get stuck in choppy price action.
This indicator highlights when volatility is high so traders focus on better opportunities.
2️⃣ Session-Based Liquidity Traps:
Market makers often run stops at session highs/lows before reversing.
Watching session breaks prevents traders from falling into liquidity grabs.
3️⃣ Reduces Emotional Trading:
If price is above the Daily Open, a beginner shouldn’t look for shorts.
If price is below a key session low, it may signal a fake breakout.
4️⃣ Aligns with Institutional Trading:
Smart money traders use session highs/lows to set stop hunts & reversals.
Beginners can use this indicator to spot these zones before entering trades.
🛡️ How to Mitigate Risk with This Indicator
✅ Wait for Confirmations – Don’t trade blindly at session highs/lows. Look for wicks, rejections, or break/retests.
✅ Use Stop-Loss Above/Below Session Levels – If you’re going long, set SL below a session low. If short, set SL above a session high.
✅ Watch Volume & News Events – Breakouts without strong volume or news may be fake moves.
✅ Combine with Other Strategies – Use price action, trendlines, or EMAs with this indicator for higher probability trades.
✅ Use the Weekly Open for Trend Bias – If price stays below the Weekly Open, avoid bullish setups unless key support holds.
🎯 Who is This Indicator For?
📌 Beginners who need clear session-based trading levels.
📌 Day traders & scalpers looking to refine their intraday setups.
📌 Smart money traders using liquidity concepts.
📌 Swing traders tracking higher timeframe momentum shifts.
🚀 Final Thoughts
This indicator is an essential tool for traders who want to understand market structure, liquidity, and volatility cycles. Whether you’re trading forex, stocks, or crypto, it helps you stay on the right side of the market and avoid unnecessary risks.
🔹 Set it up, customize your colors, define your UTC offset, and start trading smarter today! 🏆📈
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.
Swing Breakout System (SBS)The Swing Breakout Sequence (SBS) is a trading strategy that focuses on identifying high-probability entry points based on a specific pattern of price swings. This indicator will identify these patterns, then draw lines and labels to show confirmation.
How To Use:
The indicator will show both Bullish and Bearish SBS patterns.
Bullish Pattern is made up of 6 points: Low (0), HH (1), LL (2 | but higher than initial Low), New HH (3), LL (5), LL again (5)
Bearish Patten is made up of 6 points: High (0), LL (1), HH (2 | but lower than initial high), New LL (3), HH (5), HH again (5)
A label with an arrow will appear at the end, showing the completion of a successful sequence
Idea behind the strategy:
The idea behind this strategy, is the accumulation and then manipulation of liquidity throughout the sequence. For example, during SBS sequence, liquidity is accumulated during step (2), then price will push away to make a new high/low (step 3), after making a minor new high/low, price will retrace breaking the key level set up in step (2). This is price manipulating taking liquidity from behind high/low from step (2). After taking liquidity price the idea is price will continue in the original direction.
Step 0 - Setting up initial direction
Step 1 - Setting up initial direction
Step 2 - Key low/high establishing liquidity
Step 3 - Failed New high/low
Step 4 - Taking liquidity from step (2)
Step 5 - Taking liquidity from step 2 and 4
Pattern Detection:
- Uses pivot high/low points to identify swing patterns
- Stores 6 consecutive swing points in arrays
- Identifies two types of patterns:
1. Bullish Pattern: A specific sequence of higher lows and higher highs
2. Bearish Pattern: A specific sequence of lower highs and lower lows
Note: Because the indicator is identifying a perfect sequence of 6 steps, set ups may not appear frequently.
Visualization:
- Draws connecting lines between swing points
- Labels each point numerically (optional)
- Shows breakout arrows (↑ for bullish, ↓ for bearish)
- Generates alerts on valid breakouts
User Input Settings:
Core Parameters
1. Pivot Lookback Period (default: 2)
- Controls how many bars to look back/forward for pivot point detection
- Higher values create fewer but more significant pivot points
2. Minimum Pattern Height % (default: 0.1)
- Minimum required height of the pattern as a percentage of price
- Filters out insignificant patterns
3. Maximum Pattern Width (bars) (default: 50)
- Maximum allowed width of the pattern in bars
- Helps exclude patterns that form over too long a period
LRLR [TakingProphets]LRLR (Low Resistance Liquidity Run) Indicator
This indicator identifies potential liquidity runs in areas of low resistance, based on ICT (Inner Circle Trader) concepts. It specifically looks for a series of unmitigated swing highs in a downtrend that form without any bearish fair value gaps (FVGs) between them.
What is an LRLR?
- A Low Resistance Liquidity Run occurs when price creates a series of lower highs without any bearish fair value gaps in between
- The absence of bearish FVGs indicates there is no significant resistance in the area
- These formations often become targets for smart money to collect liquidity above the swing highs
How to Use the Indicator:
1. The indicator will draw a diagonal line connecting a series of qualifying swing highs
2. A small "LRLR" label appears to mark the pattern
3. These areas often become targets for future price moves, as they represent zones of accumulated liquidity with minimal resistance
Key Points:
- Minimum of 4 consecutive lower swing highs
- No bearish fair value gaps can exist between these swing highs
- The diagonal line helps visualize the liquidity run formation
- Can be used for trade planning and identifying potential reversal zones
Settings:
- Show Labels: Toggle the "LRLR" label visibility
- LRLR Line Color: Customize the appearance of the diagonal line
Best Practices:
1. Use in conjunction with other ICT concepts and market structure analysis
2. Pay attention to how price reacts when returning to these levels
3. Consider these areas as potential targets for smart money liquidity grabs
4. Most effective when used on higher timeframes (4H and above)
Note: This is an educational tool and should be used as part of a complete trading strategy, not in isolation.
RSI Divergence + Sweep + Signal + Alerts Toolkit [TrendX_]The RSI Toolkit is a powerful set of tools designed to enhance the functionality of the traditional Relative Strength Index (RSI) indicator. By integrating advanced features such as Moving Averages, Divergences, and Sweeps, it helps traders identify key market dynamics, potential reversals, and newly-approach trading stragies.
The toolkit expands on standard RSI usage by incorporating features from smart money concepts (Just try to be creative 🤣 Hope you like it), providing a deeper understanding of momentum, liquidity sweeps, and trend reversals. It is suitable for RSI traders who want to make more informed and effective trading decisions.
💎 FEATURES
RSI Moving Average
The RSI Moving Average (RSI MA) is the moving average of the RSI itself. It can be customized to use various types of moving averages, including Simple Moving Average (SMA), Exponential Moving Average (EMA), Relative Moving Average (RMA), and Volume-Weighted Moving Average (VWMA).
The RSI MA smooths out the RSI fluctuations, making it easier to identify trends and crossovers. It helps traders spot momentum shifts and potential entry/exit points by observing when the RSI crosses above or below its moving average.
RSI Divergence
RSI Divergence identifies discrepancies between price action and RSI momentum. There are two types of divergences: Regular Divergence - Indicates a potential trend reversal; Hidden Divergence - Suggests the continuation of the current trend.
Divergence is a critical signal for spotting weakness or strength in a trend. Regular divergence highlights potential trend reversals, while hidden divergence confirms trend continuation, offering traders valuable insights into market momentum and possible trade setups.
RSI Sweep
RSI Sweep detects moments when the RSI removes liquidity from a trend structure by sweeping above or below the price at key momentum level crossing. These sweeps are overlaid on the RSI chart for easier visualized.
RSI Sweeps are significant because they indicate potential turning points in the market. When RSI sweeps occur: In an uptrend - they suggest buyers' momentum has peaked, possibly leading to a reversal; In a downtrend - they indicate sellers’ momentum has peaked, also hinting at a reversal.
(Note: This feature incorporates Liquidity Sweep concepts from Smart Money Concepts into RSI analysis, helping RSI traders identify areas where liquidity has been removed, which often precedes a trend reversal)
🔎 BREAKDOWN
RSI Moving Average
How MA created: The RSI value is calculated first using the standard RSI formula. The MA is then applied to the RSI values using the trader’s chosen type of MA (SMA, EMA, RMA, or VWMA). The flexibility to choose the type of MA allows traders to adjust the smoothing effect based on their trading style.
Why use MA: RSI by itself can be noisy and difficult to interpret in volatile markets. Applying moving average would provide a smoother, more reliable view of RSI trends.
RSI Divergence
How Regular Divergence created: Regular Divergence is detected when price forms HIGHER highs while RSI forms LOWER highs (bearish divergence) or when price forms LOWER lows while RSI forms HIGHER lows (bullish divergence).
How Hidden Divergence created: Hidden Divergence is identified when price forms HIGHER lows while RSI forms LOWER lows (bullish hidden divergence) or when price forms LOWER highs while RSI forms HIGHER highs (bearish hidden divergence).
Why use Divergence: Divergences provide early warning signals of a potential trend change. Regular divergence helps traders anticipate reversals, while hidden divergence supports trend continuation, enabling traders to align their trades with market momentum.
RSI Sweep
How Sweep created: Trend Structure Shift are identified based on the RSI crossing key momentum level of 50. To track these sweeps, the indicator pinpoints moments when liquidity is removed from the Trend Structure Shift. This is a direct application of Liquidity Sweep concepts used in Smart Money theories, adapted to RSI.
Why use Sweep: RSI Sweeps are created to help traders detect potential trend reversals. By identifying areas where momentum has exhausted during a certain trend direction, the indicator highlights opportunities for traders to enter trades early in a reversal or continuation phase.
⚙️ USAGES
Divergence + Sweep
This is an example of combining Devergence & Sweep in BTCUSDT (1 hour)
Wait for a divergence (regular or hidden) to form on the RSI. After the divergence is complete, look for a sweep to occur. A potential entry might be formed at the end of the sweep.
Divergences indicate a potential trend change, but confirmation is required to ensure the setup is valid. The RSI Sweep provides that confirmation by signaling a liquidity event, increasing the likelihood of a successful trade.
Sweep + MA Cross
This is an example of combining Devergence & Sweep in BTCUSDT (1 hour)
Wait for an RSI Sweep to form then a potential entry might be formed when the RSI crosses its MA.
The RSI Sweep highlights a potential turning point in the market. The MA cross serves as additional confirmation that momentum has shifted, providing a more reliable and more potential entry signal for trend continuations.
DISCLAIMER
This indicator is not financial advice, it can only help traders make better decisions. There are many factors and uncertainties that can affect the outcome of any endeavor, and no one can guarantee or predict with certainty what will occur. Therefore, one should always exercise caution and judgment when making decisions based on past performance.
16. SMC Strategy with SL - low TimeframeOverview
The "SMC Strategy with SL - low Timeframe" is a comprehensive trading strategy that uses key concepts from Smart Money Theory to identify favorable areas in the market for buying or selling. This strategy takes advantage of price imbalances, support and resistance zones, and swing highs/lows to generate high-probability trade signals.
The key features of this strategy include:
Swing High/Low Analysis: Used to determine the Premium, Equilibrium, and Discount Zones.
Order Block Integration: An added layer of confluence to identify valid buy and sell signals.
Trend Direction Confirmation: Using a Simple Moving Average (SMA) to determine the overall trend.
Entry and Exit Rules: Based on price position relative to key zones and moving average, along with optional stop-loss and take-profit levels.
Detailed Description
Swing High and Swing Low Analysis
The script calculates Swing High and Swing Low based on the most recent price highs and lows over a specified look-back period (swingHighLength and swingLowLength, set to 8 by default).
It then derives the Premium, Equilibrium, and Discount Zones:
Premium Zone: Represents potential resistance, calculated based on recent swing highs.
Discount Zone: Represents potential support, calculated based on recent swing lows.
Equilibrium: The midpoint between Swing High and Swing Low, dividing the price range into Premium (above equilibrium) and Discount (below equilibrium) areas.
Zone Visualization
The strategy plots the Premium Zone (resistance) in red, the Discount Zone (support) in green, and the Equilibrium level in blue on the chart. This helps visually assess the current price relative to these important areas.
Simple Moving Average (SMA)
A 50-period Simple Moving Average (SMA) is added to help identify the trend direction.
Buy signals are valid only if the price is above the SMA, indicating an uptrend.
Sell signals are valid only if the price is below the SMA, indicating a downtrend.
Entry Rules
The script generates buy or sell signals when certain conditions are met:
A buy signal is triggered when:
Price is below the Equilibrium and within the Discount Zone.
Price is above the SMA.
The buy signal is further confirmed by the presence of an Order Block (recent lowest price area).
A sell signal is triggered when:
Price is above the Equilibrium and within the Premium Zone.
Price is below the SMA.
The sell signal is further confirmed by the presence of an Order Block (recent highest price area).
Order Block
The strategy defines Order Blocks as recent highs and lows within a look-back period (orderBlockLength set to 20 by default).
These blocks represent areas where large players (smart money) have historically been active, increasing the probability of the price reacting in these areas again.
Trade Management and Trade Direction
The user can set Trade Direction to either "Long Only," "Short Only," or "Both." This allows the strategy to adapt based on market conditions or trading preferences.
Based on the Trade Direction, the strategy either:
Closes open trades that are against new signals.
Allows only specific directional trades (either long or short).
Stop-loss levels are defined based on a fixed percentage (stop_loss_percent), which helps to manage risk and minimize losses.
Exit Rules
The strategy uses stop-loss levels for risk management.
A stop-loss price is set at a fixed percentage below the entry price for long positions or above the entry price for short positions.
When the price hits the defined stop-loss level, the trade is closed.
Liquidity Zones
The script identifies recent Swing Highs and Lows as potential liquidity zones. These are levels where price could react strongly, as they represent areas of interest for large traders.
The liquidity zones are plotted as crosses on the chart, marking areas where price may encounter significant buying or selling pressure.
Visual Feedback
The script uses visual markers (green for buy signals and red for sell signals) to indicate potential entries on the chart.
It also plots liquidity zones to help traders identify areas where stop hunts and liquidity grabs might occur.
Monthly Performance Dashboard
The script includes a performance tracking feature that displays monthly profit and loss metrics on the chart.
This dashboard allows the trader to see a visual representation of trading performance over time, providing insights into profitability and consistency.
The table shows profit or loss for each month and year, allowing the user to track the overall success of the strategy.
Key Benefits
Smart Money Concepts (SMC): This strategy incorporates SMC principles like order blocks and liquidity zones, which are used by institutional traders to determine potential market moves.
Zone Analysis: The use of Premium, Discount, and Equilibrium zones provides a solid framework for determining where to enter and exit trades based on price discounts or premiums.
Confluence: Signals are not taken in isolation. They are confirmed by factors like trend direction (SMA) and order blocks, providing greater trade accuracy.
Risk Management: By integrating stop-loss functionality, traders can manage their risks effectively.
Visual Performance Metrics: The monthly and yearly performance dashboard gives valuable feedback on how well the strategy has performed historically.
Practical Use
Buy in Discount Zone: Traders would be looking to buy when the price is discounted relative to its recent range and is above the SMA, indicating an overall uptrend.
Sell in Premium Zone: Conversely, traders would be looking to sell when the price is at a premium relative to its recent range and below the SMA, indicating an overall downtrend.
Order Block Confirmation: Ensures that buying or selling is supported by historical price behavior at significant levels, providing confidence that the market is likely to react at these areas.
This strategy is designed to help traders take advantage of price inefficiencies and areas where institutional traders are likely to be active, increasing the odds of successful trades. By leveraging Smart Money concepts and strong technical confluence, it aims to provide high-probability trade setups.
Optimus trader Optimus Trader
Indicator Description:
The Optimus Trader indicator is designed for technical traders looking for entry and exit points in financial markets. It combines signals based on volume, moving averages, VWAP (Volume Weighted Average Price), as well as the recognition of candlestick patterns such as Pin Bar and Inside Bars. This indicator helps identify opportune moments to buy or sell based on trends, volumes, and recent liquidity zones.
Parameters and Features:
1. Simple Moving Average (MA) and VWAP:
- Optimus Trader uses a 50-period simple moving average to determine the underlying trend. It also includes VWAP for precise price analysis based on traded volumes.
- These two indicators help identify whether the market is in an uptrend or downtrend, enhancing the reliability of buy and sell signals.
2. Volume :
- To avoid false signals, a volume threshold is set using a 20-period moving average, adjusted to 1.2 times the average volume. This filters signals by considering only high-volume periods, indicating heightened market interest.
3. Candlestick Pattern Recognition:
- Pin Bar: This sought-after candlestick pattern is detected for both bullish and bearish setups. A bullish or bearish *Pin Bar* often signals a possible reversal or continuation.
- *Inside Bar*: This price compression pattern is also detected, indicating a zone of indecision before a potential movement.
4. Trend:
- An uptrend is confirmed when the price is above the MA and VWAP, while a downtrend is identified when the price is below both indicators.
5. Liquidity Zones:
- Optimus Trader includes an approximate liquidity zone detection feature. By identifying recent support and resistance levels, the indicator detects if the price is near these zones. This feature strengthens the relevance of buy or sell signals.
6. Buy and Sell Signals:
- Buy: A buy signal is generated when the indicator detects a bullish *Pin Bar* or *Inside Bar* in an uptrend with high volume, and the price is close to a liquidity zone.
- Sell: A sell signal is generated when a bearish *Pin Bar* or *Inside Bar* is detected in a downtrend with high volume, and the price is near a liquidity zone.
Signal Display:
The signals are visible directly on the chart:
- A "BUY" label in green is displayed below the bar for buy signals.
- A "SELL" label in red is displayed above the bar for sell signals.
Summary:
This indicator is intended for traders seeking precise entry and exit points by integrating trend analysis, volume, and candlestick patterns. With liquidity zones, *Optimus Trader* helps minimize false signals, providing clear and accurate alerts.
---
This description can be directly added to TradingView to help users quickly understand the features and logic of this indicator.
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
ThePawnAlgoThe Pawn Algo is a simple indicator that is useful for scalping in sync with a higher timeframe should only be use in clear trending markets.
What it does and How it does it?
The script is based of a simple pattern close above previous candle high means higher prices we can see it in a green bar. Close below previous candle low means lower prices we can see it in a red bar. Close inside previous candle range means price is going to consolidate do some kind of retracement or reversal we mark it in a black or dark color bar.
It plot an arrow and a liquidity level when it detects a change in sentiment from bullish to bearish or bearish to bullish.
It plot the Higher timeframe previous completed candle range into the selected Lower timeframe to easily see the HTF levels into the lower timeframe.
The HTF range change colors depending of previous HTF candles closes following the same idea, close above previous candle high means green range, close below previous candle low means red range and close inside means a gray range. Finally it plots the 50% of the HTF range and the previous close high and low.
Finally it draws a yellow value zone that is the difference between the previous candle close and 50% of the previous range. This zone is ideal for taking continuation trades in favor of the HTF trend.
How to use it?
You must first select a higher timeframe in minutes in the settings default value is 1440minutes then select a lower timeframe is the maximum timeframe in where the HTF will be visible. Default lower timeframe is 15minutes.
Then just wait for the HTF candle to close and engage in the LTF when price is around the value yellow zone in a premium or discount.
Green arrows are automatically plot when HTF is bullish and Red arrows when is bearish by default. But you can enable or disable the arrow signals liquidity levels or configure as you want. Making all signals visible or just the buys or sells.
The script is useful to easily identify the HTF draw on liquidity and recent key levels and then use the LTF structure to enter.
The indicator can be used to identify liquidity, price will seek this liquidity point sometimes sweep and then continue the move. if the liquidity or stop level is broken with a body is a clear change of direction.
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.
Engulfing with Fibonacci LevelsIndicator Explanation
The indicator identifies bullish and bearish engulfing patterns and plots Fibonacci levels based on these patterns. Here's a detailed explanation of the script:
1. Bullish Engulfing Pattern
A bullish engulfing pattern is identified when:
- The previous candle is bearish (`close < open `).
- The current candle is bullish (`close > open`).
- The low of the current candle is lower than the low of the previous candle (`low < low `).
- The current candle's close is higher than the previous candle's open (`close > open `).
When a bullish engulfing pattern is identified:
- Fibonacci levels are plotted from the low (0%) to the high (100%) of the bullish candle.
- A green dot is plotted below the bullish candle to indicate a buy signal.
2. Bearish Engulfing Pattern
A bearish engulfing pattern is identified when:
- The previous candle is bullish (`close > open `).
- The current candle is bearish (`close < open`).
- The high of the current candle is higher than the high of the previous candle (`high > high `).
- The current candle's close is lower than the previous candle's open (`close < open `).
When a bearish engulfing pattern is identified:
- Fibonacci levels are plotted from the high (0%) to the low (100%) of the bearish candle.
- A red dot is plotted above the bearish candle to indicate a sell signal.
3. Plotting Fibonacci Levels
For both bullish and bearish patterns, Fibonacci levels are plotted at:
- 0% (high for bullish, low for bearish)
- 50%
- 61.8%
- 79%
- 100% (low for bullish, high for bearish)
Smart Money Concept (SMC) Explanation
Bearish Signal
In the context of Smart Money Concepts (SMC), a bearish engulfing pattern can indicate:
- **Buy Side Liquidity Grab**: The high of the current bearish candle goes above the high of the previous bullish candle, potentially grabbing buy-side liquidity (stop losses of short positions or buy stops).
- **Break of Structure (BoS)**: The close of the bearish candle below the open of the previous bullish candle indicates a shift in market structure.
After identifying this bearish engulfing pattern, a smart money trader might:
1. Wait for the market to retrace 50% of the bearish candle.
2. Enter a sell trade around the 50% retracement level, anticipating a continuation of the downward move.
#### Bullish Signal
Similarly, a bullish engulfing pattern can indicate:
- **Sell Side Liquidity Grab**: The low of the current bullish candle goes below the low of the previous bearish candle, potentially grabbing sell-side liquidity (stop losses of long positions or sell stops).
- **Break of Structure (BoS)**: The close of the bullish candle above the open of the previous bearish candle indicates a shift in market structure.
After identifying this bullish engulfing pattern, a smart money trader might:
1. Wait for the market to retrace 50% of the bullish candle.
2. Enter a buy trade around the 50% retracement level, anticipating a continuation of the upward move.
The indicator helps traders identify key engulfing patterns that align with smart money concepts of liquidity grabs and breaks of structure. By plotting Fibonacci levels, it visually aids traders in waiting for optimal retracement levels (50%) to enter trades in the direction of the anticipated move. This approach leverages the idea that significant market participants often seek liquidity and cause structural shifts, providing entry opportunities for informed traders.
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.