Classic Wave: The Easy WayClassic Wave is a simple strategy with few rules and no over-optimization. Despite its simplicity, it is backed by a nearly century-long historical track record, delivering excellent returns on the weekly chart of the SPX (TVC).
I also recommend observing its strong performance on the SPY (weekly), which is the perfect instrument for executing this strategy with futures in the future.
Strategy Rules and Parameters
When a bullish candle closes above the 20-period EMA, we place the stop-loss below the low of that candle and target a risk-reward ratio of 1:1.
A second, more profitable variant is to change the risk-reward ratio in the code to 2:1.
-Total capital: $10,000
-We use 10% of the total capital per trade.
-Commissions: 0.1% per trade.
The code construction is simple and very well detailed within the script itself.
Risk-Reward Ratio 2:1
Using a 2:1 risk-reward ratio reduces the win rate but significantly increases profitability.
Across the full historical data of the SPX index (weekly), the system would have generated 236 trades, with a win rate of 51.27% and a profit factor of 2.53.
From January 1, 2023, to November 28, 2025, the system would have generated 5 trades, with an 80% win rate and a profit factor of 9.244.
What makes this system so good?
-It takes advantage of the long-term bullish bias of U.S. stock indices and traditional markets.
-It filters out a lot of noise thanks to the weekly timeframe.
-It uses simple parameters with no over-optimization.
Final Notes:
This strategy has consistently outperformed the returns offered by most traditional funds over time, with fewer drawdowns and significantly less stress. I hope you like it.
Wyszukaj w skryptach "纳斯达克期货cfd"
KIRA INVESTORS📈 KIRA MOMENTUM STRATEGY – BUY & SELL
Title: KIRA EMA 9–21 + VWAP
🟢 BUY RULE
EMA 9 crosses above EMA 21
Price closes above VWAP
🔴 SELL RULE
EMA 9 crosses below EMA 21
Price closes below VWAP
🚫 NO TRADE ZONE
EMAs tangled
Price chopping near VWAP
🎯 TIMEFRAMES & RISK
TF: 5–15 min
Stop-loss: Swing high / low
Risk ≤ 1% per trade
💡 WHY IT WORKS
EMA crossover → Trend direction
VWAP → Confirms institutional bias
Only trades strong momentum moves
Kira EMA 9-21 + VWAP Buy/Sell🔥 KIRA MOMENTUM SETUP – BUY & SELL SYSTEM
Simple • Powerful • Trend-Based
✅ BUY CONDITION 🟢
EMA 9 crosses ABOVE EMA 21
AND
Price closes ABOVE VWAP
🔴 SELL CONDITION
EMA 9 crosses BELOW EMA 21
AND
Price closes BELOW VWAP
🚫 NO TRADE ZONE
❌ EMAs tangled
❌ Price chopping around VWAP
🎯 BEST TIMEFRAMES
✅ 5-Minute
✅ 15-Minute
(Indices & highly liquid stocks)
⚠️ RISK RULE
• Buy SL ➝ Below recent swing low
• Sell SL ➝ Above recent swing high
• Risk per trade ≤ 1%
Adaptive Support & Resistance ProAdaptive Support & Resistance Pro – Description
Adaptive Support & Resistance Pro is an advanced S/R tool designed to automatically identify key support and resistance zones based on a combination of RSI, CMO dynamics, and pivot logic. This indicator provides precise and reactive levels that form only when specific technical conditions are met, filtering out noise and delivering more reliable S/R signals.
It is ideal for technical traders who want to understand where price naturally pauses, reverses, or consolidates—without the need to manually draw lines on every chart.
🔍 Key Features
1. Automatic Support & Resistance Detection
The indicator uses:
RSI (9)
CMO logic based on HMA
Pivot structure (len = 2)
to generate valid Support and Resistance zones.
A level is drawn only when all required conditions align, preventing false or weak signals.
2. Multi-Timeframe Analysis (MTF)
You can view the chart on one timeframe (e.g., 5m)
and display Support/Resistance levels from another timeframe (e.g., 1H, 4H, D) at the same time.
This allows for:
viewing higher-timeframe structures on lower charts,
better planning of entries and exits,
avoiding trades inside strong zones that may not be visible on the current timeframe.
All of this is controlled through the input:
S/R Timeframe
3. Adjustable Line Thickness (visual enhancement)
Using the input:
Line Width
you can increase the thickness of support/resistance lines to:
make important zones more visible,
improve chart readability,
emphasize S/R levels according to your visual preference.
This is especially useful on fast markets (Forex, Crypto) and on higher timeframes where clarity of levels is essential.
4. Clear distinction between Support and Resistance
Support lines have their own customizable color (default: green)
Resistance lines have their own customizable color (default: red)
You can freely adjust the colors to match your personal TradingView layout or theme.
5. Alerts (Notification System)
The built-in alert:
"New S/R line"
triggers whenever a new support or resistance level is detected.
This helps you:
monitor important levels without constantly watching the chart,
react quickly to new structure signals,
stay aware of market changes in real time.
🎯 How to Use the Indicator
Support levels often indicate potential reversals or long-entry opportunities.
Resistance levels highlight areas where price may reverse downward or form short setups.
The best performance is achieved when combining this indicator with:
price action,
EMA structure,
confirmation zones,
breakout logic,
trend filters.
MTF usage is highly recommended:
Analyze higher-timeframe S/R while trading lower-timeframe setups.
⚠️ Disclaimer
This indicator does not generate direct buy or sell signals.
Its purpose is to assist in market analysis and highlight areas where price is likely to react.
📌 Conclusion
Adaptive Support & Resistance Pro combines the strongest elements of automated S/R mapping: precision, reduced noise, multi-timeframe flexibility, and advanced logic based on RSI, CMO, and pivot structure.
It is perfect for traders who want:
clean and accurate S/R levels,
higher-timeframe insight while trading lower charts,
customizable and visually enhanced structure mapping.
CDC Action Zone V.2 strategy — Updated v6Making a profit with a candlestick structure compared to the MA course 25 line with nine intersecting to find. Buy in the market.
Symmetrical Geometric MandalaSymmetrical Geometric Mandala
Overview
The Symmetrical Geometric Mandala is an advanced geometric trading tool that applies phi (φ) harmonic relationships to price-time analysis. This indicator automatically detects swing ranges and constructs a scale-invariant geometric framework based on the square root of phi (√φ), revealing natural support/resistance zones and harmonic price-time balance points.
Core Concept
Traditional technical analysis often treats price and time as separate dimensions. This indicator harmonizes them using the mathematical constant √φ (approximately 1.272), creating a geometric "squaring" of price and time that remains proportionally consistent across different chart scales.
The Mathematics
When you select a price range (from swing low to swing high or vice versa), the indicator calculates:
PBR (Price-to-Bar Ratio) = Range / Number of Bars
Harmonic PBR = PBR × √φ (1.272019649514069)
Phi Extension = Range × φ (1.618033988749895)
The Harmonic PBR is the critical value - this is the chart scaling factor that creates perfect geometric harmony between price and time for your selected range.
Visual Components
1. Horizontal Boundary Lines
Two horizontal lines extend from the selected range at a distance of Range × φ (golden ratio extension):
Upper line: Extended above the swing high (for uplegs) or swing low (for downlegs)
Lower line: Extended below the swing low (for uplegs) or swing high (for downlegs)
These lines mark the natural harmonic boundaries of the price movement.
2. Rectangle Diagonal Lines
Two diagonal lines that create a "rectangle" effect, connecting:
Overlap points on horizontal boundaries to swing extremes
These lines go in the opposite direction of the price leg (creating the symmetrical mandala pattern)
When extended, they reveal future geometric support/resistance zones
3. Phi Harmonic Circles (Optional)
Two precisely calculated circles (drawn as smooth polylines):
Circle A: Centered at the first swing extreme (Nodal A)
Circle B: Centered at the second swing extreme (Nodal B)
Radius = Range × φ, causing them to perfectly touch the horizontal boundary lines
These circles visualize the geometric harmony and create a mandala-like pattern that reveals natural price zones.
How to Use
Step 1: Select Your Range
Set the Start Date at your swing low or swing high
Set the End Date at the opposite extreme
The indicator automatically detects whether it's an upleg or downleg
Step 2: Read the Harmonic PBR
Check the highlighted yellow row in the table: "PBR × √φ"
This is your chart scaling value
Step 3: Apply Chart Scaling (Optional)
For perfect geometric visualization:
Right-click on your chart's price axis
Select "Scale price chart only"
Enter the PBR × √φ value
The geometry will now display in perfect harmonic proportion
Step 4: Interpret the Geometry
Horizontal lines: Key support/resistance zones at phi extensions
Diagonal lines: Dynamic trend channels and future price-time balance points
Circle intersections: Natural harmonic turning points
Central diamond area: Core price-time equilibrium zone
Key Features
✅ Automatic swing detection - identifies upleg/downleg automatically
✅ Scale-invariant geometry - maintains proportions across timeframes
✅ Phi harmonic calculations - based on golden ratio mathematics
✅ Professional color scheme - clean, non-intrusive visuals
✅ Customizable display - toggle circles, lines, and table independently
✅ Smooth circle rendering - adjustable segments (16-360) for optimal smoothness
Settings
Show Horizontal Boundary Lines: Display phi extension levels
Show Rectangle Diagonal Lines: Display the geometric framework
Show Phi Harmonic Circles: Display circular geometry (optional)
Circle Smoothness: Adjust polyline segments (default: 96)
Colors: Fully customizable color scheme for all elements
Theory Background
This indicator draws inspiration from:
W.D. Gann's price-time squaring techniques
Bradley Cowan's geometric market analysis
Phi/golden ratio harmonic theory
Mathematical constants in market structure
Unlike traditional Fibonacci retracements, this tool uses √φ instead of φ as the primary scaling constant, creating a unique geometric relationship that "squares" price movement with time passage.
Best Practices
Use on significant swings - Works best on major swing highs/lows
Multiple timeframe analysis - Apply to different timeframes for confluence
Combine with other tools - Use alongside support/resistance and trend analysis
Respect the geometry - Pay attention when price interacts with geometric elements
Chart scaling optional - The geometry works at any scale, but scaling enhances visualization
Notes
The indicator draws geometry from left to right (from Nodal A to Nodal B)
All lines extend infinitely for future projections
The table shows real-time calculations for the selected range
Date range selection uses confirm dialogs to prevent accidental changes
Structure Break Out + rsi divergence + alma SIMPLIFIED OBJECTIVE (dyor, nfa, test different assets and diff TF)
The goal of this script is to act as a Reversal Sniper. Most traders lose money by trying to guess the top or bottom of a market too early. This strategy solves that by waiting for two specific events to happen together:
First, a hidden shift in momentum (RSI Divergence).
Second, a confirmed change in price direction (Crossing the ALMA 20 Blue Line).
This ensures you only enter a trade when the market has confirmed it is ready to reverse.
TRADING RULES
BUY SIGNAL (Long Position)
Step 1: Look for a GREEN DIV label below the candles. This warns you that sellers are exhausted.
Step 2: Wait for a GREEN TRIANGLE with the text GO. This confirms the price has crossed above the Blue Line.
Step 3: Enter the Buy trade immediately when the candle with the GO signal closes.
SELL SIGNAL (Short Position)
Step 1: Look for a RED DIV label above the candles. This warns you that buyers are exhausted.
Step 2: Wait for a RED TRIANGLE with the text GO. This confirms the price has crossed below the Blue Line.
Step 3: Enter the Sell trade immediately when the candle with the GO signal closes.
EXIT RULES (How to Close the Trade)
The script draws lines on the chart to help you manage the trade.
Scenario A: The Perfect Win (Target Hit)
If price hits the Green Line, the trade is closed automatically for a profit. This is your Risk-Reward Target.
Scenario B: The Trend Change (Reversal)
If the price turns around and crosses the Blue Line in the wrong direction, close the trade immediately. Do not wait for the stop loss. This protects your profits or keeps losses small.
Scenario C: The Safety Net (Stop Loss)
If price hits the Red Line, the trade is closed for a loss. This is your safety guard to prevent a small loss from becoming a big one.
IMPORTANT NOTES
Never trade a DIV label without a GO signal. The DIV is just a warning; the GO is the trigger.
- This strategy works best on 15-Minute and 1-Hour timeframes.
- If t
he Blue Line is flat, be careful, as the market may be ranging. Ideally, you want to see the Blue Line angling up or down.
First Fvg Strategy with CHoCH Exits, Adaptive TP & Entry TimerA strategy that is purely based off of prices reaction to the first presented fair value gap at 9:30 market open. Works best on NASDAQ one minute timeframe. Experimental indicator for me to back test first presented fair value gap.
The Trade Plan 9 & 15 EMA⭐ What Are EMAs?
An Exponential Moving Average (EMA) gives more weight to recent prices, making it more responsive than a simple moving average.
9-EMA = very fast, reacts quickly to price changes
15-EMA = slightly slower, smooths short-term noise
Together they help identify momentum shifts.
📈 How the 9/15 EMA Strategy Works
1. Buy Signal (Bullish Crossover)
You enter a long (buy) trade when:
➡ 9 EMA crosses above the 15 EMA
This suggests momentum is shifting upward and a new uptrend may be forming.
2. Sell Signal (Bearish Crossover)
You enter a short (sell) trade or exit long positions when:
➡ 9 EMA crosses below the 15 EMA
This suggests momentum is turning downward.
🔧 How Traders Typically Use It
Entry
Wait for a clear crossover.
Confirm with price closing on the same side of EMAs.
Some traders add confirmation using RSI, MACD, or support/resistance.
Exit
Several options:
Exit when the opposite crossover occurs.
Exit at predetermined risk-reward levels (e.g., 1:2).
Use trailing stop below/above EMAs.
👍 Strengths
Easy to follow
Good for fast-moving markets
Works well on trending markets
Minimal indicators needed
👎 Weaknesses
Whipsaws in sideways markets
Many false signals on very low timeframes
Works best with additional filters
🕒 Common Timeframes
Scalping: 1m, 5m
Day trading: 5m, 15m
Swing trading: 1H, 4H
CIHAN SCALP PRO v3 ELITEI’m sharing a testable scalping strategy:
When you see a Long or Short signal, you can open a position without waiting for the candle to close and take quick profits with a short TP.
But the real game-changer is coming soon!
The Professional Scalping System I’ve been working on, with 85%+ accuracy, is almost ready.
This system is fully mechanical — no analysis needed, it instantly catches momentum and trend shifts.
It will be available soon with a small monthly subscription fee.
Stay tuned!
21 & 55 EMA CloudWhenever prices goes inside the cloud and comes out
Entry: After coming out of the 21-55 EMA Cloud in uptrend
Confirm with CPR and support/resistance, breakout of resistance is good sign.
Stop loss is previous swing low.
Success Rate will be good
SIDD Table Volume multiframe (Modified)🚀 SIDD Volume Table – The Most Powerful Multi-Timeframe Volume Dashboard
Designed by Siddhartha Mukherjee (SIDD)
Free for the community.
Get an unfair edge with the cleanest, fastest, and most accurate multi-timeframe volume analyzer available on TradingView. This tool reveals where buyers and sellers are truly active across multiple timeframes—helping you confirm trends, avoid traps, and enter with confidence.
🔥 Why Traders Love This Indicator
✅ 1. Multi-Timeframe Volume Domination
Instantly view Buy% / Sell% / Total Volume for:
1m • 5m • 15m • 1H • 4H • 1D • 1W
Choose any combination you want!
✅ 2. Advanced Buy/Sell Volume Logic
Not simple volume…
This tool breaks it into:
Buy Volume% (green dominance)
Sell Volume% (red dominance)
Using candle structure (H-L-C), giving far more accurate pressure detection.
✅ 3. Realtime Candle Countdown
Never guess when a candle will close again.
Get:
Seconds (1m)
MM:SS (5m/15m/1H)
DD:HH:MM:SS (4H, 1D, 1W)
Perfect for scalpers, swing traders, and index traders.
✅ 4. Beautiful & Customizable Dashboard
Choose position anywhere on screen
Auto size or choose Tiny → Huge
Color-coded Bias (Green Buyers, Red Sellers)
Clean layout built for modern charts
Your chart stays clean while your data stays powerful.
💡 What This Helps You Identify
Where buyers are gaining strength
Where sellers are dominating
Multi-timeframe alignment (the key to big moves)
Real reversal pressure
Volume divergence across timeframes
Trend confirmation before breakouts
Perfect for:
NIFTY / BANKNIFTY / Stocks / Crypto / FX / Commodities
🧠 Who Should Use This?
Intraday traders
Swing traders
Options traders
Futures traders
Crypto scalpers
Professional volume analysts
If volume matters to you → this indicator becomes a must-have.
🛠 Built with Precision
Non-repainting
Multi-TF aligned
Fast + lightweight arrays
Uses BTC/ETH feed to stabilize ticks
Zero chart clutter
❤️ Free for Everyone
This tool is released 100% free to help the community trade with clarity and confidence.
Leave a like ⭐, comment 💬, or follow if you want more such institutional-grade tools.
⚠️ Disclaimer
This is for educational/analytical use only.
Not financial advice. Trade at your own risk.
INDIVIDUAL ASSET BIAS DASHBOARD V3Strategy Name: Individual Asset Bias Dashboard V3
Author Concept: Multi-timeframe 3-pivot alignment bias monitor
Timeframe: Works on any chart, but bias is calculated on daily close vs higher timeframe pivots
Core Idea (3-Pivot Rule)
For each asset we compare the current daily closing level against three classic pivots from higher timeframes:
Previous Weekly pivot: (H+L+C)/3 of last completed week
Previous Monthly pivot: (H+L+C)/3 of last completed month
Previous 3-Monthly pivot: (H+L+C)/3 of last completed quarter
Bias Logic:
BULL → Price is above all three pivots
BEAR → Price is below all three pivots
MIXED → Price is in between (no clear alignment)
This is a clean, objective, and widely used institutional method to gauge short-term momentum alignment across multiple horizons.
Assets Tracke
SymbolMeaningSPX500S&P 500 IndexVIXVolatility IndexDXYUS Dollar IndexBTCUSDBitcoinXAUUSDGoldUSOILWTI Crude OilUS10Y10-Year US Treasury YieldUSDJPYJapanese Yen pair
Key Features
Real-time updating table in the bottom-left corner
Color coding: Lime = Bullish, Red = Bearish, Gray = Mixed
Optional "Change" column showing flips (▲/▼) when bias changes day-over-day
No repainting on closed daily bars (critical for reliability)
Compliant with TradingView rules (proper lookahead usage explained below)
Important Technical Notes (Why No Repainting)
lookahead = barmerge.lookahead_on is used only for higher-timeframe historical pivots → allowed and standard practice
Current price uses lookahead = barmerge.lookahead_off → reflects actual tradable daily close
Table only draws on barstate.islastconfirmedhistory or barstate.islast → prevents false signals on realtime bar
Limitations & Warnings
On intraday charts, the "current bias" updates with every tick using the running daily close
Bias can flip intraday before daily bar closes
On daily or higher charts, the dashboard is 100% confirmation-based and non-repainting
This is a bias filter, not a standalone trading system
Meu scriptPricemap CONTROL (2, 1, 1, 5, 15, 60, 3, 50, 200, 14, 12, 26, 9, bottom_right, 21, 14, 14, 1, 1,5)
10/20 EMA 50/100/200 SMA — by mijoomoCreated by mijoomo.
This indicator combines EMA 10 & EMA 20 with SMA 50/100/200 in one clean package.
Each moving average is toggleable, fully labeled, and alert-compatible.
Designed for traders who want a simple and effective multi-MA trend tool.
Session Open Range, Breakout & Trap Framework - TrendPredator OBSession Open Range, Breakout & Trap Framework — TrendPredator Open Box
Stacey Burke’s trading approach combines concepts from George Douglas Taylor, Tony Crabel, Steve Mauro, and Robert Schabacker. His framework focuses on reading price behaviour across daily templates and identifying how markets move through recurring cycles of expansion, contraction, and reversal. While effective, much of this analysis requires real-time interpretation of session-based behaviour, which can be demanding for traders working on lower intraday timeframes.
The TrendPredator indicators formalize parts of this methodology by introducing mechanical rules for multi-timeframe bias tracking and session structure analysis. They aim to present the key elements of the system—bias, breakouts, fakeouts, and range behaviour—in a consistent and objective way that reduces discretionary interpretation.
The Open Box indicator focuses specifically on the opening behaviour of major trading sessions. It builds on principles found in classical Open Range Breakout (ORB) techniques described by Tony Crabel, where a defined time window around the session open forms a structural reference range. Price behaviour relative to this range—breaking out, failing back inside, or expanding—can highlight developing session bias, potential trap formation, and directional conviction.
This indicator applies these concepts throughout the major equity sessions. It automatically maps the session’s initial range (“Open Box”) and tracks how price interacts with it as liquidity and volatility increase. It also incorporates related structural references such as:
* the first-hour high and low of the futures session
* the exact session open level
* an anchored VWAP starting at the session open
* automated expansion levels projected from the Open Box
In combination, these components provide a unified view of early session activity, including breakout attempts, fakeouts, VWAP reactions, and liquidity targeting. The Open Box offers a structured lens for observing how price transitions through the major sessions (Asia → London → New York) and how these behaviours relate to higher-timeframe bias defined in the broader TrendPredator framework.
Core Features
Open Box (Session Structure)
The indicator defines an initial session range beginning at the selected session open. This “Open Box” represents a fixed time window—commonly the first 30 minutes, or any user-defined duration—that serves as a structural reference for analysing early session behaviour.
The range highlights whether price remains inside the box, breaks out, or rejects the boundaries, providing a consistent foundation for interpreting early directional tendencies and recognising breakout, continuation, or fakeout characteristics.
How it works:
* At the session open, the indicator calculates the high and low over the specified time window.
* This range is plotted as the initial structure of the session.
* Price behaviour at the boundaries can illustrate emerging bias or potential trap formation.
* An optional secondary range (e.g., 15-minute high/low) can be enabled to capture early volatility with additional precision.
Inputs / Options:
* Session specifications (Tokyo, London, New York)
* Open Box start and end times (e.g., equity open + first 30 minutes, or any custom length)
* Open Box colour and label settings
* Formatting options for Open Box high and low lines
* Optional secondary range per session (e.g., 15-minute high/low)
* Forward extension of Open Box high/low lines
* Number of historic Open Boxes to display
Session VWAPs
The indicator plots VWAPs for each major trading session—Asia, London, and New York—anchored to their respective session opens. These session-specific VWAPs assist in tracking how value develops through the day and how price interacts with session-based volume distributions.
How it works:
* At each session open, a VWAP is anchored to the open price.
* The VWAP updates throughout the session as new volume and price data arrive.
* Deviations above or below the VWAP may indicate balance, imbalance, or directional control.
* Viewed together, session VWAPs help identify transitions in value across sessions.
Inputs / Options:
* Enable or disable VWAP per session
* Adjustable anchor and end times (optionally to end of day)
* Line styling and label settings
* Number of historic VWAPs to draw
First Hour High/Low Extensions
The indicator marks the high and low formed during the first hour of each session. These reference points often function as early control levels and provide context for assessing whether the session is establishing bias, consolidating, or exhibiting reversal behaviour.
How it works:
* After the session starts, the indicator records the highest and lowest prices during the first hour.
* These levels are plotted and extended across the session.
* They provide a visual reference for observing reactions, targets, or rejection zones.
Inputs / Options:
* Enable or disable for each session
* Line style, colour, and label visibility
* Number of historic sessions displayed
EQO Levels (Equity Open)
The indicator plots the opening price of each configured session. These “Equity Open” levels represent short-term reference points that can attract price early in the session.
Once the level is revisited after the Open Box has formed, it is automatically cut to avoid clutter. If not revisited, the line remains as an untested reference, similar to a naked point of control.
How it works:
* At session open, the open price is recorded.
* The level is plotted as a local reference.
* If price interacts with the level after the Open Box completes, the line is cut.
* Untested EQOs extend forward until interacted with.
Inputs / Options:
* Enable/disable per session
* Line style and label settings
* Optional extension into the next day
* Option for cutting vs. hiding on revisit
* Number of historic sessions displayed
OB Range Expansions (Automatic)
Range expansions are calculated from the height of the Open Box. These levels provide structured reference zones for identifying potential continuation or exhaustion areas within a session.
How it works:
* After the Open Box is formed, multiples of the range (e.g., 1×, 2×, 3×) are projected.
* These expansion levels are plotted above and below the range.
* Price reactions near these areas can illustrate continuation, hesitation, or potential reversal.
Inputs / Options:
* Enable or disable per session
* Select number of multiples
* Line style, colour, and label settings
* Extension length into the session
Stacey Burke 12-Candle Window Marker
The indicator can highlight the 12-candle window often referenced in Stacey Burke’s session methodology. This window represents the key active period of each session where breakout attempts, volatility shifts, and reversal signatures often occur.
How it works:
* A configurable window (default 12 candles) is highlighted from each session open.
* This window acts as a guide for observing active session behaviour.
* It remains visible throughout the session for structural context.
Inputs / Options:
* Enable/disable per session
* Configurable window duration (default: 3 hours)
* Colour and transparency controls
Concept and Integration
The Open Box is built around the same multi-timeframe logic that underpins the broader TrendPredator framework.
While higher-timeframe tools track bias and setups across the H8–D–W–M levels, the Open Box focuses on the H1–M30 domain to define session structure and observe how early intraday behaviour aligns with higher-timeframe conditions.
The indicator integrates with the TrendPredator FO (Breakout, Fakeout & Trend Switch Detector), which highlights microstructure signals on lower timeframes (M15/M5). Together they form a layered workflow:
* Higher timeframes: context, bias, and developing setups
* TrendPredator OB: intraday and intra-session structure
* TrendPredator FO: microstructure confirmation (e.g., FOL/FOH, switches)
This alignment provides a structured way to observe how daily directional context interacts with intraday behaviour.
See the public open source indicator TP FO here (click on it for access):
Practical Application
Before Session Open
* Review previous session Open Box, Open level, and VWAPs
* Assess how higher-timeframe bias aligns with potential intraday continuation or reversal
* Note untested EQO levels or VWAPs that may function as liquidity attractors
During Session Open
* Observe behaviour around the first-hour high/low and higher-timeframe reference levels
* Monitor how the M15 and 30-minute ranges close
* Track reactions relative to the session open level and the session VWAP
After the Open Box completes
* Assess price interaction with Open Box boundaries and first-hour levels
* Use microstructure signals (e.g., FOH/FOL, switches) for potential confirmation
* Refer to expansion levels as reference zones for management or target setting
After Session
* Review how price behaved relative to the Open Box, EQO levels, VWAPs, and expansion zones
* Analyse breakout attempts, fakeouts, and whether intraday structure aligned with the broader daily move
Example Workflow and Trade
1. Higher-timeframe analysis signals a Daily Fakeout Low Continuation (bullish context).
2. The New York session forms an Open Box; price breaks above and holds above the first-hour high.
3. A Fakeout Low + Switch Bar appears on M5 (via FO), after retesting the session VWAP triggering the entry.
4. 1x expansion level serves as reference targets for take profit.
Relation to the TrendPredator Ecosystem
The Open Box is part of the TrendPredator Indicator Family, designed to apply multi-timeframe logic consistently across:
* higher-timeframe context and setups
* intraday and session structure (OB)
* microstructure confirmation (FO)
Together, these modules offer a unified structure for analysing how daily and intraday cycles interact.
Disclaimer
This indicator is for educational purposes only and does not guarantee profits.
It does not provide buy or sell signals but highlights structural and behavioural areas for analysis.
Users are solely responsible for their trading decisions and outcomes.
لbsm15// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © LuxAlgo
//@version=5
indicator("لbsm15", overlay = true, max_lines_count = 500, max_boxes_count = 500, max_bars_back = 3000)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
liqGrp = 'Liquidity Detection'
liqLen = input.int (7, title = 'Detection Length', minval = 3, maxval = 13, inline = 'LIQ', group = liqGrp)
liqMar = 10 / input.float (6.9, 'Margin', minval = 4, maxval = 9, step = 0.1, inline = 'LIQ', group = liqGrp)
liqBuy = input.bool (true, 'Buyside Liquidity Zones, Margin', inline = 'Buyside', group = liqGrp)
marBuy = input.float(2.3, '', minval = 1.5, maxval = 10, step = .1, inline = 'Buyside', group = liqGrp)
cLIQ_B = input.color (color.new(#4caf50, 0), '', inline = 'Buyside', group = liqGrp)
liqSel = input.bool (true, 'Sellside Liquidity Zones, Margin', inline = 'Sellside', group = liqGrp)
marSel = input.float(2.3, '', minval = 1.5, maxval = 10, step = .1, inline = 'Sellside', group = liqGrp)
cLIQ_S = input.color (color.new(#f23645, 0), '', inline = 'Sellside', group = liqGrp)
lqVoid = input.bool (false, 'Liquidity Voids, Bullish', inline = 'void', group = liqGrp)
cLQV_B = input.color (color.new(#4caf50, 0), '', inline = 'void', group = liqGrp)
cLQV_S = input.color (color.new(#f23645, 0), 'Bearish', inline = 'void', group = liqGrp)
lqText = input.bool (false, 'Label', inline = 'void', group = liqGrp)
mode = input.string('Present', title = 'Mode', options = , inline = 'MOD', group = liqGrp)
visLiq = input.int (3, ' # Visible Levels', minval = 1, maxval = 50, inline = 'MOD', group = liqGrp)
//-----------------------------------------------------------------------------}
//General Calculations
//-----------------------------------------------------------------------------{
maxSize = 50
atr = ta.atr(10)
atr200 = ta.atr(200)
per = mode == 'Present' ? last_bar_index - bar_index <= 500 : true
//-----------------------------------------------------------------------------}
//User Defined Types
//-----------------------------------------------------------------------------{
// @type used to store pivot high/low data
//
// @field d (array) The array where the trend direction is to be maintained
// @field x (array) The array where the bar index value of pivot high/low is to be maintained
// @field y (array) The array where the price value of pivot high/low is to be maintained
type ZZ
int d
int x
float y
// @type bar properties with their values
//
// @field o (float) open price of the bar
// @field h (float) high price of the bar
// @field l (float) low price of the bar
// @field c (float) close price of the bar
// @field i (int) index of the bar
type bar
float o = open
float h = high
float l = low
float c = close
int i = bar_index
// @type liquidity object definition
//
// @field bx (box) box maitaing the liquity level margin extreme levels
// @field bxz (box) box maitaing the liquity zone margin extreme levels
// @field bxt (box) box maitaing the labels
// @field brZ (bool) mainains broken zone status
// @field brL (bool) mainains broken level status
// @field ln (line) maitaing the liquity level line
// @field lne (line) maitaing the liquity extended level line
type liq
box bx
box bxz
box bxt
bool brZ
bool brL
line ln
line lne
//-----------------------------------------------------------------------------}
//Variables
//-----------------------------------------------------------------------------{
var ZZ aZZ = ZZ.new(
array.new (maxSize, 0),
array.new (maxSize, 0),
array.new (maxSize, na)
)
bar b = bar.new()
var liq b_liq_B = array.new (1, liq.new(box(na), box(na), box(na), false, false, line(na), line(na)))
var liq b_liq_S = array.new (1, liq.new(box(na), box(na), box(na), false, false, line(na), line(na)))
var b_liq_V = array.new_box()
var int dir = na, var int x1 = na, var float y1 = na, var int x2 = na, var float y2 = na
//-----------------------------------------------------------------------------}
//Functions/methods
//-----------------------------------------------------------------------------{
// @function maintains arrays
// it prepends a `value` to the arrays and removes their oldest element at last position
// @param aZZ (UDT, array, array>) The UDT obejct of arrays
// @param _d (array) The array where the trend direction is maintained
// @param _x (array) The array where the bar index value of pivot high/low is maintained
// @param _y (array) The array where the price value of pivot high/low is maintained
//
// @returns none
method in_out(ZZ aZZ, int _d, int _x, float _y) =>
aZZ.d.unshift(_d), aZZ.x.unshift(_x), aZZ.y.unshift(_y), aZZ.d.pop(), aZZ.x.pop(), aZZ.y.pop()
// @function (build-in) sets the maximum number of bars that is available for historical reference
max_bars_back(time, 1000)
//-----------------------------------------------------------------------------}
//Calculations
//-----------------------------------------------------------------------------{
x2 := b.i - 1
ph = ta.pivothigh(liqLen, 1)
pl = ta.pivotlow (liqLen, 1)
if ph
dir := aZZ.d.get(0)
x1 := aZZ.x.get(0)
y1 := aZZ.y.get(0)
y2 := nz(b.h )
if dir < 1
aZZ.in_out(1, x2, y2)
else
if dir == 1 and ph > y1
aZZ.x.set(0, x2), aZZ.y.set(0, y2)
if per
count = 0
st_P = 0.
st_B = 0
minP = 0.
maxP = 10e6
for i = 0 to maxSize - 1
if aZZ.d.get(i) == 1
if aZZ.y.get(i) > ph + (atr / liqMar)
break
else
if aZZ.y.get(i) > ph - (atr / liqMar) and aZZ.y.get(i) < ph + (atr / liqMar)
count += 1
st_B := aZZ.x.get(i)
st_P := aZZ.y.get(i)
if aZZ.y.get(i) > minP
minP := aZZ.y.get(i)
if aZZ.y.get(i) < maxP
maxP := aZZ.y.get(i)
if count > 2
getB = b_liq_B.get(0)
if st_B == getB.bx.get_left()
getB.bx.set_top(math.avg(minP, maxP) + (atr / liqMar))
getB.bx.set_rightbottom(b.i + 10, math.avg(minP, maxP) - (atr / liqMar))
else
b_liq_B.unshift(
liq.new(
box.new(st_B, math.avg(minP, maxP) + (atr / liqMar), b.i + 10, math.avg(minP, maxP) - (atr / liqMar), bgcolor=color(na), border_color=color(na)),
box.new(na, na, na, na, bgcolor = color(na), border_color = color(na)),
box.new(st_B, st_P, b.i + 10, st_P, text = 'Buyside liquidity', text_size = size.tiny, text_halign = text.align_left, text_valign = text.align_bottom, text_color = color.new(cLIQ_B, 25), bgcolor = color(na), border_color = color(na)),
false,
false,
line.new(st_B , st_P, b.i - 1, st_P, color = color.new(cLIQ_B, 0)),
line.new(b.i - 1, st_P, na , st_P, color = color.new(cLIQ_B, 0), style = line.style_dotted))
)
alert('buyside liquidity level detected/updated for ' + syminfo.ticker)
if b_liq_B.size() > visLiq
getLast = b_liq_B.pop()
getLast.bx.delete()
getLast.bxz.delete()
getLast.bxt.delete()
getLast.ln.delete()
getLast.lne.delete()
if pl
dir := aZZ.d.get (0)
x1 := aZZ.x.get (0)
y1 := aZZ.y.get (0)
y2 := nz(b.l )
if dir > -1
aZZ.in_out(-1, x2, y2)
else
if dir == -1 and pl < y1
aZZ.x.set(0, x2), aZZ.y.set(0, y2)
if per
count = 0
st_P = 0.
st_B = 0
minP = 0.
maxP = 10e6
for i = 0 to maxSize - 1
if aZZ.d.get(i) == -1
if aZZ.y.get(i) < pl - (atr / liqMar)
break
else
if aZZ.y.get(i) > pl - (atr / liqMar) and aZZ.y.get(i) < pl + (atr / liqMar)
count += 1
st_B := aZZ.x.get(i)
st_P := aZZ.y.get(i)
if aZZ.y.get(i) > minP
minP := aZZ.y.get(i)
if aZZ.y.get(i) < maxP
maxP := aZZ.y.get(i)
if count > 2
getB = b_liq_S.get(0)
if st_B == getB.bx.get_left()
getB.bx.set_top(math.avg(minP, maxP) + (atr / liqMar))
getB.bx.set_rightbottom(b.i + 10, math.avg(minP, maxP) - (atr / liqMar))
else
b_liq_S.unshift(
liq.new(
box.new(st_B, math.avg(minP, maxP) + (atr / liqMar), b.i + 10, math.avg(minP, maxP) - (atr / liqMar), bgcolor=color(na), border_color=color(na)),
box.new(na, na, na, na, bgcolor=color(na), border_color=color(na)),
box.new(st_B, st_P, b.i + 10, st_P, text = 'Sellside liquidity', text_size = size.tiny, text_halign = text.align_left, text_valign = text.align_top, text_color = color.new(cLIQ_S, 25), bgcolor=color(na), border_color=color(na)),
false,
false,
line.new(st_B , st_P, b.i - 1, st_P, color = color.new(cLIQ_S, 0)),
line.new(b.i - 1, st_P, na , st_P, color = color.new(cLIQ_S, 0), style = line.style_dotted))
)
alert('sellside liquidity level detected/updated for ' + syminfo.ticker)
if b_liq_S.size() > visLiq
getLast = b_liq_S.pop()
getLast.bx.delete()
getLast.bxz.delete()
getLast.bxt.delete()
getLast.ln.delete()
getLast.lne.delete()
for i = 0 to b_liq_B.size() - 1
x = b_liq_B.get(i)
if not x.brL
x.lne.set_x2(b.i)
if b.h > x.bx.get_top()
x.brL := true
x.brZ := true
alert('buyside liquidity level breached for ' + syminfo.ticker)
x.bxz.set_lefttop(b.i - 1, math.min(x.ln.get_y1() + marBuy * (atr), b.h))
x.bxz.set_rightbottom(b.i + 1, x.ln.get_y1())
x.bxz.set_bgcolor(color.new(cLIQ_B, liqBuy ? 73 : 100))
else if x.brZ
if b.l > x.ln.get_y1() - marBuy * (atr) and b.h < x.ln.get_y1() + marBuy * (atr)
x.bxz.set_right(b.i + 1)
x.bxz.set_top(math.max(b.h, x.bxz.get_top()))
if liqBuy
x.lne.set_x2(b.i + 1)
else
x.brZ := false
for i = 0 to b_liq_S.size() - 1
x = b_liq_S.get(i)
if not x.brL
x.lne.set_x2(b.i)
if b.l < x.bx.get_bottom()
x.brL := true
x.brZ := true
alert('sellside liquidity level breached for ' + syminfo.ticker)
x.bxz.set_lefttop(b.i - 1, x.ln.get_y1())
x.bxz.set_rightbottom(b.i + 1, math.max(x.ln.get_y1() - marSel * (atr), b.l))
x.bxz.set_bgcolor(color.new(cLIQ_S, liqSel ? 73 : 100))
else if x.brZ
if b.l > x.ln.get_y1() - marSel * (atr) and b.h < x.ln.get_y1() + marSel * (atr)
x.bxz.set_rightbottom(b.i + 1, math.min(b.l, x.bxz.get_bottom()))
if liqSel
x.lne.set_x2(b.i + 1)
else
x.brZ := false
if lqVoid and per
bull = b.l - b.h > atr200 and b.l > b.h and b.c > b.h
bear = b.l - b.h > atr200 and b.h < b.l and b.c < b.l
if bull
l = 13
if bull
st = math.abs(b.l - b.l ) / l
for i = 0 to l - 1
array.push(b_liq_V, box.new(b.i - 2, b.l + i * st, b.i, b.l + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
else
st = math.abs(b.l - b.h ) / l
for i = 0 to l - 1
if lqText and i == 0
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, text = 'Liquidity Void ', text_size = size.tiny, text_halign = text.align_right, text_valign = text.align_bottom, text_color = na, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
else
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
if bear
l = 13
if bear
st = math.abs(b.h - b.h) / l
for i = 0 to l - 1
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
else
st = math.abs(b.l - b.h) / l
for i = 0 to l - 1
if lqText and i == l - 1
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, text = 'Liquidity Void ', text_size = size.tiny, text_halign = text.align_right, text_valign = text.align_top, text_color = na, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
else
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
if b_liq_V.size() > 0
qt = b_liq_V.size()
for bn = qt - 1 to 0
if bn < b_liq_V.size()
cb = b_liq_V.get(bn)
ba = math.avg(cb.get_bottom(), cb.get_top())
if math.sign(b.c - ba) != math.sign(b.c - ba) or math.sign(b.c - ba) != math.sign(b.l - ba) or math.sign(b.c - ba) != math.sign(b.h - ba)
b_liq_V.remove(bn)
else
cb.set_right(b.i + 1)
if b.i - cb.get_left() > 21
cb.set_text_color(color.new(color.gray, 25))
//-----------------------------------------------------------------------------}
SuperTrend Zone Rejection [STRZ] CONCEPT -
This indicator identifies trend-continuation setups by combining the Super Trend with dynamic Average True Range (ATR) value zones. It highlights specific price action behaviour's—specifically wick rejections and momentum closes—that occur during pullbacks into the trend baseline.
HOW IT WORKS -
The script operates on three logic gates:
>> Trend Filter: Uses a standard Super Trend (Factor 3, Period 10 default) to define market direction.
>> Dynamic Zones: Projects a volatility-based zone (default 2.0x ATR) above or below the Super Trend line to define a valid pullback area.
>> Signal Detection: Identifies specific candle geometries occurring within these zones.
>> Rejection: Candles with significant wicks testing the zone support/resistance.
>> Momentum: Candles that open within the zone and close in the upper/lower quartile of their range.
FEATURES -
>> Dynamic Channel: Visualizes the active buy/sell zone using a continuous, non-repainting box.
>> Volatile Filtering: Filters out low-volatility candles (doji's/noise) based on minimum ATR size.
>> Visuals: Color-coded trend visualization with distinct signal markers for qualified entries.
SETTINGS -
>> Super Trend: Adjustable Factor and ATR Period.
>> Zone Multiplier: Controls the width of the pullback zone relative to ATR.
>> Visuals: Customizable colours for zones and signals to fit light/dark themes.
LETHINH-Swing pa,smc🟦 📌 Title (English)
Swing High / Swing Low – 3-Candle Fractal (5-Bar Pivot) | Auto Alerts
⸻
🟩 📌 Short Description
A clean and reliable swing high / swing low detector based on the classic 3-candle (5-bar) fractal pivot. Automatically marks SH/SL and triggers alerts when a swing is confirmed. No repainting after confirmation.
⸻
🟧 📌 Full Description (for TradingView Publishing)
🔶 Swing High / Swing Low – 3-Candle Fractal (5-Bar Pivot)
This indicator identifies Swing Highs (SH) and Swing Lows (SL) using the classic 3-candle fractal pattern, also known as the 5-bar pivot.
It marks swing points only after full confirmation, making it highly reliable and suitable for structure-based trading.
⸻
🔶 📍 How It Works
A swing is confirmed when the center candle is higher (or lower) than the two candles on each side:
Swing High (SH)
high > high , high , high
Swing Low (SL)
low < low , low , low
The confirmation occurs after 2 right candles close, so the indicator does not repaint once a swing is identified.
⸻
🔶 📍 Key Features
• Detects clean and accurate swings
• Uses pure price action — no indicators, no lag
• Marks swing high (SH) and swing low (SL) directly on the chart
• Non-repainting after confirmation
• Works on all timeframes and all markets
• Extremely lightweight and fast
• Includes alert conditions for both SH and SL
Perfect for traders using:
• Market Structure (BOS / CHoCH)
• Order Blocks (OB)
• Smart Money Concepts (SMC)
• Liquidity hunts
• Wyckoff
• Support/Resistance
• Price Action entries
⸻
🔶 📍 Why This Indicator Is Useful
Swing points are the foundation of market structure.
Accurately detecting them helps traders:
• Identify trend shifts
• Spot BOS / CHoCH correctly
• Find key zones (OB, liquidity levels, supply/demand)
• Time entries more precisely
• Avoid fake structure breaks
This indicator ensures swings are plotted only when fully confirmed, reducing noise and confusion.
⸻
🔶 📍 Alerts
You can create alerts for both conditions:
• Swing High Confirmed
• Swing Low Confirmed
Recommended settings:
• Once per bar close
• Open-ended alert
With alerts enabled, TradingView will automatically notify you every time a new swing forms.
⸻
🔶 📍 No Repainting
Once a swing is confirmed and plotted, it will not change or disappear.
This makes the indicator reliable for real-time alerts and backtesting.
⸻
🔶 📍 Pine Script (v5)
Paste your indicator code here if you want it visible.
Or leave the code hidden if you are publishing as protected.
⸻
🔶 📍 Final Notes
• This indicator focuses on confirmation, not prediction
• It is designed for clean structure reading
• All markets supported: Forex, Crypto, Stocks, Indexes, Commodities
• Suitable for scalping, intraday, swing, and even higher-timeframe trading
If you find this tool helpful, feel free to give it a like and add it to your favorites ❤️
Your support helps me share more tools with the community!






















