Institutional Engine SAFEThis indicator is designed for traders who want to visualize institutional-level market execution patterns across multiple timeframes. It combines high-timeframe trend analysis, liquidity sweeps, fair value gaps (FVG), intermarket divergence (SMT), inverse FVGs, and change-in-state-of-delivery (CSID) to identify high-probability long and short setups.
チャートパターン
Institutional Engine SAFEThe Institutional HTF → LTF Execution Engine is a multi-timeframe trading indicator designed to identify high-probability institutional-level entries by analyzing higher timeframe (HTF) trends and projecting them onto lower timeframe (LTF) charts.
This tool integrates trend analysis, liquidity sweeps, fair value gaps, intermarket divergence, and risk management to provide traders with actionable BUY and SELL signals. It is ideal for day traders, scalpers, and swing traders seeking structured entries aligned with larger market flow.
Crypto Accumulation Candle FinderThis indicator give you long entry signal to dectect MM's entry time.
it's recommended to use it in 5min. time frame.
eBacktesting: MultieBacktesting: Multi is an all-in-one chart toolkit built for structured day-trading study: multi-timeframe levels, “clean” movement zones, session context, bias, candle normalization, gaps, and a powerful alert system — all from one indicator.
What it can show on your chart
1) Multi-timeframe Support/Resistance (S/R) markup
- Detects and plots S/R levels from up to 8 configurable timeframes (mix HTF + LTF).
- Optional labeling styles: Simple, Type (S/R), or Directional.
- Optional price labels next to levels.
- Levels cleanup (decongestion): hides clustered levels to keep the chart readable
- Grouping: can group timeframes that share the same level into a single line.
- Level invalidation: levels can disappear after X passthroughs (with a “getting weaker” dashed style when close to invalidation).
2) Psychological levels (round numbers)
- Automatically draws round-number lines at a practical interval (with optional manual interval control).
- Has smart defaults for common markets (e.g., indices, BTC, metals).
3) Levels heatmap
- Shows level density as shaded “pressure areas”: areas where an agglomeration of S/R levels are present
- Can be simple or persisted (so you can study where price repeatedly reacts)
4) Repeated levels highlight
- Highlights “same area again” levels using a tolerance setting.
- Can require same direction (support with support / resistance with resistance) or allow any direction.
5) LTAs (Low Traffic Areas)
- Marks “air pockets” between levels where price can travel fast.
- Can be built from:
- S/R spacing (between detected levels), or
- Candle sequences (clean directional runs).
- Optional filters:
- By how “untouched” the boundary levels are (passthrough filter)
- By number of candles
- By size (points)
6) Clean zones (candle-based)
- Detects strong same-direction runs and boxes them as “clean zones” for study and backtesting practice.
7) Session Bias
- Computes a bias score from selected timeframes and shows it as a %.
- Can be weighted, inverted weight, or not weighted across timeframes (e.g. HTF candles having more weight towards bias calculation).
- Optional color coded “bias candles” overlay + option to dim weak candles so the signal is clearer.
- Alert when bias flips bullish/bearish/neutral.
8) Candles tools
- Smooth candles: removes candle gaps by drawing candles with open = previous close (useful for price action analysis).
- Ghost current candle: de-emphasizes the still-forming candle until it’s near completion (useful for not going in FOMO).
- Highlight no-wick candles: helps spot strong displacement / clean opens/closes.
- Snap candles: rounds candles to a chosen interval (ATR % or fixed), for cleaner structure reading.
- Optional candle stats: ATR & Average candle size
- Candle score: rates the last candle’s strength (body/wicks/size + context), useful for quick quality checks.
- Gaps: highlights unfilled gaps and optionally removes them once filled.
9) Sessions
- Up to 4 customizable sessions, each with its own color and optional background highlight.
- Option to hide candles outside session hours (great for focused session study).
10) Notifications
- Before session start alerts (X minutes early).
- Before session end alerts (X minutes early).
- Closing beyond detected S/R levels
- Closing beyond custom prices: type your prices (one per line)
- Proximity allowance + “advance notice” option for getting notified 30s/1m/5m before the candle closes based on your preferences
- Timer alerts (“check chart every X minutes”) with a custom message template.
eBacktesting integration (the important part)
This indicator fully integrates with the eBacktesting extension to automatically detect “important moments” during backtesting, so it can auto-pause, tag, and allow you to practice them step-by-step.
- When bias changed
- When a candle closed beyond an automatically detected S/R level
- When a candle closed beyond your custom price
- When new LTAs & clean zones are detected or invalidated
These indicator is built to pair perfectly with the eBacktesting extension, where traders can practice these concepts step-by-step. Backtesting concepts visually like this is one of the fastest ways to learn, build confidence, and improve trading performance.
Educational use only. Not financial advice.
FVG Finder | NRP | ProjectSyndicate🥇 ProjectSyndicate Fair Value Gap (FVG) Finder — Pine Script v6 • NRP Non-Repainting
📌 SMC Imbalance Zones Built for Clean Entries, Targets & Mitigation Tracking
The ProjectSyndicate FVG Finder is a professional TradingView indicator designed for traders who want clean, high-probability Fair Value Gaps price imbalances mapped instantly on-chart—without manual marking or clutter.
Fair Value Gaps form during aggressive displacement when price delivers inefficiently, leaving a void that price often returns to rebalance. This tool helps you spot those zones fast, track whether they’re still fresh, and plan entries with confidence. ✅
________________________________________
🚀 Why Traders Like It
✅ NRP Logic (Non-Repainting): Signals are built to remain stable once confirmed
✅ Real-Time FVG Detection: Automatically identifies bullish + bearish FVG zones as they form
📦 Clean Zone Visualization: Boxed imbalance areas that are easy to trade from
🧹 Auto-Cleanup (Mitigation): Zones update based on your chosen fill rule (Touch / 50% / Full)
🎛️ Anti-Noise Filtering: Minimum size + optional ATR filter to remove weak gaps
⚡ Pine Script v6: Built on the latest TradingView engine for stability and performance
🔔 Alerts + Markers: Get notified when new FVGs print + optional triangle signals
________________________________________
Gold H1 TF active FVGs
Eur Usd M30 TF active FVGs
NQ H1 TF active FVGs
🧠 Detection Logic — Simple, Effective, Battle-Tested
📈 Bullish Fair Value Gap (Demand Imbalance):
A 3-candle imbalance where the low of Candle 3 is above the high of Candle 1
➡️ Signals strong buy-side displacement / inefficient delivery
📉 Bearish Fair Value Gap (Supply Imbalance):
A 3-candle imbalance where the high of Candle 3 is below the low of Candle 1
➡️ Signals strong sell-side displacement / inefficient delivery
________________________________________
🧹 Mitigation Options — Choose How Filled Works
Your strategy decides what counts as used:
👆 Touch: Zone considered mitigated on first interaction
🎯 50% Fill: Mitigated once price fills half the gap
✅ Full Fill: Mitigated only when the entire zone is filled
Optional: Keep mitigated zones visible or hide them for ultra-clean charts.
________________________________________
🛠 Recommended Settings (ATR Multiplier Presets)
Use these as solid starting points on M30 / H1:
•🥇 XAUUSD (Gold) M30/H1: 0.5
•💻 NQ (Nasdaq) M30/H1: 0.25
•🛢️ USOIL M30/H1: 0.25
•₿ BTCUSD M30/H1: 0.25
•💶 EURUSD / GBPUSD M30/H1: 0.25 – 0.50
✅ Other markets are supported too just adjust the ATR Multiplier based on how many signals you want:
•More signals → lower multiplier
•Higher quality → higher multiplier
________________________________________
✅ Best Use-Cases
🎯 Mark imbalance zones instantly without manual drawing
🧲 Wait for price to return to FVG for cleaner entries
🛡️ Use zone boundaries for clear invalidation / stop placement
📊 Combine with trend bias + BOS/CHoCH + premium/discount for higher confirmation
🎯 Use FVGs as both entries and profit targets
________________________________________
⭐ How You Can Support ProjectSyndicate (3 Steps)
1. ✅ Click “Add to Favorites” to save this script to your TradingView Favorites
2. 🔎 Check out our other scripts to complete your SMC toolkit
3. 👤 Follow ProjectSyndicate for the latest updates, upgrades, and new releases
Order Block Finder | Gold | ProjectSyndicate
Breaker Blocks Finder | Gold | ProjectSyndicate
Smart Trader, Episode 02, by Ata Sabanci | Battle of Candles ⚠️ CRITICAL: READ BEFORE USING ⚠️
This indicator is 100% VOLUME-BASED and requires Lower Timeframe (LTF) intrabar data for accurate calculations. Please understand the following limitations before using:
📊 DATA ACCURACY LEVELS:
• 1T (Tick) — Most accurate, real volume distribution per tick
• 1S (1 Second) — Reasonably accurate approximation
• 15S (15 Seconds) — Good approximation, longer historical data available
• 1M (1 Minute) — Rough approximation, maximum historical data range
⚠️ BACKTEST & REPLAY LIMITATIONS:
• Replay mode results may differ from live trading due to data availability
• For longer back test periods, use higher LTF settings (15S or 1M)
• Not all symbols/exchanges support tick-level data
• Crypto and Forex typically have better LTF data availability than stocks
💡 A NOTE ON TOOLS:
Successful trading requires proper tools. Higher TradingView plans provide access to more historical intrabar data, which directly impacts the accuracy of volume-based calculations. More precise volume data leads to more reliable signals. Consider this when evaluating your trading infrastructure.
📌 OVERVIEW
Smart Trader Episode 02: Battle of Candles is an advanced educational indicator that combines multiple analysis engines to help traders identify market scenarios and understand market dynamics. This is NOT financial advice or a trading signal service — it's a learning tool designed to help you understand how institutional traders might interpret price action.
The indicator integrates 7 major analysis engines into a unified dashboard, providing real-time insights into volume flow, trend structure, market phases, and potential trade setups.
⚡ KEY FEATURES
🎯 16-Pattern Scenario Engine
Automatically detects and classifies market conditions into 16 distinct scenarios, from strong continuation moves to potential reversals and traps.
💰 Trade Advisor Panel
Aggregates all signals into actionable suggestions with confidence levels, suggested entry/SL/TP levels, and risk/reward calculations.
📊 Volume Engine
Splits volume into buy/sell components using either Geometry (candle shape) or Intrabar (LTF data) methods for precise delta analysis.
📈 CVD (Cumulative Volume Delta)
Tracks the running total of buying vs selling pressure to identify accumulation, distribution, and divergences.
🎯 Stop-Hunt Detection
Identifies potential stop-hunt patterns where price sweeps liquidity levels before reversing.
📐 Pure Structure Trend Engine
Zero-lag trend detection based on swing highs/lows (HH/HL/LH/LL) without any lagging indicators.
⚡ Effort vs Result Analysis
Measures energy spent (volume) versus ground taken (price movement) to detect stalls, breakthroughs, and exhaustion.
🎯 SCENARIO ENGINE — 16 Market Patterns
The Scenario Engine analyzes multiple factors (candle anatomy, volume, forces, CVD, wick analysis) to classify each candle into one of 16 scenarios:
Continuation Scenarios (1-3)
1. ⚔️ STRONG MOVE — Big body candle (>60%) with volume confirming direction. Indicates strong momentum continuation.
2. 🛡️ ABSORPTION — One side attacks but the other absorbs the pressure. Price holds despite volume. Continuation expected in the absorbing side's favor.
3. 📉 PULLBACK — Small move against the trend with low volume. Indicates a healthy retracement before trend continuation.
Reversal Scenarios (4-6, 13-16)
4. 💥 REJECTION — Big wick (>40%) with small body and high volume. Price was rejected
at a level, potential reversal.
5. 🪤 TRAP — Pin direction disagrees with delta. Extreme wick size. Looks bullish/bearish but the opposite may happen.
6. 😫 EXHAUSTION — High energy spent (volume) but low ground taken (price movement). Both sides active but momentum fading.
13. 🔄 CVD BULL DIV — Price falling but CVD rising. Hidden buying detected (accumulation). Potential bullish reversal.
14. 🔄 CVD BEAR DIV — Price rising but CVD falling. Hidden selling detected (distribution). Potential bearish reversal.
15. 🎯 STOP HUNT BULL — Shorts were liquidated below support. Price swept liquidity and reversed. Expect bullish move.
16. 🎯 STOP HUNT BEAR — Longs were liquidated above resistance. Price swept liquidity and reversed. Expect bearish move.
Range/Stalemate Scenarios (7-9)
7. ⚖️ DEADLOCK — Market in balance. Force ratio between 0.4-0.6. Low volume. No side winning.
8. 🔥 BATTLE — High volume fight in a range. Both sides attacking. Wicks on both ends of candle.
9. 🎯 WAITING — Building phase with quiet volume. Market is preparing but no trigger yet. Wait for breakout.
Pre-Breakout Scenarios (10-12)
10. 🚀 BULL SETUP — Buyers accumulating in a building phase. Positive delta building. Bullish pressure growing.
11. 💣 BEAR SETUP — Sellers distributing in a building phase. Negative delta building. Bearish pressure growing.
12. ⚡ BREAKOUT — Price at boundary with strong candle and volume supporting. Imminent breakout expected.
💰 TRADE ADVISOR ENGINE
The Trade Advisor aggregates all signals from the different engines into a single actionable output. It uses a weighted scoring system:
Scoring Weights:
• Scenario Signal: 30%
• Trend Alignment: 20%
• CVD Momentum: 15% + Divergence Bonus
• Pin Forces: 15%
• Liquidity Sweep: 12%
• Stop-Hunt Detection: 10%
• Effort vs Result: 10%
Possible Actions:
• ⏳ WAIT — Edge not strong enough (stay patient)
• 🟢 LONG ENTRY — Buyers have strong advantage + signals align
• 🔴 SHORT ENTRY — Sellers have strong advantage + signals align
• ⚠️ CLOSE LONG/SHORT — Position at risk (reversal/trend flip)
• 🛑 STOP LOSS — Price hit risk threshold
• 💰 TAKE PROFIT — Target threshold reached
📊 EXTENDED INFO PANEL (Detailed Explanations)
The Extended Info panel is hidden by default (toggle: Show Extended Info in settings). It provides detailed metrics that feed into the main engines:
CVD ANALYSIS
What is CVD?
Cumulative Volume Delta (CVD) is the running total of Buy Volume minus Sell Volume. It reveals the underlying buying/selling pressure that may not be visible in price alone.
CVD Value & Slope:
• ↗ Rising: CVD increasing = net buying pressure (bullish)
• ↘ Falling: CVD decreasing = net selling pressure (bearish)
• → Flat: No clear pressure direction
Accumulation vs Distribution:
• Accumulation %: Shows buying pressure strength (0-100). High accumulation with CVD rising = strong bullish bias.
• Distribution %: Shows selling pressure strength (0-100). High distribution with CVD falling = strong bearish bias.
Divergence Alerts:
• ⚠️ BULLISH DIVERGENCE: Price falling but CVD rising. Hidden buying = potential reversal UP.
• ⚠️ BEARISH DIVERGENCE: Price rising but CVD falling. Hidden selling = potential reversal DOWN.
WICK ANALYSIS
Wick Torque:
Torque measures the "rotational force" from wicks. It's calculated from wick length, volume, and body efficiency.
• Positive Torque (Bullish): Bottom wick power dominates. Buyers defended lower prices.
• Negative Torque (Bearish): Top wick power dominates. Sellers defended higher prices.
• ⚡ High Torque (>30): Strong signal, significant wick rejection occurred.
Stop-Hunt Detection:
The engine detects when price has likely swept stop-losses clustered at key levels:
• Stop Hunt Risk %: Likelihood score (0-100). Above 55% = confirmed hunt.
• "Shorts hunted": Price swept below support, liquidating shorts, expect bounce UP.
• "Longs hunted": Price swept above resistance, liquidating longs, expect drop DOWN.
LIQUIDITY SWEEPS
This section appears only when a liquidity sweep is detected. The engine monitors for price sweeping recent highs/lows and then reversing:
• 🎯 LIQUIDITY SWEPT ABOVE: Price broke recent highs but closed back below. Longs trapped, expect DOWN.
• 🎯 LIQUIDITY SWEPT BELOW: Price broke recent lows but closed back above. Shorts trapped, expect UP.
POWER BALANCE
The Power Balance meter shows the real-time strength comparison between buyers and sellers.
Force Ratio:
• 0% = Complete seller dominance
• 50% = Perfect balance
• 100% = Complete buyer dominance
Visual Bar:
• Left side (▓): Bear territory
• Right side (▓): Bull territory
• The bar is smoothed over recent history to reduce noise.
EFFORT vs RESULT
This section measures the efficiency of price movement relative to volume expended.
Energy:
How much volume was spent relative to the average. Energy > 1.0x means above-average volume activity.
Ground:
How much price movement occurred relative to average range. Ground > 1.0x means above-average price movement.
STALL Warning:
A STALL is detected when high energy is spent but low ground is taken (high effort, low result). This often indicates institutional battle, exhaustion, or imminent reversal.
MARKET PHASE
The Phase Engine classifies the current market regime:
RANGE : No clear trend. Price confined to middle of channel. Low ADX. Balanced forces. Trade breakouts with caution.
BUILDING : Compression/preparation phase. Channel tightening or boundary penetration without follow-through. Watch for breakout direction.
TRENDING : Active directional move. Clear slope, good efficiency, price on trending side of channel. Favor pullback entries.
Strength:
0-100% score combining slope, volume validity, and force/efficiency filters.
Bars: How many candles the current phase has persisted.
TRACK RECORD (Validation Panel)
Enable with Show Validation Panel in settings. This section tracks the historical accuracy of scenario predictions:
Accuracy: Percentage of validated predictions that were correct.
Best/Worst Scenario: Shows which scenarios have the highest and lowest accuracy on the current symbol.
Recent Signals: Last 5 predictions with their outcomes. ✓ = correct, ✗ = wrong, ⏳ = pending validation.
⚙️ SETTINGS GUIDE
📊 Volume Analysis
Volume Calculation: Choose Geometry (estimates from candle shape) or Intrabar (precise LTF data).
Intrabar Resolution: LTF for precise mode. Try 1S, 15S, or 1T. Must be lower than chart timeframe.
History Depth: Candles stored in memory (5-50). Higher = more context, slower.
Memory Lookback: Bars for moving averages and Z-scores (10-100).
🏷️ Market Phase
Range Zone Width: How much of channel center is considered "range" (0.1-0.8).
Trend Sensitivity: Minimum slope to detect trending. Lower = more sensitive.
Min Episode Length: Minimum bars before phase can change. Prevents flickering.
🎯 Scenarios
Min Confidence to Show: Only display scenarios above this confidence level (30-90).
Bars to Validate: How many bars to wait before checking if prediction was correct.
Success Move %: Minimum price movement to consider prediction successful.
💰 Trade Advisor
Min Confidence for Entry: Minimum confidence to suggest a trade entry (50-90).
Default Risk %: Stop loss distance as % of price (0.5-5.0).
Min Risk/Reward: Minimum acceptable R:R ratio (1.0-5.0).
🔔 ALERT CONDITIONS
The indicator provides the following alert conditions you can configure:
• 🟢 LONG Entry Signal
• 🔴 SHORT Entry Signal
• ⚠️ Close LONG Signal
• ⚠️ Close SHORT Signal
• 🛑 STOP LOSS Alert
• 💰 Take Profit Alert
• 🚨 High Urgency Signal
⚠️ IMPORTANT DISCLAIMER
EDUCATIONAL TOOL ONLY
This indicator is designed for educational purposes to help users identify different market scenarios and understand how various signals might be interpreted.
The Trade Advisor is NOT a recommendation to buy, sell, or invest.
• Past performance does not guarantee future results
• All trading involves risk of loss
• The creator is not a licensed financial advisor
• Always do your own research (DYOR)
• Consult a qualified financial advisor before making any investment decisions
By using this indicator, you acknowledge that you understand these risks and accept full responsibility for your trading decisions.
Spring & Upthrust Trap (Zeiierman)█ Overview
Spring & Upthrust Trap (Zeiierman) is a Wyckoff-style “range sweep” indicator that highlights liquidity traps using a simple ZigZag pivot structure. It’s designed to catch the moment price briefly breaks a range boundary to trigger stops, then quickly snaps back into the range (rejection).
⚪ What It Detects
A Spring (Bull) is a downside fakeout. Price sweeps below the range boundary (taking liquidity), then rejects and returns back above the opposite boundary. In other words, it looks bearish for a moment, then flips bullish as the sweep fails.
An Upthrust (Bear) is the upside version. Price sweeps above the range boundary, then rejects and falls back through the opposite boundary. It looks bullish briefly, then flips bearish when that breakout fails.
█ How It Works
⚪ 1) Pivot Extraction (ZigZag Structure)
The script first compresses price into a small set of swing pivots using a ZigZag-style method driven by ZigZag Length. A bar becomes a pivot when it is the highest/lowest point inside the lookback window.
⚪ 2) Pattern Framing (X → A → B → C)
When there are at least four pivots available, the script maps the most recent pivot sequence into four labeled points:
X and A define the range boundaries (the box height is based on |A − X|)
B is the sweep pivot (the “fakeout” that breaks a boundary)
C is the rejection/snapback pivot that confirms the sweep failed
This is the minimum structure needed to define a trap without overfitting.
⚪ 3) Sweep Sizing (Filtering Noise vs Real Sweeps)
Not all boundary breaks are meaningful. The script measures sweep magnitude relative to the range size:
Sweep Fraction: |B − X| / |A − X|
This does two things:
Filters tiny pokes through a boundary (often random noise)
Filters extremely large breaks that are more likely to be true trend continuation rather than a trap
This is controlled by:
Min Sweep (minimum required violation)
Max Sweep (maximum allowed violation)
⚪ 4) Spring vs Upthrust Logic (Directional Trap Detection)
The script then decides which trap is forming:
Spring (Bull)
A downside sweep that fails: price breaks below the boundary, then returns strongly back through the opposite side.
Upthrust (Bear)
An upside sweep that fails: price breaks above the boundary, then returns strongly back through the opposite side.
█ How to Use
⚪ Interpreting a Spring (Bull)
A Spring is best treated as a failed breakdown. The sweep suggests stops were taken under the range, but the snapback implies that the market rejected lower prices.
Common behaviors after a good Spring:
fast reclaim back into the range
retest of the boundary from above (acceptance test)
continuation away from the sweep area if buyers remain in control
⚪ Interpreting an Upthrust (Bear)
An Upthrust is a failed breakout. Stops get taken above the range, but the price cannot hold outside and collapses back into/through the structure.
Common behaviors after a good Upthrust:
rejection wick and rapid return
retest of the boundary from below
continuation downward if sellers remain in control
█ Settings
ZigZag Length – pivot sensitivity. Higher = smoother, fewer signals. Lower = more pivots, more traps.
Show Patterns – detect Springs only, Upthrusts only, or both.
Min Sweep – minimum sweep size relative to range height (filters micro sweeps).
Max Sweep – maximum sweep size relative to range height (filters “real breaks”).
Confirm Pad – extra snapback requirement beyond the boundary (adds confirmation).
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Smart Wedge Pattern [The_lurker]🔺 Smart Wedge Pattern نموذج الوتد الذكي
Advanced & Intelligent Wedge Detection Engine
This is not a traditional indicator that simply draws wedge lines — it is a comprehensive intelligent engine (system) for detecting and analyzing wedge patterns (Rising & Falling Wedge) based on price geometry, market context, and statistical quality of the pattern.
This indicator was designed to address the biggest problems in common wedge indicators:
❌ Too many false patterns
❌ Ignoring prior trend
❌ No real quality assessment for patterns
A comprehensive intelligent system that combines:
Adaptive algorithm that self-calibrates automatically according to market conditions
7 strict validation layers that filter out weak patterns and keep only the highest quality
Quality scoring system that evaluates each pattern from 0 to 100
3D visualization that makes patterns visually clear in an exceptional way
Smart targets based on Fibonacci ratios with real-time achievement tracking
The Result:
➡️ Fewer patterns
➡️ Cleaner, more accurate and reliable signals
➡️ Higher quality
➡️ Real practical use
═════════════════════════════════════════════════════════════
🎯 What Are Wedge Patterns?
1- Falling Wedge — Bullish Reversal Pattern
The falling wedge forms when price moves in a converging downward channel — meaning both the upper resistance line and the lower support line are declining, but the support line declines at a less steep angle, gradually narrowing the channel.
Why does the bullish breakout occur?
Declining highs show continuous selling pressure
But rising lows (P2 < P4) reveal that buyers are entering at higher levels
Convergence indicates decreasing bearish momentum
At a certain point, buying pressure overcomes and the breakout occurs
2- Rising Wedge — Bearish Reversal Pattern
The rising wedge is the exact opposite of the falling wedge — a converging upward channel where both lines rise, but the resistance line rises at a less steep angle.
Why does the bearish breakout occur?
Rising lows show continuous buying pressure
But declining highs (P2 > P4) reveal that sellers are entering at lower levels
Convergence indicates decreasing bullish momentum
At a certain point, selling pressure overcomes and the breakout occurs
═════════════════════════════════════════════════════════════
🧠 Adaptive Pivot System — The Heart of the Smart Indicator
The Problem with Traditional Indicators
Traditional indicators use a fixed value for pivot detection (like 5 bars left and 5 bars right). This means:
In quiet markets → Many delayed signals
In volatile markets → Few missed signals
No adaptation to the nature of each market or timeframe
The Solution: Smart Adaptation Algorithm
The indicator calculates optimal pivot sensitivity on each bar using 5 weighted factors:
Final Score = (Volatility_Score × 0.30) + (Trend_Score × 0.25) +
(Stability_Score × 0.20) + (Percentile_Context × 0.15) +
(Range_Score × 0.10)
Factor Weight How It's Calculated Why It's Important
Volatility Score 30% ATR(10) / ATR(50) Detects sudden changes in volatility
Trend Score 25% ADX(14) / 50 Trending markets need different sensitivity
Stability Score 20% StdDev(ATR) / Mean(ATR) Measures volatility consistency
Percentile Context 15% ATR / Percentile(ATR, 50) Places volatility in historical context
Range Score 10% Current_Range / Average_Range Detects unusual bars
The Result: The indicator uses low sensitivity (fewer, more important pivots) in quiet markets, and high sensitivity (more pivots, faster response) in volatile markets (more accurate pivots = correct geometric patterns).
═════════════════════════════════════════════════════════════
✅ Seven Validation Layers — Why This Indicator Is Different
Every detected pattern passes through 7 strict tests before being displayed:
1- Geometric Structure Validation
Validates:
P1 precedes P2 precedes P3 precedes P4 chronologically
Distance between each two points ≥ minimum threshold
Pattern width (P1→P4) within allowed range
Highs and lows order is correct for the wedge type
2- True Convergence Check
A true wedge must show convergence:
├── Gap at P4 < Gap at P1
├── Convergence ratio = End_Gap / Start_Gap
└── Ratio must be < defined convergence threshold (default 75%)
3- Slope Validation
For Falling Wedge:
├── Resistance line slope < 0 (declining)
├── Support line slope < 0 (declining)
└── Resistance slope < Support slope (convergence)
For Rising Wedge:
├── Resistance line slope > 0 (rising)
├── Support line slope > 0 (rising)
└── Support slope > Resistance slope (convergence)
4- Prior Trend Filter
Reversal patterns need a prior trend to reverse from:
├── Measures price movement during a defined period before P1
├── Normalizes movement using ATR for fair comparison
├── Falling wedge requires prior downtrend
└── Rising wedge requires prior uptrend
5- Channel Respect
Normal mode (close check):
└── Every close between P1 and P4 must be within wedge boundaries
Strict mode (high/low check):
├── Every high must be below resistance line (+ tolerance)
└── Every low must be above support line (- tolerance)
6- Post-P4 Validation
After the fourth point forms:
├── For falling wedge: Price doesn't break support or drop below P4
└── For rising wedge: Price doesn't break resistance or rise above P4
7- Quality Scoring System
Quality = (Convergence_Score × 0.30) + (Slope_Score × 0.25) +
(Width_Score × 0.20) + (Trend_Score × 0.15) +
(Height_Score × 0.10)
├── Convergence Score: More convergence = higher quality
├── Slope Score: Consistency of upper and lower line slopes
├── Width Score: Patterns with 40-100 bar width are ideal
├── Trend Score: Prior trend strength
└── Height Score: Pattern height relative to ATR
═════════════════════════════════════════════════════════════
✅ Pattern Lifecycle Management
The indicator doesn't just draw and disappear — it follows the complete pattern:
Pattern detection
Post-fourth point monitoring
Breakout confirmation
Target calculation
Target achievement tracking
Success or cancellation marking
❌ Pattern is automatically cancelled if:
Breakout fails
Channel is broken in reverse direction
Waiting period exceeded
═════════════════════════════════════════════════════════════
✅ Smart Targets + Success Level
After breakout:
Target is calculated based on pattern height
3 target modes:
Conservative (0.618)
Balanced (1.0)
Aggressive (1.618)
Independent Success level to measure move strength before target
═════════════════════════════════════════════════════════════
🎨 Advanced Visual Display (3D Visualization)
Three-dimensional pattern representation
Visual depth reflecting pattern size
3D target zone
Dynamic colors upon target achievement
🎨 The purpose of 3D is not decoration
But reading the pattern visually with speed and clarity
═════════════════════════════════════════════════════════════
⚙️ Key Features
✅ Automatic wedge detection
✅ Smart filtering reduces false signals
✅ Real quality assessment for each pattern
✅ Realistic and customizable targets
✅ Full support for Rising & Falling Wedge
✅ Works on all markets and timeframes
✅ Professional design and high performance
═════════════════════════════════════════════════════════════
📊 Usage Scenarios
🟢 Scalping
Timeframes: 1–15 minutes
Quality ≥ 60
Conservative targets
🔵 Day Trading
Timeframes: 15m–1h
Quality ≥ 50
Balanced targets
🟣 Swing Trading
Timeframes: 4h–Daily
Quality ≥ 40
Strict channel
Aggressive targets
🟠 Cryptocurrencies
Strict convergence
Strict channel
Quality ≥ 65
═════════════════════════════════════════════════════════════
🔔 Alerts
Falling wedge breakout ⇒ Buy
Rising wedge breakout ⇒ Sell
Any wedge breakout
═════════════════════════════════════════════════════════════
⚠️ Disclaimer
This indicator is for educational and analytical purposes only. It does not represent financial, investment, or trading advice. Use it in conjunction with your own strategy and risk management. Neither TradingView nor the developer is responsible for any financial decisions or losses.
═════════════════════════════════════════════════════════════
🔺 Smart Wedge Pattern نموذج الوتد الذكي
Advanced & Intelligent Wedge Detection Engine
ليس مؤشرًا تقليديًا يرسم خطوط وتد فقط ، بل هو محرك (نظام) ذكي متكامل لاكتشاف وتحليل نماذج الوتد (Rising & Falling Wedge) اعتمادًا على الهندسة السعرية ، السياق السوقي ، والجودة الإحصائية للنموذج.
تم تصميم هذا المؤشر لمعالجة أكبر مشكلة في مؤشرات الوتد الشائعة:
❌ كثرة النماذج الوهمية
❌ تجاهل الاتجاه السابق
❌ عدم وجود تقييم حقيقي لجودة النموذج
نظام ذكي متكامل يجمع بين:
خوارزمية تكيفية تُعاير نفسها تلقائياً حسب ظروف السوق
7 طبقات تحقق صارمة تُصفّي الأنماط الضعيفة وتُبقي فقط الأعلى جودة
نظام تسجيل جودة يُقيّم كل نموذج من 0 إلى 100
تصور ثلاثي الأبعاد يجعل الأنماط واضحة بصرياً بشكل استثنائي
أهداف ذكية مبنية على نسب فيبوناتشي مع تتبع التحقق الآني
النتيجة:
➡️ نماذج أقل
➡️ إشارات أنظف أكثر دقة وموثوقية
➡️ جودة أعلى
➡️ استخدام عملي حقيقي
═════════════════════════════════════════════════════════════
🎯 ما هي نماذج الأوتاد؟
1- الوتد الهابط (Falling Wedge) — نموذج انعكاسي صعودي
الوتد الهابط يتشكل عندما يتحرك السعر في قناة هابطة متقاربة — أي أن خط المقاومة العلوي وخط الدعم السفلي كلاهما يهبطان، لكن خط الدعم يهبط بزاوية أقل حدة، مما يُضيّق القناة تدريجياً.
لماذا يحدث الكسر الصعودي؟
القمم الهابطة تُظهر ضغطاً بيعياً مستمراً
لكن القيعان الصاعدة (P2 < P4) تكشف أن المشترين يدخلون عند مستويات أعلى
التقارب يُشير إلى تناقص الزخم الهبوطي
عند نقطة معينة، يتغلب ضغط الشراء ويحدث الكسر
2- الوتد الصاعد (Rising Wedge) — نموذج انعكاسي هبوطي
الوتد الصاعد هو عكس الهابط تماماً — قناة صاعدة متقاربة حيث يصعد كلا الخطين، لكن خط المقاومة يصعد بزاوية أقل حدة.
لماذا يحدث الكسر الهبوطي؟
القيعان الصاعدة تُظهر ضغطاً شرائياً مستمراً
لكن القمم الهابطة (P2 > P4) تكشف أن البائعين يدخلون عند مستويات أدنى
التقارب يُشير إلى تناقص الزخم الصعودي
عند نقطة معينة، يتغلب ضغط البيع ويحدث الكسر
═════════════════════════════════════════════════════════════
🧠 نظام المحاور التكيفي — قلب المؤشر الذكي
المشكلة مع المؤشرات التقليدية
المؤشرات التقليدية تستخدم قيمة ثابتة لاكتشاف المحاور (مثل 5 شموع يسار و5 شموع يمين). هذا يعني:
في الأسواق الهادئة → إشارات كثيرة ومتأخرة
في الأسواق المتقلبة → إشارات قليلة وضائعة
لا تكيف مع طبيعة كل سوق أو إطار زمني
الحل: خوارزمية التكيف الذكي
المؤشر يحسب حساسية المحور المثلى في كل شمعة باستخدام 5 عوامل مرجحة:
النتيجة النهائية = (درجة_التقلب × 0.30) + (درجة_الاتجاه × 0.25) +
(درجة_الاستقرار × 0.20) + (السياق_المئوي × 0.15) +
(درجة_النطاق × 0.10)
العامل الوزن كيف يُحسب لماذا مهم
درجة التقلب 30% ATR(10) / ATR(50) يكشف التغير المفاجئ في التقلب
درجة الاتجاه 25% ADX(14) / 50 الأسواق الاتجاهية تحتاج حساسية مختلفة
درجة الاستقرار 20% StdDev(ATR) / Mean(ATR) يقيس ثبات التقلب
السياق المئوي 15% ATR / Percentile(ATR, 50) يضع التقلب في سياقه التاريخي
درجة النطاق 10% النطاق_الحالي / متوسط_النطاق يكشف الشموع غير العادية
النتيجة: المؤشر يستخدم حساسية منخفضة (محاور أقل، أكثر أهمية) في الأسواق الهادئة، وحساسية عالية (محاور أكثر، استجابة أسرع) في الأسواق المتقلبة (محاور أدق = نماذج هندسية صحيحة).
═════════════════════════════════════════════════════════════
✅ طبقات التحقق السبع — لماذا هذا المؤشر مختلف
كل نموذج مُكتشف يمر عبر 7 اختبارات صارمة قبل عرضه:
1- التحقق من البنية الهندسية
يتحقق من:
P1 يسبق P2 يسبق P3 يسبق P4 زمنياً
المسافة بين كل نقطتين ≥ الحد الأدنى المحدد
عرض النموذج (P1→P4) ضمن النطاق المسموح
ترتيب القمم والقيعان صحيح حسب نوع الوتد
2- فحص التقارب الحقيقي
الوتد الحقيقي يجب أن يُظهر تقارباً:
├── الفجوة عند P4 < الفجوة عند P1
├── نسبة التقارب = الفجوة_النهائية / الفجوة_الابتدائية
└── النسبة يجب أن تكون < عتبة التقارب المحددة (افتراضي 75%)
3- التحقق من الميل
للوتد الهابط:
├── ميل خط المقاومة < 0 (هابط)
├── ميل خط الدعم < 0 (هابط)
└── ميل المقاومة < ميل الدعم (تقارب)
للوتد الصاعد:
├── ميل خط المقاومة > 0 (صاعد)
├── ميل خط الدعم > 0 (صاعد)
└── ميل الدعم > ميل المقاومة (تقارب)
4- فلتر الاتجاه السابق
النماذج الانعكاسية تحتاج اتجاهاً سابقاً لتنعكس منه:
├── يقيس حركة السعر خلال فترة محددة قبل P1
├── يُطبّع الحركة باستخدام ATR لمقارنة عادلة
├── الوتد الهابط يحتاج اتجاهاً هابطاً سابقاً
└── الوتد الصاعد يحتاج اتجاهاً صاعداً سابقاً
5- احترام القناة
وضع عادي (فحص الإغلاق):
└── كل إغلاق بين P1 و P4 يجب أن يكون داخل حدود الوتد
وضع صارم (فحص القمة/القاع):
├── كل قمة يجب أن تكون تحت خط المقاومة (+ نسبة تسامح)
└── كل قاع يجب أن يكون فوق خط الدعم (- نسبة تسامح)
6- التحقق بعد P4
بعد تشكل النقطة الرابعة:
├── للوتد الهابط: السعر لا يكسر خط الدعم أو ينزل تحت P4
└── للوتد الصاعد: السعر لا يكسر خط المقاومة أو يصعد فوق P4
7- نظام تسجيل الجودة
الجودة = (درجة_التقارب × 0.30) + (درجة_الميل × 0.25) +
(درجة_العرض × 0.20) + (درجة_الاتجاه × 0.15) +
(درجة_الارتفاع × 0.10)
├── درجة التقارب: كلما زاد التقارب، زادت الجودة
├── درجة الميل: تناسق ميل الخطين العلوي والسفلي
├── درجة العرض: الأنماط بعرض 40-100 شمعة مثالية
├── درجة الاتجاه: قوة الاتجاه السابق
└── درجة الارتفاع: ارتفاع النموذج نسبة لـ ATR
═════════════════════════════════════════════════════════════
✅ إدارة دورة حياة النموذج (Pattern Lifecycle)
المؤشر لا يرسم ثم يختفي، بل يتابع النموذج كاملًا:
اكتشاف النموذج
مراقبة ما بعد النقطة الرابعة
تأكيد الاختراق
حساب الهدف
تتبع الوصول للهدف
تمييز النجاح أو الإلغاء
❌ يتم إلغاء النموذج تلقائيًا إذا:
فشل في الاختراق
كُسرت القناة عكسيًا
تجاوز مدة الانتظار المحددة
═════════════════════════════════════════════════════════════
✅ أهداف ذكية + Success Level
بعد الاختراق:
يتم حساب الهدف بناءً على ارتفاع النموذج
3 أوضاع للأهداف:
Conservative (0.618)
Balanced (1.0)
Aggressive (1.618)
مستوى Success مستقل لقياس قوة الحركة قبل الهدف
═════════════════════════════════════════════════════════════
🎨 عرض بصري متقدم (3D Visualization)
تمثيل ثلاثي الأبعاد للنموذج
عمق بصري يعكس حجم النموذج
منطقة هدف ثلاثية الأبعاد
ألوان ديناميكية عند تحقق الهدف
🎨 الهدف من 3D ليس الزينة
بل قراءة النموذج بصريًا بسرعة ووضوح
═════════════════════════════════════════════════════════════
⚙️ أهم المميزات
✅ اكتشاف تلقائي للأوتاد
✅ فلترة ذكية تقلل الإشارات الوهمية
✅ تقييم جودة حقيقي لكل نموذج
✅ أهداف واقعية وقابلة للتخصيص
✅ دعم كامل لـ Rising & Falling Wedge
✅ يعمل على جميع الأسواق والفريمات
✅ تصميم احترافي وأداء عالي
═════════════════════════════════════════════════════════════
📊 سيناريوهات الاستخدام
🟢 المضاربة السريعة
أطر: 1–15 دقيقة
جودة ≥ 60
أهداف محافظة
🔵 التداول اليومي
أطر: 15د–1س
جودة ≥ 50
أهداف متوازنة
🟣 التداول المتأرجح
أطر: 4س–يومي
جودة ≥ 40
قناة صارمة
أهداف عدوانية
🟠 العملات الرقمية
تقارب صارم
قناة صارمة
جودة ≥ 65
═════════════════════════════════════════════════════════════
🔔 التنبيهات
كسر وتد هابط ⇒ شراء
كسر وتد صاعد ⇒ بيع
أي كسر وتد
═════════════════════════════════════════════════════════════
⚠️ إخلاء المسؤولية
هذا المؤشر لأغراض تعليمية وتحليلية فقط. لا يُمثل نصيحة مالية أو استثمارية أو تداولية. استخدمه بالتزامن مع استراتيجيتك الخاصة وإدارة المخاطر. لا يتحمل TradingView ولا المطور مسؤولية أي قرارات مالية أو خسائر.
Gamma Hedging Pressure 🧠 HOW TO USE THIS (TRADING RULES):
🔴 NEGATIVE GAMMA (Red)
✔ Trade breakouts
✔ Hold winners
✔ Avoid fading moves
✔ Best for trend days
🟢 POSITIVE GAMMA (Green)
✔ Trade mean reversion
✔ Fade extremes
✔ Take profits quickly
✔ Best for scalping
⚪ NEUTRAL
❌ Reduce size
❌ Avoid forcing trades
CRE Multi Pair Scanner
✔ 1 lead asset (capital source)
✔ Multiple receiver assets
✔ CRE signal fires per asset
✔ Table + labels show rotation winner
Capital Rotational Event (CRE)What is a Capital Rotational Event (CRE)?
A Capital Rotational Event is when money shifts from one asset to another — e.g., rotation from stocks into bonds, from tech into commodities, or from one sector into another.
In technical terms it typically shows:
✔ Divergence between two asset price series
✔ Relative strength switching direction
✔ Volume/flow confirming rotation
✔ Often precedes trend acceleration in the “receiver” asset
All-in-One SMC: CHOCH | BOS | FVG | OB | LiquidityThis script combines:
BOS (Break of Structure)
CHOCH (Change of Character)
Bullish & Bearish FVGs
Mitigation Order Blocks
Liquidity grabs (equal highs/lows)
Discount / Premium zones (relative to equilibrium)
Sizing Coach HUD Long and Short This HUD is designed as a systematic execution layer to bridge the gap between technical analysis and mechanical risk management. Its primary purpose is to eliminate the "discretionary gap"—the moment where a trader’s "feeling" about volatility or spreads causes hesitation.
By using this tool, you are not just watching price; you are managing a business where Risk is a constant and Size is a variable.
Core Functionality: The Position Sizing Engine
The HUD automates the math of "Capital-Based Tiers". Instead of choosing an arbitrary share size, the system calculates your position based on three predefined levels of conviction:
Tier 1 (1% Notional): Low-confidence or high-volatility "tester" positions.
Tier 2 (3% Notional): Standard, high-probability setups.
Tier 3 (5% Notional): High-conviction trades where multiple timeframes and factors align.
Execution Workflow (The Poka-Yoke)
To use this HUD effectively and eliminate the "hesitation" identified in the Five Whys analysis, follow this workflow:
Toggle Direction: Set the HUD to Long or Short based on your setup (e.g., NEMA Continuation).
Define Invalidation: Identify your technical stop (default is High/Low of Day +/- 5%). The HUD will automatically calculate the distance to this level.
Check Risk $: Observe the Risk $ row. This tells you exactly how much you will lose in dollars if the stop is hit. If the volatility is extreme (like the NASDAQ:SNDK 14% plunge), the HUD will automatically shrink your Shares count to keep this dollar amount constant.
Execute via HUD: Transmit the order using the Shares provided in your selected Tier. Do not manually adjust the size based on "gut feeling".
Trade Management: The "R" Focus
The bottom half of the HUD displays your Targets (PnL / R).
VWAP & Fibonacci Levels: Automatically plots and calculates profit targets at key institutional levels (VWAP, 0.618, 0.786, 0.886).
Binary Exit Logic: The color-coded logic flags any target that yields less than 1R (Reward-to-Risk) as a warning.
Systematic Holding: Ride the trade to the targets or until your technical exit (e.g., 1M candle close above/below NEMA) is triggered, ignoring the fluctuating P&L.
TJR asia session sweep//@version=5
strategy("TJR asia session sweep", "TJR Asia Sweep", overlay=true, max_lines_count=500, max_labels_count=500)
// Input settings
show_asian = input.bool(true, "Show Asian Session", group="Visual Settings")
show_london = input.bool(true, "Show London Session", group="Visual Settings")
show_swing_points = input.bool(true, "Show Asian Swing Points", group="Visual Settings")
show_market_structure = input.bool(true, "Show Market Structure", group="Visual Settings")
show_bos = input.bool(true, "Show Break of Structure", group="Visual Settings")
// Session Time Settings
asian_start_hour_input = input.int(22, "Asian Session Start Hour", minval=0, maxval=23, group="Session Times")
asian_end_hour_input = input.int(3, "Asian Session End Hour", minval=0, maxval=23, group="Session Times")
london_start_hour_input = input.int(3, "London Session Start Hour", minval=0, maxval=23, group="Session Times")
london_end_hour_input = input.int(8, "London Session End Hour", minval=0, maxval=23, group="Session Times")
session_timezone = input.string("America/New_York", "Session Timezone", options= , group="Session Times")
// Risk Management Settings
use_atr_sl = input.bool(false, "Use ATR Multiplier for Stop Loss", group="Risk Management")
atr_length = input.int(14, "ATR Length", minval=1, maxval=50, group="Risk Management")
atr_multiplier = input.float(2.0, "ATR Multiplier for Stop Loss", minval=0.5, maxval=10.0, group="Risk Management")
force_london_close = input.bool(true, "Force Close at London Session End", group="Risk Management")
cutoff_minutes = input.int(60, "Minutes Before Session End to Stop New Trades", minval=0, maxval=300, group="Risk Management")
// Position Sizing Settings
position_sizing_method = input.string("USD Risk", "Position Sizing Method", options= , group="Position Sizing")
usd_risk_per_trade = input.float(100.0, "USD Risk Per Trade", minval=1.0, maxval=10000.0, group="Position Sizing")
fixed_contracts = input.float(1.0, "Fixed Number of Contracts", minval=0.01, maxval=1000.0, step=0.01, group="Position Sizing")
// Color settings
asian_color = input.color(color.red, "Asian Session Color")
london_color = input.color(color.blue, "London Session Color")
swing_high_color = input.color(color.orange, "Swing High Color")
swing_low_color = input.color(color.lime, "Swing Low Color")
bullish_structure_color = input.color(color.green, "Bullish Structure Color")
bearish_structure_color = input.color(color.red, "Bearish Structure Color")
bos_color = input.color(color.orange, "Break of Structure Color")
// Line settings
line_width = input.int(2, "Line Width", minval=1, maxval=5)
// ATR calculation for stop loss
atr = ta.atr(atr_length)
// Position size calculation function
calculate_position_size(entry_price, stop_loss_price) =>
var float position_size = na
if position_sizing_method == "Fixed Contracts"
position_size := fixed_contracts
else // USD Risk method
stop_distance = math.abs(entry_price - stop_loss_price)
if stop_distance > 0
// Calculate position size based on USD risk per trade
// For forex: position_size = risk_amount / (stop_distance * point_value)
// For most forex pairs, point value = 1 (since we're dealing with price differences directly)
position_size := usd_risk_per_trade / stop_distance
else
position_size := fixed_contracts // Fallback to fixed contracts if stop distance is 0
position_size
// Session time definitions (using input variables)
asian_start_hour = asian_start_hour_input
asian_end_hour = asian_end_hour_input
london_start_hour = london_start_hour_input
london_end_hour = london_end_hour_input
// Get current hour using selected timezone
current_hour = hour(time, session_timezone)
// Previous hour for transition detection
prev_hour = hour(time , session_timezone)
// Session transition detection
asian_start = current_hour == asian_start_hour and prev_hour != asian_start_hour
asian_end = current_hour == asian_end_hour and prev_hour != asian_end_hour
london_start = current_hour == london_start_hour and prev_hour != london_start_hour
london_end = current_hour == london_end_hour and prev_hour != london_end_hour
// Session activity detection
asian_active = (current_hour >= asian_start_hour) or (current_hour < asian_end_hour)
london_active = (current_hour >= london_start_hour) and (current_hour < london_end_hour)
// Session boxes - keep previous sessions visible
var box asian_session_box = na
var box london_session_box = na
// Create Asian session box
if show_asian and asian_start
// Create new box at session start (previous box remains visible)
asian_session_box := box.new(bar_index, high, bar_index + 1, low,
border_color=asian_color, bgcolor=color.new(asian_color, 90),
border_width=2, border_style=line.style_solid)
// Pre-calculate session highs and lows for consistency
asian_session_length = asian_active and not na(asian_session_box) ? bar_index - box.get_left(asian_session_box) + 1 : 1
current_asian_high = ta.highest(high, asian_session_length)
current_asian_low = ta.lowest(low, asian_session_length)
// Update Asian session box continuously during session
if show_asian and asian_active and not na(asian_session_box)
box.set_right(asian_session_box, bar_index)
// Update box to contain session highs and lows
box.set_top(asian_session_box, current_asian_high)
box.set_bottom(asian_session_box, current_asian_low)
// Create London session box
if show_london and london_start
// Create new box at session start (previous box remains visible)
london_session_box := box.new(bar_index, high, bar_index + 1, low,
border_color=london_color, bgcolor=color.new(london_color, 90),
border_width=2, border_style=line.style_solid)
// Pre-calculate London session highs and lows for consistency
london_session_length = london_active and not na(london_session_box) ? bar_index - box.get_left(london_session_box) + 1 : 1
current_london_high = ta.highest(high, london_session_length)
current_london_low = ta.lowest(low, london_session_length)
// Update London session box continuously during session
if show_london and london_active and not na(london_session_box)
box.set_right(london_session_box, bar_index)
// Update box to contain session highs and lows
box.set_top(london_session_box, current_london_high)
box.set_bottom(london_session_box, current_london_low)
// Asian Session Swing Points Detection
var float asian_session_high = na
var float asian_session_low = na
var int asian_high_bar = na
var int asian_low_bar = na
// Asian Session Absolute High/Low for TP levels
var float asian_absolute_high = na
var float asian_absolute_low = na
var line asian_high_line = na
var line asian_low_line = na
var label asian_high_label = na
var label asian_low_label = na
var bool high_broken = false
var bool low_broken = false
// London Session High/Low tracking for stop loss
var float london_session_high = na
var float london_session_low = na
// Market structure tracking variables
var string breakout_direction = na // "bullish" or "bearish"
var float last_hh_level = na // Last Higher High level
var float last_hl_level = na // Last Higher Low level
var float last_ll_level = na // Last Lower Low level
var float last_lh_level = na // Last Lower High level
var int structure_count = 0
var string last_structure_type = na // "HH", "HL", "LL", "LH"
// Legacy variables for compatibility
var float last_swing_high = na
var float last_swing_low = na
var int last_high_bar = na
var int last_low_bar = na
// Market structure state tracking
var float pending_high = na
var float pending_low = na
var int pending_high_bar = na
var int pending_low_bar = na
var bool waiting_for_confirmation = false
// Break of Structure tracking variables
var float most_recent_hl = na
var float most_recent_lh = na
var int most_recent_hl_bar = na
var int most_recent_lh_bar = na
var bool bos_detected = false
// Trading variables
var bool trade_taken = false
// Trade visualization boxes (based on Casper strategy approach)
var box current_profit_box = na
var box current_sl_box = na
// Update swing points during Asian session
if asian_active and show_swing_points
// Always track absolute high/low for both TP levels and breakout detection
if na(asian_absolute_high) or high > asian_absolute_high
asian_absolute_high := high
if na(asian_absolute_low) or low < asian_absolute_low
asian_absolute_low := low
// Use absolute high/low for breakout levels (simplified logic)
if na(asian_session_high) or high > asian_session_high
asian_session_high := high
asian_high_bar := bar_index
if na(asian_session_low) or low < asian_session_low
asian_session_low := low
asian_low_bar := bar_index
// Track London session high/low for stop loss levels
if london_active
if na(london_session_high) or high > london_session_high
london_session_high := high
if na(london_session_low) or low < london_session_low
london_session_low := low
// Draw initial lines when Asian session ends
if asian_end and show_swing_points
if not na(asian_session_high) and not na(asian_high_bar)
// Draw extending line for high
asian_high_line := line.new(asian_high_bar, asian_session_high, bar_index + 200, asian_session_high,
color=swing_high_color, width=2, style=line.style_dashed, extend=extend.right)
asian_high_label := label.new(bar_index + 5, asian_session_high, "Asian High: " + str.tostring(asian_session_high, "#.####"), style=label.style_label_left, color=swing_high_color, textcolor=color.white, size=size.small)
if not na(asian_session_low) and not na(asian_low_bar)
// Draw extending line for low
asian_low_line := line.new(asian_low_bar, asian_session_low, bar_index + 200, asian_session_low,
color=swing_low_color, width=2, style=line.style_dashed, extend=extend.right)
asian_low_label := label.new(bar_index + 5, asian_session_low, "Asian Low: " + str.tostring(asian_session_low, "#.####"), style=label.style_label_left, color=swing_low_color, textcolor=color.white, size=size.small)
// Reset break flags for new session
high_broken := false
low_broken := false
// Check for breakouts during London session
if london_active and show_swing_points and not na(asian_session_high) and not na(asian_session_low)
// Check if Asian high is broken
if not high_broken and not low_broken and high > asian_session_high
high_broken := true
// Update high line to end at break point
if not na(asian_high_line)
line.set_x2(asian_high_line, bar_index)
line.set_extend(asian_high_line, extend.none)
// Remove the low line (first break wins)
if not na(asian_low_line)
line.delete(asian_low_line)
if not na(asian_low_label)
label.delete(asian_low_label)
// Add break marker
label.new(bar_index, asian_session_high * 1.001, "HIGH BREAK!",
style=label.style_label_down, color=color.red, textcolor=color.white, size=size.normal)
// Set breakout direction and initialize structure tracking
breakout_direction := "bullish"
last_swing_high := asian_session_high
last_swing_low := asian_session_low
last_high_bar := bar_index
structure_count := 0
// Check if Asian low is broken
if not low_broken and not high_broken and low < asian_session_low
low_broken := true
// Update low line to end at break point
if not na(asian_low_line)
line.set_x2(asian_low_line, bar_index)
line.set_extend(asian_low_line, extend.none)
// Remove the high line (first break wins)
if not na(asian_high_line)
line.delete(asian_high_line)
if not na(asian_high_label)
label.delete(asian_high_label)
// Add break marker
label.new(bar_index, asian_session_low * 0.999, "LOW BREAK!",
style=label.style_label_up, color=color.red, textcolor=color.white, size=size.normal)
// Set breakout direction and initialize structure tracking
breakout_direction := "bearish"
last_swing_high := asian_session_high
last_swing_low := asian_session_low
last_low_bar := bar_index
structure_count := 0
// Stop extending lines when London session ends (if not already broken)
if london_end and show_swing_points
if not high_broken and not na(asian_high_line)
line.set_x2(asian_high_line, bar_index)
line.set_extend(asian_high_line, extend.none)
if not low_broken and not na(asian_low_line)
line.set_x2(asian_low_line, bar_index)
line.set_extend(asian_low_line, extend.none)
// Force close all trades at London session end (if enabled)
if london_end and force_london_close
if strategy.position_size != 0
// Extend boxes immediately before session close to prevent timing issues
if not na(current_profit_box)
// Ensure minimum 8 bars width or extend to current bar, whichever is longer
box_left = box.get_left(current_profit_box)
min_right = box_left + 8
final_right = math.max(min_right, bar_index)
box.set_right(current_profit_box, final_right)
current_profit_box := na // Clear reference after extending
if not na(current_sl_box)
// Ensure minimum 8 bars width or extend to current bar, whichever is longer
box_left = box.get_left(current_sl_box)
min_right = box_left + 8
final_right = math.max(min_right, bar_index)
box.set_right(current_sl_box, final_right)
current_sl_box := na // Clear reference after extending
strategy.close_all(comment="London Close")
trade_taken := false // Reset trade flag for next session
// Market structure detection after breakout (only during London session and before first BoS)
if show_market_structure and not na(breakout_direction) and london_active and not bos_detected
// Bullish structure tracking (HH, HL alternating)
if breakout_direction == "bullish"
// Check for Higher High pattern: Bullish candle followed by bearish candle
pattern_high = math.max(high , high)
prev_hh = na(last_hh_level) ? last_swing_high : last_hh_level
// HH Detection: Only if we expect HH next (no last structure or last was HL)
if (na(last_structure_type) or last_structure_type == "HL") and close > open and close < open and pattern_high > prev_hh and close > prev_hh
// Check consolidation
is_too_close = not na(last_high_bar) and (bar_index - last_high_bar) <= 4
should_create_hh = true
if is_too_close and structure_count > 0 and pattern_high <= last_hh_level
should_create_hh := false
if should_create_hh
structure_count := structure_count + 1
label.new(bar_index - 1, high + (high * 0.0003), "HH" + str.tostring(structure_count),
style=label.style_none, color=color.new(color.white, 100),
textcolor=color.white, size=size.small)
last_hh_level := pattern_high
last_swing_high := pattern_high
last_high_bar := bar_index
last_structure_type := "HH"
// HL Detection: Only if we expect HL next (last was HH)
pattern_low = math.min(low , low)
prev_hl = na(last_hl_level) ? last_swing_low : last_hl_level
if last_structure_type == "HH" and close < open and close > open and pattern_low > prev_hl and close > prev_hl
// Check consolidation
is_too_close = not na(last_low_bar) and (bar_index - last_low_bar) <= 4
should_create_hl = true
if is_too_close and pattern_low <= last_hl_level
should_create_hl := false
if should_create_hl
structure_count := structure_count + 1
label.new(bar_index - 1, low - (low * 0.0003), "HL" + str.tostring(structure_count),
style=label.style_none, color=color.new(color.white, 100),
textcolor=color.white, size=size.small)
last_hl_level := pattern_low
most_recent_hl := pattern_low // Update most recent HL for BoS detection
most_recent_hl_bar := bar_index - 1 // Store HL bar position
last_low_bar := bar_index
last_structure_type := "HL"
// Bearish structure tracking (LL, LH alternating)
if breakout_direction == "bearish"
// Check for Lower Low pattern: Bearish candle followed by bullish candle
pattern_low = math.min(low , low)
prev_ll = na(last_ll_level) ? last_swing_low : last_ll_level
// LL Detection: Only if we expect LL next (no last structure or last was LH)
if (na(last_structure_type) or last_structure_type == "LH") and close < open and close > open and pattern_low < prev_ll and close < prev_ll
// Check consolidation
is_too_close = not na(last_low_bar) and (bar_index - last_low_bar) <= 4
should_create_ll = true
if is_too_close and structure_count > 0 and pattern_low >= last_ll_level
should_create_ll := false
if should_create_ll
structure_count := structure_count + 1
label.new(bar_index - 1, low - (low * 0.0003), "LL" + str.tostring(structure_count),
style=label.style_none, color=color.new(color.white, 100),
textcolor=color.white, size=size.small)
last_ll_level := pattern_low
last_swing_low := pattern_low
last_low_bar := bar_index
last_structure_type := "LL"
// LH Detection: Only if we expect LH next (last was LL)
pattern_high = math.max(high , high)
prev_lh = na(last_lh_level) ? last_swing_high : last_lh_level
if last_structure_type == "LL" and close > open and close < open and pattern_high < prev_lh and close < prev_lh
// Check consolidation
is_too_close = not na(last_high_bar) and (bar_index - last_high_bar) <= 4
should_create_lh = true
if is_too_close and pattern_high >= last_lh_level
should_create_lh := false
if should_create_lh
structure_count := structure_count + 1
label.new(bar_index - 1, high + (high * 0.0003), "LH" + str.tostring(structure_count),
style=label.style_none, color=color.new(color.white, 100),
textcolor=color.white, size=size.small)
last_lh_level := pattern_high
most_recent_lh := pattern_high // Update most recent LH for BoS detection
most_recent_lh_bar := bar_index - 1 // Store LH bar position
last_high_bar := bar_index
last_structure_type := "LH"
// Check if we're within the cutoff period before London session end
current_minute = minute(time, session_timezone)
london_end_time_minutes = london_end_hour * 60 // Convert London end hour to minutes
current_time_minutes = current_hour * 60 + current_minute // Current time in minutes
// Calculate minutes remaining in London session
london_session_minutes_remaining = london_end_time_minutes - current_time_minutes
// Handle day rollover case (e.g., if london_end is 8:00 (480 min) and current is 23:30 (1410 min))
if london_session_minutes_remaining < 0
london_session_minutes_remaining := london_session_minutes_remaining + (24 * 60) // Add 24 hours in minutes
// Only allow trades if more than cutoff_minutes remaining in London session
allow_new_trades = london_session_minutes_remaining > cutoff_minutes
// Break of Structure (BoS) Detection and Trading Logic - Only first BoS per London session and outside cutoff period
if show_bos and london_active and show_market_structure and not bos_detected and not trade_taken and allow_new_trades
// Bullish BoS: Price closes below the most recent HL (after bullish breakout) - SELL SIGNAL
if breakout_direction == "bullish" and not na(most_recent_hl) and not na(most_recent_hl_bar)
// Check minimum distance requirement (at least 4 candles between BoS and HL)
if close < most_recent_hl and (bar_index - most_recent_hl_bar) >= 4
// Draw dotted line from HL position to BoS point
line.new(most_recent_hl_bar, most_recent_hl, bar_index, most_recent_hl,
color=bos_color, width=2, style=line.style_dotted, extend=extend.none)
// Calculate center position for BoS label
center_bar = math.round((most_recent_hl_bar + bar_index) / 2)
// Draw BoS label below the line for HL break
label.new(center_bar, most_recent_hl - (most_recent_hl * 0.0005), "BoS",
style=label.style_none, color=color.new(color.white, 100),
textcolor=bos_color, size=size.normal)
// SELL ENTRY
if not na(london_session_high) and not na(asian_absolute_low)
// Calculate stop loss based on settings
stop_loss_level = use_atr_sl ? close + (atr * atr_multiplier) : london_session_high
take_profit_level = asian_absolute_low
entry_price = close
// Calculate position size based on user settings
position_size = calculate_position_size(entry_price, stop_loss_level)
strategy.entry("SELL", strategy.short, qty=position_size, comment="BoS Sell")
strategy.exit("SELL EXIT", "SELL", stop=stop_loss_level, limit=take_profit_level, comment="SL/TP")
// Create trade visualization boxes (TradingView style) - minimum 8 bars width
// Blue profit zone box (from entry to take profit)
current_profit_box := box.new(left=bar_index, top=take_profit_level, right=bar_index + 8, bottom=entry_price,
bgcolor=color.new(color.blue, 70), border_width=0)
// Red stop loss zone box (from entry to stop loss)
current_sl_box := box.new(left=bar_index, top=entry_price, right=bar_index + 8, bottom=stop_loss_level,
bgcolor=color.new(color.red, 70), border_width=0)
trade_taken := true
bos_detected := true // Mark BoS as detected for this session
// Bearish BoS: Price closes above the most recent LH (after bearish breakout) - BUY SIGNAL
if breakout_direction == "bearish" and not na(most_recent_lh) and not na(most_recent_lh_bar)
// Check minimum distance requirement (at least 4 candles between BoS and LH)
if close > most_recent_lh and (bar_index - most_recent_lh_bar) >= 4
// Draw dotted line from LH position to BoS point
line.new(most_recent_lh_bar, most_recent_lh, bar_index, most_recent_lh,
color=bos_color, width=1, style=line.style_dotted, extend=extend.none)
// Calculate center position for BoS label
center_bar = math.round((most_recent_lh_bar + bar_index) / 2)
// Draw BoS label above the line for LH break
label.new(center_bar, most_recent_lh + (most_recent_lh * 0.0005), "BoS",
style=label.style_none, color=color.new(color.white, 100),
textcolor=bos_color, size=size.normal)
// BUY ENTRY
if not na(london_session_low) and not na(asian_absolute_high)
// Calculate stop loss based on settings
stop_loss_level = use_atr_sl ? close - (atr * atr_multiplier) : london_session_low
take_profit_level = asian_absolute_high
entry_price = close
// Calculate position size based on user settings
position_size = calculate_position_size(entry_price, stop_loss_level)
strategy.entry("BUY", strategy.long, qty=position_size, comment="BoS Buy")
strategy.exit("BUY EXIT", "BUY", stop=stop_loss_level, limit=take_profit_level, comment="SL/TP")
// Create trade visualization boxes (TradingView style) - minimum 8 bars width
// Blue profit zone box (from entry to take profit)
current_profit_box := box.new(left=bar_index, top=entry_price, right=bar_index + 8, bottom=take_profit_level,
bgcolor=color.new(color.blue, 70), border_width=0)
// Red stop loss zone box (from entry to stop loss)
current_sl_box := box.new(left=bar_index, top=stop_loss_level, right=bar_index + 8, bottom=entry_price,
bgcolor=color.new(color.red, 70), border_width=0)
trade_taken := true
bos_detected := true // Mark BoS as detected for this session
// Position close detection for extending boxes (based on Casper strategy)
if barstate.isconfirmed and strategy.position_size == 0 and strategy.position_size != 0
// Extend trade visualization boxes to exact exit point when position closes
if not na(current_profit_box)
// Ensure minimum 8 bars width or extend to current bar, whichever is longer
box_left = box.get_left(current_profit_box)
min_right = box_left + 8
final_right = math.max(min_right, bar_index)
box.set_right(current_profit_box, final_right)
current_profit_box := na // Clear reference after extending
if not na(current_sl_box)
// Ensure minimum 8 bars width or extend to current bar, whichever is longer
box_left = box.get_left(current_sl_box)
min_right = box_left + 8
final_right = math.max(min_right, bar_index)
box.set_right(current_sl_box, final_right)
current_sl_box := na // Clear reference after extending
// Backup safety check - extend boxes if position is closed but boxes still active
if not na(current_profit_box) and strategy.position_size == 0
box_left = box.get_left(current_profit_box)
min_right = box_left + 8
final_right = math.max(min_right, bar_index)
box.set_right(current_profit_box, final_right)
current_profit_box := na
if not na(current_sl_box) and strategy.position_size == 0
box_left = box.get_left(current_sl_box)
min_right = box_left + 8
final_right = math.max(min_right, bar_index)
box.set_right(current_sl_box, final_right)
current_sl_box := na
// Reset everything when new Asian session starts
if asian_start and show_swing_points
asian_session_high := na
asian_session_low := na
asian_high_bar := na
asian_low_bar := na
// Reset absolute levels
asian_absolute_high := na
asian_absolute_low := na
asian_high_line := na
asian_low_line := na
asian_high_label := na
asian_low_label := na
high_broken := false
low_broken := false
// Reset London session levels
london_session_high := na
london_session_low := na
// Reset market structure tracking
breakout_direction := na
last_hh_level := na
last_hl_level := na
last_ll_level := na
last_lh_level := na
last_swing_high := na
last_swing_low := na
last_high_bar := na
last_low_bar := na
structure_count := 0
last_structure_type := na
pending_high := na
pending_low := na
pending_high_bar := na
pending_low_bar := na
waiting_for_confirmation := false
// Reset BoS tracking
most_recent_hl := na
most_recent_lh := na
most_recent_hl_bar := na
most_recent_lh_bar := na
bos_detected := false
// Reset trading
trade_taken := false
// Reset current trade boxes
current_profit_box := na
current_sl_box := na
// Debug info (optional)
show_debug = input.bool(false, "Show Debug Info")
if show_debug
var table debug_table = table.new(position.top_right, 2, 3, bgcolor=color.white, border_width=1)
if barstate.islast
table.cell(debug_table, 0, 0, "Current Hour:", text_color=color.black)
table.cell(debug_table, 1, 0, str.tostring(current_hour), text_color=color.black)
table.cell(debug_table, 0, 1, "Asian Active:", text_color=color.black)
table.cell(debug_table, 1, 1, str.tostring((current_hour >= asian_start_hour) or (current_hour < asian_end_hour)), text_color=color.black)
table.cell(debug_table, 0, 2, "London Active:", text_color=color.black)
table.cell(debug_table, 1, 2, str.tostring((current_hour >= london_start_hour) and (current_hour < london_end_hour)), text_color=color.black)
Multi TF Volume ATRThis indicator measures volatility using ATR applied to volume across multiple timeframes. It helps identify when real momentum enters the market by showing volume spikes on 1h, 4h, 12h, and Daily charts. When several timeframes spike at the same time, it often signals strong moves, breakouts, or major shifts in volatility.
The script calculates Volume ATR for 1h, 4h, 12h, and 1D. Each timeframe generates its own spike condition. The indicator then checks for alignment between timeframes. The 1h histogram changes color based on the strength of the signal.
Red means multi timeframe alignment. This is the strongest signal and shows that several timeframes are spiking together.
Yellow means a 1h spike only. This is an early warning of local volatility.
Blue means no spike.
The indicator also plots higher timeframe ATR lines for context. These include 4h ATR, 12h ATR, and 1D ATR. When these lines rise together, volatility is building. Spike markers appear at the top of the pane when higher timeframes trigger.
You can choose how strict the alignment should be. Options include all three timeframes (1h, 4h, 12h), at least two timeframes, or including the daily timeframe for even stronger confirmation.
The script includes alert conditions for 1h spikes, multi timeframe alignment spikes, and daily spikes. These alerts help you stay ahead of volatility without watching charts constantly.
This indicator is useful for many trading styles. Breakout traders use red bars to confirm momentum. Mean reversion traders use daily spikes to confirm volatility conditions. Trend traders watch rising 4h and 12h ATR lines. Scalpers use yellow bars as early warnings.
Volume ATR shows how quickly volume is expanding. When several timeframes spike together, it often signals institutional activity, liquidity events, volatility shifts, breakouts, or reversals. This provides information that price alone cannot show.
BULLISH!! Low High Range Options HelperThis indicator is designed for range-based options trading, where price tends to rotate between a defined low and high rather than trend continuously. Its purpose is not to tell you what to trade, but to provide context for timing, specifically answering the question: if price is at a discount here, how much time should an option realistically have?
The script identifies a recent price range and plots three key levels. The range high represents the upper boundary of recent price action and often acts as a take-profit or resistance area. The range mid is the 50 percent equilibrium of the range and is intended as a confirmation level rather than an entry signal. The range low represents the discount zone, where risk is best defined for bullish options trades. This is the only area where options guidance is displayed.
When price touches the range low, the indicator calculates how long similar range rotations have taken in the past, adjusts that timing to the current chart timeframe, and applies a safety factor to reduce the risk of under-timing an options position. It then displays a suggested days-to-expiration label, such as 3 DTE, 4 DTE, 5 DTE, 6 DTE, 7 DTE, 10 DTE, or 14 plus. Shorter DTE values reflect faster expected rotations, while longer DTE values reflect slower, choppier, or more uncertain conditions. The goal is to help avoid the common mistake of buying options that do not have enough time to work.
A typical way to use this tool is to identify a clearly defined range, wait for price to reach the range low, note the DTE guidance shown on the chart, then wait for confirmation such as a reclaim of the range midpoint before considering a trade. Risk can then be managed with the range structure in mind, often targeting the range high in rotational environments. The indicator is most effective in sideways or mean-reverting markets rather than strong trends.
This script does not place trades, predict direction, or guarantee outcomes. It does not account for news events, earnings, implied volatility changes, or broader macro conditions. It is intended as a contextual tool to support disciplined decision-making, not as a standalone trading system.
Always trade smart. Manage position size, define risk before entering a trade, and avoid over-leveraging short-dated options. The objective is not to predict the market, but to consistently align price structure with realistic time expectations.
30d Rolling TWAP (Hourly)code:
//@version=5
indicator("30d Rolling TWAP (Hourly)", overlay=true)
// Calculation: (High + Low + Close) / 3
typicalPrice = hlc3
// 30 days * 24 hours = 720 bars
length = 720
twap30 = ta.sma(typicalPrice, length)
// Plotting
plot(twap30, color=color.new(#2962FF, 0), title="30d Hourly TWAP", linewidth=2)
// Optional: Background highlight
fillColor = close > twap30 ? color.new(color.green, 90) : color.new(color.red, 90)
bgcolor(fillColor)
SA Range Rank WMT DAY 1.13.2026 PM SESSIONDAILY — PREPARE / POSITION MODE
Developer Note: Bias & Position Framing
This daily view is preparatory, not executable.
The purpose of the Daily timeframe is to define directional bias, not entries.
It helps frame which side of the market deserves attention and which activity should be ignored.
The goal here is context, not action.
________________________________________
Purpose on Daily
The Daily timeframe is used to:
• Define directional bias for the week
• Prepare position-building zones
• Identify environments where participation is unnecessary or elevated-risk
• Reduce overtrading by narrowing focus
Daily charts answer one question only:
“If I participate this week, which side makes sense?”
________________________________________
What Matters Most (Public View)
SA Range Indicator (RI):
→ Is the market transitioning or trending?
→ Is energy building, releasing, or rotating?
SA ZoneEngine (visual context only):
→ Are daily moves aligned with higher-timeframe structure?
→ Is price operating with or against dominant bias?
These visuals explain environment, not decisions.
________________________________________
How to Interpret Public Daily Posts
• Daily is not timing
• Daily is not execution
• Daily is not a signal
Daily charts prepare the trader mentally and structurally by clarifying:
• what deserves patience
• what deserves caution
• what deserves no attention at all
________________________________________
Messaging Line
“Daily charts prepare the trade — they don’t execute it.”
________________________________________
SEO Intent
daily equity bias, position preparation, market structure analysis
________________________________________
🤝 For Those Who Find Value
If these daily posts help you see the market more clearly:
• Follow, boost, and share my scripts, Ideas, and MINDS posts
• Feel free to message me directly with questions or build requests
• Constructive feedback and collaboration are always welcome
For traders who want to go deeper, optional memberships may include:
• Additional signal access
• Early previews
• Occasional free tools and upgrades
🔗 Membership & Signals
trianchor.gumroad.com
________________________________________
________________________________________
⏱ 15-MIN — PREPARE / POSITION MODE
Developer Note: Setup Formation Phase
The 15-minute timeframe is where setups begin to form, not where they are acted on.
This view exists to separate developing structure from noise.
________________________________________
Purpose on 15-Minute
The 15-minute timeframe is used to:
• Spot trap-prone conditions
• Identify developing structure
• Observe compression, rotation, or early expansion
• Prepare for execution — without acting
This timeframe answers a different question:
“Is something forming — or is this noise?”
________________________________________
What Matters Most (Public View)
SA Range Indicator (RI):
→ Compression → expansion transitions
→ Energy buildup vs premature release
SA CloudRegimes (visual only):
→ Whether price behavior reflects continuation, pullback, or contraction
→ Whether movement is controlled or impulsive
These visuals describe behavior, not entries.
________________________________________
How to Interpret Public 15-Minute Posts
• 15m is setup formation
• 15m is environmental awareness
• 15m is not execution
Most errors occur when traders act before structure has finished forming.
This timeframe exists to slow that impulse down.
________________________________________
Messaging Line
“Preparation happens before the move — not during it.”
________________________________________
SEO Intent
15 minute futures setup, market preparation, stop hunt behavior
________________________________________
🤝 For Those Who Find Value
If these posts help you better recognize developing structure:
• Follow, boost, and share my scripts, Ideas, and MINDS posts
• Feel free to message me directly with questions or build requests
• Constructive feedback and collaboration are always welcome
For traders who want to go deeper, optional memberships may include:
• Additional signal access
• Early previews
• Occasional free tools and upgrades
🔗 Membership & Signals
trianchor.gumroad.com
Daily (D) — Swing Bias / “This is the side that has permission”
Goal: Define swing participation: are we in a supported trend or mean-revert risk?
How to use:
• Daily RECLAIM = “permission restored” after a shock move / trend resumption.
• Use it to decide:
Hold adds / reduce hedges / stop fighting direction.
Best use case:
• After earnings/news displacement days
• After large liquidation candles
• After a major gap day
Settings:
• dispMult 1.1–1.5
• reclaimWindow 12–25
• cooldown 6–12
🔵 DAILY — Swing Environment & Risk Framing
1️⃣ Range Indicator (RI)
• Compression → swing expansion likely
• Expansion → continuation or exhaustion
Use:
Tells you whether to expect patience or momentum.
________________________________________
2️⃣ ZoneEngine (Structure)
• Confirms whether daily swings align with higher bias
• Filters false daily breakouts
Use:
Only trust daily moves that occur inside structure.
________________________________________
3️⃣ Cloud / Reclaim (Behavior)
• Trend Clouds → continuation environment
• Pullback Clouds → reload or fade zones
• Reclaim shows acceptance back into value
Use:
Distinguishes real pullbacks from traps.
________________________________________
4️⃣ Stop-Hunt Proxy
• Clears weak swing participants
• Often precedes continuation when aligned
Use:
Stop-hunt + compression + trend cloud = swing continuation context.
SA Range Rank NQ 1.13.2026 PM SESSION15 MINUTE — PREPARE / POSITION MODE
Developer Note: Bias & Position Framing
This daily view is preparatory, not executable.
The purpose of the Daily timeframe is to define directional bias, not entries.
It helps frame which side of the market deserves attention and which activity should be ignored.
The goal here is context, not action.
________________________________________
Purpose on Daily
The Daily timeframe is used to:
• Define directional bias for the week
• Prepare position-building zones
• Identify environments where participation is unnecessary or elevated-risk
• Reduce overtrading by narrowing focus
Daily charts answer one question only:
“If I participate this week, which side makes sense?”
________________________________________
What Matters Most (Public View)
SA Range Indicator (RI):
→ Is the market transitioning or trending?
→ Is energy building, releasing, or rotating?
SA ZoneEngine (visual context only):
→ Are daily moves aligned with higher-timeframe structure?
→ Is price operating with or against dominant bias?
These visuals explain environment, not decisions.
________________________________________
How to Interpret Public Daily Posts
• Daily is not timing
• Daily is not execution
• Daily is not a signal
Daily charts prepare the trader mentally and structurally by clarifying:
• what deserves patience
• what deserves caution
• what deserves no attention at all
________________________________________
Messaging Line
“Daily charts prepare the trade — they don’t execute it.”
________________________________________
SEO Intent
daily equity bias, position preparation, market structure analysis
________________________________________
🤝 For Those Who Find Value
If these daily posts help you see the market more clearly:
• Follow, boost, and share my scripts, Ideas, and MINDS posts
• Feel free to message me directly with questions or build requests
• Constructive feedback and collaboration are always welcome
For traders who want to go deeper, optional memberships may include:
• Additional signal access
• Early previews
• Occasional free tools and upgrades
🔗 Membership & Signals
trianchor.gumroad.com
________________________________________
________________________________________
⏱ 15-MIN — PREPARE / POSITION MODE
Developer Note: Setup Formation Phase
The 15-minute timeframe is where setups begin to form, not where they are acted on.
This view exists to separate developing structure from noise.
________________________________________
Purpose on 15-Minute
The 15-minute timeframe is used to:
• Spot trap-prone conditions
• Identify developing structure
• Observe compression, rotation, or early expansion
• Prepare for execution — without acting
This timeframe answers a different question:
“Is something forming — or is this noise?”
________________________________________
What Matters Most (Public View)
SA Range Indicator (RI):
→ Compression → expansion transitions
→ Energy buildup vs premature release
SA CloudRegimes (visual only):
→ Whether price behavior reflects continuation, pullback, or contraction
→ Whether movement is controlled or impulsive
These visuals describe behavior, not entries.
________________________________________
How to Interpret Public 15-Minute Posts
• 15m is setup formation
• 15m is environmental awareness
• 15m is not execution
Most errors occur when traders act before structure has finished forming.
This timeframe exists to slow that impulse down.
________________________________________
Messaging Line
“Preparation happens before the move — not during it.”
________________________________________
________________________________________
🤝 For Those Who Find Value
If these posts help you better recognize developing structure:
• Follow, boost, and share my scripts, Ideas, and MINDS posts
• Feel free to message me directly with questions or build requests
• Constructive feedback and collaboration are always welcome
For traders who want to go deeper, optional memberships may include:
• Additional signal access
• Early previews
• Occasional free tools and upgrades
🔗 Membership & Signals
trianchor.gumroad.com
15 Minute (15m) — Tactical Entry Alignment / “Permission + Timing”
Goal: Convert higher-timeframe permission into tradable timing.
How to use:
• Trade the first clean reclaim after a pullback.
• Avoid taking a reclaim if price is already extended far beyond the wake edge (late reclaim).
Best conditions:
• Works extremely well when:
o 1H agrees
o session structure is active (open/close windows)
o reclaim occurs near VWAP or a key level you already respect
Settings:
• dispMult 0.75–1.05
• reclaimWindow 6–14
• cooldown 3–6
🟠 15-MINUTE — Intraday Structure & Session Logic
1️⃣ Range Indicator (RI)
• Session compression → impulse likely
• Expansion → follow, don’t fade
Use:
Defines session behavior.
________________________________________
2️⃣ ZoneEngine (Structure)
• Filters session traps
• Explains failed breakouts
Use:
Keeps you aligned with real participation.
________________________________________
3️⃣ Cloud / Reclaim (Behavior)
• Identifies pullback vs continuation
• Reclaim confirms acceptance
Use:
Contextual confirmation.
________________________________________
4️⃣ Stop-Hunt Proxy
• Session liquidity sweeps
• Common near opens and transitions
Use:
Stop-hunt + compression = likely session impulse.
Google Trends: Keyword "Altcoin" (Cryptollica)Google Trends: Keyword "Altcoin"
2013-2026 Google Trend
CRYPTOLLICA
ICT 1st Pres. FVGs & RTH Open Gaps version 13/01/2026
ICT 1st Pres. FVGs & RTH Open Gaps
By Timo Haapsaari (@hqtimppa) based on ICT (Inner Circle Trader / Michael J.
Huddleston) teachings.
This indicator identifies and displays:
• First Presented Fair Value Gaps (FVGs) after Midnight Open (00:00 NY)
• First Presented FVGs after NY Open (09:30 NY)
• Regular Trading Hours (RTH) Opening Gaps (16:14 close vs 09:30 open)
All detections are based on 1-minute data for accuracy across any timeframe.
Special thanks to cephxs (https:x.com/dyk_ceph) for inspiration on settings
structure and visual appearance.
Happy trading! 📈
eBacktesting - Learning: PD ArrayseBacktesting - Learning: PD Arrays helps you practice one of the most important “Smart Money” ideas: price tends to react from specific delivery areas (PD Arrays) like Imbalances (FVGs), Order Blocks, and Breakers.
Use this to train your eyes to:
- Spot where an imbalance/OB is created (often after displacement)
- Wait for price to return into that area
- Study the reaction (hold, reject, or slice through) and what that implies next
These indicators are built to pair perfectly with the eBacktesting extension, where traders can practice these concepts step-by-step. Backtesting concepts visually like this is one of the fastest ways to learn, build confidence, and improve trading performance.
Educational use only. Not financial advice.
Daily Upside LinePlots an intraday upside line.
Uses proprietary breakout score logic to show when intraday setups are ripe for continuation.
Finds the average of these lines to plot the upside line






















