Intermarket Swing Projection [LuxAlgo]The Intermarket Swing Projection allows traders to plot price movement swings from any user-selected asset directly onto the chart in the form of zigzags and/or horizontal support and resistance levels.
This tool rescale the external asset price on the user chart, enabling traders to make direct comparisons.
It answers the question of how different the price behavior is between two assets, accounting for each asset's volatility.
🔶 USAGE
This tool is based on swing detection of two different assets: the chart and a user-selected asset. It allows traders to compare two assets on an equal footing while accounting for volatility and price behavior.
Traders can customize the detection by selecting a custom ticker, timeframe, the number of swings and length for swing detection. This makes the tool a Swiss army knife for asset comparison.
As we can see in the image below, the Show Last, Pivot Length, and Spread parameters are key to defining the final output of the tool.
"Show Last" defines how many pivots are displayed. "Pivot Length" is used for pivot detection; a larger value will detect larger market structures. "Spread" defines how far apart the horizontal levels will be from their original location in terms of volatility.
🔹 Comparing different assets
This image shows the Nasdaq 100 futures contract compared to four other futures contracts: S&P 500, gold, bitcoin, and euro/U.S. dollar.
Plotting all of these assets in Nasdaq 100 terms makes it easy to compare and analyze price behaviors and identify key levels.
In the top left chart, we have NQ vs. ES. It's no surprise that they are practically an exact match; a large portion of the S&P 500 is technology.
In the top right chart, NQ vs. GC, we see totally different behaviors. We can clearly see the summer consolidation in gold and the resumption of the uptrend, which took gold above 29,200 NQ points, up from 21,200.
In the bottom right chart, we see bitcoin making new highs, way above the Nasdaq in May, July, and October. However, the last high was way below the Nasdaq prices on October 27—the first lower high in a while. Sellers are pushing down.
Finally, the bottom left chart is NQ vs. 6E. We can see large volatility in the uptrend since February, with NQ unable to catch up until now. The last swing low was almost a match, and 6E is in a range.
As we can see, this tool allows us to perform intermarket analysis properly by accounting for each asset's volatility and price behavior. Then, we plot them on the same scale on equal terms, which makes performing this kind of analysis easy.
As we can see in the chart above, the assets are the same as in the previous image, but the timeframe is 1H with different settings.
Note the horizontal levels acting as support and resistance, as well as how NQ prices react to the zones marked with white circles. These levels are derived from custom assets selected by the user.
🔹 Displaying Elements
Zig-zag allows traders to clearly see the path that the selected asset's price took, as well as its turning points.
Horizontal levels are displayed from those turning points to the present and can be used as support or resistance. Traders can adjust the spread parameter in the settings panel to expand or contract those levels' volatility.
There are two color modes for the levels: average and pivots. In the first mode, green is used for levels below the average and red for levels above the average. The second uses green for swing lows and red for swing highs.
The backpaint feature is enabled by default and allows the swings to be displayed in the correct location. With this feature disabled, the swings will be displayed in the current location when a new swing is detected.
🔶 DETAILS
On a more technical note, the rescaling is formed by calculating three main elements from all the swings detected on the custom and chart assets:
The chart asset's average of all swing points
The chart asset's standard deviation of all swing points
The custom asset's z-score for each swing point
Then, the re-scaled swing point is calculated as the average plus the z-score multiplied by the standard deviation. This makes it possible to plot AAPL swings on an NQ chart, for example.
Thanks to re-scaling, we can directly compare the price behavior of two assets with different price ranges and volatility on the same chart.
🔶 SETTINGS
🔹 Trendlines
Ticker: Select the custom ticker.
Timeframe: Select a custom timeframe.
Show Last: Select how many swing points to display.
Pivot Length: Select the size for swing point detection.
Spread: Volatility multiplier for horizontal levels. Larger values mean the levels are farther apart.
Backpaint: Enable or disable the backpaint feature. When enabled, the drawings will be displayed where they were detected. When disabled, the drawings will be displayed at the moment of detection.
🔹 Style
Show ZigZag: Enable or disable the ZigZag display and choose a line style.
Show Levels: Enable or disable the levels display and choose a line style.
Color Mode: Choose between Average Mode, which colors all levels below the average bullish and all levels above bearish, and Pivot Mode, which colors swing highs bearish and swing lows bullish.
Bullish: Select a bullish color.
Bearish: Select a bearish color.
ZigZag: Select the ZigZag color.
Penunjuk dan strategi
Volume Profile VisionVolume Profile Vision - Complete Description
Overview
Volume Profile Vision (VPV) is an advanced volume profile indicator that visualizes where trading activity has occurred at different price levels over a specified time period. Unlike traditional volume indicators that show volume over time, this indicator displays volume distribution across price levels, helping traders identify key support/resistance zones, fair value areas, and potential reversal points.
What Makes This Indicator Original
Volume Profile Vision introduces several unique features not found in standard volume profile tools:
Dual-Direction Histogram Display:
Unlike conventional volume profiles that only show bars extending in one direction, VPV displays volume bars extending both left (into historical candles) and right (as a traditional histogram). This bi-directional approach allows traders to see exactly where historical price action intersected with high-volume nodes.
Real-Time Candle Highlighting: The indicator dynamically highlights volume bars that intersect with the current candle's price range, making it immediately obvious which volume levels are currently in play.
Four Professional Color Schemes: Each color scheme uses distinct gradient algorithms and visual encoding systems:
Traffic Light: Uses red (POC), green (VA boundaries), yellow (HVN), with grayscale gradients outside the value area
Aurora Glass: Modern cyan-to-magenta gradient with hot magenta POC highlighting
Obsidian Precision: Professional dark theme with white POC and electric cyan accents
Black Ice: Monochromatic cyan family with graduated intensity
Adaptive Transparency System: Automatically adjusts bar transparency based on position relative to value area, with special handling for each color scheme to maintain visual clarity.
Core Concepts & Calculations
Volume Distribution Analysis
The indicator divides the visible price range into user-defined price levels (default: 80 levels) and calculates the total volume traded at each level by:
Scanning back through the specified lookback period (customizable or visible range)
For each historical bar, determining which price levels the bar's high/low range intersects
Accumulating volume for each intersected price level
Optionally filtering by bullish/bearish volume only
Point of Control (POC)
The POC is the price level with the highest traded volume during the analyzed period. This represents the "fairest" price where most traders agreed on value. The indicator marks this with distinct coloring (red in Traffic Light, magenta in Aurora Glass, white in Obsidian Precision, cyan in Black Ice).
Trading Significance: POC acts as a strong magnet for price - markets tend to return to fair value. When price is away from POC, traders watch for:
Mean reversion opportunities when price is far from POC
Rejection signals when price tests POC from above/below
Breakout confirmation when price breaks through and holds beyond POC
Value Area (VA)
The Value Area encompasses the price range where a specified percentage (default: 68%) of all volume traded. This represents the range of "accepted value" by market participants.
Calculation Method:
Start at the POC (highest volume level)
Expand upward and downward, adding adjacent price levels
Always add the level with higher volume next
Continue until accumulated volume reaches the VA percentage threshold
Value Area High (VAH): Upper boundary of accepted value - acts as resistance
Value Area Low (VAL): Lower boundary of accepted value - acts as support
Trading Significance:
Price spending time inside VA indicates market equilibrium
Breakouts above VAH suggest bullish momentum shift
Breakdowns below VAL suggest bearish momentum shift
Returns to VA boundaries often provide high-probability entry zones
High Volume Nodes (HVN)
Price levels with volume exceeding a threshold percentage (default: 80%) of POC volume. These represent areas of strong agreement and consolidation.
Trading Significance:
HVNs act as strong support/resistance zones
Price tends to consolidate at HVNs before making directional moves
Breaking through an HVN often signals strong momentum
Low Volume Nodes (LVN)
Price levels within the Value Area with volume ≤30% of POC volume. These are zones price moved through quickly with minimal consolidation.
Trading Significance:
LVNs represent areas of rejection - price finds little acceptance
Price tends to move rapidly through LVN zones
Useful for setting stop-losses (below LVN for longs, above for shorts)
Can identify potential gaps or "air pockets" in the market structure
Grayscale POC Detection
A secondary POC detection system identifies the highest volume level outside the Value Area (with a 2-level buffer to avoid confusion). This helps identify significant volume accumulation zones that exist beyond the main value area.
How to Use This Indicator
Setup
Choose Lookback Period:
Enable "Use Visible Range" to analyze only what's on your chart
Or set "Fixed Range Lookback Depth" (default: 200 bars) for consistent analysis
Adjust Profile Resolution:
"Number of Price Levels" (default: 80) - higher = more granular analysis, lower = broader zones
Select Color Scheme:
Traffic Light: Best for clear POC/VA/HVN identification
Aurora Glass: Modern aesthetic for dark charts
Obsidian Precision: Professional trader preference
Black Ice: Minimalist single-color family
Visual Customization
Left Extension: How far back the left-side histogram extends into historical candles (default: 490 bars)
Right Extension: Width of the traditional histogram bars on the right (default: 50 bars)
Right Margin: Space between current price bar and histogram (default: 0 for flush alignment)
Left Profile Gap: Space between left-side histogram and candles (default: 0)
Trading Strategies
Strategy 1: Value Area Mean Reversion
Wait for price to move outside the Value Area (above VAH or below VAL)
Look for rejection signals (wicks, bearish/bullish candles)
Enter trades toward the POC
Take profits as price returns to POC or opposite VA boundary
Strategy 2: Breakout Confirmation
Identify when price is consolidating within the Value Area
Wait for a strong close above VAH (bullish) or below VAL (bearish)
Enter on the breakout or on first pullback to the VA boundary
Target previous HVNs or swing highs/lows outside the VA
Strategy 3: POC Support/Resistance
Watch for price approaching the POC level
If approaching from below, look for bullish reversal patterns at POC (support)
If approaching from above, look for bearish reversal patterns at POC (resistance)
Trade in the direction of the bounce with stops beyond the POC
Strategy 4: LVN Fast Movement Zones
Identify LVN zones within the Value Area (marked with "LVN" label)
When price enters an LVN, expect rapid movement through the zone
Avoid entering trades within LVNs
Use LVNs as confirmation of directional momentum
Alert System
The indicator includes 7 customizable alert conditions:
POC Touch: Alerts when price comes within 0.5 ATR of POC
VAH/VAL Touch: Alerts at Value Area boundaries
VA Breakout: Alerts on breakouts above VAH or below VAL
HVN Touch: Alerts when price contacts High Volume Nodes
LVN Entry: Alerts when entering Low Volume zones
POC Shift: Alerts when POC moves to a new price level
Reading the Profile
Price Labels (shown on the right side):
POC: Point of Control - highest volume price level
VAH: Value Area High - upper boundary of accepted value
VAL: Value Area Low - lower boundary of accepted value
LVN: Low Volume Node - expect fast movement through this zone
Color Intensity Interpretation:
Brighter colors = higher volume concentration
Dimmer colors = lower volume
Abrupt color changes = transition between volume zones
Gaps in the histogram = price levels with no trading activity
Technical Details
Volume Accumulation Logic:
For each bar in lookback period:
For each price level:
If bar's high/low range intersects price level:
Add bar's volume to that price level's total
Gradient Algorithm:
Traffic Light: Dual-range piecewise gradient (0-50% and 50-100% volume intensity)
Aurora Glass: Linear cyan-to-magenta interpolation
Obsidian Precision: Dark blue gradient with cyan highlights
Black Ice: Three-stage cyan intensity progression
Real-Time Updates:
The profile recalculates on every bar, including real-time tick data, ensuring the volume distribution always reflects current market structure.
Best Practices
Timeframe Selection: Use higher timeframes (4H, Daily) for swing trading, lower timeframes (5min, 15min) for day trading
Combine with Price Action: Volume profile shows WHERE, price action shows WHEN
Multiple Timeframe Analysis: Check daily VP for major levels, then drill down to intraday for entries
Volume Type Selection: Use "Bullish" volume in uptrends, "Bearish" in downtrends, or "Both" for complete picture
Adjust VA Percentage: 68% (default) captures one standard deviation; try 70% for tighter or 60% for broader value areas
Performance Notes
Maximum bars back: 5000 (handles deep historical analysis)
Maximum boxes: 500 (handles complex profiles)
Optimized calculation: Only recalculates on last bar for efficiency
Real-time capable: Updates as new ticks arrive
TrendlinesDowntrend lines are one of the most important tools in technical analysis. A downtrend line is created by connecting a series of lower highs which forms a clear visual line where price repeatedly finds resistance. Traders use these lines to understand trend direction, time entries, plan exits, and quickly recognize when momentum is shifting.
This indicator automatically finds and maintains the strongest downtrend lines on any timeframe. It removes the guesswork and inconsistency that comes with manually drawing trendlines.
Unlike most other trendline indicators that just draw lines from swing highs to the current high, this indicator actively scans for new pivot highs, tests each potential line against live price action and only promotes a line to valid status once it has proven itself as a true trendline by price touching or respecting the line a user defined number of times, with the default set to three. This filters out noise and leaves only the most meaningful and reliable trendlines on your chart.
When price eventually breaks a respected downtrend line the indicator highlights the breakout immediately. Traders often use these moments for entries confirmation signals or to prepare for a potential shift in market behavior. The breakout alert is built directly into the indicator so you never miss an important move.
This indicator also works with the Pine Screener to find tickers with current valid trendlines.
How are trendlines determined?
The indicator begins by anchoring to the most recent pivot high. From there it draws a temporary line to the current bar and evaluates every bar between the two points.
Each time a high comes within a user selected buffer zone around that line it is counted as a touch. Once the required number of touches is confirmed and price has never exceeded the buffer to the upside the trendline becomes valid and is displayed on the chart as an active downtrend line.
VWAP-Anchored MACD [BOSWaves]VWAP-Anchored MACD - Volume-Weighted Momentum Mapping With Zero-Line Filtering
Overview
The VWAP-Anchored MACD delivers a refined momentum model built on volume-weighted price rather than raw closes, giving you a more grounded view of trend strength during sessions, weeks, or months.
Instead of tracking two EMAs of price like a standard MACD, this tool reconstructs the MACD engine using anchored VWAP as the core input. The result is a momentum structure that reacts to real liquidity flow, filters out weak crossovers near the zero line, and visualizes acceleration shifts with clear, high-contrast gradients.
This indicator acts as a precise momentum map that adapts in real time. You see how weighted price is accelerating, where valid crossovers form, and when trend conviction is strong enough to justify execution.
It uses gradient line coloring to show bullish or bearish momentum, histogram shading to highlight energy shifts, cross dots to mark valid crossovers, optional buy/sell diamonds for execution cues, and candle coloring to display trend strength at a glance.
Theoretical Foundation
Traditional MACD compares the difference between two exponential moving averages of price.
This variant replaces price with anchored VWAP, making the calculation sensitive to actual traded volume across your chosen period (Session, Week, or Month).
Three principles drive the logic:
Anchored VWAP Momentum : Price is weighted by volume and aggregated across the selected anchor. The fast and slow VWAP-EMAs then expose how liquidity-corrected momentum is expanding or contracting.
Zero-Line Distance Filtering : Crossover signals that occur too close to the zero line are removed. This eliminates the common MACD problem of generating weak, directionless signals in choppy phases.
Directional Visualization : MACD line, signal line, histogram, candle colors, and optional diamond markers all react to shifts in VWAP-momentum, giving you a clean structural read on market pressure.
Anchoring VWAP to session, weekly, or monthly resets creates a systematic framework for tracking how capital flow is driving momentum throughout each trading cycle.
How It Works
The core engine processes momentum through several mapped layers:
VWAP Aggregation : Price × volume is accumulated until the anchor resets. This creates a continuous, liquidity-corrected VWAP curve.
MACD Construction : Fast and slow VWAP-EMAs define the MACD line, while a smoothed signal line identifies edges where momentum shifts.
Zero-Line Distance Filter : MACD and signal must both exceed a threshold distance from zero for a crossover to count as valid. This prevents fake crossovers during compression.
Visual Momentum Layers : It uses gradient line coloring to show bullish or bearish momentum, histogram shading to highlight energy shifts, cross dots to mark valid crossovers, optional buy/sell diamonds for execution cues, and candle coloring to display trend strength at a glance.
This layered structure ensures you always know whether momentum is strengthening, fading, or transitioning.
Interpretation
You get a clean, structural understanding of VWAP-based momentum:
Bullish Phases : MACD > Signal, histogram expands, candles turn bullish, and crossovers occur above the threshold.
Bearish Phases : MACD < Signal, histogram drives lower, candles shift bearish, and downward crossovers trigger below the threshold.
Neutral/Compression : Both lines remain near the zero boundary, histogram flattens, and signals are suppressed to avoid noise.
This creates a more disciplined version of MACD momentum reading - less noise, more conviction, and better alignment with liquidity.
Strategy Integration
Trend Continuation : Use VWAP-MACD crossovers that occur far from the zero line as higher-conviction entries.
Zero-Line Rejection : Watch for histogram contractions near zero to anticipate flattening momentum and potential reversal setups.
Session/Week/Month Anchors : Session anchor works best for intraday flows. Weekly or monthly anchor structures create cleaner macro momentum reads for swing trading.
Signal-Only Execution : Optional buy/sell diamonds give you direct points to trigger trades without overanalyzing the chart.
This indicator slots cleanly into any momentum-following system and offers higher signal quality than classic MACD variants due to the volume-weighted core.
Technical Implementation Details
VWAP Reset Logic : Session (D), Week (W), or Month (M)
Dynamic Fast/Slow VWAP EMAs : Fully configurable lengths, smoothing and anchor settings
MACD/Signal Line Framework : Traditional structure with volume-anchored input
Zero-Line Filtering : Adjustable threshold for structural confirmation
Dual Visualization Layers : MACD body + histogram + crosses + candle coloring
Optimized Performance : Lightweight, fast rendering across all timeframes
Optimal Application Parameters
Timeframes:
1- 15 min : Short-term momentum scalping and rapid trend shifts
30- 240 min : Balanced momentum mapping with clear structural filtering
Daily : Macro VWAP regime identification
Suggested Configuration:
Fast Length : 12
Slow Length : 26
Signal Length : 9
Zero Threshold : 200 - 500 depending on asset range
These suggested parameters should be used as a baseline; their effectiveness depends on the asset volatility, liquidity, and preferred entry frequency, so fine-tuning is expected for optimal performance.
Performance Characteristics
High Effectiveness:
Assets with strong intraday or session-based volume cycles
Markets where volume-weighted momentum leads price swings
Trend environments with strong acceleration
Reduced Effectiveness:
Ultra-choppy markets hugging the VWAP axis
Sessions with abnormally low volume
Ranges where MACD naturally compresses
Disclaimer
The VWAP-Anchored MACD is a structural momentum tool designed to enhance directional clarity - not a guaranteed predictor. Performance depends on market regime, volatility, and disciplined execution. Use it alongside broader trend, volume, and structural analysis for optimal results.
VWAP + EMA9 With SignalsThis script is for scalping on the 5 minute timeframe. It contains signals that indicate intersection of VWAP by the EMA9. It contains Buy signals when a candle closes above both lines indicating a quick continuation of a long position (quick scalp) as well as Sell signals when a candle closes below both lines indicating a quick continuation of a short position (quick scalp). Please note that i do not recommend entries at Buy and Sell signals during Accumulation/Consolidation. Positions should be taken with volume.
Fibonacci Volume Profile [Auto-Anchored & Dynamic]The Concept: Structure Meets Participation Traders often treat Market Structure (Fibonacci Retracements) and Market Participation (Volume) as separate tools. This indicator merges them into a single, cohesive system.
Standard Volume Profiles are often static or require manual placement. Standard Fibonacci tools show where price might reverse, but not how much effort was spent there. This script solves that by automatically anchoring a high-definition Volume Profile to your most recent market swing, giving you a dynamic view of volume distribution relative to Fibonacci structural zones.
How It Works This is not a simple "tick" volume profile. It is a custom-built, array-based engine that:
Identifies the Swing: Automatically scans the last X bars (user-defined) to find the absolute Swing High and Swing Low.
Anchors the Profile: Draws the Volume Profile precisely covering the time duration of that swing.
Calculates Distribution: Using a "Smart Fill" algorithm, it distributes volume across price rows without gaps, ensuring a solid, institutional-grade look even on steep trends.
Dynamic Scaling: The width of the profile is responsive. It occupies a percentage of the swing's duration, meaning it scales perfectly whether you are zooming in, zooming out, or dragging chart margins.
Key Features
Auto-Anchored: No need to manually draw "Fixed Range" tools. The script adapts as new highs/lows are made.
Smart Fill Technology: Eliminates the "barcode" effect seen in basic scripts. Price rows are filled continuously for a solid distribution curve.
Split Volume Analysis: Bars are dual-colored (Teal/Red by default) to visualize Buy (Up Candle) vs. Sell (Down Candle) volume composition at every price level.
Point of Control (POC): Automatically highlights the price level with the highest volume (The "King" line) in Red.
Responsive Geometry: The profile width is defined as a percentage of the swing itself. It breathes with the chart.
Garbage Collection: Optimized for performance. Old drawings are cleared instantly when the chart moves, preventing "ghost" drawings or lag.
Settings Guide
Lookback Length: How far back the script scans for the High/Low (Default: 200). Increase this for higher timeframes or longer trends.
Resolution: The number of rows in the profile. (Default: 100). Higher = smoother definition.
Width (% of Swing): Controls how wide the profile is relative to the trend duration. (Default: 40%).
Colors: Fully customizable Buy, Sell, and POC colors to match your dark/light theme.
Disclaimer This script is for informational and analytical purposes only. It visualizes past market data and does not constitute financial advice or a signal to trade.
Reversal Reactor - Multi-Pattern Candle Reversal ScannerReversal Reactor - Multi-Pattern Candle Reversal Scanner
⚪ Overview
Reversal Reactor is a comprehensive candle-pattern and volume-pressure detection engine designed to highlight possible reversal environments.
It identifies abnormal volume surges, major single-candle reversal structures, and multi-candle formations such as Morning/Evening Stars — all refined through adjustable shadow-to-body ratios and adaptive lookback logic.
⚪ Core Features
Big-Volume Candle Detection : green or red full body.
Flags candles with unusually high volume relative to a volume EMA. These moments often reflect climactic pushes, absorption, forced liquidations, or rapid sentiment flips.
Reversal Candle Pattern Suite
A unified engine that detects major reversal structures with individual on/off control:
• Engulfing — Strong directional assertion via body-wide engulfing of prior candle.
• Morning Star — Three-stage bullish reversal following sustained selling.
• Evening Star — Bearish transition structure after an extended advance.
• Hammer — Long lower or upper wick showing strong rejection from one side of the market..
• Shooting Star — Long upper wick showing aggressive upside rejection.
• Hanging Man — Bearish exhaustion signal forming near range highs.
• Doji — Neutral indecision candle marking potential transition zones.
Shadow-to-Body Ratio Control
Fine-tunes wick-dominant pattern detection (hammer/star types) by requiring the shadow to exceed the body by a customizable multiplier, reducing low-quality signals.
Adaptive Lookback Logic
Allows users to adjust historical evaluation depth, improving sensitivity across different volatility regimes and asset behaviors. Default setting is recommended.
⚪ How Traders Use It
• Spot exhaustion near key support/resistance.
• Validate reversal attempts with volume confirmation.
• Filter for clean candle structures before entering momentum shifts.
Disclaimer
This indicator is intended for educational and informational purposes only. It does not constitute financial advice, nor does it guarantee performance or profitability. Always conduct your own analysis and manage risk appropriately when trading.
Trinity Extreme Rope Trend [SamRecio]Original work and credit to Sam and you can find him here (www.tradingview.com) and his script available from
Why change... just some small tweaks to enhance and here is the summary of Changes vs the Original Script...
- Rope smoothing algorithm kept 100% identical (same brilliant “pull-only-when-exceeded-ATR” logic)
- Direction logic unchanged (still instantly resets on price crossing the rope)
- Old linebr + fill method completely replaced with clean box.new() consolidation zones
- Added “BR” breakout arrows (cyan triangle up for bullish break, magenta triangle down for bearish break)
- Arrows fire only on the exact breakout bar — zero repaint, zero lag
- Added subtle yellow background tint while in consolidation
- Full alertconditions + optional popup/sound on every BR break
- Auto-finalizes and cleans boxes properly, no chart clutter
Primary rule: only take trades on the BR arrow in the direction of the higher-timeframe trend.
Typical high-probability setups
- Wait for yellow rope + box → price consolidates
- BR arrow appears and candle closes outside the box → enter immediately
- Stop-loss just inside the box (opposite side)
- Target: next major liquidity pool, previous swing high/low, or 3–5R
Suggested Settings for Different Styles/Timeframes
Scalping (1 m – 5 m)
ATR Length: 10–12
ATR Multiplier: 1.0–1.3
→ tighter rope = faster signals, perfect for killing 1-minute London/NY open raids
Intraday aggression (5 m – 15 m)
ATR Length: 14 (default)
ATR Multiplier: 1.5–1.8
→ this is the sweet spot most funded traders use right now
Swing / position trading (1 H – 4 H)
ATR Length: 20–30
ATR Multiplier: 2.0–2.5
→ wider rope filters out noise, only catches the real macro moves
Daily / weekly bias filter
ATR Length: 50
ATR Multiplier: 3.0–4.0
→ use only the rope color (ignore boxes) to determine weekly bias — cyan = only longs all week, magenta = only shorts
That’s it. Drop the script, choose one of the above settings based on your style, turn on alerts, and hope you enjoy what is a wonderful script.
Smart Money Concepts [MHA Finverse]A comprehensive Smart Money Concepts (SMC) indicator designed to identify institutional trading behavior and market structure shifts. This tool helps traders align with "smart money" by detecting key supply and demand zones, structural breaks, and liquidity patterns.
Core Features
Market Structure Analysis
- Real-time Internal Structure: Detects short-term BOS (Break of Structure) and CHoCH (Change of Character) with customizable filters
- Swing Structure: Identifies major trend shifts and structural breaks on higher timeframes
- Adjustable pivot detection with customizable swing point visualization
- Strong/Weak High/Low identification for bias confirmation
Order Blocks (OB)
- Internal and Swing Order Blocks with independent control
- Volume-based metrics showing OB strength and percentage contribution
- Two filtering methods: ATR-based and Cumulative Mean Range
- Flexible mitigation options (Close or High/Low)
- Display up to 20 order blocks per type with auto-cleanup on mitigation
- Color-coded zones with transparency control
Liquidity Detection
- Equal Highs (EQH) and Equal Lows (EQL) identification
- Threshold-based detection using ATR calculation
- Visual confirmation lines connecting equal levels
- Adjustable sensitivity and bar confirmation settings
Fair Value Gaps (FVG)
- Multi-timeframe FVG detection
- Auto-threshold calculation based on price momentum
- Bullish and Bearish gap visualization
- Extendable gap boxes for tracking unfilled imbalances
Premium & Discount Zones
- Automated premium, equilibrium, and discount zone plotting
- Based on current swing range extremes
- Visual representation of optimal entry zones
- Helps identify potential reversal and continuation areas
Multi-Timeframe Levels
- Previous Daily, Weekly, and Monthly High/Low levels
- Customizable line styles (solid, dashed, dotted)
- Independent color controls for each timeframe
- Auto-adjusted labels (PDH, PDL, PWH, PWL, PMH, PML)
Display Modes
- Historical Mode: Shows all past structures and maintains drawing history
- Present Mode: Displays only current active structures for cleaner charts
Visual Themes
- Colored: Full color customization for all elements
- Monochrome: Clean grey-scale design for minimal distraction
Smart Features
- Confluence filter for internal structure to reduce noise
- Automatic candle coloring based on market bias
- 16 pre-configured alert conditions for all major signals
- Efficient rendering with automatic cleanup of broken structures
- Independent control over each feature for modular usage
Use Cases
- Identify institutional entry and exit points through order blocks
- Spot potential reversals at premium/discount zones
- Confirm trend direction with BOS and CHoCH signals
- Find liquidity grabs at equal highs and lows
- Trade imbalances at fair value gaps
- Align entries with multi-timeframe key levels
Settings Organization
All features are neatly organized into logical groups:
- Smart Money Concepts (general settings)
- Real Time Internal Structure
- Real Time Swing Structure
- Order Blocks
- EQH/EQL
- Fair Value Gaps
- Highs & Lows MTF
- Premium & Discount Zones
Note: This indicator works on all timeframes and instruments. For optimal results, combine multiple SMC concepts together to find high-probability setups with confluence.
Credits
Special thanks to Dau_tu_hieu_goc and BigBeluga for their code examples and inspiration that contributed to the development of this indicator.
Disclaimer
This indicator is for educational purposes only and does not constitute financial advice. Trading involves substantial risk of loss. Past performance does not guarantee future results. Always use proper risk management and conduct your own analysis before making trading decisions. The developer is not responsible for any trading losses incurred.
Happy Trading
Session Fibonacci Tracker with Dynamic Range FreezeSession Fibonacci Tracker with Dynamic Range Freeze
This indicator plots Fibonacci retracement and extension levels based on session high/low ranges with a unique "freeze" mechanism that locks levels during volatility and recalculates only when price returns to the established range.
How It Works:
The indicator uses a three-stage process to maintain stable Fibonacci levels:
Range Establishment: At the start of each session (default 1800 ET), the indicator tracks the session high and low. Fibonacci levels are calculated with dynamic anchoring - when price is above the session open, 0 anchors at the high with 1 at the low; when below, 0 anchors at the low with 1 at the high.
Freeze Mechanism: Once the range is established, it immediately freezes. If a candle closes outside this range, the Fibonacci levels remain locked at their current values even as new session highs or lows form. This prevents levels from constantly recalculating during trending moves.
Recalculation: The frozen range only updates when price action (high or low) touches back inside the established range. At this point, levels recalculate based on the current session high/low, then freeze again.
Key Features:
Customizable Fibonacci levels: All retracement (0.236, 0.382, 0.500, 0.618, 0.786) and extension levels (-1.0, -0.618, -0.272, 1.272, 1.618, 2.0) can be enabled/disabled and adjusted to custom values
Time-based line extension prevents historical buffer overflow errors
Works across all timeframes
Session start time fully customizable
Visual status indicator shows whether levels are frozen or active
All lines and labels are fully customizable (colors, width, labels, prices)
Use Cases:
This indicator is particularly useful for traders who want stable reference levels during volatile periods. Traditional Fibonacci tools recalculate with every new extreme, making them difficult to use as support/resistance during trends. This implementation keeps levels stable until price returns to consolidation, providing consistent reference points for entries, exits, and stop placement.
Settings:
Session Settings: Configure session start time (default 1800 ET)
Fibonacci Levels: Enable/disable and customize each retracement level value
Extension Levels: Enable/disable and customize each extension level value
Visual Settings: Adjust line extension, width, labels, and price display
Colors: Customize colors for open line, 0 level, 1 level, retracements, and extensions
Liquidity Heatmap [Eˣ]💧 Liquidity Heatmap - Free Indicator
Overview
The Liquidity Heatmap reveals where stop losses are clustered in the market - the hidden liquidity zones that smart money targets. This indicator automatically identifies Buy-Side Liquidity (BSL) above price and Sell-Side Liquidity (SSL) below price, showing you exactly where institutional traders are likely to hunt for stops before major moves.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 What This Indicator Does
Identifies Liquidity Zones:
• Buy-Side Liquidity (BSL) - Stop losses from SHORT positions clustered above price
• Sell-Side Liquidity (SSL) - Stop losses from LONG positions clustered below price
• Automatically clusters nearby levels into high-probability zones
• Shows liquidity strength (1-5+) - higher numbers = more stops = bigger target
• Removes swept liquidity in real-time as price takes out stops
Visual Display:
• 🔴 Red Zones Above Price = Buy-Side Liquidity (shorts' stops)
• 🟢 Green Zones Below Price = Sell-Side Liquidity (longs' stops)
• Thicker/Darker Zones = Higher liquidity concentration
• BSL/SSL Labels = Show exact strength count
• Triangle Markers = Liquidity sweep alerts (when price takes stops)
Smart Features:
• Auto-removes old liquidity (customizable lookback period)
• Clusters nearby levels to reduce noise
• Tracks liquidity strength and age
• Updates in real-time as new swing points form
• Alerts when major liquidity zones are swept
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 How To Use This Indicator
Understanding Liquidity Concepts
What is Liquidity?
Liquidity refers to clusters of stop loss orders sitting in the market. These stops represent:
• Long traders' stop losses (below support) = Sell-Side Liquidity
• Short traders' stop losses (above resistance) = Buy-Side Liquidity
Why Does This Matter?
• Institutions NEED liquidity to fill large orders
• Price often "sweeps" liquidity zones before reversing
• Major liquidity = major target for smart money
• Understanding liquidity = understanding market maker behavior
The Liquidity Cycle:
1. Retail traders place stops at obvious levels (swing highs/lows)
2. Smart money identifies these clusters
3. Price is pushed to sweep the stops (liquidity grab)
4. Institutions fill their orders with this liquidity
5. Price reverses in the opposite direction
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 Trading Strategies
Strategy 1: Liquidity Sweep Reversals
Best For: Swing trading, catching reversals
Timeframes: 15min, 1H, 4H, Daily
Entry Setup:
1. Identify strong Sell-Side Liquidity (SSL) zone below price
2. Wait for price to sweep down into the SSL zone
3. Look for rejection/reversal candle pattern (pin bar, engulfing)
4. Enter LONG after sweep and reversal confirmation
5. Stop loss: Below the swept liquidity zone
6. Target: Opposite liquidity zone or key resistance
Why It Works: Smart money sweeps stops to fill buy orders, then pushes price higher
Example:
• SSL zone at $45,000 with strength 3
• Price drops to $44,950, sweeps the SSL
• Strong bullish reversal candle forms
• Enter long at $45,100
• Target: BSL zone at $47,000
Strategy 2: Liquidity-to-Liquidity Runs
Best For: Day trading, scalping
Timeframes: 5min, 15min, 1H
Entry Setup:
1. Price sweeps Sell-Side Liquidity below and reverses up
2. Identify Buy-Side Liquidity zone above
3. Enter LONG targeting the BSL zone above
4. Exit near/at the BSL zone (don't wait for sweep)
5. Stop loss: Below recent swing low
Why It Works: Price moves from liquidity pool to liquidity pool
Variation - Reverse for Shorts:
• BSL sweep above → Look for SSL zone below
• Enter short targeting lower liquidity
Strategy 3: Liquidity Avoidance (Stop Placement)
Best For: Improving win rate on existing strategies
Timeframes: All
Rules:
1. NEVER place stops exactly at obvious liquidity zones
2. Place stops beyond the liquidity zone with buffer
3. Or place stops before the liquidity zone (tighter, riskier)
4. Monitor liquidity strength - avoid zones with strength 3+
Why It Works: Market makers hunt obvious stop clusters
Example:
• Trading long, swing low at $100 (SSL zone, strength 4)
• Bad: Stop at $99.50 (will get swept)
• Better: Stop at $98.50 (beyond the liquidity)
• Alternative: Stop at $100.50 (tighter, before sweep zone)
Strategy 4: Confluence Trading
Best For: High probability setups
Timeframes: 1H, 4H, Daily
Entry Setup:
1. Find liquidity zone that aligns with:
• Major support/resistance level
• Fibonacci retracement (0.618, 0.786)
• Trendline
• Round psychological number ($50,000, $2,000, etc)
2. Wait for sweep of this high-confluence zone
3. Enter on reversal with multiple confirmations
4. Larger position size justified by confluence
Why It Works: Multiple factors = institutional interest = higher probability
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Settings Explained
Core Settings
Swing Detection Length (Default: 10)
• Number of bars left/right to identify swing highs and lows
• Lower values (5-8): More sensitive, more liquidity zones, more noise
• Higher values (12-20): Less sensitive, only major swings, cleaner chart
• Recommended: 8-10 for intraday, 10-15 for swing trading
Liquidity Lookback Bars (Default: 100)
• How many historical bars to track liquidity zones
• Lower values (50-75): Shows only recent liquidity
• Higher values (100-200): Shows longer-term liquidity clusters
• Zones older than this are automatically removed
• Recommended: 100-150 for most timeframes
Zone Proximity % (Default: 0.5)
• Percentage threshold to group nearby levels into single zone
• Lower values (0.2-0.4): Keeps levels separate, more zones
• Higher values (0.6-1.0): Aggressive clustering, fewer zones
• Recommended: 0.4-0.6 for crypto, 0.3-0.5 for forex, 0.5-0.8 for stocks
Visualization Settings
Show Buy-Side Liquidity
• Toggle ON/OFF red zones above price
• Turn OFF if only interested in downside liquidity
Show Sell-Side Liquidity
• Toggle ON/OFF green zones below price
• Turn OFF if only interested in upside liquidity
Show Liquidity Labels
• Toggle BSL/SSL labels with strength numbers
• Turn OFF for cleaner chart appearance
• Keep ON to see exact liquidity strength
Display Style
• Boxes: Filled rectangular zones (best for visualizing strength)
• Lines: Horizontal dashed lines (minimal, clean look)
• Both: Boxes + Lines (maximum visibility)
Color Intensity
• Low: 85% transparency (subtle, less distracting)
• Medium: 75% transparency (balanced visibility)
• High: 65% transparency (bold, maximum visibility)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📱 Info Panel Guide
Located in the top-right corner, the info panel provides real-time liquidity statistics:
Buy-Side Zones
• Count of active BSL zones above current price
• Higher number = More upside targets for price
Sell-Side Zones
• Count of active SSL zones below current price
• Higher number = More downside targets for price
Total Zones
• Combined count of all active liquidity
• Useful for gauging overall market structure
Nearest BSL
• Distance in % to closest Buy-Side Liquidity above
• Example: +2.5% means BSL is 2.5% above current price
• Quick reference for next upside target
Nearest SSL
• Distance in % to closest Sell-Side Liquidity below
• Example: -1.8% means SSL is 1.8% below current price
• Quick reference for next downside target
Liquidity Bias
• ⬆️ Bullish : More BSL than SSL (upside targets dominate)
• ⬇️ Bearish : More SSL than BSL (downside targets dominate)
• ↔️ Balanced: Equal liquidity on both sides (range-bound)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎓 Understanding Liquidity Strength
What Do The Numbers Mean?
Strength 1 : Single swing point
• Light liquidity, minor target
• Can be ignored in trending markets
• Useful in ranging/choppy conditions
Strength 2-3 : Moderate liquidity cluster
• Multiple nearby swing points merged
• Decent target for intraday moves
• Watch for potential sweeps
Strength 4-5 : Strong liquidity cluster
• Major cluster of stops
• High-probability target for institutions
• Expect reactions when swept
Strength 6+ : Extreme liquidity pool
• Massive stop cluster (rare)
• Critical zone - high probability of sweep
• Often marks major support/resistance
• Ideal for confluence setups
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📱 Alert Setup
This indicator includes 2 powerful alert types:
1. Buy-Side Liquidity Sweep
• Triggers when price sweeps BSL zone above
• Shows potential bullish reversal opportunity
• Often precedes upward continuation after sweep
2. Sell-Side Liquidity Sweep
• Triggers when price sweeps SSL zone below
• Shows potential bearish reversal opportunity
• Often precedes downward continuation after sweep
To Set Up Alerts:
1. Click the "Alert" button (clock icon) in TradingView
2. Condition: Select "Liquidity Heatmap"
3. Choose alert type: BSL Sweep or SSL Sweep
4. Configure notification method (push, email, webhook)
5. Click "Create"
Pro Tip: Set alerts for both BSL and SSL sweeps to catch opportunities in both directions
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💎 Pro Tips & Best Practices
✅ DO:
• Wait for confirmation - Don't enter immediately on sweep, wait for reversal pattern
• Combine with trend - SSL sweeps in uptrends = higher probability longs
• Check multiple timeframes - 1H liquidity + 4H liquidity = strongest zones
• Monitor strength - Focus on zones with strength 3+
• Use proper risk management - Liquidity sweeps can go further than expected
• Watch for re-sweeps - Sometimes liquidity zones get swept multiple times
• Consider volume - High volume sweeps = stronger reversal potential
⚠️ DON'T:
• Don't fade strong trends - In strong trends, sweeps often continue rather than reverse
• Don't overtrade - Not every sweep is a tradeable setup
• Don't ignore context - Check broader market conditions and news
• Don't use alone - Combine with price action, support/resistance, and other analysis
• Don't place stops at liquidity - Your stops will be hunted
• Don't expect perfection - Some sweeps fail, some zones never get hit
🎯 Best Timeframes:
• Scalping: 5min, 15min (fast moves, frequent sweeps)
• Day Trading: 15min, 1H (balanced view)
• Swing Trading: 1H, 4H, Daily (major liquidity zones)
• Position Trading: 4H, Daily, Weekly (institutional liquidity)
🔥 Best Markets:
• Crypto (high volatility, frequent liquidity grabs)
• Forex (EUR/USD, GBP/USD - liquid pairs)
• Futures (ES, NQ, CL - high liquidity contracts)
• Stocks (large caps with high volume)
⏰ Best Times:
• Market opens (high volatility = liquidity hunting)
• Before/after major news events
• Session overlaps (London/NY for forex)
• First hour and last hour of trading
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 What Makes This Different?
Unlike basic pivot indicators, the Liquidity Heatmap:
• Institutional Perspective - Shows where smart money hunts stops
• Dynamic Clustering - Automatically groups nearby levels for clarity
• Strength Tracking - Not just where, but HOW MUCH liquidity exists
• Auto-Cleanup - Removes swept and old liquidity automatically
• Visual Clarity - Instant understanding of market structure
• Actionable - Clear targets and reversal zones for trading
• Real-Time Updates - Adapts as market structure evolves
Based On Professional Concepts:
• Order flow analysis
• Market maker behavior
• Institutional trading techniques
• Liquidity engineering principles
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Common Liquidity Patterns
Pattern 1: The Double Sweep
• Price sweeps SSL below, reverses up
• Price sweeps BSL above, reverses down
• Back to original range
• Trading: Fade the second sweep for mean reversion
Pattern 2: The Cascade
• Multiple SSL zones stacked below
• Price sweeps first zone, continues to next
• Chain reaction of stop losses triggering
• Trading: Ride the momentum to lowest zone
Pattern 3: The Fake-Out
• Price approaches liquidity but doesn't quite sweep
• Reverses before hitting the zone
• "Scared money" didn't wait for full sweep
• Trading: Wait for actual sweep, don't anticipate
Pattern 4: The Absorption
• Price sweeps major liquidity zone (strength 5+)
• No reversal, just consolidation
• Institutions absorbed all liquidity
• Trading: Wait for breakout direction, likely continuation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Upgrade Your Trading Arsenal
This free indicator gives you institutional-level liquidity analysis. Want more?
🔥 Check out my premium scripts for:
• Automated entry signals with liquidity confirmation
• Multi-timeframe liquidity analysis
• Advanced stop loss management that avoids liquidity zones
• Backtested strategies with performance tracking
• Custom alerts for high-probability setups
• And much more...
👉 Visit my profile to see all available tools!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Important Notes
• Liquidity analysis is one piece of the puzzle - use with other analysis methods
• Not all liquidity zones get swept - some remain untouched
• Market conditions change - adapt your strategy accordingly
• Always use proper position sizing and risk management
• Liquidity sweeps can be violent - use appropriate stop losses
• Practice on demo accounts before trading with real capital
• Past liquidity patterns don't guarantee future price action
Disclaimer: This indicator is for educational purposes. Trading involves risk. Always do your own research and never risk more than you can afford to lose.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🙏 Support This Work
If you find this indicator valuable:
• ⭐ Give it a thumbs up
• 💬 Share your best liquidity sweep trades in the comments
• 🔔 Follow for more free professional-grade tools
• 🚀 Share with traders who need to understand liquidity
Got questions? Drop a comment and I'll help you master liquidity trading!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Developed with ❤️ for traders who want to think like institutions
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Version History
• v1.0 - Initial release with dynamic liquidity detection and clustering
Raja's SMC Order Blocks Display [PRO]Raja's SMC Order Blocks Display - Complete Description
🌟 A Message from Raja Saien
This indicator has been crafted with dedication, countless hours of research, and deep passion for trading excellence. Raja Saien has poured his heart and soul into creating this powerful tool to help YOU succeed in the markets.
For Everyone Starting Their Trading Journey:
If you're new to trading, remember - every expert was once a beginner. This indicator is your gateway to understanding how institutional money moves in the markets. Raja Saien believes in YOUR potential to learn, grow, and achieve financial freedom through smart trading.
The path to success requires:
✨ Dedication to learning the craft
💪 Patience during the learning curve
🎯 Consistent practice with the right tools
🚀 Belief in your ability to master the markets
This isn't just an indicator - it's a mentor on your chart, showing you where the smart money is positioned. With hard work and this tool in your arsenal, you can transform your trading and your life.
Remember: The markets reward those who prepare, practice, and persist. Raja Saien has given you the tool - now it's your turn to commit to the journey!
Overview
This is an advanced TradingView indicator that identifies and displays Smart Money Concepts (SMC) and Order Blocks. It's designed for professional traders who want to understand institutional trading patterns and market structure.
Main Features
1. Smart Money Concepts (SMC) Detection
ZigZag Pattern Recognition: Identifies market structure using pivot highs and lows
Break of Structure (BOS): Detects when price breaks through important structural levels
Change of Character (CHoCH): Identifies trend reversals and shifts in market sentiment
Configurable Length: Adjustable ZigZag sensitivity (default: 5 bars)
2. Order Blocks (OB)
Order blocks are zones where institutional investors have placed large orders. The indicator identifies two types:
Bullish Order Blocks:
Created when market shifts from bearish to bullish
Marks the last bearish candle before the structure break
Displayed in green/teal color
Represents potential support zones where price may bounce
Looks back 10 bars to find the lowest bearish candle
Bearish Order Blocks:
Created when market shifts from bullish to bearish
Marks the last bullish candle before the structure break
Displayed in red color
Represents potential resistance zones where price may reject
Looks back 10 bars to find the highest bullish candle
3. Order Block Management
Dynamic Extension: Active order blocks extend forward on the chart
Mitigation Detection: Automatically detects when price fully breaks through an order block
Bullish OB mitigated when close drops below the bottom
Bearish OB mitigated when close rises above the top
Visual Feedback: Mitigated blocks turn gray and are labeled "Mitigated"
Auto-cleanup: Removes mitigated order blocks from active tracking
4. Moving Averages Suite
Includes multiple trend indicators for comprehensive analysis:
Fast EMA (default 9): Yellow line - captures short-term momentum
Slow EMA (default 21): Purple line - identifies medium-term trends
EMA 50: Orange line - major trend filter
SMA 200: Blue line - long-term trend and institutional reference point
All EMAs support multiple source options: Open, High, Low, Close, HL2, HLC3, OHLC4
Customization Options
SMC Settings
ZigZag Length: Control sensitivity of structure detection (2-100)
Show Order Blocks: Toggle order block display on/off
Visual Settings
Bullish Color: Customize color for bullish order blocks (default: teal #089981)
Bearish Color: Customize color for bearish order blocks (default: red #f23645)
Transparency: Order blocks displayed with 80% transparency for better chart visibility
EMA Settings
Fast EMA Length: Adjustable period (default: 9)
Slow EMA Length: Adjustable period (default: 21)
Source Selection: Choose calculation source for each EMA
Toggle EMA 50: Show/hide the 50-period EMA
Toggle SMA 200: Show/hide the 200-period SMA
How It Works
Structure Detection Process
Identifies pivot highs and lows based on specified length
Creates ZigZag lines connecting significant swing points
Tracks current trend direction (bullish/bearish/neutral)
Monitors for structural breaks that signal trend changes
Order Block Creation
When price breaks above a previous high (bullish BOS):
Scans last 10 bars for the lowest bearish candle
Creates bullish order block at that candle's range
Marks it as active support zone
When price breaks below a previous low (bearish BOS):
Scans last 10 bars for the highest bullish candle
Creates bearish order block at that candle's range
Marks it as active resistance zone
Order Block Lifecycle
Active: Box extends forward with colored border and background
Tested: Price can interact with the zone multiple times
Mitigated: Once price closes through the zone, marked as invalidated
Removed: Automatically cleaned up after mitigation
Trading Applications
Entry Strategies
Pullback Entries: Wait for price to return to an active order block
Confirmation: Look for bullish price action at bullish OBs, bearish at bearish OBs
EMA Confluence: Stronger setups when OBs align with EMA levels
Risk Management
Stop Loss: Place stops just beyond the order block boundary
Invalidation: Exit if order block gets mitigated
Multiple Timeframes: Check OBs on higher timeframes for stronger zones
Trend Analysis
EMA Alignment: All EMAs pointing same direction = strong trend
EMA 50 Test: Key level for trend continuation/reversal
SMA 200: Major institutional reference point
Technical Specifications
Max Boxes: 500 (sufficient for most chart timeframes)
Max Lines: 500
Max Labels: 500
Overlay: True (draws directly on price chart)
Version: Pine Script v5
Best Practices
Use on liquid markets (forex, major stocks, crypto)
Combine with volume analysis for confirmation
Higher timeframes produce more reliable order blocks
Wait for clear structure breaks before trusting new OBs
Don't trade against the major trend (SMA 200 direction)
Use multiple confirmations before entering trades
Limitations
Works best in trending markets with clear structure
May produce false signals in ranging/choppy conditions
Requires understanding of Smart Money Concepts
Not a standalone trading system - use with proper risk management
Historical order blocks don't guarantee future reactions
Dynamic Swing Anchored VWAP (Zeiierman) with alert functionoriginal script by the author, added alert function only
TJR Bogdan Pro (V20)TJR Bogdan Pro (V20) - The "Cheat Code"
Trading is hard. This tool makes it simple.
Most new traders lose money because they guess. They buy when it "feels" low and sell when it "feels" high.
The TJR Bogdan Pro removes the guessing. It waits for the market to make a specific mistake (The Trap), and then tells you exactly when to enter (The Entry).
🎮 How to Play (The 3 Rules)
You are playing a game of "Red Light, Green Light." You do not touch the mouse until the indicator tells you to.
1. Wait for the Big Label
* Ignore the small lines and X's.
* Wait until a massive label pops up on your screen:
* 🔵 "BUY SETUP (STRONG)"
* 🟠 "SELL SETUP (STRONG)"
2. Set Your Trap (The Colored Box)
* When the label appears, a Colored Box will appear next to it.
* The market is like a rubber band; it usually snaps back to this box before going where it wants to go.
* The Move: Place a Limit Order inside the Darker Shaded Area of that box.
* If it's a Buy Setup: Place order in the Dark Blue Box.
* If it's a Sell Setup: Place order in the Dark Orange Box.
3. Set Your Safety (The Bread)
* Every trade needs a top and a bottom. The indicator marks these for you:
* 🛑 Red "STOP" Label: This is your Stop Loss. If price hits this, you were wrong. The system gets you out automatically to save your money.
* 🎯 Green "TARGET" Label: This is your Profit Target. This is where the bus is going. Set your "Take Profit" here.
🚀 The "First Trade" Checklist
1. Open the chart. (Works best on a 5-minute timeframe).
2. Sit on your hands. Do not click anything.
3. ALARM! You see the "SELL SETUP" label appear.
4. Look for the Orange Box.
5. Right-Click inside the dark part of the Orange Box $\to$ Sell Limit.
6. Drag your Stop Loss to the Red "STOP" label.
7. Drag your Take Profit to the Green "TARGET" label.
8. Walk away. The computer handles the rest.
That’s it. No guessing. No predicting. Just following orders.
NoProcess Prior Month/Week/Day High/Low/EQ Prior Period Levels
Plots key support/resistance levels from previous timeframes: Day, Week, and Month.
Levels Displayed:
PDH/PDL/PDE — Prior Day High, Low, and Equilibrium (midpoint)
PWH/PWL/PWE — Prior Week High, Low, and Equilibrium
PMH/PML/PME — Prior Month High, Low, and Equilibrium
Features:
Toggle each timeframe independently
Single color control for clean chart aesthetics
Configurable right extension (1-50 bars)
Dotted line style with labels positioned at line endpoints
Use Case:
Reference levels for institutional order flow concepts. Prior period highs/lows act as liquidity pools; equilibriums mark fair value zones where price often rebalances. Works on any instrument and timeframe.
Sai Scalper ProSai Scalper Pro – Feature Summary
Trend Engine
- ATR-based trailing stop with Fibonacci levels (61.8%, 78.6%, 88.6%)
- Auto trend detection with swing point tracking
Scalping Detection (0-10 Score)
- Analyzes 7 factors: ATR compression, ADX, Volume, Range, Consolidation, RSI, BB Squeeze
- Smart state machine with hysteresis to prevent false signals
- Adjustable sensitivity & stability settings
Cloud Modes (7 Options)
- Full Zone, Entry Zone, Premium/Discount, Fib Bands, Upper/Middle/Lower Band
Pro Dashboard
- Real-time scalp score with visual meter
- Entry quality rating & zone display
- Suggested TP/SL based on ATR
- Session detection (Sydney/Tokyo/London/NY) with overlap alerts
- 3 styles (Minimal/Pro/Full) × 4 sizes × 9 positions
Alerts
- Scalp ready, Prime conditions (8+), Optimal entry zone
- Direction-specific (Long/Short bias)
Combines trend-following Fibonacci analysis with intelligent ranging detection for optimal scalping opportunities.
Fair Value Gap Signals [Kodexius]Fair Value Gap Signals is an advanced market structure tool that automatically detects and tracks Fair Value Gaps (FVGs), evaluates the quality of each gap, and highlights high value reaction zones with visual metrics and signal markers.
The script is designed for traders who focus on liquidity concepts, order flow and mean reversion. It goes beyond basic FVG plotting by continuously monitoring how price interacts with each gap and by quantifying three key aspects of each zone:
-Entry velocity inside the gap
-Volume absorption during tests
-Structural integrity and depth of penetration
The result is a dynamic, information rich visualization of which gaps are being respected, which are being absorbed, and where potential reversals or continuations are most likely to occur.
All visual elements are configurable, including the maximum number of visible gaps per direction, mitigation method (close or wick) and an ATR based filter to ignore insignificant gaps in low volatility environments.
🔹 Features
🔸 Automated Fair Value Gap Detection
The script detects both bullish and bearish FVGs based on classic three candle logic:
Bullish FVG: current low is strictly above the high from two bars ago
Bearish FVG: current high is strictly below the low from two bars ago
🔸 ATR Based Gap Filter
To avoid clutter and low quality signals, the script can ignore very small gaps using an ATR based filter.
🔸Per Gap State Machine and Lifecycle
Each gap is tracked with an internal status:
Fresh: gap has just formed and has not been tested
Testing: price is currently trading inside the gap
Tested: gap was tested and left, waiting for a potential new test
Rejected: price entered the gap and then rejected away from it
Filled: gap is considered fully mitigated and no longer active
This state machine allows the script to distinguish between simple touches, multiple tests and meaningful reversals, and to trigger different alerts accordingly.
🔸 Visual Ranking of Gaps by Metrics
For each active gap, three additional horizontal rank bars are drawn on top of the gap area:
Rank 1 (Vel): maximum entry velocity inside the gap
Rank 2 (Vol): relative test volume compared to average volume
Rank 3 (Dpt): remaining safety of the gap based on maximum penetration depth
These rank bars extend horizontally from the creation bar, and their length is a visual score between 0 and 1, scaled to the age of the gap. Longer bars represent stronger or more favorable conditions.
🔸Signals and Rejection Markers
When a gap shows signs of rejection (price enters the gap and then closes away from it with sufficient activity), the script can print a signal label at the reaction point. These markers summarize the internal metrics of the gap using a tooltip:
-Velocity percentage
-Volume percentage
-Safety score
-Number of tests
🔸 Flexible Mitigation Logic (Close or Wick)
You can choose how mitigation is defined via the Mitigation Method input:
Close: the gap is considered filled only when the closing price crosses the gap boundary
Wick: a full fill is detected as soon as any wick crosses the gap boundary
🔸 Alert Conditions
-New FVG formed
-Price entering a gap (testing)
-Gap fully filled and invalidated
-Rejection signal generated
🔹Calculations
This section summarizes the main calculations used under the hood. Only the core logic is covered.
1. ATR Filter and Gap Size
The script uses a configurable ATR length to filter out small gaps. First the ATR is computed:
float atrVal = ta.atr(atrLength)
Gap size for both directions is then measured:
float gapSizeBull = low - high
float gapSizeBear = low - high
If useAtrFilter is enabled, gaps smaller than atrVal are ignored. This ties the minimum gap size to the current volatility regime.
2. Fair Value Gap Detection
The basic FVG conditions use a three bar structure:
bool fvgBull = low > high
bool fvgBear = high < low
For bullish gaps the script stores:
-top as low of the current bar
-bottom as high
For bearish gaps:
-top as high of the current bar
-bottom as low
This defines the price range that is considered the imbalance area.
3. Depth and Safety Score
Depth measures how far price has penetrated into the gap since its creation. For each bar, the script computes a currentDepth and updates the maximum depth:
float currentDepth = 0.0
if g.isBullish
if l < g.top
currentDepth := g.top - l
else
if h > g.bottom
currentDepth := h - g.bottom
if currentDepth > g.maxDepth
g.maxDepth := currentDepth
The safety score expresses how much of the gap remains intact:
float depthRatio = g.maxDepth / gapSize
float safetyScore = math.max(0.0, 1.0 - depthRatio)
safetyScore near 1: gap is mostly untouched
safetyScore near 0: gap is mostly or fully filled
4. Velocity Metric
Velocity captures how aggressively price moves inside the gap. It is based on the body to range ratio of each bar that trades within the gap and rewards bars that move in the same direction as the gap:
float barRange = h - l
float bodyRatio = math.abs(close - open) / barRange
float directionBonus = 0.0
if g.isBullish and close > open
directionBonus := 0.2
else if not g.isBullish and close < open
directionBonus := 0.2
float currentVelocity = math.min(bodyRatio + directionBonus, 1.0)
The gap keeps track of the strongest observed value:
if currentVelocity > g.maxVelocity
g.maxVelocity := currentVelocity
This maximum is later used as velScore when building the velocity rank bar.
5. Volume Accumulation and Volume Score
While price is trading inside a gap, the script accumulates the traded volume:
if isInside
g.testVolume += volume
It also keeps track of the number of tests and the volume at the start of the first test:
if g.status == "Fresh"
g.status := "Testing"
g.testCount := 1
g.testStartVolume := volume
An average volume is computed using a 20 period SMA:
float volAvg = ta.sma(volume, 20)
The expected volume is approximated as:
float expectedVol = volAvg * math.max(1, (bar_index - g.index) / 2)
The volume score is then:
float volScore = math.min(g.testVolume / expectedVol, 1.0)
This produces a normalized 0 to 1 metric that shows whether the gap has attracted more or less volume than expected over its lifetime.
6. Rank Bar Scaling
All three scores are projected visually along the time axis as horizontal bars. The script uses the age of the gap in bars as the maximum width:
float maxWidth = math.max(bar_index - g.index, 1)
Then each metric is mapped to a bar length:
int len1 = int(math.max(1, maxWidth * velScore))
g.rankBox1.set_right(g.index + len1)
int len2 = int(math.max(1, maxWidth * volScore))
g.rankBox2.set_right(g.index + len2)
int len3 = int(math.max(1, maxWidth * safetyScore))
g.rankBox3.set_right(g.index + len3)
This creates an intuitive visual representation where stronger metrics produce longer rank bars, making it easy to quickly compare the relative quality of multiple FVGs on the chart.
Open Interest Z-Score [BackQuant]Open Interest Z-Score
A standardized pressure gauge for futures positioning that turns multi venue open interest into a Z score, so you can see how extreme current positioning is relative to its own history and where leverage is stretched, decompressing, or quietly re loading.
What this is
This indicator builds a single synthetic open interest series by aggregating futures OI across major derivatives venues, then standardises that aggregated OI into a rolling Z score. Instead of looking at raw OI or a simple change, you get a normalized signal that says "how many standard deviations away from normal is positioning right now", with optional smoothing, reference bands, and divergence detection against price.
You can render the Z score in several plotting modes:
Line for a clean, classic oscillator.
Colored line that encodes both sign and momentum of OI Z.
Oscillator histogram that makes impulses and compressions obvious.
The script also includes:
Aggregated open interest across Binance, Bybit, OKX, Bitget, Kraken, HTX, and Deribit, using multiple contract suffixes where applicable.
Choice of OI units, either coin based or converted to USD notional.
Standard deviation reference lines and adaptive extreme bands.
A flexible smoothing layer with multiple moving average types.
Automatic detection of regular and hidden divergences between price and OI Z.
Alerts for zero line and ±2 sigma crosses.
Aggregated open interest source
At the core is the same multi venue OI aggregation engine as in the OI RSI tool, adapted from NoveltyTrade's work and extended for this use case. The indicator:
Anchors on the current chart symbol and its base currency.
Loops over a set of exchanges, gated by user toggles:
Binance.
Bybit.
OKX.
Bitget.
Kraken.
HTX.
Deribit.
For each exchange, loops over several contract suffixes such as USDT.P, USD.P, USDC.P, USD.PM to cover the common perp and margin styles.
Requests OI candles for each exchange plus suffix pair into a small custom OI type that carries open, high, low and close of open interest.
Converts each OI stream into a common unit via the sw method:
In COIN mode, OI is normalized relative to the coin.
In USD mode, OI is scaled by price to approximate notional.
Exchange specific scaling factors are applied where needed to match contract multipliers.
Accumulates all valid OI candles into a single combined OI "candle" by summing open, high, low and close across venues.
The result is oiClose , a synthetic close for aggregated OI that represents cross venue positioning. If there is no valid OI data for the symbol after this process, the script throws a clear runtime error so you know the market is unsupported rather than quietly plotting nonsense.
How the Z score is computed
Once the aggregated OI close is available, the indicator computes a rolling Z score over a configurable lookback:
Define subject as the aggregated OI close.
Compute a rolling mean of this subject with EMA over Z Score Lookback Period .
Compute a rolling standard deviation over the same length.
Subtract the mean from the current OI and divide by the standard deviation.
This gives a raw Z score:
oi_z_raw = (subject − mean) ÷ stdDev .
Instead of plotting this raw value directly, the script passes it through a smoothing layer:
You pick a Smoothing Type and Smoothing Period .
Choices include SMA, HMA, EMA, WMA, DEMA, RMA, linear regression, ALMA, TEMA, and T3.
The helper ma function applies the chosen smoother to the raw Z score.
The result is oi_z , a smoothed Z score of aggregated open interest. A separate EMA with EMA Period is then applied on oi_z to create a signal line ma that can be used for crossovers and trend reads.
Plotting modes
The Plotting Type input controls how this Z score is rendered:
1) Line
In line mode:
The smoothed OI Z score is plotted as a single line using Base Line Color .
The EMA overlay is optionally plotted if Show EMA is enabled.
This is the cleanest view when you want to treat OI Z like a standard oscillator, watching for zero line crosses, swings, and divergences.
2) Colored Line
Colored line mode adds conditional color logic to the Z score:
If the Z score is above zero and rising, it is bright green, representing positive and strengthening positioning pressure.
If the Z score is above zero and falling, it shifts to a cooler cyan, representing positive but weakening pressure.
If the Z score is below zero and falling, it is bright red, representing negative and strengthening pressure (growing net de risking or shorting).
If the Z score is below zero and rising, it is dark red, representing negative but recovering pressure.
This mapping makes it easy to see not only whether OI is above or below its historical mean, but also whether that deviation is intensifying or fading.
3) Oscillator
Oscillator mode turns the Z score into a histogram:
The smoothed Z score is plotted as vertical columns around zero.
Column colors use the same conditional palette as colored line mode, based on sign and change direction.
The histogram base is zero, so bars extend up into positive Z and down into negative Z.
Oscillator mode is useful when you care about impulses in positioning, for example sharp jumps into positive Z that coincide with fast builds in leverage, or deep spikes into negative Z that show aggressive flushes.
4) None
If you only want reference lines, extreme bands, divergences, or alerts without the base oscillator, you can set plotting to None and keep the rest of the tooling active.
The EMA overlay respects plotting mode and only appears when a visible Z score line or histogram is present.
Reference lines and standard deviation levels
The Select Reference Lines input offers two styles:
Standard Deviation Levels
Plots small markers at zero.
Draws thin horizontal lines at +1, +2, −1 and −2 Z.
Acts like a classic Z score ladder, zero as mean, ±1 as normal band, ±2 as outer band.
This mode is ideal if you want a textbook statistical framing, using ±1 and ±2 sigma as standard levels for "normal" versus "extended" positioning.
Extreme Bands
Extreme bands build on the same ±1 and ±2 lines, then add:
Upper outer band between +3 and +4 Z.
Lower outer band between −3 and −4 Z.
Dynamic fill colors inside these bands:
If the Z score is positive, the upper band fill turns red with an alpha that scales with the magnitude of |Z|, capped at a chosen max strength. Stronger deviations towards +4 produce more opaque red fills.
If the Z score is negative, the lower band fill turns green with the same adaptive alpha logic, highlighting deep negative deviations.
Opposite side bands remain a faint neutral white when not in use, so they still provide structural context without shouting.
This creates a visual "danger zone" for position crowding. When the Z score enters these outer bands, open interest is many standard deviations away from its mean and you are dealing with rare but highly loaded positioning states.
Z score as a positioning pressure gauge
Because this is a Z score of aggregated open interest, it measures how unusual current positioning is relative to its own recent history, not just whether OI is rising or falling:
Z near zero means total OI is roughly in line with normal conditions for your lookback window.
Positive Z means OI is above its recent mean. The further above zero, the more "crowded" or extended positioning is.
Negative Z means OI is below its recent mean. Deep negatives often mark post flush environments where leverage has been cleared and the market is under positioned.
The smoothing options help control how much noise you want in the signal:
Short Z score lookback and short smoothing will react quickly, suited for short term traders watching intraday positioning shocks.
Longer Z score lookback with smoother MA types (EMA, RMA, T3) give a slower, more structural view of where the crowd sits over days to weeks.
Divergences between price and OI Z
The indicator includes automatic divergence detection on the Z score versus price, using pivot highs and lows:
You configure Pivot Lookback Left and Pivot Lookback Right to control swing sensitivity.
Pivots are detected on the OI Z series.
For each eligible pivot, the script compares OI Z and price at the last two pivots.
It looks for four patterns:
Regular Bullish – price makes a lower low, OI Z makes a higher low. This can indicate selling exhaustion in positioning even as price washes out. These are marked with a line and a label "ℝ" below the oscillator, in the bullish color.
Hidden Bullish – price makes a higher low, OI Z makes a lower low. This suggests continuation potential where price holds up while positioning resets. Marked with "ℍ" in the bullish color.
Regular Bearish – price makes a higher high, OI Z makes a lower high. This is a classic warning sign of trend exhaustion, where price pushes higher while OI Z fails to confirm. Marked with "ℝ" in the bearish color.
Hidden Bearish – price makes a lower high, OI Z makes a higher high. This is often seen in pullbacks within downtrends, where price retraces but positioning stretches again in the direction of the prevailing move. Marked with "ℍ" in the bearish color.
Each divergence type can be toggled globally via Show Detected Divergences . Internally, the script restricts how far back it will connect pivots, so you do not get stray signals linking very old structures to current bars.
Trading applications
Crowding and squeeze risk
Z scores are a natural way to talk about crowding:
High positive Z in aggregated OI means the market is running high leverage compared to its own norm. If price is also extended, the risk of a squeeze or sharp unwind rises.
Deep negative Z means leverage has been cleaned out. While it can be painful to sit through, this environment often sets up cleaner new trends, since there is less one sided positioning to unwind.
The extreme bands at ±3 to ±4 highlight the rare states where crowding is most intense. You can treat these events as regime markers rather than day to day noise.
Trend confirmation and fade selection
Combine Z score with price and trend:
Bull trends with positive and rising Z are supported by fresh leverage, usually more persistent.
Bull trends with flat or falling Z while price keeps grinding up can be more fragile. Divergences and extreme bands can help identify which edges you do not want to fade and which you might.
In downtrends, deep negative Z that stays pinned can mean persistent de risking. Once the Z score starts to mean revert back toward zero, it can mark the early stages of stabilization.
Event and liquidation context
Around major events, you often see:
Rapid spikes in Z as traders rush to position.
Reversal and overshoot as liquidations and forced de risking clear the book.
A move from positive extremes through zero into negative extremes as the market transitions from crowded to under exposed.
The Z score makes that path obvious, especially in oscillator mode, where you see a block of high positive bars before the crash, then a slab of deep negative bars after the flush.
Settings overview
Z Score group
Plotting Type – None, Line, Colored Line, Oscillator.
Z Score Lookback Period – window used for mean and standard deviation on aggregated OI.
Smoothing Type – SMA, HMA, EMA, WMA, DEMA, RMA, linear regression, ALMA, TEMA or T3.
Smoothing Period – length for the selected moving average on the raw Z score.
Moving Average group
Show EMA – toggle EMA overlay on Z score.
EMA Period – EMA length for the signal line.
EMA Color – color of the EMA line.
Thresholds and Reference Lines group
Select Reference Lines – None, Standard Deviation Levels, Extreme Bands.
Standard deviation lines at 0, ±1, ±2 appear in both modes.
Extreme bands add filled zones at ±3 to ±4 with adaptive opacity tied to |Z|.
Extra Plotting and UI
Base Line Color – default color for the simple line mode.
Line Width – thickness of the oscillator line.
Positive Color – positive or bullish condition color.
Negative Color – negative or bearish condition color.
Divergences group
Show Detected Divergences – master toggle for divergence plotting.
Pivot Lookback Left and Pivot Lookback Right – how many bars left and right to define a pivot, controlling divergence sensitivity.
Open Interest Source group
OI Units – COIN or USD.
Exchange toggles for Binance, Bybit, OKX, Bitget, Kraken, HTX, Deribit.
Internally, all enabled exchanges and contract suffixes are aggregated into one synthetic OI series.
Alerts included
The indicator defines alert conditions for several key events:
OI Z Score Positive – Z crosses above zero, aggregated OI moves from below mean to above mean.
OI Z Score Negative – Z crosses below zero, aggregated OI moves from above mean to below mean.
OI Z Score Enters +2σ – Z enters the +2 band and above, marking extended positive positioning.
OI Z Score Enters −2σ – Z enters the −2 band and below, marking extended negative positioning.
Tie these into your strategy to be notified when leverage moves from normal to extended states.
Notes
This indicator does not rely on price based oscillators. It is a statistical lens on cross venue open interest, which makes it a complementary tool rather than a replacement for your existing price or volume signals. Use it to:
Quantify how unusual current futures positioning is compared to recent history.
Identify crowded leverage phases that can fuel squeezes.
Spot structural divergences between price and positioning.
Frame risk and opportunity around events and regime shifts.
It is not a complete trading system. Combine it with your own entries, exits and risk rules to get the most out of what the Z score is telling you about positioning pressure under the hood of the market.
Daily Buy Signal – RSI/EMA21
Daily Buy Signal – RSI/EMA21
A simple technical signal that identifies potential daily buy opportunities using RSI and EMA21 alignment.
This script generates a daily buy signal when momentum and trend strength align.
The signal triggers when the price closes above the 21-period EMA and the RSI(14) crosses above the 50 level, or when both the RSI stays above 50 and the price shifts from closing below the EMA21 to closing above it.
A label is plotted below the candle, and the script includes an alert condition so users can receive real-time notifications.
ONE Clear Multi‑Timeframe Synchronization (MTS) [Sync]**Script Profile — ONE Clear Multi‑Timeframe Synchronization (MTS) (Pine v6)**
* **Purpose:** Identifies a *multi‑timeframe “ignition”* pattern—strong daily upside confirmed by the next day and aligned with weekly & monthly structure—designed for pattern recognition and research (non‑financial advice).
* **Core Signals:**
* **MTS D1 (Ignition):** Day‑1 ≥ **+7%**, **close near high** (≥95%), **volume expansion** vs 20‑day average, and **prior‑day hammer** (stabilization).
* **MTS D2 (Confirmation):** Day‑2 ≥ **+5%** to validate D1.
* **Higher‑TF Alignment:** Confirms **weekly** (close above prior week’s high or green week) and **monthly** (close above prior month’s high or green month) conditions via `request.security`.
* **Context Overlays (optional):** Pivot‑based **Support/Resistance** with **“B” breaks** (green = resistance break; red = support break) gated by a **volume oscillator** (EMA5 vs EMA10).
* **Alerts:**
* **MTS Ignition Confirmed** (D1 + D2 + hammer + weekly/monthly + volume gate)
* **Support/Resistance Broken** (with volume gate)
* **Stability Fix:** Precomputes `ta.crossover`/`ta.crossunder` **once per bar** and reuses variables in conditions to avoid inconsistent historical evaluation—*no change in strategy logic or thresholds.*
* **Typical Read:** Use D1 (low/mid/high) as reference levels; D2 confirms regime shift; green “B” after D2 suggests continuation, red “B” warns of failure.
Adaptive Genesis Engine [AGE]ADAPTIVE GENESIS ENGINE (AGE)
Pure Signal Evolution Through Genetic Algorithms
Where Darwin Meets Technical Analysis
🧬 WHAT YOU'RE GETTING - THE PURE INDICATOR
This is a technical analysis indicator - it generates signals, visualizes probability, and shows you the evolutionary process in real-time. This is NOT a strategy with automatic execution - it's a sophisticated signal generation system that you control .
What This Indicator Does:
Generates Long/Short entry signals with probability scores (35-88% range)
Evolves a population of up to 12 competing strategies using genetic algorithms
Validates strategies through walk-forward optimization (train/test cycles)
Visualizes signal quality through premium gradient clouds and confidence halos
Displays comprehensive metrics via enhanced dashboard
Provides alerts for entries and exits
Works on any timeframe, any instrument, any broker
What This Indicator Does NOT Do:
Execute trades automatically
Manage positions or calculate position sizes
Place orders on your behalf
Make trading decisions for you
This is pure signal intelligence. AGE tells you when and how confident it is. You decide whether and how much to trade.
🔬 THE SCIENCE: GENETIC ALGORITHMS MEET TECHNICAL ANALYSIS
What Makes This Different - The Evolutionary Foundation
Most indicators are static - they use the same parameters forever, regardless of market conditions. AGE is alive . It maintains a population of competing strategies that evolve, adapt, and improve through natural selection principles:
Birth: New strategies spawn through crossover breeding (combining DNA from fit parents) plus random mutation for exploration
Life: Each strategy trades virtually via shadow portfolios, accumulating wins/losses, tracking drawdown, and building performance history
Selection: Strategies are ranked by comprehensive fitness scoring (win rate, expectancy, drawdown control, signal efficiency)
Death: Weak strategies are culled periodically, with elite performers (top 2 by default) protected from removal
Evolution: The gene pool continuously improves as successful traits propagate and unsuccessful ones die out
This is not curve-fitting. Each new strategy must prove itself on out-of-sample data through walk-forward validation before being trusted for live signals.
🧪 THE DNA: WHAT EVOLVES
Every strategy carries a 10-gene chromosome controlling how it interprets market data:
Signal Sensitivity Genes
Entropy Sensitivity (0.5-2.0): Weight given to market order/disorder calculations. Low values = conservative, require strong directional clarity. High values = aggressive, act on weaker order signals.
Momentum Sensitivity (0.5-2.0): Weight given to RSI/ROC/MACD composite. Controls responsiveness to momentum shifts vs. mean-reversion setups.
Structure Sensitivity (0.5-2.0): Weight given to support/resistance positioning. Determines how much price location within swing range matters.
Probability Adjustment Genes
Probability Boost (-0.10 to +0.10): Inherent bias toward aggressive (+) or conservative (-) entries. Acts as personality trait - some strategies naturally optimistic, others pessimistic.
Trend Strength Requirement (0.3-0.8): Minimum trend conviction needed before signaling. Higher values = only trades strong trends, lower values = acts in weak/sideways markets.
Volume Filter (0.5-1.5): Strictness of volume confirmation. Higher values = requires strong volume, lower values = volume less important.
Risk Management Genes
ATR Multiplier (1.5-4.0): Base volatility scaling for all price levels. Controls whether strategy uses tight or wide stops/targets relative to ATR.
Stop Multiplier (1.0-2.5): Stop loss tightness. Lower values = aggressive profit protection, higher values = more breathing room.
Target Multiplier (1.5-4.0): Profit target ambition. Lower values = quick scalping exits, higher values = swing trading holds.
Adaptation Gene
Regime Adaptation (0.0-1.0): How much strategy adjusts behavior based on detected market regime (trending/volatile/choppy). Higher values = more reactive to regime changes.
The Magic: AGE doesn't just try random combinations. Through tournament selection and fitness-weighted crossover, successful gene combinations spread through the population while unsuccessful ones fade away. Over 50-100 bars, you'll see the population converge toward genes that work for YOUR instrument and timeframe.
📊 THE SIGNAL ENGINE: THREE-LAYER SYNTHESIS
Before any strategy generates a signal, AGE calculates probability through multi-indicator confluence:
Layer 1 - Market Entropy (Information Theory)
Measures whether price movements exhibit directional order or random walk characteristics:
The Math:
Shannon Entropy = -Σ(p × log(p))
Market Order = 1 - (Entropy / 0.693)
What It Means:
High entropy = choppy, random market → low confidence signals
Low entropy = directional market → high confidence signals
Direction determined by up-move vs down-move dominance over lookback period (default: 20 bars)
Signal Output: -1.0 to +1.0 (bearish order to bullish order)
Layer 2 - Momentum Synthesis
Combines three momentum indicators into single composite score:
Components:
RSI (40% weight): Normalized to -1/+1 scale using (RSI-50)/50
Rate of Change (30% weight): Percentage change over lookback (default: 14 bars), clamped to ±1
MACD Histogram (30% weight): Fast(12) - Slow(26), normalized by ATR
Why This Matters: RSI catches mean-reversion opportunities, ROC catches raw momentum, MACD catches momentum divergence. Weighting favors RSI for reliability while keeping other perspectives.
Signal Output: -1.0 to +1.0 (strong bearish to strong bullish)
Layer 3 - Structure Analysis
Evaluates price position within swing range (default: 50-bar lookback):
Position Classification:
Bottom 20% of range = Support Zone → bullish bounce potential
Top 20% of range = Resistance Zone → bearish rejection potential
Middle 60% = Neutral Zone → breakout/breakdown monitoring
Signal Logic:
At support + bullish candle = +0.7 (strong buy setup)
At resistance + bearish candle = -0.7 (strong sell setup)
Breaking above range highs = +0.5 (breakout confirmation)
Breaking below range lows = -0.5 (breakdown confirmation)
Consolidation within range = ±0.3 (weak directional bias)
Signal Output: -1.0 to +1.0 (bearish structure to bullish structure)
Confluence Voting System
Each layer casts a vote (Long/Short/Neutral). The system requires minimum 2-of-3 agreement (configurable 1-3) before generating a signal:
Examples:
Entropy: Bullish, Momentum: Bullish, Structure: Neutral → Signal generated (2 long votes)
Entropy: Bearish, Momentum: Neutral, Structure: Neutral → No signal (only 1 short vote)
All three bullish → Signal generated with +5% probability bonus
This is the key to quality. Single indicators give too many false signals. Triple confirmation dramatically improves accuracy.
📈 PROBABILITY CALCULATION: HOW CONFIDENCE IS MEASURED
Base Probability:
Raw_Prob = 50% + (Average_Signal_Strength × 25%)
Then AGE applies strategic adjustments:
Trend Alignment:
Signal with trend: +4%
Signal against strong trend: -8%
Weak/no trend: no adjustment
Regime Adaptation:
Trending market (efficiency >50%, moderate vol): +3%
Volatile market (vol ratio >1.5x): -5%
Choppy market (low efficiency): -2%
Volume Confirmation:
Volume > 70% of 20-bar SMA: no change
Volume below threshold: -3%
Volatility State (DVS Ratio):
High vol (>1.8x baseline): -4% (reduce confidence in chaos)
Low vol (<0.7x baseline): -2% (markets can whipsaw in compression)
Moderate elevated vol (1.0-1.3x): +2% (trending conditions emerging)
Confluence Bonus:
All 3 indicators agree: +5%
2 of 3 agree: +2%
Strategy Gene Adjustment:
Probability Boost gene: -10% to +10%
Regime Adaptation gene: scales regime adjustments by 0-100%
Final Probability: Clamped between 35% (minimum) and 88% (maximum)
Why These Ranges?
Below 35% = too uncertain, better not to signal
Above 88% = unrealistic, creates overconfidence
Sweet spot: 65-80% for quality entries
🔄 THE SHADOW PORTFOLIO SYSTEM: HOW STRATEGIES COMPETE
Each active strategy maintains a virtual trading account that executes in parallel with real-time data:
Shadow Trading Mechanics
Entry Logic:
Calculate signal direction, probability, and confluence using strategy's unique DNA
Check if signal meets quality gate:
Probability ≥ configured minimum threshold (default: 65%)
Confluence ≥ configured minimum (default: 2 of 3)
Direction is not zero (must be long or short, not neutral)
Verify signal persistence:
Base requirement: 2 bars (configurable 1-5)
Adapts based on probability: high-prob signals (75%+) enter 1 bar faster, low-prob signals need 1 bar more
Adjusts for regime: trending markets reduce persistence by 1, volatile markets add 1
Apply additional filters:
Trend strength must exceed strategy's requirement gene
Regime filter: if volatile market detected, probability must be 72%+ to override
Volume confirmation required (volume > 70% of average)
If all conditions met for required persistence bars, enter shadow position at current close price
Position Management:
Entry Price: Recorded at close of entry bar
Stop Loss: ATR-based distance = ATR × ATR_Mult (gene) × Stop_Mult (gene) × DVS_Ratio
Take Profit: ATR-based distance = ATR × ATR_Mult (gene) × Target_Mult (gene) × DVS_Ratio
Position: +1 (long) or -1 (short), only one at a time per strategy
Exit Logic:
Check if price hit stop (on low) or target (on high) on current bar
Record trade outcome in R-multiples (profit/loss normalized by ATR)
Update performance metrics:
Total trades counter incremented
Wins counter (if profit > 0)
Cumulative P&L updated
Peak equity tracked (for drawdown calculation)
Maximum drawdown from peak recorded
Enter cooldown period (default: 8 bars, configurable 3-20) before next entry allowed
Reset signal age counter to zero
Walk-Forward Tracking:
During position lifecycle, trades are categorized:
Training Phase (first 250 bars): Trade counted toward training metrics
Testing Phase (next 75 bars): Trade counted toward testing metrics (out-of-sample)
Live Phase (after WFO period): Trade counted toward overall metrics
Why Shadow Portfolios?
No lookahead bias (uses only data available at the bar)
Realistic execution simulation (entry on close, stop/target checks on high/low)
Independent performance tracking for true fitness comparison
Allows safe experimentation without risking capital
Each strategy learns from its own experience
🏆 FITNESS SCORING: HOW STRATEGIES ARE RANKED
Fitness is not just win rate. AGE uses a comprehensive multi-factor scoring system:
Core Metrics (Minimum 3 trades required)
Win Rate (30% of fitness):
WinRate = Wins / TotalTrades
Normalized directly (0.0-1.0 scale)
Total P&L (30% of fitness):
Normalized_PnL = (PnL + 300) / 600
Clamped 0.0-1.0. Assumes P&L range of -300R to +300R for normalization scale.
Expectancy (25% of fitness):
Expectancy = Total_PnL / Total_Trades
Normalized_Expectancy = (Expectancy + 30) / 60
Clamped 0.0-1.0. Rewards consistency of profit per trade.
Drawdown Control (15% of fitness):
Normalized_DD = 1 - (Max_Drawdown / 15)
Clamped 0.0-1.0. Penalizes strategies that suffer large equity retracements from peak.
Sample Size Adjustment
Quality Factor:
<50 trades: 1.0 (full weight, small sample)
50-100 trades: 0.95 (slight penalty for medium sample)
100 trades: 0.85 (larger penalty for large sample)
Why penalize more trades? Prevents strategies from gaming the system by taking hundreds of tiny trades to inflate statistics. Favors quality over quantity.
Bonus Adjustments
Walk-Forward Validation Bonus:
if (WFO_Validated):
Fitness += (WFO_Efficiency - 0.5) × 0.1
Strategies proven on out-of-sample data receive up to +10% fitness boost based on test/train efficiency ratio.
Signal Efficiency Bonus (if diagnostics enabled):
if (Signals_Evaluated > 10):
Pass_Rate = Signals_Passed / Signals_Evaluated
Fitness += (Pass_Rate - 0.1) × 0.05
Rewards strategies that generate high-quality signals passing the quality gate, not just profitable trades.
Final Fitness: Clamped at 0.0 minimum (prevents negative fitness values)
Result: Elite strategies typically achieve 0.50-0.75 fitness. Anything above 0.60 is excellent. Below 0.30 is prime candidate for culling.
🔬 WALK-FORWARD OPTIMIZATION: ANTI-OVERFITTING PROTECTION
This is what separates AGE from curve-fitted garbage indicators.
The Three-Phase Process
Every new strategy undergoes a rigorous validation lifecycle:
Phase 1 - Training Window (First 250 bars, configurable 100-500):
Strategy trades normally via shadow portfolio
All trades count toward training performance metrics
System learns which gene combinations produce profitable patterns
Tracks independently: Training_Trades, Training_Wins, Training_PnL
Phase 2 - Testing Window (Next 75 bars, configurable 30-200):
Strategy continues trading without any parameter changes
Trades now count toward testing performance metrics (separate tracking)
This is out-of-sample data - strategy has never seen these bars during "optimization"
Tracks independently: Testing_Trades, Testing_Wins, Testing_PnL
Phase 3 - Validation Check:
Minimum_Trades = 5 (configurable 3-15)
IF (Train_Trades >= Minimum AND Test_Trades >= Minimum):
WR_Efficiency = Test_WinRate / Train_WinRate
Expectancy_Efficiency = Test_Expectancy / Train_Expectancy
WFO_Efficiency = (WR_Efficiency + Expectancy_Efficiency) / 2
IF (WFO_Efficiency >= 0.55): // configurable 0.3-0.9
Strategy.Validated = TRUE
Strategy receives fitness bonus
ELSE:
Strategy receives 30% fitness penalty
ELSE:
Validation deferred (insufficient trades in one or both periods)
What Validation Means
Validated Strategy (Green "✓ VAL" in dashboard):
Performed at least 55% as well on unseen data compared to training data
Gets fitness bonus: +(efficiency - 0.5) × 0.1
Receives priority during tournament selection for breeding
More likely to be chosen as active trading strategy
Unvalidated Strategy (Orange "○ TRAIN" in dashboard):
Failed to maintain performance on test data (likely curve-fitted to training period)
Receives 30% fitness penalty (0.7x multiplier)
Makes strategy prime candidate for culling
Can still trade but with lower selection probability
Insufficient Data (continues collecting):
Hasn't completed both training and testing periods yet
OR hasn't achieved minimum trade count in both periods
Validation check deferred until requirements met
Why 55% Efficiency Threshold?
If a strategy earned 10R during training but only 5.5R during testing, it still proved an edge exists beyond random luck. Requiring 100% efficiency would be unrealistic - market conditions change between periods. But requiring >50% ensures the strategy didn't completely degrade on fresh data.
The Protection: Strategies that work great on historical data but fail on new data are automatically identified and penalized. This prevents the population from being polluted by overfitted strategies that would fail in live trading.
🌊 DYNAMIC VOLATILITY SCALING (DVS): ADAPTIVE STOP/TARGET PLACEMENT
AGE doesn't use fixed stop distances. It adapts to current volatility conditions in real-time.
Four Volatility Measurement Methods
1. ATR Ratio (Simple Method):
Current_Vol = ATR(14) / Close
Baseline_Vol = SMA(Current_Vol, 100)
Ratio = Current_Vol / Baseline_Vol
Basic comparison of current ATR to 100-bar moving average baseline.
2. Parkinson (High-Low Range Based):
For each bar: HL = log(High / Low)
Parkinson_Vol = sqrt(Σ(HL²) / (4 × Period × log(2)))
More stable than close-to-close volatility. Captures intraday range expansion without overnight gap noise.
3. Garman-Klass (OHLC Based):
HL_Term = 0.5 × ²
CO_Term = (2×log(2) - 1) × ²
GK_Vol = sqrt(Σ(HL_Term - CO_Term) / Period)
Most sophisticated estimator. Incorporates all four price points (open, high, low, close) plus gap information.
4. Ensemble Method (Default - Median of All Three):
Ratio_1 = ATR_Current / ATR_Baseline
Ratio_2 = Parkinson_Current / Parkinson_Baseline
Ratio_3 = GK_Current / GK_Baseline
DVS_Ratio = Median(Ratio_1, Ratio_2, Ratio_3)
Why Ensemble?
Takes median to avoid outliers and false spikes
If ATR jumps but range-based methods stay calm, median prevents overreaction
If one method fails, other two compensate
Most robust approach across different market conditions
Sensitivity Scaling
Scaled_Ratio = (Raw_Ratio) ^ Sensitivity
Sensitivity 0.3: Cube root - heavily dampens volatility impact
Sensitivity 0.5: Square root - moderate dampening
Sensitivity 0.7 (Default): Balanced response to volatility changes
Sensitivity 1.0: Linear - full 1:1 volatility impact
Sensitivity 1.5: Exponential - amplified response to volatility spikes
Safety Clamps: Final DVS Ratio always clamped between 0.5x and 2.5x baseline to prevent extreme position sizing or stop placement errors.
How DVS Affects Shadow Trading
Every strategy's stop and target distances are multiplied by the current DVS ratio:
Stop Loss Distance:
Stop_Distance = ATR × ATR_Mult (gene) × Stop_Mult (gene) × DVS_Ratio
Take Profit Distance:
Target_Distance = ATR × ATR_Mult (gene) × Target_Mult (gene) × DVS_Ratio
Example Scenario:
ATR = 10 points
Strategy's ATR_Mult gene = 2.5
Strategy's Stop_Mult gene = 1.5
Strategy's Target_Mult gene = 2.5
DVS_Ratio = 1.4 (40% above baseline volatility - market heating up)
Stop = 10 × 2.5 × 1.5 × 1.4 = 52.5 points (vs. 37.5 in normal vol)
Target = 10 × 2.5 × 2.5 × 1.4 = 87.5 points (vs. 62.5 in normal vol)
Result:
During volatility spikes: Stops automatically widen to avoid noise-based exits, targets extend for bigger moves
During calm periods: Stops tighten for better risk/reward, targets compress for realistic profit-taking
Strategies adapt risk management to match current market behavior
🧬 THE EVOLUTIONARY CYCLE: SPAWN, COMPETE, CULL
Initialization (Bar 1)
AGE begins with 4 seed strategies (if evolution enabled):
Seed Strategy #0 (Balanced):
All sensitivities at 1.0 (neutral)
Zero probability boost
Moderate trend requirement (0.4)
Standard ATR/stop/target multiples (2.5/1.5/2.5)
Mid-level regime adaptation (0.5)
Seed Strategy #1 (Momentum-Focused):
Lower entropy sensitivity (0.7), higher momentum (1.5)
Slight probability boost (+0.03)
Higher trend requirement (0.5)
Tighter stops (1.3), wider targets (3.0)
Seed Strategy #2 (Entropy-Driven):
Higher entropy sensitivity (1.5), lower momentum (0.8)
Slight probability penalty (-0.02)
More trend tolerant (0.6)
Wider stops (1.8), standard targets (2.5)
Seed Strategy #3 (Structure-Based):
Balanced entropy/momentum (0.8/0.9), high structure (1.4)
Slight probability boost (+0.02)
Lower trend requirement (0.35)
Moderate risk parameters (1.6/2.8)
All seeds start with WFO validation bypassed if WFO is disabled, or must validate if enabled.
Spawning New Strategies
Timing (Adaptive):
Historical phase: Every 30 bars (configurable 10-100)
Live phase: Every 200 bars (configurable 100-500)
Automatically switches to live timing when barstate.isrealtime triggers
Conditions:
Current population < max population limit (default: 8, configurable 4-12)
At least 2 active strategies exist (need parents)
Available slot in population array
Selection Process:
Run tournament selection 3 times with different seeds
Each tournament: randomly sample active strategies, pick highest fitness
Best from 3 tournaments becomes Parent 1
Repeat independently for Parent 2
Ensures fit parents but maintains diversity
Crossover Breeding:
For each of 10 genes:
Parent1_Fitness = fitness
Parent2_Fitness = fitness
Weight1 = Parent1_Fitness / (Parent1_Fitness + Parent2_Fitness)
Gene1 = parent1's value
Gene2 = parent2's value
Child_Gene = Weight1 × Gene1 + (1 - Weight1) × Gene2
Fitness-weighted crossover ensures fitter parent contributes more genetic material.
Mutation:
For each gene in child:
IF (random < mutation_rate):
Gene_Range = GENE_MAX - GENE_MIN
Noise = (random - 0.5) × 2 × mutation_strength × Gene_Range
Mutated_Gene = Clamp(Child_Gene + Noise, GENE_MIN, GENE_MAX)
Historical mutation rate: 20% (aggressive exploration)
Live mutation rate: 8% (conservative stability)
Mutation strength: 12% of gene range (configurable 5-25%)
Initialization of New Strategy:
Unique ID assigned (total_spawned counter)
Parent ID recorded
Generation = max(parent generations) + 1
Birth bar recorded (for age tracking)
All performance metrics zeroed
Shadow portfolio reset
WFO validation flag set to false (must prove itself)
Result: New strategy with hybrid DNA enters population, begins trading in next bar.
Competition (Every Bar)
All active strategies:
Calculate their signal based on unique DNA
Check quality gate with their thresholds
Manage shadow positions (entries/exits)
Update performance metrics
Recalculate fitness score
Track WFO validation progress
Strategies compete indirectly through fitness ranking - no direct interaction.
Culling Weak Strategies
Timing (Adaptive):
Historical phase: Every 60 bars (configurable 20-200, should be 2x spawn interval)
Live phase: Every 400 bars (configurable 200-1000, should be 2x spawn interval)
Minimum Adaptation Score (MAS):
Initial MAS = 0.10
MAS decays: MAS × 0.995 every cull cycle
Minimum MAS = 0.03 (floor)
MAS represents the "survival threshold" - strategies below this fitness level are vulnerable.
Culling Conditions (ALL must be true):
Population > minimum population (default: 3, configurable 2-4)
At least one strategy has fitness < MAS
Strategy's age > culling interval (prevents premature culling of new strategies)
Strategy is not in top N elite (default: 2, configurable 1-3)
Culling Process:
Find worst strategy:
For each active strategy:
IF (age > cull_interval):
Fitness = base_fitness
IF (not WFO_validated AND WFO_enabled):
Fitness × 0.7 // 30% penalty for unvalidated
IF (Fitness < MAS AND Fitness < worst_fitness_found):
worst_strategy = this_strategy
worst_fitness = Fitness
IF (worst_strategy found):
Count elite strategies with fitness > worst_fitness
IF (elite_count >= elite_preservation_count):
Deactivate worst_strategy (set active flag = false)
Increment total_culled counter
Elite Protection:
Even if a strategy's fitness falls below MAS, it survives if fewer than N strategies are better. This prevents culling when population is generally weak.
Result: Weak strategies removed from population, freeing slots for new spawns. Gene pool improves over time.
Selection for Display (Every Bar)
AGE chooses one strategy to display signals:
Best fitness = -1
Selected = none
For each active strategy:
Fitness = base_fitness
IF (WFO_validated):
Fitness × 1.3 // 30% bonus for validated strategies
IF (Fitness > best_fitness):
best_fitness = Fitness
selected_strategy = this_strategy
Display selected strategy's signals on chart
Result: Only the highest-fitness (optionally validated-boosted) strategy's signals appear as chart markers. Other strategies trade invisibly in shadow portfolios.
🎨 PREMIUM VISUALIZATION SYSTEM
AGE includes sophisticated visual feedback that standard indicators lack:
1. Gradient Probability Cloud (Optional, Default: ON)
Multi-layer gradient showing signal buildup 2-3 bars before entry:
Activation Conditions:
Signal persistence > 0 (same directional signal held for multiple bars)
Signal probability ≥ minimum threshold (65% by default)
Signal hasn't yet executed (still in "forming" state)
Visual Construction:
7 gradient layers by default (configurable 3-15)
Each layer is a line-fill pair (top line, bottom line, filled between)
Layer spacing: 0.3 to 1.0 × ATR above/below price
Outer layers = faint, inner layers = bright
Color transitions from base to intense based on layer position
Transparency scales with probability (high prob = more opaque)
Color Selection:
Long signals: Gradient from theme.gradient_bull_mid to theme.gradient_bull_strong
Short signals: Gradient from theme.gradient_bear_mid to theme.gradient_bear_strong
Base transparency: 92%, reduces by up to 8% for high-probability setups
Dynamic Behavior:
Cloud grows/shrinks as signal persistence increases/decreases
Redraws every bar while signal is forming
Disappears when signal executes or invalidates
Performance Note: Computationally expensive due to linefill objects. Disable or reduce layers if chart performance degrades.
2. Population Fitness Ribbon (Optional, Default: ON)
Histogram showing fitness distribution across active strategies:
Activation: Only draws on last bar (barstate.islast) to avoid historical clutter
Visual Construction:
10 histogram layers by default (configurable 5-20)
Plots 50 bars back from current bar
Positioned below price at: lowest_low(100) - 1.5×ATR (doesn't interfere with price action)
Each layer represents a fitness threshold (evenly spaced min to max fitness)
Layer Logic:
For layer_num from 0 to ribbon_layers:
Fitness_threshold = min_fitness + (max_fitness - min_fitness) × (layer / layers)
Count strategies with fitness ≥ threshold
Height = ATR × 0.15 × (count / total_active)
Y_position = base_level + ATR × 0.2 × layer
Color = Gradient from weak to strong based on layer position
Line_width = Scaled by height (taller = thicker)
Visual Feedback:
Tall, bright ribbon = healthy population, many fit strategies at high fitness levels
Short, dim ribbon = weak population, few strategies achieving good fitness
Ribbon compression (layers close together) = population converging to similar fitness
Ribbon spread = diverse fitness range, active selection pressure
Use Case: Quick visual health check without opening dashboard. Ribbon growing upward over time = population improving.
3. Confidence Halo (Optional, Default: ON)
Circular polyline around entry signals showing probability strength:
Activation: Draws when new position opens (shadow_position changes from 0 to ±1)
Visual Construction:
20-segment polyline forming approximate circle
Center: Low - 0.5×ATR (long) or High + 0.5×ATR (short)
Radius: 0.3×ATR (low confidence) to 1.0×ATR (elite confidence)
Scales with: (probability - min_probability) / (1.0 - min_probability)
Color Coding:
Elite (85%+): Cyan (theme.conf_elite), large radius, minimal transparency (40%)
Strong (75-85%): Strong green (theme.conf_strong), medium radius, moderate transparency (50%)
Good (65-75%): Good green (theme.conf_good), smaller radius, more transparent (60%)
Moderate (<65%): Moderate green (theme.conf_moderate), tiny radius, very transparent (70%)
Technical Detail:
Uses chart.point array with index-based positioning
5-bar horizontal spread for circular appearance (±5 bars from entry)
Curved=false (Pine Script polyline limitation)
Fill color matches line color but more transparent (88% vs line's transparency)
Purpose: Instant visual probability assessment. No need to check dashboard - halo size/brightness tells the story.
4. Evolution Event Markers (Optional, Default: ON)
Visual indicators of genetic algorithm activity:
Spawn Markers (Diamond, Cyan):
Plots when total_spawned increases on current bar
Location: bottom of chart (location.bottom)
Color: theme.spawn_marker (cyan/bright blue)
Size: tiny
Indicates new strategy just entered population
Cull Markers (X-Cross, Red):
Plots when total_culled increases on current bar
Location: bottom of chart (location.bottom)
Color: theme.cull_marker (red/pink)
Size: tiny
Indicates weak strategy just removed from population
What It Tells You:
Frequent spawning early = population building, active exploration
Frequent culling early = high selection pressure, weak strategies dying fast
Balanced spawn/cull = healthy evolutionary churn
No markers for long periods = stable population (evolution plateaued or optimal genes found)
5. Entry/Exit Markers
Clear visual signals for selected strategy's trades:
Long Entry (Triangle Up, Green):
Plots when selected strategy opens long position (position changes 0 → +1)
Location: below bar (location.belowbar)
Color: theme.long_primary (green/cyan depending on theme)
Transparency: Scales with probability:
Elite (85%+): 0% (fully opaque)
Strong (75-85%): 10%
Good (65-75%): 20%
Acceptable (55-65%): 35%
Size: small
Short Entry (Triangle Down, Red):
Plots when selected strategy opens short position (position changes 0 → -1)
Location: above bar (location.abovebar)
Color: theme.short_primary (red/pink depending on theme)
Transparency: Same scaling as long entries
Size: small
Exit (X-Cross, Orange):
Plots when selected strategy closes position (position changes ±1 → 0)
Location: absolute (at actual exit price if stop/target lines enabled)
Color: theme.exit_color (orange/yellow depending on theme)
Transparency: 0% (fully opaque)
Size: tiny
Result: Clean, probability-scaled markers that don't clutter chart but convey essential information.
6. Stop Loss & Take Profit Lines (Optional, Default: ON)
Visual representation of shadow portfolio risk levels:
Stop Loss Line:
Plots when selected strategy has active position
Level: shadow_stop value from selected strategy
Color: theme.short_primary with 60% transparency (red/pink, subtle)
Width: 2
Style: plot.style_linebr (breaks when no position)
Take Profit Line:
Plots when selected strategy has active position
Level: shadow_target value from selected strategy
Color: theme.long_primary with 60% transparency (green, subtle)
Width: 2
Style: plot.style_linebr (breaks when no position)
Purpose:
Shows where shadow portfolio would exit for stop/target
Helps visualize strategy's risk/reward ratio
Useful for manual traders to set similar levels
Disable for cleaner chart (recommended for presentations)
7. Dynamic Trend EMA
Gradient-colored trend line that visualizes trend strength:
Calculation:
EMA(close, trend_length) - default 50 period (configurable 20-100)
Slope calculated over 10 bars: (current_ema - ema ) / ema × 100
Color Logic:
Trend_direction:
Slope > 0.1% = Bullish (1)
Slope < -0.1% = Bearish (-1)
Otherwise = Neutral (0)
Trend_strength = abs(slope)
Color = Gradient between:
- Neutral color (gray/purple)
- Strong bullish (bright green) if direction = 1
- Strong bearish (bright red) if direction = -1
Gradient factor = trend_strength (0 to 1+ scale)
Visual Behavior:
Faint gray/purple = weak/no trend (choppy conditions)
Light green/red = emerging trend (low strength)
Bright green/red = strong trend (high conviction)
Color intensity = trend strength magnitude
Transparency: 50% (subtle, doesn't overpower price action)
Purpose: Subconscious awareness of trend state without checking dashboard or indicators.
8. Regime Background Tinting (Subtle)
Ultra-low opacity background color indicating detected market regime:
Regime Detection:
Efficiency = directional_movement / total_range (over trend_length bars)
Vol_ratio = current_volatility / average_volatility
IF (efficiency > 0.5 AND vol_ratio < 1.3):
Regime = Trending (1)
ELSE IF (vol_ratio > 1.5):
Regime = Volatile (2)
ELSE:
Regime = Choppy (0)
Background Colors:
Trending: theme.regime_trending (dark green, 92-93% transparency)
Volatile: theme.regime_volatile (dark red, 93% transparency)
Choppy: No tint (normal background)
Purpose:
Subliminal regime awareness
Helps explain why signals are/aren't generating
Trending = ideal conditions for AGE
Volatile = fewer signals, higher thresholds applied
Choppy = mixed signals, lower confidence
Important: Extremely subtle by design. Not meant to be obvious, just subconscious context.
📊 ENHANCED DASHBOARD
Comprehensive real-time metrics in single organized panel (top-right position):
Dashboard Structure (5 columns × 14 rows)
Header Row:
Column 0: "🧬 AGE PRO" + phase indicator (🔴 LIVE or ⏪ HIST)
Column 1: "POPULATION"
Column 2: "PERFORMANCE"
Column 3: "CURRENT SIGNAL"
Column 4: "ACTIVE STRATEGY"
Column 0: Market State
Regime (📈 TREND / 🌊 CHAOS / ➖ CHOP)
DVS Ratio (current volatility scaling factor, format: #.##)
Trend Direction (▲ BULL / ▼ BEAR / ➖ FLAT with color coding)
Trend Strength (0-100 scale, format: #.##)
Column 1: Population Metrics
Active strategies (count / max_population)
Validated strategies (WFO passed / active total)
Current generation number
Total spawned (all-time strategy births)
Total culled (all-time strategy deaths)
Column 2: Aggregate Performance
Total trades across all active strategies
Aggregate win rate (%) - color-coded:
Green (>55%)
Orange (45-55%)
Red (<45%)
Total P&L in R-multiples - color-coded by positive/negative
Best fitness score in population (format: #.###)
MAS - Minimum Adaptation Score (cull threshold, format: #.###)
Column 3: Current Signal Status
Status indicator:
"▲ LONG" (green) if selected strategy in long position
"▼ SHORT" (red) if selected strategy in short position
"⏳ FORMING" (orange) if signal persisting but not yet executed
"○ WAITING" (gray) if no active signal
Confidence percentage (0-100%, format: #.#%)
Quality assessment:
"🔥 ELITE" (cyan) for 85%+ probability
"✓ STRONG" (bright green) for 75-85%
"○ GOOD" (green) for 65-75%
"- LOW" (dim) for <65%
Confluence score (X/3 format)
Signal age:
"X bars" if signal forming
"IN TRADE" if position active
"---" if no signal
Column 4: Selected Strategy Details
Strategy ID number (#X format)
Validation status:
"✓ VAL" (green) if WFO validated
"○ TRAIN" (orange) if still in training/testing phase
Generation number (GX format)
Personal fitness score (format: #.### with color coding)
Trade count
P&L and win rate (format: #.#R (##%) with color coding)
Color Scheme:
Panel background: theme.panel_bg (dark, low opacity)
Panel headers: theme.panel_header (slightly lighter)
Primary text: theme.text_primary (bright, high contrast)
Secondary text: theme.text_secondary (dim, lower contrast)
Positive metrics: theme.metric_positive (green)
Warning metrics: theme.metric_warning (orange)
Negative metrics: theme.metric_negative (red)
Special markers: theme.validated_marker, theme.spawn_marker
Update Frequency: Only on barstate.islast (current bar) to minimize CPU usage
Purpose:
Quick overview of entire system state
No need to check multiple indicators
Trading decisions informed by population health, regime state, and signal quality
Transparency into what AGE is thinking
🔍 DIAGNOSTICS PANEL (Optional, Default: OFF)
Detailed signal quality tracking for optimization and debugging:
Panel Structure (3 columns × 8 rows)
Position: Bottom-right corner (doesn't interfere with main dashboard)
Header Row:
Column 0: "🔍 DIAGNOSTICS"
Column 1: "COUNT"
Column 2: "%"
Metrics Tracked (for selected strategy only):
Total Evaluated:
Every signal that passed initial calculation (direction ≠ 0)
Represents total opportunities considered
✓ Passed:
Signals that passed quality gate and executed
Green color coding
Percentage of evaluated signals
Rejection Breakdown:
⨯ Probability:
Rejected because probability < minimum threshold
Most common rejection reason typically
⨯ Confluence:
Rejected because confluence < minimum required (e.g., only 1 of 3 indicators agreed)
⨯ Trend:
Rejected because signal opposed strong trend
Indicates counter-trend protection working
⨯ Regime:
Rejected because volatile regime detected and probability wasn't high enough to override
Shows regime filter in action
⨯ Volume:
Rejected because volume < 70% of 20-bar average
Indicates volume confirmation requirement
Color Coding:
Passed count: Green (success metric)
Rejection counts: Red (failure metrics)
Percentages: Gray (neutral, informational)
Performance Cost: Slight CPU overhead for tracking counters. Disable when not actively optimizing settings.
How to Use Diagnostics
Scenario 1: Too Few Signals
Evaluated: 200
Passed: 10 (5%)
⨯ Probability: 120 (60%)
⨯ Confluence: 40 (20%)
⨯ Others: 30 (15%)
Diagnosis: Probability threshold too high for this strategy's DNA.
Solution: Lower min probability from 65% to 60%, or allow strategy more time to evolve better DNA.
Scenario 2: Too Many False Signals
Evaluated: 200
Passed: 80 (40%)
Strategy win rate: 45%
Diagnosis: Quality gate too loose, letting low-quality signals through.
Solution: Raise min probability to 70%, or increase min confluence to 3 (all indicators must agree).
Scenario 3: Regime-Specific Issues
⨯ Regime: 90 (45% of rejections)
Diagnosis: Frequent volatile regime detection blocking otherwise good signals.
Solution: Either accept fewer trades during chaos (recommended), or disable regime filter if you want signals regardless of market state.
Optimization Workflow:
Enable diagnostics
Run 200+ bars
Analyze rejection patterns
Adjust settings based on data
Re-run and compare pass rate
Disable diagnostics when satisfied
⚙️ CONFIGURATION GUIDE
🧬 Evolution Engine Settings
Enable AGE Evolution (Default: ON):
ON: Full genetic algorithm (recommended for best results)
OFF: Uses only 4 seed strategies, no spawning/culling (static population for comparison testing)
Max Population (4-12, Default: 8):
Higher = more diversity, more exploration, slower performance
Lower = faster computation, less exploration, risk of premature convergence
Sweet spot: 6-8 for most use cases
4 = minimum for meaningful evolution
12 = maximum before diminishing returns
Min Population (2-4, Default: 3):
Safety floor - system never culls below this count
Prevents population extinction during harsh selection
Should be at least half of max population
Elite Preservation (1-3, Default: 2):
Top N performers completely immune to culling
Ensures best genes always survive
1 = minimal protection, aggressive selection
2 = balanced (recommended)
3 = conservative, slower gene pool turnover
Historical: Spawn Interval (10-100, Default: 30):
Bars between spawning new strategies during historical data
Lower = faster evolution, more exploration
Higher = slower evolution, more evaluation time per strategy
30 bars = ~1-2 hours on 15min chart
Historical: Cull Interval (20-200, Default: 60):
Bars between culling weak strategies during historical data
Should be 2x spawn interval for balanced churn
Lower = aggressive selection pressure
Higher = patient evaluation
Live: Spawn Interval (100-500, Default: 200):
Bars between spawning during live trading
Much slower than historical for stability
Prevents population chaos during live trading
200 bars = ~1.5 trading days on 15min chart
Live: Cull Interval (200-1000, Default: 400):
Bars between culling during live trading
Should be 2x live spawn interval
Conservative removal during live trading
Historical: Mutation Rate (0.05-0.40, Default: 0.20):
Probability each gene mutates during breeding (20% = 2 out of 10 genes on average)
Higher = more exploration, slower convergence
Lower = more exploitation, faster convergence but risk of local optima
20% balances exploration vs exploitation
Live: Mutation Rate (0.02-0.20, Default: 0.08):
Mutation rate during live trading
Much lower for stability (don't want population to suddenly degrade)
8% = mostly inherits parent genes with small tweaks
Mutation Strength (0.05-0.25, Default: 0.12):
How much genes change when mutated (% of gene's total range)
0.05 = tiny nudges (fine-tuning)
0.12 = moderate jumps (recommended)
0.25 = large leaps (aggressive exploration)
Example: If gene range is 0.5-2.0, 12% strength = ±0.18 possible change
📈 Signal Quality Settings
Min Signal Probability (0.55-0.80, Default: 0.65):
Quality gate threshold - signals below this never generate
0.55-0.60 = More signals, accept lower confidence (higher risk)
0.65 = Institutional-grade balance (recommended)
0.70-0.75 = Fewer but higher-quality signals (conservative)
0.80+ = Very selective, very few signals (ultra-conservative)
Min Confluence Score (1-3, Default: 2):
Required indicator agreement before signal generates
1 = Any single indicator can trigger (not recommended - too many false signals)
2 = Requires 2 of 3 indicators agree (RECOMMENDED for balance)
3 = All 3 must agree (very selective, few signals, high quality)
Base Persistence Bars (1-5, Default: 2):
Base bars signal must persist before entry
System adapts automatically:
High probability signals (75%+) enter 1 bar faster
Low probability signals (<68%) need 1 bar more
Trending regime: -1 bar (faster entries)
Volatile regime: +1 bar (more confirmation)
1 = Immediate entry after quality gate (responsive but prone to whipsaw)
2 = Balanced confirmation (recommended)
3-5 = Patient confirmation (slower but more reliable)
Cooldown After Trade (3-20, Default: 8):
Bars to wait after exit before next entry allowed
Prevents overtrading and revenge trading
3 = Minimal cooldown (active trading)
8 = Balanced (recommended)
15-20 = Conservative (position trading)
Entropy Length (10-50, Default: 20):
Lookback period for market order/disorder calculation
Lower = more responsive to regime changes (noisy)
Higher = more stable regime detection (laggy)
20 = works across most timeframes
Momentum Length (5-30, Default: 14):
Period for RSI/ROC calculations
14 = standard (RSI default)
Lower = more signals, less reliable
Higher = fewer signals, more reliable
Structure Length (20-100, Default: 50):
Lookback for support/resistance swing range
20 = short-term swings (day trading)
50 = medium-term structure (recommended)
100 = major structure (position trading)
Trend EMA Length (20-100, Default: 50):
EMA period for trend detection and direction bias
20 = short-term trend (responsive)
50 = medium-term trend (recommended)
100 = long-term trend (position trading)
ATR Period (5-30, Default: 14):
Period for volatility measurement
14 = standard ATR
Lower = more responsive to vol changes
Higher = smoother vol calculation
📊 Volatility Scaling (DVS) Settings
Enable DVS (Default: ON):
Dynamic volatility scaling for adaptive stop/target placement
Highly recommended to leave ON
OFF only for testing fixed-distance stops
DVS Method (Default: Ensemble):
ATR Ratio: Simple, fast, single-method (good for beginners)
Parkinson: High-low range based (good for intraday)
Garman-Klass: OHLC based (sophisticated, considers gaps)
Ensemble: Median of all three (RECOMMENDED - most robust)
DVS Memory (20-200, Default: 100):
Lookback for baseline volatility comparison
20 = very responsive to vol changes (can overreact)
100 = balanced adaptation (recommended)
200 = slow, stable baseline (minimizes false vol signals)
DVS Sensitivity (0.3-1.5, Default: 0.7):
How much volatility affects scaling (power-law exponent)
0.3 = Conservative, heavily dampens vol impact (cube root)
0.5 = Moderate dampening (square root)
0.7 = Balanced response (recommended)
1.0 = Linear, full 1:1 vol response
1.5 = Aggressive, amplified response (exponential)
🔬 Walk-Forward Optimization Settings
Enable WFO (Default: ON):
Out-of-sample validation to prevent overfitting
Highly recommended to leave ON
OFF only for testing or if you want unvalidated strategies
Training Window (100-500, Default: 250):
Bars for in-sample optimization
100 = fast validation, less data (risky)
250 = balanced (recommended) - about 1-2 months on daily, 1-2 weeks on 15min
500 = patient validation, more data (conservative)
Testing Window (30-200, Default: 75):
Bars for out-of-sample validation
Should be ~30% of training window
30 = minimal test (fast validation)
75 = balanced (recommended)
200 = extensive test (very conservative)
Min Trades for Validation (3-15, Default: 5):
Required trades in BOTH training AND testing periods
3 = minimal sample (risky, fast validation)
5 = balanced (recommended)
10+ = conservative (slow validation, high confidence)
WFO Efficiency Threshold (0.3-0.9, Default: 0.55):
Minimum test/train performance ratio required
0.30 = Very loose (test must be 30% as good as training)
0.55 = Balanced (recommended) - test must be 55% as good
0.70+ = Strict (test must closely match training)
Higher = fewer validated strategies, lower risk of overfitting
🎨 Premium Visuals Settings
Visual Theme:
Neon Genesis: Cyberpunk aesthetic (cyan/magenta/purple)
Carbon Fiber: Industrial look (blue/red/gray)
Quantum Blue: Quantum computing (blue/purple/pink)
Aurora: Northern lights (teal/orange/purple)
⚡ Gradient Probability Cloud (Default: ON):
Multi-layer gradient showing signal buildup
Turn OFF if chart lags or for cleaner look
Cloud Gradient Layers (3-15, Default: 7):
More layers = smoother gradient, more CPU intensive
Fewer layers = faster, blockier appearance
🎗️ Population Fitness Ribbon (Default: ON):
Histogram showing fitness distribution
Turn OFF for cleaner chart
Ribbon Layers (5-20, Default: 10):
More layers = finer fitness detail
Fewer layers = simpler histogram
⭕ Signal Confidence Halo (Default: ON):
Circular indicator around entry signals
Size/brightness scales with probability
Minimal performance cost
🔬 Evolution Event Markers (Default: ON):
Diamond (spawn) and X (cull) markers
Shows genetic algorithm activity
Minimal performance cost
🎯 Stop/Target Lines (Default: ON):
Shows shadow portfolio stop/target levels
Turn OFF for cleaner chart (recommended for screenshots/presentations)
📊 Enhanced Dashboard (Default: ON):
Comprehensive metrics panel
Should stay ON unless you want zero overlays
🔍 Diagnostics Panel (Default: OFF):
Detailed signal rejection tracking
Turn ON when optimizing settings
Turn OFF during normal use (slight performance cost)
📈 USAGE WORKFLOW - HOW TO USE THIS INDICATOR
Phase 1: Initial Setup & Learning
Add AGE to your chart
Recommended timeframes: 15min, 30min, 1H (best signal-to-noise ratio)
Works on: 5min (day trading), 4H (swing trading), Daily (position trading)
Load 1000+ bars for sufficient evolution history
Let the population evolve (100+ bars minimum)
First 50 bars: Random exploration, poor results expected
Bars 50-150: Population converging, fitness improving
Bars 150+: Stable performance, validated strategies emerging
Watch the dashboard metrics
Population should grow toward max capacity
Generation number should advance regularly
Validated strategies counter should increase
Best fitness should trend upward toward 0.50-0.70 range
Observe evolution markers
Diamond markers (cyan) = new strategies spawning
X markers (red) = weak strategies being culled
Frequent early activity = healthy evolution
Activity slowing = population stabilizing
Be patient. Evolution takes time. Don't judge performance before 150+ bars.
Phase 2: Signal Observation
Watch signals form
Gradient cloud builds up 2-3 bars before entry
Cloud brightness = probability strength
Cloud thickness = signal persistence
Check signal quality
Look at confidence halo size when entry marker appears
Large bright halo = elite setup (85%+)
Medium halo = strong setup (75-85%)
Small halo = good setup (65-75%)
Verify market conditions
Check trend EMA color (green = uptrend, red = downtrend, gray = choppy)
Check background tint (green = trending, red = volatile, clear = choppy)
Trending background + aligned signal = ideal conditions
Review dashboard signal status
Current Signal column shows:
Status (Long/Short/Forming/Waiting)
Confidence % (actual probability value)
Quality assessment (Elite/Strong/Good)
Confluence score (2/3 or 3/3 preferred)
Only signals meeting ALL quality gates appear on chart. If you're not seeing signals, population is either still learning or market conditions aren't suitable.
Phase 3: Manual Trading Execution
When Long Signal Fires:
Verify confidence level (dashboard or halo size)
Confirm trend alignment (EMA sloping up, green color)
Check regime (preferably trending or choppy, avoid volatile)
Enter long manually on your broker platform
Set stop loss at displayed stop line level (if lines enabled), or use your own risk management
Set take profit at displayed target line level, or trail manually
Monitor position - exit if X marker appears (signal reversal)
When Short Signal Fires:
Same verification process
Confirm downtrend (EMA sloping down, red color)
Enter short manually
Use displayed stop/target levels or your own
AGE tells you WHEN and HOW CONFIDENT. You decide WHETHER and HOW MUCH.
Phase 4: Set Up Alerts (Never Miss a Signal)
Right-click on indicator name in legend
Select "Add Alert"
Choose condition:
"AGE Long" = Long entry signal fired
"AGE Short" = Short entry signal fired
"AGE Exit" = Position reversal/exit signal
Set notification method:
Sound alert (popup on chart)
Email notification
Webhook to phone/trading platform
Mobile app push notification
Name the alert (e.g., "AGE BTCUSD 15min Long")
Save alert
Recommended: Set alerts for both long and short, enable mobile push notifications. You'll get alerted in real-time even if not watching charts.
Phase 5: Monitor Population Health
Weekly Review:
Check dashboard Population column:
Active count should be near max (6-8 of 8)
Validated count should be >50% of active
Generation should be advancing (1-2 per week typical)
Check dashboard Performance column:
Aggregate win rate should be >50% (target: 55-65%)
Total P&L should be positive (may fluctuate)
Best fitness should be >0.50 (target: 0.55-0.70)
MAS should be declining slowly (normal adaptation)
Check Active Strategy column:
Selected strategy should be validated (✓ VAL)
Personal fitness should match best fitness
Trade count should be accumulating
Win rate should be >50%
Warning Signs:
Zero validated strategies after 300+ bars = settings too strict or market unsuitable
Best fitness stuck <0.30 = population struggling, consider parameter adjustment
No spawning/culling for 200+ bars = evolution stalled (may be optimal or need reset)
Aggregate win rate <45% sustained = system not working on this instrument/timeframe
Health Check Pass:
50%+ strategies validated
Best fitness >0.50
Aggregate win rate >52%
Regular spawn/cull activity
Selected strategy validated
Phase 6: Optimization (If Needed)
Enable Diagnostics Panel (bottom-right) for data-driven tuning:
Problem: Too Few Signals
Evaluated: 200
Passed: 8 (4%)
⨯ Probability: 140 (70%)
Solutions:
Lower min probability: 65% → 60% or 55%
Reduce min confluence: 2 → 1
Lower base persistence: 2 → 1
Increase mutation rate temporarily to explore new genes
Check if regime filter is blocking signals (⨯ Regime high?)
Problem: Too Many False Signals
Evaluated: 200
Passed: 90 (45%)
Win rate: 42%
Solutions:
Raise min probability: 65% → 70% or 75%
Increase min confluence: 2 → 3
Raise base persistence: 2 → 3
Enable WFO if disabled (validates strategies before use)
Check if volume filter is being ignored (⨯ Volume low?)
Problem: Counter-Trend Losses
⨯ Trend: 5 (only 5% rejected)
Losses often occur against trend
Solutions:
System should already filter trend opposition
May need stronger trend requirement
Consider only taking signals aligned with higher timeframe trend
Use longer trend EMA (50 → 100)
Problem: Volatile Market Whipsaws
⨯ Regime: 100 (50% rejected by volatile regime)
Still getting stopped out frequently
Solutions:
System is correctly blocking volatile signals
Losses happening because vol filter isn't strict enough
Consider not trading during volatile periods (respect the regime)
Or disable regime filter and accept higher risk
Optimization Workflow:
Enable diagnostics
Run 200+ bars with current settings
Analyze rejection patterns and win rate
Make ONE change at a time (scientific method)
Re-run 200+ bars and compare results
Keep change if improvement, revert if worse
Disable diagnostics when satisfied
Never change multiple parameters at once - you won't know what worked.
Phase 7: Multi-Instrument Deployment
AGE learns independently on each chart:
Recommended Strategy:
Deploy AGE on 3-5 different instruments
Different asset classes ideal (e.g., ES futures, EURUSD, BTCUSD, SPY, Gold)
Each learns optimal strategies for that instrument's personality
Take signals from all 5 charts
Natural diversification reduces overall risk
Why This Works:
When one market is choppy, others may be trending
Different instruments respond to different news/catalysts
Portfolio-level win rate more stable than single-instrument
Evolution explores different parameter spaces on each chart
Setup:
Same settings across all charts (or customize if preferred)
Set alerts for all
Take every validated signal across all instruments
Position size based on total account (don't overleverage any single signal)
⚠️ REALISTIC EXPECTATIONS - CRITICAL READING
What AGE Can Do
✅ Generate probability-weighted signals using genetic algorithms
✅ Evolve strategies in real-time through natural selection
✅ Validate strategies on out-of-sample data (walk-forward optimization)
✅ Adapt to changing market conditions automatically over time
✅ Provide comprehensive metrics on population health and signal quality
✅ Work on any instrument, any timeframe, any broker
✅ Improve over time as weak strategies are culled and fit strategies breed
What AGE Cannot Do
❌ Win every trade (typical win rate: 55-65% at best)
❌ Predict the future with certainty (markets are probabilistic, not deterministic)
❌ Work perfectly from bar 1 (needs 100-150 bars to learn and stabilize)
❌ Guarantee profits under all market conditions
❌ Replace your trading discipline and risk management
❌ Execute trades automatically (this is an indicator, not a strategy)
❌ Prevent all losses (drawdowns are normal and expected)
❌ Adapt instantly to regime changes (re-learning takes 50-100 bars)
Performance Realities
Typical Performance After Evolution Stabilizes (150+ bars):
Win Rate: 55-65% (excellent for trend-following systems)
Profit Factor: 1.5-2.5 (realistic for validated strategies)
Signal Frequency: 5-15 signals per 100 bars (quality over quantity)
Drawdown Periods: 20-40% of time in equity retracement (normal trading reality)
Max Consecutive Losses: 5-8 losses possible even with 60% win rate (probability says this is normal)
Evolution Timeline:
Bars 0-50: Random exploration, learning phase - poor results expected, don't judge yet
Bars 50-150: Population converging, fitness climbing - results improving
Bars 150-300: Stable performance, most strategies validated - consistent results
Bars 300+: Mature population, optimal genes dominant - best results
Market Condition Dependency:
Trending Markets: AGE excels - clear directional moves, high-probability setups
Choppy Markets: AGE struggles - fewer signals generated, lower win rate
Volatile Markets: AGE cautious - higher rejection rate, wider stops, fewer trades
Market Regime Changes:
When market shifts from trending to choppy overnight
Validated strategies can become temporarily invalidated
AGE will adapt through evolution, but not instantly
Expect 50-100 bar re-learning period after major regime shifts
Fitness may temporarily drop then recover
This is NOT a holy grail. It's a sophisticated signal generator that learns and adapts using genetic algorithms. Your success depends on:
Patience during learning periods (don't abandon after 3 losses)
Proper position sizing (risk 0.5-2% per trade, not 10%)
Following signals consistently (cherry-picking defeats statistical edge)
Not abandoning system prematurely (give it 200+ bars minimum)
Understanding probability (60% win rate means 40% of trades WILL lose)
Respecting market conditions (trending = trade more, choppy = trade less)
Managing emotions (AGE is emotionless, you need to be too)
Expected Drawdowns:
Single-strategy max DD: 10-20% of equity (normal)
Portfolio across multiple instruments: 5-15% (diversification helps)
Losing streaks: 3-5 consecutive losses expected periodically
No indicator eliminates risk. AGE manages risk through:
Quality gates (rejecting low-probability signals)
Confluence requirements (multi-indicator confirmation)
Persistence requirements (no knee-jerk reactions)
Regime awareness (reduced trading in chaos)
Walk-forward validation (preventing overfitting)
But it cannot prevent all losses. That's inherent to trading.
🔧 TECHNICAL SPECIFICATIONS
Platform: TradingView Pine Script v5
Indicator Type: Overlay indicator (plots on price chart)
Execution Type: Signals only - no automatic order placement
Computational Load:
Moderate to High (genetic algorithms + shadow portfolios)
8 strategies × shadow portfolio simulation = significant computation
Premium visuals add additional load (gradient cloud, fitness ribbon)
TradingView Resource Limits (Built-in Caps):
Max Bars Back: 500 (sufficient for WFO and evolution)
Max Labels: 100 (plenty for entry/exit markers)
Max Lines: 150 (adequate for stop/target lines)
Max Boxes: 50 (not heavily used)
Max Polylines: 100 (confidence halos)
Recommended Chart Settings:
Timeframe: 15min to 1H (optimal signal/noise balance)
5min: Works but noisier, more signals
4H/Daily: Works but fewer signals
Bars Loaded: 1000+ (ensures sufficient evolution history)
Replay Mode: Excellent for testing without risk
Performance Optimization Tips:
Disable gradient cloud if chart lags (most CPU intensive visual)
Disable fitness ribbon if still laggy
Reduce cloud layers from 7 to 3
Reduce ribbon layers from 10 to 5
Turn off diagnostics panel unless actively tuning
Close other heavy indicators to free resources
Browser/Platform Compatibility:
Works on all modern browsers (Chrome, Firefox, Safari, Edge)
Mobile app supported (full functionality on phone/tablet)
Desktop app supported (best performance)
Web version supported (may be slower on older computers)
Data Requirements:
Real-time or delayed data both work
No special data feeds required
Works with TradingView's standard data
Historical + live data seamlessly integrated
🎓 THEORETICAL FOUNDATIONS
AGE synthesizes advanced concepts from multiple disciplines:
Evolutionary Computation
Genetic Algorithms (Holland, 1975): Population-based optimization through natural selection metaphor
Tournament Selection: Fitness-based parent selection with diversity preservation
Crossover Operators: Fitness-weighted gene recombination from two parents
Mutation Operators: Random gene perturbation for exploration of new parameter space
Elitism: Preservation of top N performers to prevent loss of best solutions
Adaptive Parameters: Different mutation rates for historical vs. live phases
Technical Analysis
Support/Resistance: Price structure within swing ranges
Trend Following: EMA-based directional bias
Momentum Analysis: RSI, ROC, MACD composite indicators
Volatility Analysis: ATR-based risk scaling
Volume Confirmation: Trade activity validation
Information Theory
Shannon Entropy (1948): Quantification of market order vs. disorder
Signal-to-Noise Ratio: Directional information vs. random walk
Information Content: How much "information" a price move contains
Statistics & Probability
Walk-Forward Analysis: Rolling in-sample/out-of-sample optimization
Out-of-Sample Validation: Testing on unseen data to prevent overfitting
Monte Carlo Principles: Shadow portfolio simulation with realistic execution
Expectancy Theory: Win rate × avg win - loss rate × avg loss
Probability Distributions: Signal confidence quantification
Risk Management
ATR-Based Stops: Volatility-normalized risk per trade
Volatility Regime Detection: Market state classification (trending/choppy/volatile)
Drawdown Control: Peak-to-trough equity measurement
R-Multiple Normalization: Performance measurement in risk units
Machine Learning Concepts
Online Learning: Continuous adaptation as new data arrives
Fitness Functions: Multi-objective optimization (win rate + expectancy + drawdown)
Exploration vs. Exploitation: Balance between trying new strategies and using proven ones
Overfitting Prevention: Walk-forward validation as regularization
Novel Contribution:
AGE is the first TradingView indicator to apply genetic algorithms to real-time indicator parameter optimization while maintaining strict anti-overfitting controls through walk-forward validation.
Most "adaptive" indicators simply recalibrate lookback periods or thresholds. AGE evolves entirely new strategies through competitive selection - it's not parameter tuning, it's Darwinian evolution of trading logic itself.
The combination of:
Genetic algorithm population management
Shadow portfolio simulation for realistic fitness evaluation
Walk-forward validation to prevent overfitting
Multi-indicator confluence for signal quality
Dynamic volatility scaling for adaptive risk
...creates a system that genuinely learns and improves over time while avoiding the curse of curve-fitting that plagues most optimization approaches.
🏗️ DEVELOPMENT NOTES
This project represents months of intensive development, facing significant technical challenges:
Challenge 1: Making Genetics Actually Work
Early versions spawned garbage strategies that polluted the gene pool:
Random gene combinations produced nonsensical parameter sets
Weak strategies survived too long, dragging down population
No clear convergence toward optimal solutions
Solution:
Comprehensive fitness scoring (4 factors: win rate, P&L, expectancy, drawdown)
Elite preservation (top 2 always protected)
Walk-forward validation (unproven strategies penalized 30%)
Tournament selection (fitness-weighted breeding)
Adaptive culling (MAS decay creates increasing selection pressure)
Challenge 2: Balancing Evolution Speed vs. Stability
Too fast = population chaos, no convergence. Too slow = can't adapt to regime changes.
Solution:
Dual-phase timing: Fast evolution during historical (30/60 bar intervals), slow during live (200/400 bar intervals)
Adaptive mutation rates: 20% historical, 8% live
Spawn/cull ratio: Always 2:1 to prevent population collapse
Challenge 3: Shadow Portfolio Accuracy
Needed realistic trade simulation without lookahead bias:
Can't peek at future bars for exits
Must track multiple portfolios simultaneously
Stop/target checks must use bar's high/low correctly
Solution:
Entry on close (realistic)
Exit checks on current bar's high/low (realistic)
Independent position tracking per strategy
Cooldown periods to prevent unrealistic rapid re-entry
ATR-normalized P&L (R-multiples) for fair comparison across volatility regimes
Challenge 4: Pine Script Compilation Limits
Hit TradingView's execution limits multiple times:
Too many array operations
Too many variables
Too complex conditional logic
Solution:
Optimized data structures (single DNA array instead of 8 separate arrays)
Minimal visual overlays (only essential plots)
Efficient fitness calculations (vectorized where possible)
Strategic use of barstate.islast to minimize dashboard updates
Challenge 5: Walk-Forward Implementation
Standard WFO is difficult in Pine Script:
Can't easily "roll forward" through historical data
Can't re-optimize strategies mid-stream
Must work in real-time streaming environment
Solution:
Age-based phase detection (first 250 bars = training, next 75 = testing)
Separate metric tracking for train vs. test
Efficiency calculation at fixed interval (after test period completes)
Validation flag persists for strategy lifetime
Challenge 6: Signal Quality Control
Early versions generated too many signals with poor win rates:
Single indicators produced excessive noise
No trend alignment
No regime awareness
Instant entries on single-bar spikes
Solution:
Three-layer confluence system (entropy + momentum + structure)
Minimum 2-of-3 agreement requirement
Trend alignment checks (penalty for counter-trend)
Regime-based probability adjustments
Persistence requirements (signals must hold multiple bars)
Volume confirmation
Quality gate (probability + confluence thresholds)
The Result
A system that:
Truly evolves (not just parameter sweeps)
Truly validates (out-of-sample testing)
Truly adapts (ongoing competition and breeding)
Stays within TradingView's platform constraints
Provides institutional-quality signals
Maintains transparency (full metrics dashboard)
Development time: 3+ months of iterative refinement
Lines of code: ~1500 (highly optimized)
Test instruments: ES, NQ, EURUSD, BTCUSD, SPY, AAPL
Test timeframes: 5min, 15min, 1H, Daily
🎯 FINAL WORDS
The Adaptive Genesis Engine is not just another indicator - it's a living system that learns, adapts, and improves through the same principles that drive biological evolution. Every bar it observes adds to its experience. Every strategy it spawns explores new parameter combinations. Every strategy it culls removes weakness from the gene pool.
This is evolution in action on your charts.
You're not getting a static formula locked in time. You're getting a system that thinks , that competes , that survives through natural selection. The strongest strategies rise to the top. The weakest die. The gene pool improves generation after generation.
AGE doesn't claim to predict the future - it adapts to whatever the future brings. When markets shift from trending to choppy, from calm to volatile, from bullish to bearish - AGE evolves new strategies suited to the new regime.
Use it on any instrument. Any timeframe. Any market condition. AGE will adapt.
This indicator gives you the pure signal intelligence. How you choose to act on it - position sizing, risk management, execution discipline - that's your responsibility. AGE tells you when and how confident . You decide whether and how much .
Trust the process. Respect the evolution. Let Darwin work.
"In markets, as in nature, it is not the strongest strategies that survive, nor the most intelligent - but those most responsive to change."
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
— Happy Holiday's
Cloud Matrix [CongTrader]🚀 Cloud Matrix — Advanced Multi-Layer Ichimoku System
Cloud Matrix is an enhanced trend-analysis system built on the public-domain Ichimoku Kinko Hyo methodology.
This indicator delivers a multi-dimensional view of trend, momentum, and market structure, allowing traders to evaluate market conditions at a glance.
Cloud Matrix is not a simple Ichimoku clone. It introduces advanced confirmation logic, multi-timeframe trend filtering, and a modern visual framework designed for today’s dynamic markets.
🔥 Key Features & Highlights
1️⃣ Smart Preset Engine (4 Modes)
Choose from optimized presets for different markets and volatility levels:
Traditional 9/26/52
Crypto Fast 10/30/60
Crypto Medium 20/60/120
Custom Mode
→ Fast, adaptable, and beginner-friendly.
2️⃣ Advanced Trend Confirmation Engine
Cloud Matrix uses a 5-factor scoring system to filter high-quality signals:
Tenkan vs Kijun
Price vs Cloud
Cloud Twist
Chikou Position
Close vs Kijun
A bullish/bearish signal only triggers when multiple Ichimoku conditions align, reducing noise dramatically.
3️⃣ Higher-Timeframe EMA200 Filter
One of the signature strengths of Cloud Matrix:
EMA200 from a higher timeframe
Helps you follow the dominant macro trend
Avoids counter-trend traps
Ideal for swing and position traders
4️⃣ Intelligent Auto Signals
The indicator includes refined and clean signals for:
Bullish / Bearish TK Cross
Bullish / Bearish Kumo Breakout
All signals support:
Labels
Alerts
“Alert on Close” mode to avoid repaint-related confusion
5️⃣ Enhanced Kumo Cloud Visualization
Adjustable opacity (strong / soft)
Clear bullish/bearish cloud shading
Improved readability on fast markets
6️⃣ Real-Time Market State Dashboard
A compact dashboard shows all key Ichimoku conditions:
Price vs Cloud
Cloud Twist (Bullish/Bearish)
Tenkan–Kijun Relationship
Chikou Status
HTF EMA Trend
Active Preset
→ Designed for instant market diagnostics.
🎯 How Traders Use Cloud Matrix
Perfect for:
Trend following
Swing trading
Crypto, Stocks, Forex
Early breakout detection
Filtering low-quality setups
📌 Suggested Usage
Bullish Bias When:
Price is above the Cloud
Cloud Twist is bullish
Tenkan crosses above Kijun
Chikou is above price
HTF EMA200 is bullish
Bearish Bias When:
Opposite conditions apply.
⚠️ Important Note
This indicator is for analysis and educational purposes only.
It does not provide financial advice or guaranteed trading results.
Ichimoku concepts belong to the public domain; this is a modernized expansion built for study and research.
✍️ Author
CongTrader – 2025
Designed to help traders see the market through a multi-layered, structured lens..






















