Zettt's Directional Movement IndexThis is a modified version of the standard DMI/ADX indicator by Welles Wilder. It makes the most important parts of the standard version more prominent to help traders better identify emerging trends, and judge markets.
First of all the dominant Direction Index, +DI or -DI (green and red), is emphasized with a different color, but only if they break the ADX Weak Threshold .
There is a setting for "ADX Weak Threshold". This is the general trend strength meter. It determines at which level one of the Directional Indexes are emphasized, and it serves as threshold level at which the "Long ADX" is emphasized too.
Trader should think of Long ADX (yellow) as an ability to judge higher timeframe trend, on lower timeframes, which is determined by the ADX Multiplier. For example, while viewing a 4h chart, and an ADX Multiplier of 4, Long ADX acts like an ADX on the 12h (4h * 4). Furthermore Long ADX is also only emphasized in color once it breaches the ADX Weak Threshold. Therefore helping to give further confluence, e.g. pyramiding into a bigger-sized trade when a higher timeframe trend is strengthening.
Last but not least the (normal) ADX (purple) color is emphasized when its value is strengthening. More prominent color = strengthening trend.
Additional this DMI provides 4 "trend strength zones". These help to easier judge trend exhaustion, and spot potential reversals earlier.
The standard DMI setting is changed from 14 to 6 in this version. Reducing this setting also requires reducing the ADX Multiplier.
In den Scripts nach "adx" suchen
Madstrat Strategy - Dual TF# Madstrat Strategy - Dual TF: Complete User Guide
## Overview
The Madstrat Strategy indicator is a comprehensive forex trading system that identifies high-probability trade setups based on a day-counting methodology combined with multi-timeframe EMA alignment analysis. It generates two primary signal types:
1. **Day 3 Signals** - Based on the GSD/RSD (Green Setup Day/Red Setup Day) counting system
2. **Pure Price Action (PA) Signals** - Based on EMA alignment across multiple timeframes with EQ rejection
The indicator operates on **two timeframe combinations simultaneously**:
- **15-minute / 1-hour** combo
- **30-minute / 2-hour** combo
---
## Section 1: Timeframe Signals
### Settings
| Input | Default | Description |
|-------|---------|-------------|
| Show 15m/1hr Signals | ✓ Enabled | Displays signals from the 15-minute LTF with 1-hour HTF confirmation |
| Show 30m/2hr Signals | ✓ Enabled | Displays signals from the 30-minute LTF with 2-hour HTF confirmation |
| Trade Levels Source | Most Recent | Determines which combo draws SL/TP levels |
### How It Works
Each timeframe combination operates independently with its own:
- Signal spacing rules (4 bars for 15m, 2 bars for 30m = both equal ~1 hour)
- Daily signal limits (3 Day 3 signals + 3 Pure PA signals per combo per day)
- EMA alignment checks on both LTF and HTF
**Trade Levels Source Options:**
- **15m/1hr** - Only 15m/1hr signals draw trade levels
- **30m/2hr** - Only 30m/2hr signals draw trade levels
- **Most Recent** - Whichever signal fires most recently draws levels (15m/1hr takes priority if both fire simultaneously)
---
## Section 2: Signal Colors
Customize the appearance of each signal type for each timeframe combination:
### 15m/1hr Combo
| Signal Type | Default Color |
|-------------|---------------|
| Day 3 Buy | Blue |
| Day 3 Sell | Red |
| Pure PA Buy | Aqua |
| Pure PA Sell | Fuchsia |
### 30m/2hr Combo
| Signal Type | Default Color |
|-------------|---------------|
| Day 3 Buy | Teal |
| Day 3 Sell | Orange |
| Pure PA Buy | Lime |
| Pure PA Sell | Maroon |
---
## Section 3: Enhanced FBR Rules
### What is FBR?
**FBR (Failed Breakout Retest)** occurs when price breaks below the previous week's low (or above the previous week's high) but fails to close outside the range, closing back inside instead. This signals a potential reversal and resets the day count to "Day 1" of a new setup sequence.
### Settings
| Input | Default | Description |
|-------|---------|-------------|
| Enable Enhanced FBR Rule | ✓ Enabled | Prevents FBR detection after a clean breakout |
| Show Clean Breakout Labels | ✓ Enabled | Displays labels when clean breakouts occur |
| Bull Breakout Label Color | Blue (25% transparent) | Background color for bullish breakout labels |
| Bear Breakout Label Color | Red (25% transparent) | Background color for bearish breakout labels |
### How Enhanced FBR Works
1. **Clean Breakout Detection**: A clean breakout occurs when price breaks AND closes outside the previous week's range
2. **FBR Blocking**: Once a clean breakout occurs in a week, FBR detection is disabled for the remainder of that week
3. **Weekly Reset**: Both clean breakout and FBR flags reset at the start of each new trading week (Sunday rollover)
### Label Types
- **"CLEAN BULL BO"** - Price broke above previous week high and closed above it
- **"CLEAN BEAR BO"** - Price broke below previous week low and closed below it
- **"FBR Day 1"** - Failed breakout retest detected, count reset to Day 1
---
## Section 4: Real-Time Day Labels
### Purpose
The real-time label shows a **live projection** of what today's day classification will be, updating throughout the trading session as price action develops.
### Settings
| Input | Default | Description |
|-------|---------|-------------|
| Enable Real-Time Day Labels | ✓ Enabled | Shows dynamic label that updates during trading |
| Real-Time Label Position | Right | Position of label relative to current candle |
| Real-Time Label Background | Yellow (20% transparent) | Background color |
| Real-Time Label Text | White | Text color |
### Label Text Meanings
| Label | Meaning |
|-------|---------|
| LIVE: GSD Day X | Projected Green Setup Day (after 2+ red days) |
| LIVE: GD Day X | Projected Green Day (continuing green trend) |
| LIVE: RSD Day X | Projected Red Setup Day (after 2+ green days) |
| LIVE: RD Day X | Projected Red Day (continuing red trend) |
| LIVE: INSIDE DAY | Price range is entirely within previous day's range |
| LIVE: FBR - GSD Day 1 | Bullish failed breakout retest detected |
| LIVE: FBR - RSD Day 1 | Bearish failed breakout retest detected |
| LIVE: ... CLEAN BULL BO | Clean bullish breakout detected |
| LIVE: ... CLEAN BEAR BO | Clean bearish breakout detected |
---
## Section 5: Daily Session Definition
### Instrument Presets
| Preset | Sunday Open | Friday Close | Rollover | Use Case |
|--------|-------------|--------------|----------|----------|
| Forex (FX Pairs) | 17:05 ET | 16:59 ET | 17:00 ET | EUR/USD, GBP/USD, etc. |
| Metals (XAU/XAG) | 18:05 ET | 16:59 ET | 17:00 ET | Gold, Silver |
| Custom | User-defined | User-defined | User-defined | Other instruments |
### Why This Matters
The indicator uses **OANDA-style daily rollover** (5 PM Eastern) rather than UTC midnight. This ensures:
- Accurate day counting for forex markets
- Correct GSD/RSD classification
- Proper weekly level calculations
### Session Break Line
| Input | Default | Description |
|-------|---------|-------------|
| Show Session Break Line | ✓ Enabled | Draws vertical line at daily rollover |
| Session Break Line Color | Black | Line color |
| Width | 2 | Line thickness (1-5) |
| Style | Solid | Solid, dashed, or dotted |
---
## Section 6: Day Labels (GSD/RSD System)
### The Core Day Counting Methodology
This is the foundation of the Madstrat Strategy:
1. **Green Day (GD)**: Daily candle closes higher than it opened
2. **Red Day (RD)**: Daily candle closes lower than it opened
3. **Green Setup Day (GSD)**: A green day that follows 2 or more consecutive red days
4. **Red Setup Day (RSD)**: A red day that follows 2 or more consecutive green days
### The Day 3 Signal
**Day 3** is when the setup is "mature" and ready for a trade:
- **GSD Day 3**: Third consecutive green day after a red sequence of 2+ days
- **RSD Day 3**: Third consecutive red day after a green sequence of 2+ days
### Settings
| Input | Default | Description |
|-------|---------|-------------|
| Max Historical Labels | 60 | Number of day labels to retain on chart |
| Show Day of Week Labels | ✓ Enabled | Shows M O N, T U E, etc. |
| Label Position | Top | Top or bottom of chart |
| Label Hour | 6 | Hour (0-23) when day labels appear |
| GSD/GD Label Background | Blue (25% transparent) | Green day label color |
| RSD/RD Label Background | Red (25% transparent) | Red day label color |
| Inside Day Label Background | Gray (25% transparent) | Inside day label color |
### Important Notes
- **Inside Days** do not increment the count - they are neutral
- **FBR events** reset the count to Day 1 and establish a new trend direction
- **Clean Breakouts** also reset to Day 1 but block further FBR detection that week
---
## Section 7: Daily Levels
Displays the previous day's key price levels:
### Available Levels
| Level | Default | Description |
|-------|---------|-------------|
| Previous Day's High (PDH) | ✓ Enabled, Blue | Highest price of previous session |
| Previous Day's Low (PDL) | ✓ Enabled, Green | Lowest price of previous session |
| Previous Day's EQ | ✓ Enabled, Black | Equilibrium (midpoint of PDH/PDL) |
| 75% Level | ✗ Disabled | 75% of previous day's range |
| 25% Level | ✗ Disabled | 25% of previous day's range |
### EQ Rejection (Critical for Signals)
The **EQ (Equilibrium)** level is crucial for signal generation:
- **Bullish EQ Rejection**: Price wicks down to touch EQ, then closes above it
- **Bearish EQ Rejection**: Price wicks up to touch EQ, then closes below it
The indicator tracks these rejections throughout the day and uses them as a key filter for both Day 3 and Pure PA signals.
---
## Section 8: Weekly Levels
### Previous Week Levels
| Level | Description |
|-------|-------------|
| PWH (Previous Week High) | Highest price of the completed previous week |
| PWL (Previous Week Low) | Lowest price of the completed previous week |
| PWEQ (Previous Week EQ) | Midpoint of PWH and PWL |
### Current Week Levels
| Level | Description |
|-------|-------------|
| WH (Week High) | Running high of the current week |
| WL (Week Low) | Running low of the current week |
| WEQ (Week EQ) | Running midpoint of current week |
### Settings
| Input | Default | Description |
|-------|---------|-------------|
| Show Weekly Levels | ✓ Enabled | Master toggle for all weekly levels |
| Show Previous Week High/Low/EQ | ✓ Enabled | PWH, PWL, PWEQ lines |
| Previous Week Line Color | Black | Color for PW levels |
| Previous Week Line Width | 2 | Thickness of PW lines |
| Show Current Week High/Low | ✓ Enabled | WH, WL lines (dashed) |
| Current Week Line Color | Blue | Color for current week levels |
| Show Weekly Level Labels | ✓ Enabled | Text labels at line ends |
| Weekly Label Size | Normal | Tiny to Huge |
| Lines & Labels End Day | Friday | Extend lines to which day |
---
## Section 9: Session Overlays
Visual boxes showing major forex trading sessions:
### Available Sessions
| Session | Default Times (ET) | Default State |
|---------|-------------------|---------------|
| Sydney | 18:00 - 02:00 | ✗ Disabled |
| Asian | 19:00 - 04:15 | ✓ Enabled |
| London | 01:00 - 11:15 | ✓ Enabled |
| New York | 07:30 - 17:15 | ✓ Enabled |
### Customization Options
For each session:
- Start/End Hour and Minute
- Timezone
- Background color (with transparency)
- Border color
- Border style (solid, dashed, dotted)
- Border width
### General Session Settings
| Input | Default | Description |
|-------|---------|-------------|
| Show Session Overlays | ✓ Enabled | Master toggle |
| Show Session Names on Boxes | ✓ Enabled | Display "Sydney", "Asia", etc. |
| Session Box Border Width | 1 | Border thickness |
| Session Name Text Color | Black | Label text color |
| Session Name Size | Normal | Tiny to Huge |
---
## Section 10: Chart Visuals (Moving Averages)
### Available Moving Averages
| MA | Default | Default Color | Purpose |
|----|---------|---------------|---------|
| 9 EMA | ✓ Shown | Green | Fast trend |
| 18 EMA | ✓ Shown | Orange | Medium trend |
| 50 EMA | ✓ Shown | Blue | Slow trend |
| 50 SMA | ✓ Shown | Purple | Alternative slow trend |
| 200 EMA | ✗ Hidden | Red | Long-term trend |
### EMA Alignment Requirement
For signals to fire, the EMAs must be properly "stacked":
**Bullish Alignment:**
```
Price > 9 EMA > 18 EMA > 50 EMA
```
**Bearish Alignment:**
```
Price < 9 EMA < 18 EMA < 50 EMA
```
This alignment must be present on **both** the LTF (15m or 30m) **and** the HTF (1hr or 2hr) for a signal to generate.
---
## Section 11: Signal Filters
### EQ Rejection Recency
| Input | Default | Description |
|-------|---------|-------------|
| EQ Rejection Recency (bars) | 4 | EQ rejection must occur within this many bars |
On a 15-minute chart, 4 bars = 1 hour. This ensures the EQ rejection is "fresh" and relevant.
### Session Filter
| Input | Default | Description |
|-------|---------|-------------|
| Enable Session Filter | ✗ Disabled | Only allow signals during selected sessions |
| Allow Sydney Session Signals | ✓ Enabled | (Only applies if filter enabled) |
| Allow Asian Session Signals | ✓ Enabled | |
| Allow London Session Signals | ✓ Enabled | |
| Allow New York Session Signals | ✓ Enabled | |
### ADX Filter
| Input | Default | Description |
|-------|---------|-------------|
| Enable ADX Filter | ✓ Enabled | Require minimum trend strength |
| ADX Threshold | 20.0 | Minimum ADX value (5.0 - 50.0) |
The ADX (Average Directional Index) measures trend strength. Values above 20-25 indicate a trending market suitable for directional trades.
---
## Section 12: Signal Types Explained
### Day 3 Signals (Primary)
Day 3 signals come in two forms:
#### Day 3 Detected (Live)
Fires when the **current day is projected** to become Day 3 based on real-time price action. This is an early signal that may change if the daily candle reverses before close.
#### Day 3 Confirmed
Fires when Day 3 has been **officially confirmed** by the previous day's close. This is a more reliable signal as the day count is locked in.
**Requirements for Day 3 Buy:**
1. GSD Count = 3 (confirmed) OR Projected GSD Count = 3 (live)
2. Not an inside day (current or previous)
3. Recent bullish EQ rejection (within recency bars)
4. Bullish EMA alignment on LTF
5. Bullish EMA alignment on HTF
6. Adequate candle body (not all wick)
7. ADX above threshold (if enabled)
8. Within allowed session (if filter enabled)
9. Signal spacing requirement met
10. Less than 3 Day 3 signals already today for this combo
**Day 3 Sell** - Same requirements but bearish (RSD Count = 3, bearish alignment, bearish EQ rejection)
### Pure PA Signals (Secondary)
Pure PA signals also come in two forms:
#### Pure PA Detected (LTF Only)
Fires when the **lower timeframe conditions** are met but HTF confirmation is still pending. This is an early warning that a full signal may be imminent.
#### Pure PA Confirmed (LTF + HTF)
Fires when **both LTF and HTF** conditions are aligned. This is the full confirmation signal.
**Requirements for Pure PA Buy:**
1. Recent bullish EQ rejection
2. Bullish EMA alignment on LTF (Price > 9 > 18 > 50)
3. Bullish EMA alignment on HTF (Price > 9 > 18 > 50)
4. Adequate candle body ratio (≥30%)
5. ADX above threshold on LTF
6. Not currently an inside day
7. Signal spacing requirement met
8. Less than 3 Pure PA signals already today for this combo
9. Within allowed session (if filter enabled)
**Pure PA Sell** - Same requirements but bearish
---
## Section 13: Trade Levels
When a signal fires, the indicator can draw:
| Level | Style | Description |
|-------|-------|-------------|
| Stop Loss (SL) | Red dashed | Entry price ± (ATR × 1.5) |
| Take Profit 1 | Green dashed | 1:1 Risk/Reward |
| Take Profit 2 | Green dotted | 2:1 Risk/Reward |
| Take Profit 3 | Green dotted | 3:1 Risk/Reward |
These levels use a 14-period ATR for the stop loss calculation.
---
## Section 14: Debug Table
Enable **Show Debug Table** to display real-time diagnostic information:
### Information Displayed
| Category | Variables |
|----------|-----------|
| Day Counting | GSD Count, RSD Count, Projected GSD, Projected RSD |
| Day State | Is Projected D3?, Currently Inside?, Week Has FBR?, Clean Breakout (Week)? |
| 15m/1hr Combo | LTF Bull/Bear Positioning, HTF Bull/Bear Positioning, D3/PA Signals Today, Signal Spacing OK |
| 30m/2hr Combo | LTF Bull/Bear Positioning, HTF Bull/Bear Positioning, D3/PA Signals Today, Signal Spacing OK |
| Shared | EQ Rejection Recent (Bull/Bear), Session Filter OK, 15m ADX, 30m ADX, Trade Levels Source |
Green cells = condition met (true)
Red cells = condition not met (false)
Gray cells = informational values
---
## Section 15: Alert Settings
The indicator features a comprehensive **enhanced alert system** with granular control over when and how alerts fire.
### Alert Settings Inputs
| Input | Default | Description |
|-------|---------|-------------|
| Enable Dynamic Alerts | ✓ Enabled | Master toggle for all dynamic alerts with detailed messages |
| Day 3 Detected (Live) | ✓ Enabled | Alert when Day 3 is projected based on current price action |
| Day 3 Confirmed | ✓ Enabled | Alert when Day 3 is officially confirmed |
| Pure PA Detected (LTF) | ✓ Enabled | Alert when LTF conditions are met (early warning) |
| Pure PA Confirmed (LTF+HTF) | ✓ Enabled | Alert when both LTF and HTF conditions align |
### Alert Message Format
All dynamic alerts follow a standardized format for easy parsing:
```
TYPE | SYMBOL @ PRICE | DAY_CLASS | SESSION | DIRECTION | COMBO
```
**Example alerts:**
```
D3 DETECTED | EURUSD @ 1.08542 | GSD Day 3 | London | BUY | 15m/1hr
D3 CONFIRMED | GBPJPY @ 192.456 | RSD Day 3 | New York | SELL | 30m/2hr
PA DETECTED | XAUUSD @ 2345.67 | GSD Day 2 | Asian | BUY | 15m/1hr (LTF only)
PA CONFIRMED | EURJPY @ 164.123 | RSD Day 1 | London | SELL | 30m/2hr
```
### Alert Types Explained
| Alert Type | Meaning | Use Case |
|------------|---------|----------|
| **D3 DETECTED** | Day 3 projected based on current candle | Early entry opportunity; may invalidate if candle reverses |
| **D3 CONFIRMED** | Day 3 locked in from previous close | Higher confidence entry; day count is confirmed |
| **PA DETECTED** | LTF alignment met, waiting for HTF | Heads-up alert; prepare for potential entry |
| **PA CONFIRMED** | Both LTF and HTF aligned | Full confirmation; ready to execute |
### TradingView Alert Dialog Options
When creating an alert in TradingView, you'll see these condition options in the dropdown:
#### Day 3 Detected (Live Projection)
- D3 Detected: Buy 15m/1hr
- D3 Detected: Sell 15m/1hr
- D3 Detected: Buy 30m/2hr
- D3 Detected: Sell 30m/2hr
#### Day 3 Confirmed
- D3 Confirmed: Buy 15m/1hr
- D3 Confirmed: Sell 15m/1hr
- D3 Confirmed: Buy 30m/2hr
- D3 Confirmed: Sell 30m/2hr
#### Pure PA Detected (LTF Only)
- PA Detected: Buy 15m/1hr
- PA Detected: Sell 15m/1hr
- PA Detected: Buy 30m/2hr
- PA Detected: Sell 30m/2hr
#### Pure PA Confirmed (LTF + HTF)
- PA Confirmed: Buy 15m/1hr
- PA Confirmed: Sell 15m/1hr
- PA Confirmed: Buy 30m/2hr
- PA Confirmed: Sell 30m/2hr
#### Combined Alerts (Any Combo)
- D3 Detected: Any Buy
- D3 Detected: Any Sell
- D3 Confirmed: Any Buy
- D3 Confirmed: Any Sell
- PA Confirmed: Any Buy
- PA Confirmed: Any Sell
#### Master Alerts
- ALL Day 3: Any Buy
- ALL Day 3: Any Sell
- ALL PA: Any Buy
- ALL PA: Any Sell
### Setting Up Alerts
1. **Click the Alert icon** in TradingView (or press Alt+A)
2. **Select the indicator** "Madstrat Strategy - Dual TF"
3. **Choose the condition** from the dropdown (e.g., "D3 Confirmed: Any Buy")
4. **Configure notification options** (popup, email, webhook, etc.)
5. **Set alert name** and click "Create"
### Recommended Alert Configurations
**Conservative Approach:**
- Enable only "Day 3 Confirmed" and "PA Confirmed" alerts
- These fire after full confirmation on both timeframes
**Aggressive Approach:**
- Enable all alert types including "Detected" alerts
- Get early warnings but verify manually before entry
**Session-Specific:**
- Create separate alerts for each session you trade
- Use the session filter to limit when signals can fire
---
## Section 16: Signal Identification on Chart
| Shape | Text | Meaning |
|-------|------|---------|
| ▲ Triangle Up | D3-15 | Day 3 Buy from 15m/1hr combo |
| ▲ Triangle Up | D3-30 | Day 3 Buy from 30m/2hr combo |
| ▼ Triangle Down | D3-15 | Day 3 Sell from 15m/1hr combo |
| ▼ Triangle Down | D3-30 | Day 3 Sell from 30m/2hr combo |
| ◆ Diamond | PA-15 | Pure PA signal from 15m/1hr combo |
| ◆ Diamond | PA-30 | Pure PA signal from 30m/2hr combo |
---
## Quick Start Guide
### Recommended Setup for Forex
1. **Timeframe**: Apply indicator to a 15-minute chart
2. **Instrument Preset**: Select "Forex (FX Pairs)"
3. **Enable both** 15m/1hr and 30m/2hr signals initially
4. **Trade Levels Source**: "Most Recent"
5. **ADX Filter**: Enabled with threshold 20
6. **Alerts**: Enable "D3 Confirmed" and "PA Confirmed" for reliable signals
### Reading Signals
1. Look for **Day 3 signals** (triangles) as primary entries
2. Use **Pure PA signals** (diamonds) as supplementary entries
3. Check the debug table to understand why signals did/didn't fire
4. Reference the real-time day label to anticipate upcoming Day 3 opportunities
### Alert Strategy
**For active monitoring:**
- Enable "Detected" alerts as early warnings
- Manually verify conditions before entry
**For set-and-forget:**
- Enable only "Confirmed" alerts
- Trust the full confirmation system
---
## Troubleshooting
### No Signals Appearing?
Check the debug table for:
1. **EQ Rejection Recent** - Is there a recent EQ rejection?
2. **LTF/HTF Positioning** - Are EMAs properly aligned?
3. **GSD/RSD Count** - Is it actually Day 3?
4. **Currently Inside?** - Inside days block signals
5. **Signal Spacing OK** - Has enough time passed since last signal?
6. **ADX value** - Is it above the threshold?
### Day Labels Not Matching Expected Count?
- Verify **Instrument Preset** matches your trading instrument
- Check if an **FBR** or **Clean Breakout** reset the count
- **Inside days** don't increment the count
- Week resets occur at **Sunday 5 PM ET** for forex
### Alerts Not Firing?
1. Ensure **Enable Dynamic Alerts** is checked
2. Verify the specific alert type is enabled (D3 Detected, D3 Confirmed, etc.)
3. Check that the alert condition is properly set up in TradingView
4. Confirm signal filters (session, ADX) aren't blocking the signal
### Understanding Detected vs Confirmed
| Scenario | Detected Alert | Confirmed Alert |
|----------|----------------|-----------------|
| Current day projected to be Day 3, candle still open | ✓ Fires | ✗ Won't fire |
| Previous day closed as Day 3, conditions met today | ✓ May fire | ✓ Fires |
| LTF aligned, HTF not yet aligned | ✓ PA Detected fires | ✗ PA Confirmed won't fire |
| Both LTF and HTF aligned | ✓ May fire | ✓ PA Confirmed fires |
---
## Glossary
| Term | Definition |
|------|------------|
| **GSD** | Green Setup Day - Green day following 2+ red days |
| **RSD** | Red Setup Day - Red day following 2+ green days |
| **GD** | Green Day - Regular green day (not a setup) |
| **RD** | Red Day - Regular red day (not a setup) |
| **FBR** | Failed Breakout Retest - Price breaks weekly level but closes back inside |
| **EQ** | Equilibrium - Midpoint of previous day's range |
| **LTF** | Lower Timeframe (15m or 30m) |
| **HTF** | Higher Timeframe (1hr or 2hr) |
| **PWH/PWL** | Previous Week High/Low |
| **PDH/PDL** | Previous Day High/Low |
| **Clean Breakout** | Price breaks AND closes outside previous week's range |
---
This documentation covers the complete functionality of the Madstrat Strategy - Dual TF indicator including the enhanced alert system. For further assistance with specific scenarios or edge cases, enable the debug table and analyse the real-time variable states.
Market Outlook Score (MOS)Overview
The "Market Outlook Score (MOS)" is a custom technical indicator designed for TradingView, written in Pine Script version 6. It provides a quantitative assessment of market conditions by aggregating multiple factors, including trend strength across different timeframes, directional movement (via ADX), momentum (via RSI changes), volume dynamics, and volatility stability (via ATR). The MOS is calculated as a weighted score that ranges typically between -1 and +1 (though it can exceed these bounds in extreme conditions), where positive values suggest bullish (long) opportunities, negative values indicate bearish (short) setups, and values near zero imply neutral or indecisive markets.
This indicator is particularly useful for traders seeking a holistic "outlook" score to gauge potential entry points or market bias. It overlays on a separate pane (non-overlay mode) and visualizes the score through horizontal threshold lines and dynamic labels showing the numeric MOS value along with a simple trading decision ("Long", "Short", or "Neutral"). The script avoids using the plot function for compatibility reasons (e.g., potential TradingView bugs) and instead relies on hline for static lines and label.new for per-bar annotations.
Key features:
Multi-Timeframe Analysis: Incorporates slope data from 5-minute, 15-minute, and 30-minute charts to capture short-term trends.
Trend and Strength Integration: Uses ADX to weight trend bias, ensuring stronger signals in trending markets.
Momentum and Volume: Includes RSI momentum impulses and volume deviations for added confirmation.
Volatility Adjustment: Factors in ATR changes to assess market stability.
Customizable Inputs: Allows users to tweak periods for lookback, ADX, and ATR.
Decision Labels: Automatically classifies the MOS into actionable categories with visual labels.
This indicator is best suited for intraday or swing trading on volatile assets like stocks, forex, or cryptocurrencies. It does not generate buy/sell signals directly but can be combined with other tools (e.g., moving averages or oscillators) for comprehensive strategies.
Inputs
The script provides three user-configurable inputs via TradingView's input panel:
Lookback Period (lookback):
Type: Integer
Default: 20
Range: Minimum 10, Maximum 50
Purpose: Defines the number of bars used in slope calculations for trend analysis. A shorter lookback makes the indicator more sensitive to recent price action, while a longer one smooths out noise for longer-term trends.
ADX Period (adxPeriod):
Type: Integer
Default: 14
Range: Minimum 5, Maximum 30
Purpose: Sets the smoothing period for the Average Directional Index (ADX) and its components (DI+ and DI-). Standard value is 14, but shorter periods increase responsiveness, and longer ones reduce false signals.
ATR Period (atrPeriod):
Type: Integer
Default: 14
Range: Minimum 5, Maximum 30
Purpose: Determines the period for the Average True Range (ATR) calculation, which measures volatility. Adjust this to match your trading timeframe—shorter for scalping, longer for positional trading.
These inputs allow customization without editing the code, making the indicator adaptable to different market conditions or user preferences.
Core Calculations
The MOS is computed through a series of steps, blending trend, momentum, volume, and volatility metrics. Here's a breakdown:
Multi-Timeframe Slopes:
The script fetches data from higher timeframes (5m, 15m, 30m) using request.security.
Slope calculation: For each timeframe, it computes the linear regression slope of price over the lookback period using the formula:
textslope = correlation(close, bar_index, lookback) * stdev(close, lookback) / stdev(bar_index, lookback)
This measures the rate of price change, where positive slopes indicate uptrends and negative slopes indicate downtrends.
Variables: slope5m, slope15m, slope30m.
ATR (Average True Range):
Calculated using ta.atr(atrPeriod).
Represents average volatility over the specified period. Used later to derive volatility stability.
ADX (Average Directional Index):
A detailed, manual implementation (not using built-in ta.adx for customization):
Computes upward movement (upMove = high - high ) and downward movement (downMove = low - low).
Derives +DM (Plus Directional Movement) and -DM (Minus Directional Movement) by filtering non-relevant moves.
Smooths true range (trur = ta.rma(ta.tr(true), adxPeriod)).
Calculates +DI and -DI: plusDI = 100 * ta.rma(plusDM, adxPeriod) / trur, similarly for minusDI.
DX: dx = 100 * abs(plusDI - minusDI) / max(plusDI + minusDI, 0.0001).
ADX: adx = ta.rma(dx, adxPeriod).
ADX values above 25 typically indicate strong trends; here, it's normalized (divided by 50) to influence the trend bias.
Volume Delta (5m Timeframe):
Fetches 5m volume: volume_5m = request.security(syminfo.tickerid, "5", volume, lookahead=barmerge.lookahead_on).
Computes a 12-period SMA of volume: avgVolume = ta.sma(volume_5m, 12).
Delta: (volume_5m - avgVolume) / avgVolume (or 0 if avgVolume is zero).
This measures relative volume spikes, where positive deltas suggest increased interest (bullish) and negative suggest waning activity (bearish).
MOS Components and Final Calculation:
Trend Bias: Average of the three slopes, normalized by close price and scaled by 100, then weighted by ADX influence: (slope5m + slope15m + slope30m) / 3 / close * 100 * (adx / 50).
Emphasizes trends in strong ADX conditions.
Momentum Impulse: Change in 5m RSI(14) over 1 bar, divided by 50: ta.change(request.security(syminfo.tickerid, "5", ta.rsi(close, 14), lookahead=barmerge.lookahead_on), 1) / 50.
Captures short-term momentum shifts.
Volatility Clarity: 1 - ta.change(atr, 1) / max(atr, 0.0001).
Measures ATR stability; values near 1 indicate low volatility changes (clearer trends), while lower values suggest erratic markets.
MOS Formula: Weighted average:
textmos = (0.35 * trendBias + 0.25 * momentumImpulse + 0.2 * volumeDelta + 0.2 * volatilityClarity)
Weights prioritize trend (35%) and momentum (25%), with volume and volatility at 20% each. These can be adjusted in code for experimentation.
Trading Decision:
A variable mosDecision starts as "Neutral".
If mos > 0.15, set to "Long".
If mos < -0.15, set to "Short".
Thresholds (0.15 and -0.15) are hardcoded but can be modified.
Visualization and Outputs
Threshold Lines (using hline):
Long Threshold: Horizontal dashed green line at +0.15.
Short Threshold: Horizontal dashed red line at -0.15.
Neutral Line: Horizontal dashed gray line at 0.
These provide visual reference points for MOS interpretation.
Dynamic Labels (using label.new):
Placed at each bar's index and MOS value.
Text: Formatted MOS value (e.g., "0.2345") followed by a newline and the decision (e.g., "Long").
Style: Downward-pointing label with gray background and white text for readability.
This replaces a traditional plot line, showing exact values and decisions per bar without cluttering the chart.
The indicator appears in a separate pane below the main price chart, making it easy to monitor alongside price action.
Usage Instructions
Adding to TradingView:
Copy the script into TradingView's Pine Script editor.
Save and add to your chart via the "Indicators" menu.
Select a symbol and timeframe (e.g., 1-minute for intraday).
Interpretation:
Long Signal: MOS > 0.15 – Consider bullish positions if supported by other indicators.
Short Signal: MOS < -0.15 – Potential bearish setups.
Neutral: Between -0.15 and 0.15 – Avoid trades or wait for confirmation.
Watch for MOS crossings of thresholds for momentum shifts.
Combine with price patterns, support/resistance, or volume for better accuracy.
Limitations and Considerations:
Lookahead Bias: Uses barmerge.lookahead_on for multi-timeframe data, which may introduce minor forward-looking bias in backtesting (use with caution).
No Alerts Built-In: Add custom alerts via TradingView's alert system based on MOS conditions.
Performance: Tested for compatibility; may require adjustments for illiquid assets or extreme volatility.
Backtesting: Use TradingView's strategy tester to evaluate historical performance, but remember past results don't guarantee future outcomes.
Customization: Edit weights in the MOS formula or thresholds to fit your strategy.
This indicator distills complex market data into a single score, aiding decision-making while encouraging users to verify signals with additional analysis. If you need modifications, such as restoring plot functionality or adding features, provide details for further refinement.
Malama's Dashboard with HeikinMalama's Dashboard with Heikin is a comprehensive trading indicator designed to provide traders with a consolidated view of market sentiment across multiple technical indicators. It combines Ichimoku Cloud, RSI, ADX, Choppiness Index, volume analysis, momentum, divergence detection, and multi-timeframe (MTF) MACD and volume trends to generate a composite sentiment score. The indicator displays these metrics in a visually intuitive table, enabling traders to quickly assess market conditions and make informed decisions. Optionally, it supports Heikin Ashi candles to smooth price data and reduce noise, aiding in trend identification. The script solves the problem of information overload by presenting key indicators in a single, trader-friendly dashboard, reducing the need for multiple charts or indicators.
Originality and Usefulness
This script is a unique mashup of several well-known technical indicators, integrated into a cohesive dashboard with a composite sentiment score. Unlike standalone indicators like RSI or Ichimoku, this script synthesizes signals from Ichimoku Cloud, RSI, ADX, Choppiness, volume, momentum, divergence, and MTF analysis into a unified sentiment metric. The inclusion of Heikin Ashi candles as an optional input adds flexibility for traders preferring smoothed price action. The composite score, derived from weighted contributions of each indicator, provides a novel way to gauge overall market direction, which is not commonly found in public open-source scripts. While individual components like RSI or Ichimoku are widely available, the script’s originality lies in its integrated approach, clear table visualization, and customizable settings, making it a practical tool for traders seeking a holistic market view.
Detailed Methodology ("How It Works")
The script processes multiple technical indicators and aggregates their signals into a composite sentiment score, displayed in a table. Below is a breakdown of its core components and logic:
Heikin Ashi Candles:
Logic: Optionally applies Heikin Ashi calculations to smooth price data. Heikin Ashi candles are computed using formulas for open, high, low, and close prices, reducing market noise and emphasizing trends.
Usage: When enabled, all subsequent calculations (Ichimoku, RSI, ADX, etc.) use Heikin Ashi prices instead of regular OHLC data, potentially improving trend clarity.
Ichimoku Cloud:
Logic: Calculates the Conversion Line (9-period high/low average), Base Line (26-period high/low average), Leading Span A (average of Conversion and Base Lines), and Leading Span B (52-period high/low average).
Signals: Bullish if the close price is above both Leading Spans; bearish if below; neutral otherwise.
Average Directional Index (ADX):
Logic: Computes ADX using a 14-period (default) directional movement index, measuring trend strength. PlusDI and MinusDI are calculated from price movements, and ADX is derived from their difference.
Signals: Bullish if PlusDI > MinusDI; bearish otherwise. ADX value indicates trend strength but is not used directly in sentiment scoring.
Relative Strength Index (RSI):
Logic: Calculates RSI over a 21-period (default) using the closing price. Overbought (>75) and oversold (<25) levels are user-defined.
Signals: Bullish if RSI > 50; bearish if RSI < 50. Overbought/oversold conditions are displayed but not used in the composite score.
Momentum:
Logic: Measures the difference between the current close and the close 10 periods ago (default).
Signals: Bullish if momentum > 0; bearish if < 0; neutral if 0.
Choppiness Index:
Logic: Calculates choppiness over a 14-period (default) using ATR and price range, normalized to a 0–100 scale. Values >61.8 indicate a sideways market; <38.2 indicate a trending market.
Signals: Bullish if choppiness < 38.2; bearish otherwise.
Volume Analysis:
Logic: Compares current volume to a 21-period (default) simple moving average (SMA). Bullish or bearish pressure is determined by whether the close is above or below the open.
Signals: Bullish if volume > 1.2x SMA and bullish pressure dominates; bearish if bearish pressure dominates; neutral otherwise.
Divergence Detection:
Logic: Identifies RSI divergences over a 5-period lookback. A bullish divergence occurs when price makes a lower low, but RSI makes a higher low; bearish divergence is the opposite.
Signals: Bullish or bearish based on divergence detection; neutral if no divergence.
Multi-Timeframe (MTF) Analysis:
Logic: Retrieves daily MACD (12, 26, 9) and volume SMA (21-period) from a higher timeframe. MACD is bullish if the MACD line > signal line; volume is bullish if current volume > daily SMA.
Signals: Bullish or bearish based on MACD and volume trends.
Composite Sentiment Score:
Logic: Aggregates signals from Ichimoku (±2), RSI (±1), ADX (±1), momentum (±1), choppiness (±1), divergence (±1), MTF MACD (±1), and MTF volume (±1). The score ranges from -8 to +8.
Signals: Bullish if score > 0; bearish if < 0; neutral if 0.
Alert Condition:
Triggers an alert when the composite sentiment flips (e.g., from bullish to bearish).
Strategy Results and Risk Management
This script is an indicator, not a strategy, and does not include backtesting or automated trade signals. However, the composite sentiment score can guide trading decisions. Assumptions for practical use include:
Commission and Slippage: Traders should account for realistic trading costs (e.g., 0.1% per trade) when acting on signals, though the script does not model these.
Risk Limits: Traders are advised to risk 5–10% of equity per trade, depending on their strategy and the strength of the composite score (e.g., higher scores may justify larger positions).
Trade Frequency: The script’s signals are based on multiple indicators, ensuring sufficient trade opportunities across trending and ranging markets.
Customization: Traders can adjust risk by modifying input parameters (e.g., RSI overbought/oversold levels or lookback periods) to align with their risk tolerance. For example, tightening RSI thresholds may reduce signal frequency but increase precision.
User Settings and Customization
The script offers several user-configurable inputs, allowing traders to tailor its behavior:
Use Heikin Ashi Candles (Boolean, default: false): Enables/disables Heikin Ashi smoothing for all calculations, affecting trend clarity.
ADX Length (Integer, default: 14, min: 1): Sets the period for ADX calculations, influencing trend strength sensitivity.
RSI Length (Integer, default: 21, min: 1): Adjusts RSI calculation period, impacting overbought/oversold detection.
RSI Overbought Level (Integer, default: 75, min: 1): Sets the RSI overbought threshold.
RSI Oversold Level (Integer, default: 25, min: 1): Sets the RSI oversold threshold.
Volatility Length (Integer, default: 21, min: 1): Controls the ATR period for volatility (used in Choppiness).
Volume MA Length (Integer, default: 21, min: 1): Sets the SMA period for volume analysis.
Momentum Length (Integer, default: 10, min: 1): Defines the lookback for momentum calculations.
Choppiness Length (Integer, default: 14, min: 1): Sets the period for Choppiness Index calculations.
These settings allow traders to adjust the indicator’s sensitivity to market conditions. For example, shorter RSI or ADX periods increase responsiveness but may generate more noise, while longer periods smooth signals but may lag.
Visualizations and Chart Setup
The script plots a table in the top-right corner of the chart, summarizing the following:
Header: Displays “MALAMA’S DASHBOARD” in white text on a black background.
Indicator Rows: Each row corresponds to an indicator (Ichimoku, RSI, ADX, Choppiness, Volume, Momentum, Divergence, MTF MACD, MTF Volume, Composite).
Columns:
Indicator: Lists the indicator name.
Value: Shows the calculated value (e.g., RSI value, composite score) and sentiment (e.g., Bullish, Bearish, Neutral).
Color Coding: Bullish signals are green, bearish signals are red, and neutral signals are gray, all with 85% transparency for readability.
Composite Sentiment: The final row displays the composite score and sentiment, providing a quick summary of market direction.
No trend lines, signal markers, or additional overlays are plotted, ensuring the chart remains uncluttered and focused on the dashboard’s insights.
Smart Trend Lines [The_lurker]
Smart Trend Lines
A multi-level trend classifier that detects bullish and bearish conditions using a methodology based on drawing trend lines—main, intermediate, and short-term—by identifying peaks and troughs. The tool highlights trend strength by applying filters such as the Average Directional Index (ADX) (A), Relative Strength Index (RSI) (R), and Volume (V), making it easier to interpret trend strength. The filter markers (V, A, R) in the Smart Trend Lines indicator are powerful tools for assessing the reliability of breakouts. Breakouts containing are the most reliable, as they indicate strong volume support, trend strength, and favorable momentum. Breakouts with partial filters (such as or ) require additional confirmation, while breakouts without filters ( ) should be avoided unless supported by other strong signals. By understanding the meaning of each filter and the market context.
Core Functionality
1. Trend Line Types
The indicator generates three distinct trend line categories, each serving a specific analytical purpose:
Main Trend Lines: These are long-term trend lines designed to capture significant market trends. They are calculated based on pivot points over a user-defined period (default: 50 bars). Main trend lines are ideal for identifying macro-level support and resistance zones.
Mid Trend Lines: These are medium-term trend lines (default: 21 bars) that focus on intermediate price movements. They provide a balance between short-term fluctuations and long-term trends, suitable for swing trading strategies.
Short Trend Lines: These are short-term trend lines (default: 9 bars) that track rapid price changes. They are particularly useful for scalping or day trading, highlighting immediate support and resistance levels.
Each trend line type can be independently enabled or disabled, allowing traders to tailor the indicator to their preferred timeframes.
2. Breakout Detection
The indicator employs a robust breakout detection system that identifies when the price crosses a trend line, signaling a potential trend reversal or continuation. Breakouts are validated using the following filters:
ADX Filter: The Average Directional Index (ADX) measures trend strength. A user-defined threshold (default: 20) ensures that breakouts occur during strong trends, reducing false signals in range-bound markets.
RSI Filter: The Relative Strength Index (RSI) identifies overbought or oversold conditions. Breakouts are filtered based on RSI thresholds (default: 65 for overbought, 35 for oversold) to avoid signals in extreme market conditions.
Volume Filter: Breakouts are confirmed only when trading volume exceeds a moving average (default: 20 bars) and aligns with the breakout direction (e.g., higher volume on bullish breakouts when the candle closes higher).
Breakout events are marked with labels on the chart, indicating the type of trend line broken (Main, Mid, or Short) and the filters satisfied (Volume, ADX, RSI). Alerts are triggered for each breakout, providing real-time notifications.
3. Customization Options
The indicator offers extensive customization through input settings, organized into logical groups for ease of use:
Main Trend Line Settings
Length: Defines the number of bars used to calculate pivot points (default: 50).
Bullish Color: Color for upward-sloping (bullish) main trend lines (default: green).
Bearish Color: Color for downward-sloping (bearish) main trend lines (default: red).
Style: Line style options include solid, dashed, or dotted (default: solid).
Mid Trend Line Settings
Length: Number of bars for mid-term pivot points (default: 21).
Show/Hide: Toggle visibility of mid trend lines (default: enabled).
Bullish Color: Color for bullish mid trend lines (default: lime).
Bearish Color: Color for bearish mid trend lines (default: maroon).
Style: Line style (default: dashed).
Short Trend Line Settings
Length: Number of bars for short-term pivot points (default: 9).
Show/Hide: Toggle visibility of short trend lines (default: enabled).
Bullish Color: Color for bullish short trend lines (default: teal).
Bearish Color: Color for bearish short trend lines (default: purple).
Style: Line style (default: dotted).
General Display Settings
Break Check Price: Selects the price type for breakout detection (Close, High, or Low; default: Close).
Show Previous Trendlines: Option to display historical main trend lines (default: disabled).
Label Size: Size of breakout labels (Tiny, Small, Normal, Large, Huge; default: Small).
Filter Settings
ADX Threshold: Minimum ADX value for trend strength confirmation (default: 25).
Volume MA Period: Period for the volume moving average (default: 20).
RSI Filter: Enable/disable RSI filtering (default: enabled).
RSI Upper Threshold: Upper RSI limit for overbought conditions (default: 65).
RSI Lower Threshold: Lower RSI limit for oversold conditions (default: 35).
4. Technical Calculations
The indicator relies on several technical calculations to ensure accuracy:
Pivot Points: Pivot highs and lows are detected using the ta.pivothigh and ta.pivotlow functions, with separate lengths for Main, Mid, and Short trend lines.
Slope Calculation: The slope of each trend line is calculated as the change in price divided by the change in bar index between two pivot points.
ADX Calculation: ADX is computed using a 14-period Directional Movement Index (DMI), with smoothing over 14 bars.
RSI Calculation: RSI is calculated over a 14-period lookback using the ta.rsi function.
Volume Moving Average: A simple moving average (SMA) of volume is used to determine if current volume exceeds the average.
5. Strict Mode Validation
To ensure the reliability of trend lines, the indicator employs a strict mode check:
For bearish trend lines, all prices between pivot points must remain below the projected trend line.
For bullish trend lines, all prices must remain above the projected trend line.
Post-pivot break checks ensure that no breakouts occur between pivot points, enhancing the validity of the trend line.
6. Trend Line Extension
Trend lines are dynamically extended forward until a breakout occurs. The extension logic:
Projects the trend line using the calculated slope.
Continuously validates the extension using strict mode checks.
Stops extension upon a breakout, fixing the trend line at the breakout point.
7. Alerts and Labels
Labels: Breakout labels are placed above (for bearish breakouts) or below (for bullish breakouts) the price bar. Labels include:
A prefix indicating the trend line type (B for Main, M for Mid, S for Short).
A suffix showing satisfied filters (e.g., for Volume, ADX, and RSI).
Alerts: Each breakout triggers a one-time alert per bar close, with a descriptive message indicating the trend line type and filters met.
Detailed Code Breakdown
1. Initialization and Inputs
The script begins by defining the indicator with indicator('Smart Trend Lines ', overlay = true), ensuring it overlays on the price chart. Input settings are grouped into categories (Main, Mid, Short, General Display, Filters) for user convenience. Each input includes a tooltip in both English and Arabic, enhancing accessibility.
2. Technical Indicator Calculations
Volume MA: Calculated using ta.sma(volume, volPeriod) to compare current volume against the average.
ADX: Computed using custom dirmov and adx functions, which calculate the Directional Movement Index and smooth it over 14 periods.
RSI: Calculated with ta.rsi(close, rsiPeriod) over 14 periods.
Price Selection: The priceToCheck function selects the price type (Close, High, or Low) for breakout detection.
3. Pivot Detection
Pivot points are detected using ta.pivothigh and ta.pivotlow for each trend line type. The lookback period is set to the respective trend line length (e.g., 50 for Main, 21 for Mid, 9 for Short).
4. Trend Line Logic
For each trend line type (Main, Mid, Short):
Bearish Trend Lines: Identified when two consecutive pivot highs form a downward slope. The script validates the trend line using strict mode and post-pivot break checks.
Bullish Trend Lines: Identified when two consecutive pivot lows form an upward slope, with similar validation.
Trend lines are drawn using line.new, with separate lines for the initial segment (between pivots) and the extended segment (from the second pivot forward).
5. Breakout Detection and Labeling
Breakouts are detected when the selected price crosses the trend line level. The script checks:
Volume conditions (above average and aligned with candle direction).
ADX condition (above threshold).
RSI condition (within thresholds if enabled). Labels are created with label.new, and alerts are triggered with alert.
6. Trend Line Extension
The extendTrendline function dynamically updates the trend line’s endpoint unless a breakout occurs. It uses strict mode checks to ensure the trend line remains valid.
7. Previous Trend Lines
If enabled, previous main trend lines are stored in arrays (previousBearishStartLines, previousBullishTrendLines, etc.) and displayed on the chart, providing historical context.
Disclaimer:
The information and publications are not intended to be, nor do they constitute, financial, investment, trading, or other types of advice or recommendations provided or endorsed by TradingView.
Smart Liquidity Wave [The_lurker]"Smart Liquidity Wave" هو مؤشر تحليلي متطور يهدف لتحديد نقاط الدخول والخروج المثلى بناءً على تحليل السيولة، قوة الاتجاه، وإشارات السوق المفلترة. يتميز المؤشر بقدرته على تصنيف الأدوات المالية إلى أربع فئات سيولة (ضعيفة، متوسطة، عالية، عالية جدًا)، مع تطبيق شروط مخصصة لكل فئة تعتمد على تحليل الموجات السعرية، الفلاتر المتعددة، ومؤشر ADX.
فكرة المؤشر
الفكرة الأساسية هي الجمع بين قياس السيولة اليومية الثابتة وتحليل ديناميكي للسعر باستخدام فلاتر متقدمة لتوليد إشارات دقيقة. المؤشر يركز على تصفية الضوضاء في السوق من خلال طبقات متعددة من التحليل، مما يجعله أداة ذكية تتكيف مع الأدوات المالية المختلفة بناءً على مستوى سيولتها.
طريقة عمل المؤشر
1- قياس السيولة:
يتم حساب السيولة باستخدام متوسط حجم التداول على مدى 14 يومًا مضروبًا في سعر الإغلاق، ويتم ذلك دائمًا على الإطار الزمني اليومي لضمان ثبات القيمة بغض النظر عن الإطار الزمني المستخدم في الرسم البياني.
يتم تصنيف السيولة إلى:
ضعيفة: أقل من 5 ملايين (قابل للتعديل).
متوسطة: من 5 إلى 20 مليون.
عالية: من 20 إلى 50 مليون.
عالية جدًا: أكثر من 50 مليون.
هذا الثبات في القياس يضمن أن تصنيف السيولة لا يتغير مع تغير الإطار الزمني، مما يوفر أساسًا موثوقًا للإشارات.
2- تحليل الموجات السعرية:
يعتمد المؤشر على تحليل الموجات باستخدام متوسطات متحركة متعددة الأنواع (مثل SMA، EMA، WMA، HMA، وغيرها) يمكن للمستخدم اختيارها وتخصيص فتراتها ، يتم دمج هذا التحليل مع مؤشرات إضافية مثل RSI (مؤشر القوة النسبية) وMFI (مؤشر تدفق الأموال) بوزن محدد (40% للموجات، 30% لكل من RSI وMFI) للحصول على تقييم شامل للاتجاه.
3- الفلاتر وطريقة عملها:
المؤشر يستخدم نظام فلاتر متعدد الطبقات لتصفية الإشارات وتقليل الضوضاء، وهي من أبرز الجوانب المخفية التي تعزز دقته:
الفلتر الرئيسي (Main Filter):
يعمل على تنعيم التغيرات السعرية السريعة باستخدام معادلة رياضية تعتمد على تحليل الإشارات (Signal Processing).
يتم تطبيقه على السعر لاستخراج الاتجاهات الأساسية بعيدًا عن التقلبات العشوائية، مع فترة زمنية قابلة للتعديل (افتراضي: 30).
يستخدم تقنية مشابهة للفلاتر عالية التردد (High-Pass Filter) للتركيز على الحركات الكبيرة.
الفلتر الفرعي (Sub Filter):
يعمل كطبقة ثانية للتصفية، مع فترة أقصر (افتراضي: 12)، لضبط الإشارات بدقة أكبر.
يستخدم معادلات تعتمد على الترددات المنخفضة للتأكد من أن الإشارات الناتجة تعكس تغيرات حقيقية وليست مجرد ضوضاء.
إشارة الزناد (Signal Trigger):
يتم تطبيق متوسط متحرك على نتائج الفلتر الرئيسي لتوليد خط إشارة (Signal Line) يُقارن مع عتبات محددة للدخول والخروج.
يمكن تعديل فترة الزناد (افتراضي: 3 للدخول، 5 للخروج) لتسريع أو تبطيء الإشارات.
الفلتر المربع (Square Filter):
خاصية مخفية تُفعّل افتراضيًا تعزز دقة الفلاتر عن طريق تضييق نطاق التذبذبات المسموح بها، مما يقلل من الإشارات العشوائية في الأسواق المتقلبة.
4- تصفية الإشارات باستخدام ADX:
يتم استخدام مؤشر ADX كفلتر نهائي للتأكد من قوة الاتجاه قبل إصدار الإشارة:
ضعيفة ومتوسطة: دخول عندما يكون ADX فوق 40، خروج فوق 50.
عالية: دخول فوق 40، خروج فوق 55.
عالية جدًا: دخول فوق 35، خروج فوق 38.
هذه العتبات قابلة للتعديل، مما يسمح بتكييف المؤشر مع استراتيجيات مختلفة.
5- توليد الإشارات:
الدخول: يتم إصدار إشارة شراء عندما تنخفض خطوط الإشارة إلى ما دون عتبة محددة (مثل -9) مع تحقق شروط الفلاتر، السيولة، وADX.
الخروج: يتم إصدار إشارة بيع عندما ترتفع الخطوط فوق عتبة (مثل 109 أو 106 حسب الفئة) مع تحقق الشروط الأخرى.
تُعرض الإشارات بألوان مميزة (أزرق للدخول، برتقالي للضعيفة والمتوسطة، أحمر للعالية والعالية جدًا) وبثلاثة أحجام (صغير، متوسط، كبير).
6- عرض النتائج:
يظهر مستوى السيولة الحالي في جدول في أعلى يمين الرسم البياني، مما يتيح للمستخدم معرفة فئة الأصل بسهولة.
7- دعم التنبيهات:
تنبيهات فورية لكل فئة سيولة، مما يسهل التداول الآلي أو اليدوي.
%%%%% الجوانب المخفية في الكود %%%%%
معادلات الفلاتر المتقدمة: يستخدم المؤشر معادلات رياضية معقدة مستوحاة من معالجة الإشارات لتنعيم البيانات واستخراج الاتجاهات، مما يجعله أكثر دقة من المؤشرات التقليدية.
التكيف التلقائي: النظام يضبط نفسه داخليًا بناءً على التغيرات في السعر والحجم، مع عوامل تصحيح مخفية (مثل معامل التنعيم في الفلاتر) للحفاظ على الاستقرار.
التوزيع الموزون: الدمج بين الموجات، RSI، وMFI يتم بأوزان محددة (40%، 30%، 30%) لضمان توازن التحليل، وهي تفاصيل غير ظاهرة مباشرة للمستخدم لكنها تؤثر على النتائج.
الفلتر المربع: خيار مخفي يتم تفعيله افتراضيًا لتضييق نطاق الإشارات، مما يقلل من التشتت في الأسواق ذات التقلبات العالية.
مميزات المؤشر
1- فلاتر متعددة الطبقات: تضمن تصفية الضوضاء وإنتاج إشارات موثوقة فقط.
2- ثبات السيولة: قياس السيولة اليومي يجعل التصنيف متسقًا عبر الإطارات الزمنية.
3- تخصيص شامل: يمكن تعديل حدود السيولة، عتبات ADX، فترات الفلاتر، وأنواع المتوسطات المتحركة.
4- إشارات مرئية واضحة: تصميم بصري يسهل التفسير مع تنبيهات فورية.
5- تقليل الإشارات الخاطئة: الجمع بين الفلاتر وADX يعزز الدقة ويقلل من التشتت.
إخلاء المسؤولية
لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView.
#### **What is the Smart Liquidity Wave Indicator?**
"Smart Liquidity Wave" is an advanced analytical indicator designed to identify optimal entry and exit points based on liquidity analysis, trend strength, and filtered market signals. It stands out with its ability to categorize financial instruments into four liquidity levels (Weak, Medium, High, Very High), applying customized conditions for each category based on price wave analysis, multi-layered filters, and the ADX (Average Directional Index).
#### **Concept of the Indicator**
The core idea is to combine a stable daily liquidity measurement with dynamic price analysis using sophisticated filters to generate precise signals. The indicator focuses on eliminating market noise through multiple analytical layers, making it an intelligent tool that adapts to various financial instruments based on their liquidity levels.
#### **How the Indicator Works**
1. **Liquidity Measurement:**
- Liquidity is calculated using the 14-day average trading volume multiplied by the closing price, always based on the daily timeframe to ensure value consistency regardless of the chart’s timeframe.
- Liquidity is classified as:
- **Weak:** Less than 5 million (adjustable).
- **Medium:** 5 to 20 million.
- **High:** 20 to 50 million.
- **Very High:** Over 50 million.
- This consistency in measurement ensures that liquidity classification remains unchanged across different timeframes, providing a reliable foundation for signals.
2. **Price Wave Analysis:**
- The indicator relies on wave analysis using various types of moving averages (e.g., SMA, EMA, WMA, HMA, etc.), which users can select and customize in terms of periods.
- This analysis is integrated with additional indicators like RSI (Relative Strength Index) and MFI (Money Flow Index), weighted specifically (40% waves, 30% RSI, 30% MFI) to provide a comprehensive trend assessment.
3. **Filters and Their Functionality:**
- The indicator employs a multi-layered filtering system to refine signals and reduce noise, a key hidden feature that enhances its accuracy:
- **Main Filter:**
- Smooths rapid price fluctuations using a mathematical equation rooted in signal processing techniques.
- Applied to price data to extract core trends away from random volatility, with an adjustable period (default: 30).
- Utilizes a technique similar to high-pass filters to focus on significant movements.
- **Sub Filter:**
- Acts as a secondary filtering layer with a shorter period (default: 12) for finer signal tuning.
- Employs low-frequency-based equations to ensure resulting signals reflect genuine changes rather than mere noise.
- **Signal Trigger:**
- Applies a moving average to the main filter’s output to generate a signal line, compared against predefined entry and exit thresholds.
- Trigger period is adjustable (default: 3 for entry, 5 for exit) to speed up or slow down signals.
- **Square Filter:**
- A hidden feature activated by default, enhancing filter precision by narrowing the range of permissible oscillations, reducing random signals in volatile markets.
4. **Signal Filtering with ADX:**
- ADX is used as a final filter to confirm trend strength before issuing signals:
- **Weak and Medium:** Entry when ADX exceeds 40, exit above 50.
- **High:** Entry above 40, exit above 55.
- **Very High:** Entry above 35, exit above 38.
- These thresholds are adjustable, allowing the indicator to adapt to different trading strategies.
5. **Signal Generation:**
- **Entry:** A buy signal is triggered when signal lines drop below a specific threshold (e.g., -9) and conditions for filters, liquidity, and ADX are met.
- **Exit:** A sell signal is issued when signal lines rise above a threshold (e.g., 109 or 106, depending on the category) with all conditions satisfied.
- Signals are displayed in distinct colors (blue for entry, orange for Weak/Medium, red for High/Very High) and three sizes (small, medium, large).
6. **Result Display:**
- The current liquidity level is shown in a table at the top-right of the chart, enabling users to easily identify the asset’s category.
7. **Alert Support:**
- Instant alerts are provided for each liquidity category, facilitating both automated and manual trading.
#### **Hidden Aspects in the Code**
- **Advanced Filter Equations:** The indicator uses complex mathematical formulas inspired by signal processing to smooth data and extract trends, making it more precise than traditional indicators.
- **Automatic Adaptation:** The system internally adjusts based on price and volume changes, with hidden correction factors (e.g., smoothing coefficients in filters) to maintain stability.
- **Weighted Distribution:** The integration of waves, RSI, and MFI uses fixed weights (40%, 30%, 30%) for balanced analysis, a detail not directly visible but impactful on results.
- **Square Filter:** A hidden option, enabled by default, narrows signal range to minimize dispersion in high-volatility markets.
#### **Indicator Features**
1. **Multi-Layered Filters:** Ensures noise reduction and delivers only reliable signals.
2. **Liquidity Stability:** Daily liquidity measurement keeps classification consistent across timeframes.
3. **Comprehensive Customization:** Allows adjustments to liquidity thresholds, ADX levels, filter periods, and moving average types.
4. **Clear Visual Signals:** User-friendly design with easy-to-read visuals and instant alerts.
5. **Reduced False Signals:** Combining filters and ADX enhances accuracy and minimizes clutter.
#### **Disclaimer**
The information and publications are not intended to be, nor do they constitute, financial, investment, trading, or other types of advice or recommendations provided or endorsed by TradingView.
Trend Strength Momentum Indicator (TSMI)Introducing the Trend Strength Momentum Indicator (TSMI)
With over two decades of experience, I've found that no single indicator can consistently predict market movements. The key lies in combining multiple indicators to capture different market dimensions—trend, momentum, and volume. With this in mind, I present the Trend Strength Momentum Indicator (TSMI), a comprehensive tool designed to spot emerging uptrends and downtrends in cryptocurrency and other asset markets.
1. Overview of TSMI
The TSMI amalgamates three critical market aspects:
Trend Direction and Strength: Utilizing Moving Averages (MA) and the Average Directional Index (ADX).
Momentum: Incorporating the Moving Average Convergence Divergence (MACD) and the Relative Strength Index (RSI).
Volume Confirmation: Employing the On-Balance Volume (OBV) indicator.
By combining these elements, TSMI aims to provide a robust signal that not only indicates the direction of the trend but also confirms its strength and sustainability through momentum and volume analysis.
2. Components and Calculations
A. Trend Component
Exponential Moving Averages (EMA):
50-day EMA: Captures the short to medium-term trend.
200-day EMA: Reflects the long-term trend.
Average Directional Index (ADX):
Measures the strength of the trend regardless of its direction.
A value above 25 indicates a strong trend, while below 20 suggests a weak or non-trending market.
B. Momentum Component
Moving Average Convergence Divergence (MACD):
Calculated by subtracting the 26-day EMA from the 12-day EMA.
The MACD line crossing above the signal line (9-day EMA of MACD) indicates bullish momentum; crossing below suggests bearish momentum.
Relative Strength Index (RSI):
Oscillates between 0 and 100.
Readings above 70 indicate overbought conditions; below 30 suggest oversold conditions.
C. Volume Component
On-Balance Volume (OBV):
Cumulatively adds volume on up days and subtracts volume on down days.
A rising OBV alongside rising prices confirms an uptrend; divergence may signal a reversal.
3. TSMI Calculation Steps
Step 1: Trend Analysis
EMA Crossover:
Identify if the 50-day EMA crosses above the 200-day EMA (Golden Cross), indicating a potential uptrend.
Conversely, if the 50-day EMA crosses below the 200-day EMA (Death Cross), it may signal a downtrend.
ADX Confirmation:
Confirm the strength of the trend. An ADX value above 25 supports the EMA crossover signal.
Step 2: Momentum Assessment
MACD Evaluation:
Look for MACD crossing above its signal line for bullish momentum or below for bearish momentum.
RSI Check:
Ensure RSI is not in overbought (>70) or oversold (<30) territory to avoid potential reversals against the trend.
Step 3: Volume Verification
OBV Direction:
Confirm that OBV is moving in the same direction as the price trend.
Rising OBV with rising prices strengthens the bullish signal; falling OBV with falling prices strengthens the bearish signal.
Step 4: Composite Signal Generation
Bullish Signal:
50-day EMA crosses above 200-day EMA (Golden Cross).
ADX above 25, indicating a strong trend.
MACD crosses above its signal line.
RSI is between 30 and 70, avoiding overbought conditions.
OBV is rising.
Bearish Signal:
50-day EMA crosses below 200-day EMA (Death Cross).
ADX above 25.
MACD crosses below its signal line.
RSI is between 30 and 70, avoiding oversold conditions.
OBV is falling.
4. How to Use the TSMI
A. Entry Points
Buying into an Uptrend:
Wait for the bullish signal criteria to align.
Enter the position after the 50-day EMA crosses above the 200-day EMA, supported by positive momentum (MACD and RSI) and volume (OBV).
Selling or Shorting into a Downtrend:
Look for the bearish signal criteria.
Initiate the position after the 50-day EMA crosses below the 200-day EMA, with confirming momentum and volume indicators.
B. Exit Strategies
Protecting Profits:
Monitor RSI for overbought or oversold conditions, which may indicate potential reversals.
Watch for MACD divergences or crossovers against your position.
Use trailing stops based on the ATR (Average True Range) to allow profits to run while protecting against sharp reversals.
C. Risk Management
Position Sizing:
Use the ADX value to adjust position sizes. A stronger trend (higher ADX) may justify a larger position, whereas a weaker trend suggests caution.
Avoiding False Signals:
Be cautious during sideways markets where EMAs may whipsaw.
Confirm signals with multiple indicators before acting.
5. Examples
Example 1: Spotting an Emerging Uptrend in Bitcoin
Date: Let's assume on March 1st.
Observations:
EMA Crossover: The 50-day EMA crosses above the 200-day EMA.
ADX: Reading is 28, indicating a strong trend.
MACD: Crosses above the signal line and moves into positive territory.
RSI: Reading is 55, comfortably away from overbought levels.
OBV: Shows a rising trend, confirming increasing buying pressure.
Action:
Enter a long position in Bitcoin.
Set a stop-loss below recent swing lows.
Outcome:
Over the next few weeks, Bitcoin's price continues to rise, validating the TSMI signal.
Example 2: Identifying a Downtrend in Ethereum
Date: Let's assume on July 15th.
Observations:
EMA Crossover: The 50-day EMA crosses below the 200-day EMA.
ADX: Reading is 30, confirming a strong trend.
MACD: Crosses below the signal line into negative territory.
RSI: Reading is 45, not yet oversold.
OBV: Declining, indicating selling pressure.
Action:
Initiate a short position or exit long positions in Ethereum.
Place a stop-loss above recent resistance levels.
Outcome:
Ethereum's price declines over the following weeks, confirming the downtrend.
6. When to Use the TSMI
Trending Markets: TSMI is most effective in markets exhibiting clear trends, whether bullish or bearish.
Avoiding Sideways Markets: In range-bound markets, EMAs and momentum indicators may provide false signals. ADX readings below 20 suggest it's best to stay on the sidelines.
Volatile Assets: Particularly useful in cryptocurrency markets, which are known for their volatility and extended trends.
7. Limitations and Considerations
Lagging Indicators: Moving averages and ADX are lagging by nature. Rapid reversals may not be immediately captured.
False Signals: No indicator is foolproof. Always confirm signals with multiple components of TSMI.
Market Conditions: External factors like news events can significantly impact prices. Consider combining TSMI with fundamental analysis.
8. Enhancing TSMI
Customization: Adjust EMA periods (e.g., 20-day and 100-day) based on the asset's volatility and your trading timeframe.
Additional Indicators: Incorporate Bollinger Bands to gauge volatility or Fibonacci retracement levels to identify potential support and resistance.
Conclusion
The Trend Strength Momentum Indicator (TSMI) offers a holistic approach to spotting emerging trends by combining trend direction, momentum, and volume. By synthesizing the strengths of various traditional indicators while mitigating their individual limitations, TSMI provides traders with a powerful tool to navigate the complex landscape of cryptocurrency and other asset markets.
Key Benefits of TSMI:
Comprehensive Analysis: Integrates multiple market dimensions for well-rounded insights.
Early Trend Identification: Aims to spot trends early for optimal entry points.
Risk Management: Helps in making informed decisions, thereby reducing exposure to false signals.
By applying TSMI diligently and complementing it with sound risk management practices, traders can enhance their ability to capitalize on market trends and improve their overall trading performance.
BITMEX Bybit binance bitstamp Coinbase HUOBI BTC ETH TRENDBITMEX Bybit binance bitstamp Coinbase HUOBI BTC ETH TREND
This is a very effective trend strategy.
Strategy principle
Constructs the trailing ATR stop above or below the price, and switches directions when the source price breaks the ATR stop.
Uses the Average Directional Index (ADX) to switch between ATR multipliers. The higher multiplier is used when the ADX is rising, and the lower ATR multiplier is used with the ADX is falling.
This ADX criteria further widens the gap between the source price and the trailing ATR stop when the price is trending,and lessens the gap between the ATR and the price when then price is not trending.
The ATR-ADX stop is effectively a double adapative stop that trails the price,by both adapting to the true range of the price, and the average directional change.
HOW TO USE
set long position when a green arrow appears in the chart.
When the stop is below the price (long trade) the value never decreases until the price intersects the stop, and it reverses to being above the price (short trade)。
set short position when a red arrow appears in the chart.
When the stop is above the price it will never increase until it is intersected by the price. As the true range and ADX change, the stop will move more quickly or more slowly.
For the long position and the short direction, you can set the stop profit & stop loss or trailing profit stop & trailing stop loss respectively.
When a purple arrow appears to close a position, an aggressive trader can go in the opposite direction when it is purple.
Strategy applicability
The default setting is for bitmex perpetual swap contract XBTUSD , bybit BTCUSD perpetual futures contract ,binance btcusdt Spot,Bitfinex BTCUSD Spot,bitflyer BTCJPY Spot,bithumb BTCKRW Spot,bitso BTCMXN Spot, bitstamp BTCUSD Spot,bittrex BTCUSDT Spot,Coinbase BTCUSD spot, deribit BTCPERP perpetual futures contract,gemini BTCUSD Spot,Hitbit BTCUSDT Spot,huobi BTCUSDT Spot KRAKEN XBTUSD spot,OKCOIN OKEX BTCUSD3M BTCUSD BTCUSD2W,Poloniex BTCUSDT Spot etc btc symbol with 2 hour timeframe.
This indicator has broad applicability and can be applied to multiple different symbols.
This indicator also applies to the ETHUSD ETHBTC EOSBTC BNBBTC symbol etc, just adjust the default configuration.
Using the alert of the indicator, it can work well on the trading robot like Gunbot,autoview, without repaint false signals.
这是非常有效的趋势策略。
策略原理
在价格之上或之下构造追踪的支撑压力位并在源价格突破压力位时的切换操作方向,使用平均趋向指数(ADX)与ATR系数之间切换。
当ADX上升时使用上升的ATR系数,而ADX时下降时使用下降的ATR系数。
当价格趋势变化时,ADX参数在价格趋向变大时使源价格止损点与后续ATR进一步扩大,并在价格趋向平缓时减小了ATR与价格之间的差距。
如何使用
ATR-ADX压力线通过适应价格的真实波动范围和平均趋向变动达到跟随价格的双适应性止损目的。当做多时,止损线低于价格,并随价格升高,直到止损线与价格相交,然后反转至高于价格,此时启动空头交易;
在图表中出现绿色箭头就做多。
当做空时,止损线高于价格,并随价格降低,直到止损线与价格相交,然后反转至低于价格,此时启动多头交易;在图表中出现红色箭头就做空。随着真实波动和ADX的变化,止损线将移动得更快或更慢。
对于多头头寸和空头方向,您可以分别设置止损和止损或尾随利润止损和尾随止损;当出现紫色箭头时平仓,激进的交易者,可以在紫色时就做反方向。
策略适用性
默认设置是针对bitmex交易所 XBTUSD永久掉期合约,BYBIT交易所 BTCUSD永续期货合约,binance币安交易所 btcusdt现货,Bitfinex交易所 BTCUSD现货,bitflyer交易所 BTCJPY现货,bithumb交易所 BTCKRW现货,bitso交易所 BTCMXN现货,bitstamp交易所 BTCUSD现货,bittrex交易所 BTCUSDT现货,Coinbase交易所 BTCUSD现货,deribit交易所 BTCPERP永续期货合约,gemini双子星交易所 BTCUSD现货,Hitbit交易所 BTCUSDT现货,huobi火币交易所 BTCUSDT现货,KRAKEN交易所 XBTUSD现货,OKCOIN OKEX交易所 BTCUSD3M OK BTC季度合约 BTCUSD BTCUSD2W OK BTC次周合约,Poloniex BTCUSDT现货等2小时区间的btc交易。
Bitmex XBTUSD 2H 比特币合约
Binance币安 BTCUSDT 2H 比特币现货
Bitfinex BTCUSD 2H 比特币现货
Bitstamp BTCUSD 2H 比特币现货
COINBASE BTCUSD 2H 比特币现货
HUOBI火币 BTCUSDT 2H 比特币现货
OKEX BTCUSD3M 2H 比特币季度合约
Bybit BTCUSD 2H 比特币合约
这个指标具有广泛的适用性,可以适用多个不同交易品种。
该指标还适用于ETHUSD ETHBTC EOSBTC BNBBTC交易品种等,只需调整默认配置即可。
bitmex ETHUSD 2H期货
binance ETHUSDT 2H现货
Bybit ETHUSD 2H合约
HUOBI火币 ETHUSDT 2H现货
OKCOIN ETHUSD1W 2H期货
binance币安EOSBTC 2H
Binance币安 ETHBTC 2H
使用该指标的警报设置,它可以在自动交易机器人上很好地工作,而无重绘错误的信号。
PEAD ScreenerPEAD Screener - Post-Earnings Announcement Drift Scanner
═══════════════════════════════════════════════════════════════
WHY EARNINGS ANNOUNCEMENTS CREATE OPPORTUNITY
═══════════════════════════════════════════════════════════════
The days immediately following an earnings announcement are among the noisiest periods for any stock. Within hours, the market must digest new information about a company's profits, revenue, and future outlook. Analysts scramble to update their models. Institutions rebalance positions. Retail traders react to headlines.
This chaos creates a well-documented phenomenon called Post-Earnings Announcement Drift (PEAD): stocks that beat expectations tend to keep rising, while those that miss tend to keep falling - often for weeks after the initial announcement. Academic research has confirmed this pattern persists across decades and markets.
But not every earnings surprise is equal. A company that beats estimates by 5 cents might move very differently than one that beats by 5 cents with unusually high volume, or one where both earnings AND revenue exceeded expectations. Raw numbers alone don't tell the full story.
═══════════════════════════════════════════════════════════════
HOW "STANDARDIZED UNEXPECTED" METRICS CUT THROUGH THE NOISE
═══════════════════════════════════════════════════════════════
This screener uses a statistical technique to measure how "surprising" a result truly is - not just whether it beat or missed, but how unusual that beat or miss was compared to the company's own history.
The core idea: convert raw surprises into Z-scores.
A Z-score answers the question: "How many standard deviations away from normal is this result?"
- A Z-score of 0 means the result was exactly average
- A Z-score of +2 means the result was unusually high (better than ~95% of historical results)
- A Z-score of -2 means the result was unusually low
By standardizing surprises this way, we can compare apples to apples. A small-cap biotech's $0.02 beat might actually be more significant than a mega-cap's $0.50 beat, once we account for each company's typical variability.
This screener applies this standardization to three dimensions: earnings (SUE), revenue (SURGE), and volume (SUV).
═══════════════════════════════════════════════════════════════
THE 9 SCREENING CRITERIA
═══════════════════════════════════════════════════════════════
─────────────────────────────────────────
1. SUE (Standardized Unexpected Earnings)
─────────────────────────────────────────
WHAT IT IS:
SUE measures how surprising an earnings result was, adjusted for the company's historical forecast accuracy.
Calculation: Take the earnings surprise (actual EPS minus analyst estimate), then divide by the standard deviation of past forecast errors. This uses a rolling window of the last 8 quarters by default.
Formula: SUE = (Actual EPS - Estimated EPS) / Standard Deviation of Past Errors
HOW TO INTERPRET:
- SUE > +2.0: Strongly positive surprise - earnings beat expectations by an unusually large margin. These stocks often continue drifting higher.
- SUE between 0 and +2.0: Modest positive surprise - beat expectations, but within normal range.
- SUE between -2.0 and 0: Modest negative surprise - missed expectations, but within normal range.
- SUE < -2.0: Strongly negative surprise - significant miss. These stocks often continue drifting lower.
For long positions, look for SUE values above +2.0, ideally combined with positive SURGE.
─────────────────────────────────────────
2. SURGE (Standardized Unexpected Revenue)
─────────────────────────────────────────
WHAT IT IS:
SURGE applies the same standardization technique to revenue surprises. While earnings can be manipulated through accounting choices, revenue is harder to fake - it represents actual sales.
Calculation: Take the revenue surprise (actual revenue minus analyst estimate), then divide by the standard deviation of past revenue forecast errors.
Formula: SURGE = (Actual Revenue - Estimated Revenue) / Standard Deviation of Past Errors
HOW TO INTERPRET:
- SURGE > +1.5: Strongly positive revenue surprise - the company sold significantly more than expected.
- SURGE between 0 and +1.5: Modest positive surprise.
- SURGE < 0: Revenue missed expectations.
The most powerful signals occur when BOTH SUE and SURGE are positive and elevated (ideally SUE > 2.0 AND SURGE > 1.5). This indicates the company beat on both profitability AND top-line growth - a much stronger signal than either alone.
When SUE and SURGE diverge significantly (e.g., high SUE but negative SURGE), treat with caution - the earnings beat may have come from cost-cutting rather than genuine growth.
─────────────────────────────────────────
3. SUV (Standardized Unexpected Volume)
─────────────────────────────────────────
WHAT IT IS:
SUV detects unusual trading volume after accounting for how volatile the stock is. More volatile stocks naturally have higher volume, so raw volume comparisons can be misleading.
Calculation: This uses regression analysis to model the expected relationship between price volatility and volume. The "unexpected" volume is the residual - how much actual volume deviated from what the model predicted. This residual is then standardized into a Z-score.
In plain terms: SUV asks "Given how much this stock typically moves, is today's volume unusually high or low?"
HOW TO INTERPRET:
- SUV > +2.0: Exceptionally high volume relative to the stock's volatility. This often signals institutional activity - big players moving in or out.
- SUV between +1.0 and +2.0: Elevated volume - above normal interest.
- SUV between -1.0 and +1.0: Normal volume range.
- SUV < -1.0: Unusually quiet - less activity than expected.
High SUV combined with positive price movement suggests accumulation (buying). High SUV combined with negative price movement suggests distribution (selling).
─────────────────────────────────────────
4. % From D0 Close
─────────────────────────────────────────
WHAT IT IS:
This measures how far the current price has moved from the closing price on its initial earnings reaction day (D0). The "reaction day" is the first trading day that fully reflects the earnings news - typically the day after an after-hours announcement, or the announcement day itself for pre-market releases.
Calculation: ((Current Price - D0 Close) / D0 Close) × 100
HOW TO INTERPRET:
- Positive values: Stock has gained ground since earnings. The higher the percentage, the stronger the post-earnings drift.
- 0% to +5%: Modest positive drift - earnings were received well but momentum is limited.
- +5% to +15%: Strong drift - buyers continue accumulating.
- > +15%: Exceptional drift - significant institutional interest likely.
- Negative values: Stock has given back gains or extended losses since earnings. May indicate the initial reaction was overdone, or that sentiment is deteriorating.
This metric is most meaningful within the first 5-20 trading days after earnings. Extended drift (maintaining gains over 2+ weeks) is a stronger signal than a quick spike that fades.
─────────────────────────────────────────
5. # Pocket Pivots
─────────────────────────────────────────
WHAT IT IS:
Pocket Pivots are a volume-based pattern developed by Chris Kacher and Gil Morales. They identify days where institutional buyers are likely accumulating shares without causing obvious breakouts.
Calculation: A Pocket Pivot occurs when:
- The stock closes higher than it opened (up day)
- The stock closes higher than the previous day's close
- Today's volume exceeds the highest down-day volume of the prior 10 trading sessions
The screener counts how many Pocket Pivots have occurred since the earnings announcement.
HOW TO INTERPRET:
- 0 Pocket Pivots: No detected institutional accumulation patterns since earnings.
- 1-2 Pocket Pivots: Some institutional buying interest - worth monitoring.
- 3+ Pocket Pivots: Strong accumulation signal - institutions appear to be building positions.
Pocket Pivots are most significant when they occur:
- Immediately following earnings announcements
- Near moving average support (10-day, 21-day, or 50-day)
- On above-average volume
- After a period of price consolidation
Multiple Pocket Pivots in a short period suggest sustained institutional demand, not just a one-day event.
─────────────────────────────────────────
6. ADX/DI (Trend Strength and Direction)
─────────────────────────────────────────
WHAT IT IS:
ADX (Average Directional Index) measures trend strength regardless of direction. DI (Directional Indicator) shows whether the trend is bullish or bearish.
Calculation: ADX uses a 14-period lookback to measure how directional (trending) price movement is. Values range from 0 to 100. The +DI and -DI components compare upward and downward movement.
The screener shows:
- ADX value (trend strength)
- Direction indicator: "+" for bullish (price trending up), "-" for bearish (price trending down)
HOW TO INTERPRET:
- ADX < 20: Weak trend - the stock is moving sideways, choppy. Not ideal for momentum trading.
- ADX 20-25: Trend is emerging - potentially starting a directional move.
- ADX 25-40: Strong trend - clear directional movement. Good for momentum plays.
- ADX > 40: Very strong trend - powerful move in progress, but may be extended.
The direction indicator (+/-) tells you which way:
- "25+" means ADX of 25 with bullish direction (uptrend)
- "25-" means ADX of 25 with bearish direction (downtrend)
For post-earnings plays, ideal setups show ADX rising above 25 with positive direction, confirming the earnings reaction is developing into a sustained trend rather than a one-day spike.
─────────────────────────────────────────
7. Institutional Buying PASS
─────────────────────────────────────────
WHAT IT IS:
This proprietary composite indicator detects patterns consistent with institutional accumulation at three stages after earnings:
EARLY (Days 0-4): Looks for "large block" buying on the earnings reaction day (exceptionally high volume with a close in the upper half of the day's range) combined with follow-through buying on the next day.
MID (Days 5-9): Checks for sustained elevated volume (averaging 1.5x the 20-day average) combined with positive drift and consistent upward price movement (more up days than down days).
LATE (Days 10+): Detects either visible accumulation (positive drift with high volume) OR stealth accumulation (positive drift with unusually LOW volume - suggesting smart money is quietly building positions without attracting attention).
HOW TO INTERPRET:
- Check mark/value of '1': Institutional buying pattern detected. The stock shows characteristics consistent with large players accumulating shares.
- X mark/value of '0': No institutional buying pattern detected. This doesn't mean institutions aren't buying - just that the typical footprints aren't visible.
A passing grade here adds conviction to other bullish signals. Institutions have research teams, information advantages, and long time horizons. When their footprints appear in the data, it often precedes sustained moves.
Important: This is a pattern detection tool, not a guarantee. Always combine with other analysis.
─────────────────────────────────────────
8. Strong ATR Drift PASS
─────────────────────────────────────────
WHAT IT IS:
This measures whether the stock has drifted significantly relative to its own volatility. Instead of asking "did it move 10%?", it asks "did it move more than 1.5 ATRs?"
ATR (Average True Range) measures a stock's typical daily movement. A volatile stock might move 5% daily, while a stable stock might move 0.5%. Using ATR normalizes for this difference.
Calculation:
ATR Drift = (Current Close - D0 Close) / D0 ATR in dollars
The indicator passes when ATR Drift exceeds 1.5 AND at least 5 days have passed since earnings.
HOW TO INTERPRET:
- Check mark/value of '1': The stock has drifted more than 1.5 times its average daily range since earnings - a statistically significant move that suggests genuine momentum, not just noise.
- X mark/value of '0': The drift (if any) is within normal volatility bounds - could just be random fluctuation.
Why wait 5 days? The immediate post-earnings reaction (days 0-2) often includes gap fills and noise. By day 5, if the stock is still extended beyond 1.5 ATRs from the earnings close, it suggests real buying pressure, not just a reflexive gap.
A passing grade here helps filter out stocks that "beat earnings" but haven't actually moved meaningfully. It focuses attention on stocks where the market is voting with real capital.
─────────────────────────────────────────
9. Days Since D0
─────────────────────────────────────────
WHAT IT IS:
Simply counts the number of trading days since the earnings reaction day (D0).
HOW TO INTERPRET:
- Days 0-5 (Green): Fresh earnings - the information is new, institutional repositioning is active, and momentum trades are most potent. This is the "sweet spot" for PEAD strategies.
- Days 6-10 (Neutral): Mid-period - some edge remains but diminishing. Good for adding to winning positions, less ideal for new entries.
- Days 11+ (Red): Extended period - most of the post-earnings drift has typically played out. Higher risk that momentum fades or reverses.
Research shows PEAD effects are strongest in the first 5-10 days after earnings, then decay. Beyond 20-30 days, the informational advantage of the earnings surprise is largely priced in.
Use this to prioritize: focus on stocks with strong signals that are still in the early window, and be more selective about entries as days accumulate.
═══════════════════════════════════════════════════════════════
PUTTING IT ALL TOGETHER
═══════════════════════════════════════════════════════════════
You can use this screener in the chart view or in the Screener.
One combination of the above filters to develop a shortlist of positive drift candidates may be:
- SUE > 2.0 (significant earnings beat)
- SURGE > 1.5 (significant revenue beat)
- Positive % From D0 Close (price confirming the good news)
- Institutional Buying PASS (big players accumulating)
- Strong ATR Drift PASS (statistically significant movement)
- Days Since D0 < 10 (still in the active drift window)
No single indicator is sufficient. The power comes from convergence - when multiple independent measures all point the same direction.
═══════════════════════════════════════════════════════════════
SETTINGS
═══════════════════════════════════════════════════════════════
Key adjustable parameters:
- SUE Method: "Analyst-based" uses consensus estimates; "Time-series" uses year-over-year comparison
- Window Size: Number of quarters used for standardization (default: 8)
- ATR Drift Threshold: Minimum ATR multiple for "strong" classification (default: 1.5)
- Institutional Buying thresholds: Adjustable volume and CLV parameters
═══════════════════════════════════════════════════════════════
DISCLAIMER
═══════════════════════════════════════════════════════════════
This screener is a research tool, not financial advice. Past patterns do not guarantee future results. Always conduct your own due diligence and manage risk appropriately. Post-earnings trading involves significant uncertainty and volatility. The 'SUE' in this indicator does not represent a real person; any similarity to actual Sue's (or Susans for that matter) living or dead is quite frankly ridiculous, not to mention coincidental.
Neural Fusion ProNeural Fusion Pro
Overview
Neural Fusion Pro is a multi-factor scoring system that combines numerous technical analysis methods into a single unified score. Rather than requiring traders to monitor multiple indicators separately, this system synthesizes trend strength, momentum oscillators, volume confirmation, price structure, and price action quality into one composite reading that adapts to current market conditions.
The Scoring System
At the heart of this indicator is a weighted scoring algorithm that produces a value between -1.0 and +1.0. Positive scores indicate bullish conditions across the measured factors, while negative scores suggest bearish conditions. The magnitude of the score reflects the strength of conviction across indicators.
The score is calculated from five distinct components, each capturing a different aspect of market behavior. Users can adjust the weight given to each component based on their trading style and market preferences.
Component 1: Trend Strength and Direction
This component uses the Average Directional Index to measure trend strength and the Directional Movement indicators to determine trend direction. When ADX exceeds the trending threshold, indicating a directional market, the component contributes a positive score if the positive directional indicator leads, or a negative score if the negative directional indicator leads. In ranging markets where ADX is low, this component contributes minimally to avoid false trend signals.
Component 2: Multi-Factor Momentum
Rather than relying on a single oscillator, this component synthesizes readings from RSI, MACD histogram, Stochastic, CCI, and Rate of Change. Each oscillator is normalized to a common scale and weighted according to its reliability characteristics. RSI readings are compared against dynamic thresholds that adjust based on trend state, making the indicator more forgiving in uptrends and more demanding in downtrends.
The component also includes divergence detection. When price makes a higher high but RSI makes a lower high (bearish divergence), or when price makes a lower low but RSI makes a higher low (bullish divergence), the divergence score adjusts the momentum component accordingly.
Component 3: Volume Confirmation
Volume provides crucial confirmation of price movements. This component analyzes On-Balance Volume relative to its moving average and measures the slope of OBV to determine whether volume is supporting the price trend. Additionally, it monitors relative volume by comparing current volume to its recent average, adding confirmation when volume spikes accompany price movements.
Component 4: Price Structure and Volatility
This component evaluates where price sits within the dynamic bands and considers the current volatility regime. When price is near the lower band, the component contributes a bullish score, suggesting potential support. When price is near the upper band, it contributes a bearish score, suggesting potential resistance.
The volatility regime assessment uses ATR percentile ranking. Low volatility periods often precede significant moves, while extremely high volatility may indicate unsustainable conditions.
Component 5: Price Action Quality
This component examines the character of recent candles by tracking the ratio of bullish to bearish candles over a lookback period. Consistent bullish price action contributes a positive score, while consistent bearish action contributes negatively. This helps filter signals by confirming that price behavior aligns with other factors.
Dynamic Bands
The indicator plots adaptive bands around a central basis line. The basis can be configured as either a simple or exponential moving average. Band width is determined by ATR multiplied by a dynamic factor that incorporates both ADX (expanding bands in trending markets) and the Chaikin Oscillator (expanding bands during strong accumulation or distribution).
These bands serve multiple purposes: they provide visual context for price position, they define signal trigger zones, and they help identify overextended conditions.
Trend State Detection
The indicator classifies market conditions into three states that affect signal generation and threshold levels.
Strong Uptrend is identified when ADX is rising, ADX exceeds the strong trend threshold, and the positive directional indicator exceeds the negative. This state triggers the most aggressive buy settings, allowing entries on shallow pullbacks.
Downtrend is identified when the negative directional indicator exceeds positive DI and ADX confirms directional movement. This state applies the most conservative buy settings, requiring deep oversold conditions before generating buy signals.
Neutral applies when neither trend condition is met, using moderate threshold settings appropriate for range-bound or transitional markets.
Dynamic RSI Thresholds
A key innovation is the automatic adjustment of RSI thresholds based on trend state. In a strong uptrend, the buy RSI threshold might be set to 50, allowing entries when RSI merely pulls back to neutral rather than requiring oversold conditions. The sell threshold rises to 72, keeping traders in positions longer during favorable conditions.
In downtrends, the buy RSI threshold drops to 25, ensuring buys only trigger on genuine capitulation. The sell threshold drops to 64, making exits easier to trigger.
In neutral markets, traditional oversold and overbought levels apply, with buy triggers around RSI 30 and sell triggers around RSI 68.
This adaptive approach prevents the common problem of indicators that work well in one market environment but fail in others.
Dynamic Cooldown
The signal cooldown period adjusts based on trend strength. During normal conditions, a standard cooldown prevents signal clustering. When ADX exceeds the strong trend threshold and is rising, indicating a powerful trend, the cooldown period extends. This helps traders stay in winning positions longer by reducing the frequency of counter-trend signals.
Cascade Protection
The indicator includes protection mechanisms to prevent overtrading and averaging down into losing positions.
The BBWP (Bollinger Band Width Percentile) monitor tracks current volatility relative to historical levels. When BBWP exceeds a threshold, indicating a volatility spike often associated with sharp moves, all buy signals are frozen. This protects against entering during panic selloffs or blow-off tops.
The consecutive buy counter tracks how many buy signals have occurred without an intervening sell. After reaching the maximum (default 3), no additional buy signals are generated until a sell occurs. This prevents the destructive pattern of repeatedly buying a declining asset.
Both protection mechanisms are displayed in the information panel, allowing traders to understand why signals may or may not be firing.
Signal Generation
Buy signals require price to touch or penetrate the lower band, RSI to be below the dynamic threshold, and the market to be in a trending state (when that filter is enabled). Additionally, the cooldown period must have elapsed and cascade protection must not be blocking buys.
Sell signals require price to touch or penetrate the upper band, RSI to be above the dynamic threshold, and the cooldown to have elapsed.
Signal labels display the entry price, signal type (shallow dip, capitulation, extended, bounce sell, or neutral), and the current position in the consecutive buy count.
Visual Components
The indicator provides multiple layers of visual feedback.
Cloud shading between the bands changes based on whether the composite score is in a buy zone or sell zone. Green clouds indicate bullish score readings, while red clouds indicate bearish readings.
Background coloring reflects the overall market regime. Green background indicates a bullish regime (positive DI leadership with volume confirmation), red indicates bearish regime, and white indicates neutral conditions.
An ADX bar at the bottom of the chart uses color coding: white for ranging (very low ADX), orange for flat, and blue for trending conditions.
The information panel displays the composite score with color coding, current trend state, active RSI thresholds, divergence status, BBWP freeze status, buy counter, market regime, ADX value with trend indicator, current cooldown setting, and live RSI reading color-coded against the active thresholds.
A debug panel can be enabled to show the individual component scores, helping users understand what is driving the composite reading.
How to Use
Monitor the composite score in the information panel. Readings above the buy threshold combined with price near the lower band represent potential long entries. Readings below the sell threshold with price near the upper band suggest exit opportunities.
Pay attention to the trend state. In strong uptrends, be more willing to buy dips and more patient with holding positions. In downtrends, require stronger confirmation before entering and be quicker to take profits on bounces.
Watch the cascade protection status. If BBWP shows frozen or the buy counter is approaching maximum, exercise additional caution regardless of other signals.
Use the dynamic RSI thresholds as context. When the panel shows buy RSI threshold at 50 (strong uptrend), even a pullback to RSI 45 is a potential entry. When the threshold shows 25 (downtrend), wait for genuine capitulation conditions.
Component Weight Adjustment
The relative importance of each scoring component can be adjusted through the settings. The default weights emphasize trend strength (30%) and momentum (25%), with volume (20%), price structure (15%), and price action (10%) providing confirmation.
For trend-following strategies, consider increasing trend and momentum weights. For mean-reversion approaches, increase the price structure weight to emphasize band position. The weights should sum to approximately 1.0 for proper score scaling.
Settings Guidance
The default settings are calibrated for cryptocurrency markets on lower timeframes. For traditional markets or longer timeframes, consider adjusting the ADX trending threshold (lower values for less volatile assets), the dynamic RSI levels for each trend state, and the cascade protection parameters.
The Heikin Ashi option for band calculation can provide smoother bands but may introduce slight lag. The default setting uses standard price data for better real-time accuracy.
Smart Trend Cloud + Dynamic Gate (V 2.3)Smart Trend Cloud + Dynamic Gate
The Smart Trend Cloud + Dynamic Gate is a comprehensive trend-following system designed to filter out market noise and identify high-probability trend entries. Unlike simple Moving Average crossovers which often fail in ranging markets, this indicator employs a multi-stage validation system (The "Gate") combining Volume, Momentum, and Volatility filters to ensure you only trade when the market has conviction.
Key Features:
> Multi-Type Trend Cloud: Choose between HMA (Hull Moving Average), EMA, or ZeroLag EMA to define the trend baseline.
> The "Dynamic Gate" Filter: A crossover alone does not trigger a signal. The move must be validated by Relative Volume or MACD Histogram momentum within a specific window.
> Choppiness Suppression: Integrated ADX filter turns the candles gray during low-volatility consolidation zones to prevent over-trading.
> Stretch Bands: Optional ATR-based bands to highlight when price is over-extended from the mean.
> Live Dashboard: A table on the chart displaying current Trend State, Relative Volume strength, and ADX values.
How logic Works
1. Trend Definition & The Cloud The core trend is defined by the relationship between a Fast and Slow Moving Average.
Visuals: The space between these MA's forms the "Cloud". The cloud color transparency adjusts dynamically based on the strength of the trend (the spread between the MAs).
MA Options:
HMA: Best for scalping (1m/5m) due to low lag.
ZeroLag EMA: Custom calculation to reduce latency while retaining smoothness.
EMA: Standard trend following.
2. The Entry Gate (Validation) To avoid false signals during "whipsaw" price action, this script uses a logic gate. When a MA crossover occurs, it enters a "Pending" state. It only confirms a BULL or BEAR state if one of the following conditions is met within Gate Window bars:
Volume Spike: Relative Volume (Current Vol / Avg Vol) is greater than the defined threshold (default 1.2x).
Momentum Shift: The MACD Histogram confirms the direction of the trend.
3. Consolidation Filter The script calculates the ADX (Average Directional Index). If the ADX is below the Min ADX Strength threshold (default 20), the market is considered "Choppy."
Visual: Bars turn Gray.
Logic: Trend signals are suppressed until volatility expands.
4. Visual Dashboard A panel is located in the top-right corner providing real-time data:
Trend: Current State (Bull, Bear, or Chop).
Vol: Current Relative Volume (Green if > 1.0).
ADX: Current Trend Strength value.
Settings:
Trend Settings:
Adjust MA types and lengths to fit your timeframe.
Entry Gate: Toggle the Volume/Price gate on/off and adjust the Relative Volume requirement.
Consolidation: Enable/Disable the ADX filter to see all signals or only high-strength ones.
Visuals: Toggle the Cloud, Dashboard, or "Stretch Bands" (ATR bands) to declutter your chart.
Recommended Settings by Timeframe
Since different timeframes require different sensitivities to noise, here are the optimized settings for the Smart Trend Cloud:
⚡ 5 Minute Chart (Scalping)
Best for: Catching quick intraday momentum bursts while filtering chop.
MA Type: HMA (Hull Moving Average for speed)
Fast Length: 9
Slow Length: 21
Min Relative Volume: 1.3 (Requires higher volume to confirm entry)
Min ADX: 25 (Stricter chop filter)
⏱️ 15 Minute Chart (Intraday Swing)
Best for: Day trading with a balance of speed and stability.
MA Type: ZeroLag EMA (Reduces noise better than HMA)
Fast Length: 10
Slow Length: 30
Min Relative Volume: 1.2
Min ADX: 20
hrs 1 Hour Chart (Short-Term Swing)
Best for: Capturing the trend of the week.
MA Type: EMA or ZeroLag EMA
Fast Length: 12
Slow Length: 26 (Classic MACD correlation)
Min Relative Volume: 1.1
Min ADX: 20
📅 1 Day Chart (Position Trading)
Best for: Long-term trends and "Golden Cross" style entries.
MA Type: EMA (Standard Institutional Moving Average)
Fast Length: 20
Slow Length: 50
Min Relative Volume: 1.2
Min ADX: 15 (Allows for earlier entries on major trend shifts)
Alerts:
The script includes built-in alertcondition events for:
Trend Start: Bull (Valid trend detected after filtering).
Trend Start: Bear (Valid trend detected after filtering).
Access & Authorization
This is an Invite-Only script.
Ultimate RSI [captainua]Ultimate RSI
Overview
This indicator combines multiple RSI calculations with volume analysis, divergence detection, and trend filtering to provide a comprehensive RSI-based trading system. The script calculates RSI using three different periods (6, 14, 24) and applies various smoothing methods to reduce noise while maintaining responsiveness. The combination of these features creates a multi-layered confirmation system that reduces false signals by requiring alignment across multiple indicators and timeframes.
The script includes optimized configuration presets for instant setup: Scalping, Day Trading, Swing Trading, and Position Trading. Simply select a preset to instantly configure all settings for your trading style, or use Custom mode for full manual control. All settings include automatic input validation to prevent configuration errors and ensure optimal performance.
Configuration Presets
The script includes preset configurations optimized for different trading styles, allowing you to instantly configure the indicator for your preferred trading approach. Simply select a preset from the "Configuration Preset" dropdown menu:
- Scalping: Optimized for fast-paced trading with shorter RSI periods (4, 7, 9) and minimal smoothing. Noise reduction is automatically disabled, and momentum confirmation is disabled to allow faster signal generation. Designed for quick entries and exits in volatile markets.
- Day Trading: Balanced configuration for intraday trading with moderate RSI periods (6, 9, 14) and light smoothing. Momentum confirmation is enabled for better signal quality. Ideal for day trading strategies requiring timely but accurate signals.
- Swing Trading: Configured for medium-term positions with standard RSI periods (14, 14, 21) and moderate smoothing. Provides smoother signals suitable for swing trading timeframes. All noise reduction features remain active.
- Position Trading: Optimized for longer-term trades with extended RSI periods (24, 21, 28) and heavier smoothing. Filters are configured for highest-quality signals. Best for position traders holding trades over multiple days or weeks.
- Custom: Full manual control over all settings. All input parameters are available for complete customization. This is the default mode and maintains full backward compatibility with previous versions.
When a preset is selected, it automatically adjusts RSI periods, smoothing lengths, and filter settings to match the trading style. The preset configurations ensure optimal settings are applied instantly, eliminating the need for manual configuration. All settings can still be manually overridden if needed, providing flexibility while maintaining ease of use.
Input Validation and Error Prevention
The script includes comprehensive input validation to prevent configuration errors:
- Cross-Input Validation: Smoothing lengths are automatically validated to ensure they are always less than their corresponding RSI period length. If you set a smoothing length greater than or equal to the RSI length, the script automatically adjusts it to (RSI Length - 1). This prevents logical errors and ensures valid configurations.
- Input Range Validation: All numeric inputs have minimum and maximum value constraints enforced by TradingView's input system, preventing invalid parameter values.
- Smart Defaults: Preset configurations use validated default values that are tested and optimized for each trading style. When switching between presets, all related settings are automatically updated to maintain consistency.
Core Calculations
Multi-Period RSI:
The script calculates RSI using the standard Wilder's RSI formula: RSI = 100 - (100 / (1 + RS)), where RS = Average Gain / Average Loss over the specified period. Three separate RSI calculations run simultaneously:
- RSI(6): Uses 6-period lookback for high sensitivity to recent price changes, useful for scalping and early signal detection
- RSI(14): Standard 14-period RSI for balanced analysis, the most commonly used RSI period
- RSI(24): Longer 24-period RSI for trend confirmation, provides smoother signals with less noise
Each RSI can be smoothed using EMA, SMA, RMA (Wilder's smoothing), WMA, or Zero-Lag smoothing. Zero-Lag smoothing uses the formula: ZL-RSI = RSI + (RSI - RSI ) to reduce lag while maintaining signal quality. You can apply individual smoothing lengths to each RSI period, or use global smoothing where all three RSIs share the same smoothing length.
Dynamic Overbought/Oversold Thresholds:
Static thresholds (default 70/30) are adjusted based on market volatility using ATR. The formula: Dynamic OB = Base OB + (ATR × Volatility Multiplier × Base Percentage / 100), Dynamic OS = Base OS - (ATR × Volatility Multiplier × Base Percentage / 100). This adapts to volatile markets where traditional 70/30 levels may be too restrictive. During high volatility, the dynamic thresholds widen, and during low volatility, they narrow. The thresholds are clamped between 0-100 to remain within RSI bounds. The ATR is cached for performance optimization, updating on confirmed bars and real-time bars.
Adaptive RSI Calculation:
An adaptive RSI adjusts the standard RSI(14) based on current volatility relative to average volatility. The calculation: Adaptive Factor = (Current ATR / SMA of ATR over 20 periods) × Volatility Multiplier. If SMA of ATR is zero (edge case), the adaptive factor defaults to 0. The adaptive RSI = Base RSI × (1 + Adaptive Factor), clamped to 0-100. This makes the indicator more responsive during high volatility periods when traditional RSI may lag. The adaptive RSI is used for signal generation (buy/sell signals) but is not plotted on the chart.
Overbought/Oversold Fill Zones:
The script provides visual fill zones between the RSI line and the threshold lines when RSI is in overbought or oversold territory. The fill logic uses inclusive conditions: fills are shown when RSI is currently in the zone OR was in the zone on the previous bar. This ensures complete coverage of entry and exit boundaries. A minimum gap of 0.1 RSI points is maintained between the RSI plot and threshold line to ensure reliable polygon rendering in TradingView. The fill uses invisible plots at the threshold levels and the RSI value, with the fill color applied between them. You can select which RSI (6, 14, or 24) to use for the fill zones.
Divergence Detection
Regular Divergence:
Bullish divergence: Price makes a lower low (current low < lowest low from previous lookback period) while RSI makes a higher low (current RSI > lowest RSI from previous lookback period). Bearish divergence: Price makes a higher high (current high > highest high from previous lookback period) while RSI makes a lower high (current RSI < highest RSI from previous lookback period). The script compares current price/RSI values to the lowest/highest values from the previous lookback period using ta.lowest() and ta.highest() functions with index to reference the previous period's extreme.
Pivot-Based Divergence:
An enhanced divergence detection method that uses actual pivot points instead of simple lowest/highest comparisons. This provides more accurate divergence detection by identifying significant pivot lows/highs in both price and RSI. The pivot-based method uses a tolerance-based approach with configurable constants: 1% tolerance for price comparisons (priceTolerancePercent = 0.01) and 1.0 RSI point absolute tolerance for RSI comparisons (pivotTolerance = 1.0). Minimum divergence threshold is 1.0 RSI point (minDivergenceThreshold = 1.0). It looks for two recent pivot points and compares them: for bullish divergence, price makes a lower low (at least 1% lower) while RSI makes a higher low (at least 1.0 point higher). This method reduces false divergences by requiring actual pivot points rather than just any low/high within a period. When enabled, pivot-based divergence replaces the traditional method for more accurate signal generation.
Strong Divergence:
Regular divergence is confirmed by an engulfing candle pattern. Bullish engulfing requires: (1) Previous candle is bearish (close < open ), (2) Current candle is bullish (close > open), (3) Current close > previous open, (4) Current open < previous close. Bearish engulfing is the inverse: previous bullish, current bearish, current close < previous open, current open > previous close. Strong divergence signals are marked with visual indicators (🐂 for bullish, 🐻 for bearish) and have separate alert conditions.
Hidden Divergence:
Continuation patterns that signal trend continuation rather than reversal. Bullish hidden divergence: Price makes a higher low (current low > lowest low from previous period) but RSI makes a lower low (current RSI < lowest RSI from previous period). Bearish hidden divergence: Price makes a lower high (current high < highest high from previous period) but RSI makes a higher high (current RSI > highest RSI from previous period). These patterns indicate the trend is likely to continue in the current direction.
Volume Confirmation System
Volume threshold filtering requires current volume to exceed the volume SMA multiplied by the threshold factor. The formula: Volume Confirmed = Volume > (Volume SMA × Threshold). If the threshold is set to 0.1 or lower, volume confirmation is effectively disabled (always returns true). This allows you to use the indicator without volume filtering if desired.
Volume Climax is detected when volume exceeds: Volume SMA + (Volume StdDev × Multiplier). This indicates potential capitulation moments where extreme volume accompanies price movements. Volume Dry-Up is detected when volume falls below: Volume SMA - (Volume StdDev × Multiplier), indicating low participation periods that may produce unreliable signals. The volume SMA is cached for performance, updating on confirmed and real-time bars.
Multi-RSI Synergy
The script generates signals when multiple RSI periods align in overbought or oversold zones. This creates a confirmation system that reduces false signals. In "ALL" mode, all three RSIs (6, 14, 24) must be simultaneously above the overbought threshold OR all three must be below the oversold threshold. In "2-of-3" mode, any two of the three RSIs must align in the same direction. The script counts how many RSIs are in each zone: twoOfThreeOB = ((rsi6OB ? 1 : 0) + (rsi14OB ? 1 : 0) + (rsi24OB ? 1 : 0)) >= 2.
Synergy signals require: (1) Multi-RSI alignment (ALL or 2-of-3), (2) Volume confirmation, (3) Reset condition satisfied (enough bars since last synergy signal), (4) Additional filters passed (RSI50, Trend, ADX, Volume Dry-Up avoidance). Separate reset conditions track buy and sell signals independently. The reset condition uses ta.barssince() to count bars since the last trigger, returning true if the condition never occurred (allowing first signal) or if enough bars have passed.
Regression Forecasting
The script uses historical RSI values to forecast future RSI direction using four methods. The forecast horizon is configurable (1-50 bars ahead). Historical data is collected into an array, and regression coefficients are calculated based on the selected method.
Linear Regression: Calculates the least-squares fit line (y = mx + b) through the last N RSI values. The calculation: meanX = sumX / horizon, meanY = sumY / horizon, denominator = sumX² - horizon × meanX², m = (sumXY - horizon × meanX × meanY) / denominator, b = meanY - m × meanX. The forecast projects this line forward: forecast = b + m × i for i = 1 to horizon.
Polynomial Regression: Fits a quadratic curve (y = ax² + bx + c) to capture non-linear trends. The system of equations is solved using Cramer's rule with a 3×3 determinant. If the determinant is too small (< 0.0001), the system falls back to linear regression. Coefficients are calculated by solving: n×c + sumX×b + sumX²×a = sumY, sumX×c + sumX²×b + sumX³×a = sumXY, sumX²×c + sumX³×b + sumX⁴×a = sumX²Y. Note: Due to the O(n³) computational complexity of polynomial regression, the forecast horizon is automatically limited to a maximum of 20 bars when using polynomial regression to maintain optimal performance. If you set a horizon greater than 20 bars with polynomial regression, it will be automatically capped at 20 bars.
Exponential Smoothing: Applies exponential smoothing with adaptive alpha = 2/(horizon+1). The smoothing iterates from oldest to newest value: smoothed = alpha × series + (1 - alpha) × smoothed. Trend is calculated by comparing current smoothed value to an earlier smoothed value (at 60% of horizon): trend = (smoothed - earlierSmoothed) / (horizon - earlierIdx). Forecast: forecast = base + trend × i.
Moving Average: Uses the difference between short MA (horizon/2) and long MA (horizon) to estimate trend direction. Trend = (maShort - maLong) / (longLen - shortLen). Forecast: forecast = maShort + trend × i.
Confidence bands are calculated using RMSE (Root Mean Squared Error) of historical forecast accuracy. The error calculation compares historical values with forecast values: RMSE = sqrt(sumSquaredError / count). If insufficient data exists, it falls back to calculating standard deviation of recent RSI values. Confidence bands = forecast ± (RMSE × confidenceLevel). All forecast values and confidence bands are clamped to 0-100 to remain within RSI bounds. The regression functions include comprehensive safety checks: horizon validation (must not exceed array size), empty array handling, edge case handling for horizon=1 scenarios, division-by-zero protection, and bounds checking for all array access operations to prevent runtime errors.
Strong Top/Bottom Detection
Strong buy signals require three conditions: (1) RSI is at its lowest point within the bottom period: rsiVal <= ta.lowest(rsiVal, bottomPeriod), (2) RSI is below the oversold threshold minus a buffer: rsiVal < (oversoldThreshold - rsiTopBottomBuffer), where rsiTopBottomBuffer = 2.0 RSI points, (3) The absolute difference between current RSI and the lowest RSI exceeds the threshold value: abs(rsiVal - ta.lowest(rsiVal, bottomPeriod)) > threshold. This indicates a bounce from extreme levels with sufficient distance from the absolute low.
Strong sell signals use the inverse logic: RSI at highest point, above overbought threshold + rsiTopBottomBuffer (2.0 RSI points), and difference from highest exceeds threshold. Both signals also require: volume confirmation, reset condition satisfied (separate reset for buy vs sell), and all additional filters passed (RSI50, Trend, ADX, Volume Dry-Up avoidance).
The reset condition uses separate logic for buy and sell: resetCondBuy checks bars since isRSIAtBottom, resetCondSell checks bars since isRSIAtTop. This ensures buy signals reset based on bottom conditions and sell signals reset based on top conditions, preventing incorrect signal blocking.
Filtering System
RSI(50) Filter: Only allows buy signals when RSI(14) > 50 (bullish momentum) and sell signals when RSI(14) < 50 (bearish momentum). This filter ensures you're buying in uptrends and selling in downtrends from a momentum perspective. The filter is optional and can be disabled. Recommended to enable for noise reduction.
Trend Filter: Uses a long-term EMA (default 200) to determine trend direction. Buy signals require price above EMA, sell signals require price below EMA. The EMA slope is calculated as: emaSlope = ema - ema . Optional EMA slope filter additionally requires the EMA to be rising (slope > 0) for buy signals or falling (slope < 0) for sell signals. This provides stronger trend confirmation by requiring both price position and EMA direction.
ADX Filter: Uses the Directional Movement Index (calculated via ta.dmi()) to measure trend strength. Signals only fire when ADX exceeds the threshold (default 20), indicating a strong trend rather than choppy markets. The ADX calculation uses separate length and smoothing parameters. This filter helps avoid signals during sideways/consolidation periods.
Volume Dry-Up Avoidance: Prevents signals during periods of extremely low volume relative to average. If volume dry-up is detected and the filter is enabled, signals are blocked. This helps avoid unreliable signals that occur during low participation periods.
RSI Momentum Confirmation: Requires RSI to be accelerating in the signal direction before confirming signals. For buy signals, RSI must be consistently rising (recovering from oversold) over the lookback period. For sell signals, RSI must be consistently falling (declining from overbought) over the lookback period. The momentum check verifies that all consecutive changes are in the correct direction AND the cumulative change is significant. This filter ensures signals only fire when RSI momentum aligns with the signal direction, reducing false signals from weak momentum.
Multi-Timeframe Confirmation: Requires higher timeframe RSI to align with the signal direction. For buy signals, current RSI must be below the higher timeframe RSI by at least the confirmation threshold. For sell signals, current RSI must be above the higher timeframe RSI by at least the confirmation threshold. This ensures signals align with the larger trend context, reducing counter-trend trades. The higher timeframe RSI is fetched using request.security() from the selected timeframe.
All filters use the pattern: filterResult = not filterEnabled OR conditionMet. This means if a filter is disabled, it always passes (returns true). Filters can be combined, and all must pass for a signal to fire.
RSI Centerline and Period Crossovers
RSI(50) Centerline Crossovers: Detects when the selected RSI source crosses above or below the 50 centerline. Bullish crossover: ta.crossover(rsiSource, 50), bearish crossover: ta.crossunder(rsiSource, 50). You can select which RSI (6, 14, or 24) to use for these crossovers. These signals indicate momentum shifts from bearish to bullish (above 50) or bullish to bearish (below 50).
RSI Period Crossovers: Detects when different RSI periods cross each other. Available pairs: RSI(6) × RSI(14), RSI(14) × RSI(24), or RSI(6) × RSI(24). Bullish crossover: fast RSI crosses above slow RSI (ta.crossover(rsiFast, rsiSlow)), indicating momentum acceleration. Bearish crossover: fast RSI crosses below slow RSI (ta.crossunder(rsiFast, rsiSlow)), indicating momentum deceleration. These crossovers can signal shifts in momentum before price moves.
StochRSI Calculation
Stochastic RSI applies the Stochastic oscillator formula to RSI values instead of price. The calculation: %K = ((RSI - Lowest RSI) / (Highest RSI - Lowest RSI)) × 100, where the lookback is the StochRSI length. If the range is zero, %K defaults to 50.0. %K is then smoothed using SMA with the %K smoothing length. %D is calculated as SMA of smoothed %K with the %D smoothing length. All values are clamped to 0-100. You can select which RSI (6, 14, or 24) to use as the source for StochRSI calculation.
RSI Bollinger Bands
Bollinger Bands are applied to RSI(14) instead of price. The calculation: Basis = SMA(RSI(14), BB Period), StdDev = stdev(RSI(14), BB Period), Upper = Basis + (StdDev × Deviation Multiplier), Lower = Basis - (StdDev × Deviation Multiplier). This creates dynamic zones around RSI that adapt to RSI volatility. When RSI touches or exceeds the bands, it indicates extreme conditions relative to recent RSI behavior.
Noise Reduction System
The script includes a comprehensive noise reduction system to filter false signals and improve accuracy. When enabled, signals must pass multiple quality checks:
Signal Strength Requirement: RSI must be at least X points away from the centerline (50). For buy signals, RSI must be at least X points below 50. For sell signals, RSI must be at least X points above 50. This ensures signals only trigger when RSI is significantly in oversold/overbought territory, not just near neutral.
Extreme Zone Requirement: RSI must be deep in the OB/OS zone. For buy signals, RSI must be at least X points below the oversold threshold. For sell signals, RSI must be at least X points above the overbought threshold. This ensures signals only fire in extreme conditions where reversals are more likely.
Consecutive Bar Confirmation: The signal condition must persist for N consecutive bars before triggering. This reduces false signals from single-bar spikes or noise. The confirmation checks that the signal condition was true for all bars in the lookback period.
Zone Persistence (Optional): Requires RSI to remain in the OB/OS zone for N consecutive bars, not just touch it. This ensures RSI is truly in an extreme state rather than just briefly touching the threshold. When enabled, this provides stricter filtering for higher-quality signals.
RSI Slope Confirmation (Optional): Requires RSI to be moving in the expected signal direction. For buy signals, RSI should be rising (recovering from oversold). For sell signals, RSI should be falling (declining from overbought). This ensures momentum is aligned with the signal direction. The slope is calculated by comparing current RSI to RSI N bars ago.
All noise reduction filters can be enabled/disabled independently, allowing you to customize the balance between signal frequency and accuracy. The default settings provide a good balance, but you can adjust them based on your trading style and market conditions.
Alert System
The script includes separate alert conditions for each signal type: buy/sell (adaptive RSI crossovers), divergence (regular, strong, hidden), crossovers (RSI50 centerline, RSI period crossovers), synergy signals, and trend breaks. Each alert type has its own alertcondition() declaration with a unique title and message.
An optional cooldown system prevents alert spam by requiring a minimum number of bars between alerts of the same type. The cooldown check: canAlert = na(lastAlertBar) OR (bar_index - lastAlertBar >= cooldownBars). If the last alert bar is na (first alert), it always allows the alert. Each alert type maintains its own lastAlertBar variable, so cooldowns are independent per signal type. The default cooldown is 10 bars, which is recommended for noise reduction.
Higher Timeframe RSI
The script can display RSI from a higher timeframe using request.security(). This allows you to see the RSI context from a larger timeframe (e.g., daily RSI on an hourly chart). The higher timeframe RSI uses RSI(14) calculation from the selected timeframe. This provides context for the current timeframe's RSI position relative to the larger trend.
RSI Pivot Trendlines
The script can draw trendlines connecting pivot highs and lows on RSI(6). This feature helps visualize RSI trends and identify potential trend breaks.
Pivot Detection: Pivots are detected using a configurable period. The script can require pivots to have minimum strength (RSI points difference from surrounding bars) to filter out weak pivots. Lower minPivotStrength values detect more pivots (more trendlines), while higher values detect only stronger pivots (fewer but more significant trendlines). Pivot confirmation is optional: when enabled, the script waits N bars to confirm the pivot remains the extreme, reducing repainting. Pivot confirmation functions (f_confirmPivotLow and f_confirmPivotHigh) are always called on every bar for consistency, as recommended by TradingView. When pivot bars are not available (na), safe default values are used, and the results are then used conditionally based on confirmation settings. This ensures consistent calculations and prevents calculation inconsistencies.
Trendline Drawing: Uptrend lines connect confirmed pivot lows (green), and downtrend lines connect confirmed pivot highs (red). By default, only the most recent trendline is shown (old trendlines are deleted when new pivots are confirmed). This keeps the chart clean and uncluttered. If "Keep Historical Trendlines" is enabled, the script preserves up to N historical trendlines (configurable via "Max Trendlines to Keep", default 5). When historical trendlines are enabled, old trendlines are saved to arrays instead of being deleted, allowing you to see multiple trendlines simultaneously for better trend analysis. The arrays are automatically limited to prevent memory accumulation.
Trend Break Detection: Signals are generated when RSI breaks above or below trendlines. Uptrend breaks (RSI crosses below uptrend line) generate buy signals. Downtrend breaks (RSI crosses above downtrend line) generate sell signals. Optional trend break confirmation requires the break to persist for N bars and optionally include volume confirmation. Trendline angle filtering can exclude flat/weak trendlines from generating signals (minTrendlineAngle > 0 filters out weak/flat trendlines).
How Components Work Together
The combination of multiple RSI periods provides confirmation across different timeframes, reducing false signals. RSI(6) catches early moves, RSI(14) provides balanced signals, and RSI(24) confirms longer-term trends. When all three align (synergy), it indicates strong consensus across timeframes.
Volume confirmation ensures signals occur with sufficient market participation, filtering out low-volume false breakouts. Volume climax detection identifies potential reversal points, while volume dry-up avoidance prevents signals during unreliable low-volume periods.
Trend filters align signals with the overall market direction. The EMA filter ensures you're trading with the trend, and the EMA slope filter adds an additional layer by requiring the trend to be strengthening (rising EMA for buys, falling EMA for sells).
ADX filter ensures signals only fire during strong trends, avoiding choppy/consolidation periods. RSI(50) filter ensures momentum alignment with the trade direction.
Momentum confirmation requires RSI to be accelerating in the signal direction, ensuring signals only fire when momentum is aligned. Multi-timeframe confirmation ensures signals align with higher timeframe trends, reducing counter-trend trades.
Divergence detection identifies potential reversals before they occur, providing early warning signals. Pivot-based divergence provides more accurate detection by using actual pivot points. Hidden divergence identifies continuation patterns, useful for trend-following strategies.
The noise reduction system combines multiple filters (signal strength, extreme zone, consecutive bars, zone persistence, RSI slope) to significantly reduce false signals. These filters work together to ensure only high-quality signals are generated.
The synergy system requires alignment across all RSI periods for highest-quality signals, significantly reducing false positives. Regression forecasting provides forward-looking context, helping anticipate potential RSI direction changes.
Pivot trendlines provide visual trend analysis and can generate signals when RSI breaks trendlines, indicating potential reversals or continuations.
Reset conditions prevent signal spam by requiring a minimum number of bars between signals. Separate reset conditions for buy and sell signals ensure proper signal management.
Usage Instructions
Configuration Presets (Recommended): The script includes optimized preset configurations for instant setup. Simply select your trading style from the "Configuration Preset" dropdown:
- Scalping Preset: RSI(4, 7, 9) with minimal smoothing. Noise reduction disabled, momentum confirmation disabled for fastest signals.
- Day Trading Preset: RSI(6, 9, 14) with light smoothing. Momentum confirmation enabled for better signal quality.
- Swing Trading Preset: RSI(14, 14, 21) with moderate smoothing. Balanced configuration for medium-term trades.
- Position Trading Preset: RSI(24, 21, 28) with heavier smoothing. Optimized for longer-term positions with all filters active.
- Custom Mode: Full manual control over all settings. Default behavior matches previous script versions.
Presets automatically configure RSI periods, smoothing lengths, and filter settings. You can still manually adjust any setting after selecting a preset if needed.
Getting Started: The easiest way to get started is to select a configuration preset matching your trading style (Scalping, Day Trading, Swing Trading, or Position Trading) from the "Configuration Preset" dropdown. This instantly configures all settings for optimal performance. Alternatively, use "Custom" mode for full manual control. The default configuration (Custom mode) shows RSI(6), RSI(14), and RSI(24) with their default smoothing. Overbought/oversold fill zones are enabled by default.
Customizing RSI Periods: Adjust the RSI lengths (6, 14, 24) based on your trading timeframe. Shorter periods (6) for scalping, standard (14) for day trading, longer (24) for swing trading. You can disable any RSI period you don't need.
Smoothing Selection: Choose smoothing method based on your needs. EMA provides balanced smoothing, RMA (Wilder's) is traditional, Zero-Lag reduces lag but may increase noise. Adjust smoothing lengths individually or use global smoothing for consistency. Note: Smoothing lengths are automatically validated to ensure they are always less than the corresponding RSI period length. If you set smoothing >= RSI length, it will be auto-adjusted to prevent invalid configurations.
Dynamic OB/OS: The dynamic thresholds automatically adapt to volatility. Adjust the volatility multiplier and base percentage to fine-tune sensitivity. Higher values create wider thresholds in volatile markets.
Volume Confirmation: Set volume threshold to 1.2 (default) for standard confirmation, higher for stricter filtering, or 0.1 to disable volume filtering entirely.
Multi-RSI Synergy: Use "ALL" mode for highest-quality signals (all 3 RSIs must align), or "2-of-3" mode for more frequent signals. Adjust the reset period to control signal frequency.
Filters: Enable filters gradually to find your preferred balance. Start with volume confirmation, then add trend filter, then ADX for strongest confirmation. RSI(50) filter is useful for momentum-based strategies and is recommended for noise reduction. Momentum confirmation and multi-timeframe confirmation add additional layers of accuracy but may reduce signal frequency.
Noise Reduction: The noise reduction system is enabled by default with balanced settings. Adjust minSignalStrength (default 3.0) to control how far RSI must be from centerline. Increase requireConsecutiveBars (default 1) to require signals to persist longer. Enable requireZonePersistence and requireRsiSlope for stricter filtering (higher quality but fewer signals). Start with defaults and adjust based on your needs.
Divergence: Enable divergence detection and adjust lookback periods. Strong divergence (with engulfing confirmation) provides higher-quality signals. Hidden divergence is useful for trend-following strategies. Enable pivot-based divergence for more accurate detection using actual pivot points instead of simple lowest/highest comparisons. Pivot-based divergence uses tolerance-based matching (1% for price, 1.0 RSI point for RSI) for better accuracy.
Forecasting: Enable regression forecasting to see potential RSI direction. Linear regression is simplest, polynomial captures curves, exponential smoothing adapts to trends. Adjust horizon based on your trading timeframe. Confidence bands show forecast uncertainty - wider bands indicate less reliable forecasts.
Pivot Trendlines: Enable pivot trendlines to visualize RSI trends and identify trend breaks. Adjust pivot detection period (default 5) - higher values detect fewer but stronger pivots. Enable pivot confirmation (default ON) to reduce repainting. Set minPivotStrength (default 1.0) to filter weak pivots - lower values detect more pivots (more trendlines), higher values detect only stronger pivots (fewer trendlines). Enable "Keep Historical Trendlines" to preserve multiple trendlines instead of just the most recent one. Set "Max Trendlines to Keep" (default 5) to control how many historical trendlines are preserved. Enable trend break confirmation for more reliable break signals. Adjust minTrendlineAngle (default 0.0) to filter flat trendlines - set to 0.1-0.5 to exclude weak trendlines.
Alerts: Set up alerts for your preferred signal types. Enable cooldown to prevent alert spam. Each signal type has its own alert condition, so you can be selective about which signals trigger alerts.
Visual Elements and Signal Markers
The script uses various visual markers to indicate signals and conditions:
- "sBottom" label (green): Strong bottom signal - RSI at extreme low with strong buy conditions
- "sTop" label (red): Strong top signal - RSI at extreme high with strong sell conditions
- "SyBuy" label (lime): Multi-RSI synergy buy signal - all RSIs aligned oversold
- "SySell" label (red): Multi-RSI synergy sell signal - all RSIs aligned overbought
- 🐂 emoji (green): Strong bullish divergence detected
- 🐻 emoji (red): Strong bearish divergence detected
- 🔆 emoji: Weak divergence signals (if enabled)
- "H-Bull" label: Hidden bullish divergence
- "H-Bear" label: Hidden bearish divergence
- ⚡ marker (top of pane): Volume climax detected (extreme volume) - positioned at top for visibility
- 💧 marker (top of pane): Volume dry-up detected (very low volume) - positioned at top for visibility
- ↑ triangle (lime): Uptrend break signal - RSI breaks below uptrend line
- ↓ triangle (red): Downtrend break signal - RSI breaks above downtrend line
- Triangle up (lime): RSI(50) bullish crossover
- Triangle down (red): RSI(50) bearish crossover
- Circle markers: RSI period crossovers
All markers are positioned at the RSI value where the signal occurs, using location.absolute for precise placement.
Signal Priority and Interpretation
Signals are generated independently and can occur simultaneously. Higher-priority signals generally indicate stronger setups:
1. Multi-RSI Synergy signals (SyBuy/SySell) - Highest priority: Requires alignment across all RSI periods plus volume and filter confirmation. These are the most reliable signals.
2. Strong Top/Bottom signals (sTop/sBottom) - High priority: Indicates extreme RSI levels with strong bounce conditions. Requires volume confirmation and all filters.
3. Divergence signals - Medium-High priority: Strong divergence (with engulfing) is more reliable than regular divergence. Hidden divergence indicates continuation rather than reversal.
4. Adaptive RSI crossovers - Medium priority: Buy when adaptive RSI crosses below dynamic oversold, sell when it crosses above dynamic overbought. These use volatility-adjusted RSI for more accurate signals.
5. RSI(50) centerline crossovers - Medium priority: Momentum shift signals. Less reliable alone but useful when combined with other confirmations.
6. RSI period crossovers - Lower priority: Early momentum shift indicators. Can provide early warning but may produce false signals in choppy markets.
Best practice: Wait for multiple confirmations. For example, a synergy signal combined with divergence and volume climax provides the strongest setup.
Chart Requirements
For proper script functionality and compliance with TradingView requirements, ensure your chart displays:
- Symbol name: The trading pair or instrument name should be visible
- Timeframe: The chart timeframe should be clearly displayed
- Script name: "Ultimate RSI " should be visible in the indicator title
These elements help traders understand what they're viewing and ensure proper script identification. The script automatically includes this information in the indicator title and chart labels.
Performance Considerations
The script is optimized for performance:
- ATR and Volume SMA are cached using var variables, updating only on confirmed and real-time bars to reduce redundant calculations
- Forecast line arrays are dynamically managed: lines are reused when possible, and unused lines are deleted to prevent memory accumulation
- Calculations use efficient Pine Script functions (ta.rsi, ta.ema, etc.) which are optimized by TradingView
- Array operations are minimized where possible, with direct calculations preferred
- Polynomial regression automatically caps the forecast horizon at 20 bars (POLYNOMIAL_MAX_HORIZON constant) to prevent performance degradation, as polynomial regression has O(n³) complexity. This safeguard ensures optimal performance even with large horizon settings
- Pivot detection includes edge case handling to ensure reliable calculations even on early bars with limited historical data. Regression forecasting functions include comprehensive safety checks: horizon validation (must not exceed array size), empty array handling, edge case handling for horizon=1 scenarios, and division-by-zero protection in all mathematical operations
The script should perform well on all timeframes. On very long historical data, forecast lines may accumulate if the horizon is large; consider reducing the forecast horizon if you experience performance issues. The polynomial regression performance safeguard automatically prevents performance issues for that specific regression type.
Known Limitations and Considerations
- Forecast lines are forward-looking projections and should not be used as definitive predictions. They provide context but are not guaranteed to be accurate.
- Dynamic OB/OS thresholds can exceed 100 or go below 0 in extreme volatility scenarios, but are clamped to 0-100 range. This means in very volatile markets, the dynamic thresholds may not widen as much as the raw calculation suggests.
- Volume confirmation requires sufficient historical volume data. On new instruments or very short timeframes, volume calculations may be less reliable.
- Higher timeframe RSI uses request.security() which may have slight delays on some data feeds.
- Regression forecasting requires at least N bars of history (where N = forecast horizon) before it can generate forecasts. Early bars will not show forecast lines.
- StochRSI calculation requires the selected RSI source to have sufficient history. Very short RSI periods on new charts may produce less reliable StochRSI values initially.
Practical Use Cases
The indicator can be configured for different trading styles and timeframes:
Swing Trading: Select the "Swing Trading" preset for instant optimal configuration. This preset uses RSI periods (14, 14, 21) with moderate smoothing. Alternatively, manually configure: Use RSI(24) with Multi-RSI Synergy in "ALL" mode, combined with trend filter (EMA 200) and ADX filter. This configuration provides high-probability setups with strong confirmation across multiple RSI periods.
Day Trading: Select the "Day Trading" preset for instant optimal configuration. This preset uses RSI periods (6, 9, 14) with light smoothing and momentum confirmation enabled. Alternatively, manually configure: Use RSI(6) with Zero-Lag smoothing for fast signal detection. Enable volume confirmation with threshold 1.2-1.5 for reliable entries. Combine with RSI(50) filter to ensure momentum alignment. Strong top/bottom signals work well for day trading reversals.
Trend Following: Enable trend filter (EMA) and EMA slope filter for strong trend confirmation. Use RSI(14) or RSI(24) with ADX filter to avoid choppy markets. Hidden divergence signals are useful for trend continuation entries.
Reversal Trading: Focus on divergence detection (regular and strong) combined with strong top/bottom signals. Enable volume climax detection to identify capitulation moments. Use RSI(6) for early reversal signals, confirmed by RSI(14) and RSI(24).
Forecasting and Planning: Enable regression forecasting with polynomial or exponential smoothing methods. Use forecast horizon of 10-20 bars for swing trading, 5-10 bars for day trading. Confidence bands help assess forecast reliability.
Multi-Timeframe Analysis: Enable higher timeframe RSI to see context from larger timeframes. For example, use daily RSI on hourly charts to understand the larger trend context. This helps avoid counter-trend trades.
Scalping: Select the "Scalping" preset for instant optimal configuration. This preset uses RSI periods (4, 7, 9) with minimal smoothing, disables noise reduction, and disables momentum confirmation for faster signals. Alternatively, manually configure: Use RSI(6) with minimal smoothing (or Zero-Lag) for ultra-fast signals. Disable most filters except volume confirmation. Use RSI period crossovers (RSI(6) × RSI(14)) for early momentum shifts. Set volume threshold to 1.0-1.2 for less restrictive filtering.
Position Trading: Select the "Position Trading" preset for instant optimal configuration. This preset uses extended RSI periods (24, 21, 28) with heavier smoothing, optimized for longer-term trades. Alternatively, manually configure: Use RSI(24) with all filters enabled (Trend, ADX, RSI(50), Volume Dry-Up avoidance). Multi-RSI Synergy in "ALL" mode provides highest-quality signals.
Practical Tips and Best Practices
Getting Started: The fastest way to get started is to select a configuration preset that matches your trading style. Simply choose "Scalping", "Day Trading", "Swing Trading", or "Position Trading" from the "Configuration Preset" dropdown to instantly configure all settings optimally. For advanced users, use "Custom" mode for full manual control. The default configuration (Custom mode) is balanced and works well across different markets. After observing behavior, customize settings to match your trading style.
Reducing Repainting: All signals are based on confirmed bars, minimizing repainting. The script uses confirmed bar data for all calculations to ensure backtesting accuracy.
Signal Quality: Multi-RSI Synergy signals in "ALL" mode provide the highest-quality signals because they require alignment across all three RSI periods. These signals have lower frequency but higher reliability. For more frequent signals, use "2-of-3" mode. The noise reduction system further improves signal quality by requiring multiple confirmations (signal strength, extreme zone, consecutive bars, optional zone persistence and RSI slope). Adjust noise reduction settings to balance signal frequency vs. accuracy.
Filter Combinations: Start with volume confirmation, then add trend filter for trend alignment, then ADX filter for trend strength. Combining all three filters significantly reduces false signals but also reduces signal frequency. Find your balance based on your risk tolerance.
Volume Filtering: Set volume threshold to 0.1 or lower to effectively disable volume filtering if you trade instruments with unreliable volume data or want to test without volume confirmation. Standard confirmation uses 1.2-1.5 threshold.
RSI Period Selection: RSI(6) is most sensitive and best for scalping or early signal detection. RSI(14) provides balanced signals suitable for day trading. RSI(24) is smoother and better for swing trading and trend confirmation. You can disable any RSI period you don't need to reduce visual clutter.
Smoothing Methods: EMA provides balanced smoothing with moderate lag. RMA (Wilder's smoothing) is traditional and works well for RSI. Zero-Lag reduces lag but may increase noise. WMA gives more weight to recent values. Choose based on your preference for responsiveness vs. smoothness.
Forecasting: Linear regression is simplest and works well for trending markets. Polynomial regression captures curves and works better in ranging markets. Exponential smoothing adapts to trends. Moving average method is most conservative. Use confidence bands to assess forecast reliability.
Divergence: Strong divergence (with engulfing confirmation) is more reliable than regular divergence. Hidden divergence indicates continuation rather than reversal, useful for trend-following strategies. Pivot-based divergence provides more accurate detection by using actual pivot points instead of simple lowest/highest comparisons. Adjust lookback periods based on your timeframe: shorter for day trading, longer for swing trading. Pivot divergence period (default 5) controls the sensitivity of pivot detection.
Dynamic Thresholds: Dynamic OB/OS thresholds automatically adapt to volatility. In volatile markets, thresholds widen; in calm markets, they narrow. Adjust the volatility multiplier and base percentage to fine-tune sensitivity. Higher values create wider thresholds in volatile markets.
Alert Management: Enable alert cooldown (default 10 bars, recommended) to prevent alert spam. Each alert type has its own cooldown, so you can set different cooldowns for different signal types. For example, use shorter cooldown for synergy signals (high quality) and longer cooldown for crossovers (more frequent). The cooldown system works independently for each signal type, preventing spam while allowing different signal types to fire when appropriate.
Technical Specifications
- Pine Script Version: v6
- Indicator Type: Non-overlay (displays in separate panel below price chart)
- Repainting Behavior: Minimal - all signals are based on confirmed bars, ensuring accurate backtesting results
- Performance: Optimized with caching for ATR and volume calculations. Forecast arrays are dynamically managed to prevent memory accumulation.
- Compatibility: Works on all timeframes (1 minute to 1 month) and all instruments (stocks, forex, crypto, futures, etc.)
- Edge Case Handling: All calculations include safety checks for division by zero, NA values, and boundary conditions. Reset conditions and alert cooldowns handle edge cases where conditions never occurred or values are NA.
- Reset Logic: Separate reset conditions for buy signals (based on bottom conditions) and sell signals (based on top conditions) ensure logical correctness.
- Input Parameters: 60+ customizable parameters organized into logical groups for easy configuration. Configuration presets available for instant setup (Scalping, Day Trading, Swing Trading, Position Trading, Custom).
- Noise Reduction: Comprehensive noise reduction system with multiple filters (signal strength, extreme zone, consecutive bars, zone persistence, RSI slope) to reduce false signals.
- Pivot-Based Divergence: Enhanced divergence detection using actual pivot points for improved accuracy.
- Momentum Confirmation: RSI momentum filter ensures signals only fire when RSI is accelerating in the signal direction.
- Multi-Timeframe Confirmation: Optional higher timeframe RSI alignment for trend confirmation.
- Enhanced Pivot Trendlines: Trendline drawing with strength requirements, confirmation, and trend break detection.
Technical Notes
- All RSI values are clamped to 0-100 range to ensure valid oscillator values
- ATR and Volume SMA are cached for performance, updating on confirmed and real-time bars
- Reset conditions handle edge cases: if a condition never occurred, reset returns true (allows first signal)
- Alert cooldown handles na values: if no previous alert, cooldown allows the alert
- Forecast arrays are dynamically sized based on horizon, with unused lines cleaned up
- Fill logic uses a minimum gap (0.1) to ensure reliable polygon rendering in TradingView
- All calculations include safety checks for division by zero and boundary conditions. Regression functions validate that horizon doesn't exceed array size, and all array access operations include bounds checking to prevent out-of-bounds errors
- The script uses separate reset conditions for buy signals (based on bottom conditions) and sell signals (based on top conditions) for logical correctness
- Background coloring uses a fallback system: dynamic color takes priority, then RSI(6) heatmap, then monotone if both are disabled
- Noise reduction filters are applied after accuracy filters, providing multiple layers of signal quality control
- Pivot trendlines use strength requirements to filter weak pivots, reducing noise in trendline drawing. Historical trendlines are stored in arrays and automatically limited to prevent memory accumulation when "Keep Historical Trendlines" is enabled
- Volume climax and dry-up markers are positioned at the top of the pane for better visibility
- All calculations are optimized with conditional execution - features only calculate when enabled (performance optimization)
- Input Validation: Automatic cross-input validation ensures smoothing lengths are always less than RSI period lengths, preventing configuration errors
- Configuration Presets: Four optimized preset configurations (Scalping, Day Trading, Swing Trading, Position Trading) for instant setup, plus Custom mode for full manual control
- Constants Management: Magic numbers extracted to documented constants for improved maintainability and easier tuning (pivot tolerance, divergence thresholds, fill gap, etc.)
- TradingView Function Consistency: All TradingView functions (ta.crossover, ta.crossunder, ta.atr, ta.lowest, ta.highest, ta.lowestbars, ta.highestbars, etc.) and custom functions that depend on historical results (f_consecutiveBarConfirmation, f_rsiSlopeConfirmation, f_rsiZonePersistence, f_applyAllFilters, f_rsiMomentum, f_forecast, f_confirmPivotLow, f_confirmPivotHigh) are called on every bar for consistency, as recommended by TradingView. Results are then used conditionally when needed. This ensures consistent calculations and prevents calculation inconsistencies.
NIFTY Weekly Option Seller DirectionalHere’s a straight description you can paste into the TradingView “Description” box and tweak if needed:
---
### NIFTY Weekly Option Seller – Regime + Score + Management (Single TF)
This indicator is built for **weekly option sellers** (primarily NIFTY) who want a **structured regime + scoring framework** to decide:
* Whether to trade **Iron Condor (IC)**, **Put Credit Spread (PCS)** or **Call Credit Spread (CCS)**
* How strong that regime is on the current timeframe (score 0–5)
* When to **DEFEND** existing positions and when to **HARVEST** profits
> **Note:** This is a **single timeframe** tool. The original system uses it on **4H and 1D separately**, then combines scores manually (e.g., using `min(4H, 1D)` for conviction and lot sizing).
---
## Core logic
The script classifies the market into 3 regimes:
* **IC (Iron Condor)** – range/mean-reversion conditions
* **PCS (Put Credit Spread)** – bullish/trend-up conditions
* **CCS (Call Credit Spread)** – bearish/trend-down conditions
For each regime, it builds a **0–5 score** using:
* **EMA stack (8/13/34)** – trend structure
* **ADX (custom DMI-based)** – trend strength vs range
* **Previous-day CPR** – in CPR vs break above/below
* **VWAP (session)** – near/far value
* **Camarilla H3/L3** – for IC context
* **RSI (14)** – used as a **brake**, not a primary signal
* **Daily trend / Daily ADX** – used as **hard gates**, not double-counted as extra points
Then:
* Scores for PCS / CCS / IC are **cross-penalised** (they pull each other down if conflicting)
* Final scores are **smoothed** (current + previous bar) to avoid jumpy signals
The **background colour** shows the current regime and conviction:
* Blue = IC
* Green = PCS
* Red = CCS
* Stronger tint = higher regime score
---
## Scoring details (per timeframe)
**PCS (uptrend, bullish credit spreads)**
* +2 if EMA(8) > EMA(13) > EMA(34)
* +1 if ADX > ADX_TREND
* +1 if close > CPR High
* +1 if close > VWAP
* RSI brake:
* If RSI < 50 → PCS capped at 2
* If RSI > 75 → PCS capped at 3
* Daily gating:
* If daily EMA stack is **not** uptrend → PCS capped at 2
**CCS (downtrend, bearish credit spreads)**
* +2 if EMA(8) < EMA(13) < EMA(34)
* +1 if ADX > ADX_TREND
* +1 if close < CPR Low
* +1 if close < VWAP
* RSI brake:
* If RSI > 50 → CCS capped at 2
* If RSI < 25 → CCS capped at 3
* Daily gating:
* If daily EMA stack is **not** downtrend → CCS capped at 2
**IC (range / mean-reversion)**
* +2 if ADX < ADX_RANGE (low trend)
* +1 if close inside CPR
* +1 if near VWAP
* +0.5 if inside Camarilla H3–L3
* +1 if daily ADX < ADX_RANGE (daily also range-like)
* +0.5 if RSI between 45 and 55 (classic balance zone)
* Daily gating:
* If daily ADX ≥ ADX_TREND → IC capped at 2 (no “strong IC” in strong trends)
**Cross-penalty & smoothing**
* Each regime’s raw score is reduced by **0.5 × max(other two scores)**
* Final IC / PCS / CCS scores are then **smoothed** with previous bar
* Scores are always clipped to ** **
---
## Regime selection
* If one regime has the highest score → that regime is selected.
* If there is a tie or close scores:
* When ADX is high, trend regimes (PCS/CCS) are preferred in the direction of the EMA stack.
* When ADX is low, IC is preferred.
The selected regime’s score is used for:
* Background colour intensity
* Minimum score gate for alerts
* Display in the info panel
---
## DEFEND / HARVEST / REGIME alerts
The script also defines **management signals** using ATR-based buffers and Camarilla breaks:
* **DEFEND**
* Price moving too close to short strikes (PCS/CCS/IC) relative to ATR, or
* Trend breaks through Camarilla with ADX strong
→ Suggests rolling away / widening / converting to reduce risk.
* **HARVEST**
* Price has moved far enough from your short strikes (in ATR multiples) and market is still range-compatible
→ Suggests booking profits / rolling closer / reducing risk.
* **REGIME CHANGED**
* Regime flips (IC ↔ PCS/CCS) with cooldown and minimum score gate
→ Suggests switching playbook (range vs trend) for new entries.
Each of these has a plotshape label plus an `alertcondition()` for TradingView alerts.
---
## UI / Panel
The **top-right panel** (optional) shows:
* Strategy + final regime score (IC / PCS / CCS, x/5)
* ADX / RSI values
* CPR status (Narrow / Normal / Wide + %)
* EMA Stack (Up / Down / Mixed) and EMA tightness
* VWAP proximity (Near / Away)
* Final **IC / PCS / CCS** scores (for this timeframe)
* H3/L3, H4/L4, CPR Low/High and VWAP levels (rounded)
These values are meant to be **read quickly at the decision time** (e.g. near the close of the 4H bar or daily bar).
---
## Intended workflow
1. Run the script on **4H** and **1D** charts separately.
2. For each timeframe, read the panel’s **IC / PCS / CCS scores** and regime.
3. Decide:
* Final regime (IC vs PCS vs CCS)
* Combined score (e.g. `AlignScore = min(Score_4H, Score_1D)`)
4. Map that combined score to **your own lot-size buckets** and trade rules.
5. During the life of the position, use **DEFEND / HARVEST / REGIME** alerts to adjust.
The script does **not** auto-calculate lot size or P&L. It focuses on giving a structured, consistent **market regime + strength + levels + management** layer for weekly option selling.
---
## Disclaimer
This is a discretionary **decision-support tool**, not a guarantee of profit or a replacement for risk management.
No performance is implied or promised. Always size positions and manage risk according to your own capital, rules, and regulations.
Confluence Engine [BullByte]CONFLUENCE ENGINE
Multi-Factor Technical Analysis Framework
OVERVIEW
Confluence Engine is a multi-dimensional technical analysis framework that evaluates market conditions across five distinct analytical pillars simultaneously. Rather than relying on a single indicator or signal source, this tool synthesizes Structure, Momentum, Volume, Volatility, and Pattern analysis into a unified scoring system that identifies high-probability trading opportunities when multiple technical factors align.
The core philosophy behind this indicator stems from a fundamental observation: isolated signals frequently fail, but when multiple independent analytical methods agree, the probability of a successful trade increases substantially. This indicator was developed after extensive research into why traders often receive conflicting signals from different indicators on their charts, leading to analysis paralysis and poor decision-making.
THE PROBLEM AND SOLUTION
The Problem:
Most traders use multiple indicators independently, often receiving contradictory signals. One indicator says "buy" while another says "wait." This creates confusion and leads to missed opportunities, premature entries based on incomplete analysis, difficulty quantifying how strong a setup actually is, and inconsistent decision-making across different market conditions.
The Solution:
Confluence Engine addresses this by providing a single, unified score (0-100) that represents the aggregate strength of a trading setup. Instead of mentally weighing five different indicators, traders receive a clear numerical score indicating setup quality, visual tier classification (ULTRA, HIGH, STANDARD), specific identification of which factors are strong or weak, and actionable guidance on what to watch for next.
THE FIVE ANALYTICAL DIMENSIONS
Each dimension was selected because it measures a fundamentally different aspect of market behavior:
STRUCTURE ANALYSIS
Evaluates price position relative to key levels and recent swing points. Markets respect structure - previous highs, lows, and areas where price reversed. This dimension identifies when price interacts with these critical levels and measures the quality of that interaction.
What it detects: Price approaching or sweeping swing highs/lows, reclaim patterns after false breakouts, EMA alignment and trend structure, exhaustion after extended moves.
MOMENTUM ANALYSIS
Measures the underlying strength and direction of price movement. Strong moves are characterized by momentum preceding price. This dimension evaluates whether momentum supports the current price direction.
What it detects: Oversold/overbought conditions with reversal potential, momentum divergence states, directional movement strength (ADX-based), momentum shifts before price confirmation.
VOLUME ANALYSIS
Volume validates price movement. Significant moves require participation. This dimension measures current volume relative to recent averages to determine if market participants are genuinely committing to the move.
What it detects: Volume spikes confirming price action, below-average volume warning of weak moves, climactic volume at potential reversals, volume confirmation of rejection patterns.
VOLATILITY ANALYSIS
Markets alternate between compression (low volatility) and expansion (high volatility). This dimension identifies these phases and recognizes when compression is likely to resolve into directional movement.
What it detects: Volatility squeeze conditions (Bollinger inside Keltner), squeeze release direction, ATR expansion indicating breakout potential, compression duration for timing breakouts.
PATTERN ANALYSIS
Candlestick patterns reflect the battle between buyers and sellers within each bar. This dimension evaluates the quality and context of reversal and continuation patterns.
What it detects: Engulfing patterns with quality scoring, hammer and shooting star formations, rejection wicks indicating trapped traders, pattern confluence with other factors.
WHAT MAKES THIS INDICATOR ORIGINAL Not a mashup
This is NOT a mashup of indicators displayed together. The Confluence Engine represents an integrated analytical framework with the following unique characteristics:
Unified Scoring System: All five dimensions feed into a proprietary scoring algorithm that weights and combines their signals. The output is a single 0-100 score, not five separate readings.
Multi-Factor Gate: Beyond just scoring, the system requires a minimum number of factors to be "active" (meeting their individual thresholds) before allowing signals. This prevents signals based on one extremely strong factor masking four weak ones.
Regime-Aware Adjustments: The engine detects the current market regime (trending, ranging, volatile, weak) and automatically adjusts factor weights and score multipliers. A structure signal means something different in a trending market versus a ranging market.
Adaptive Risk Management: Take-profit and stop-loss levels are not static. They adapt based on current volatility, market regime, and signal quality - providing tighter targets in low-volatility environments and wider targets when volatility expands.
Liquidity Sweep Detection: A distinctive feature that identifies when price has swept beyond a swing high/low and then reclaimed back inside. This pattern often indicates stop hunts followed by reversals.
Signal Quality Tiers: Rather than just "signal" or "no signal," the engine classifies setups into tiers. ULTRA (80+) represents highest probability setups with all factors aligned. HIGH (70-79) represents strong setups with multiple factors confirming. STANDARD meets minimum threshold for acceptable setups.
HOW THE SCORING WORKS
Each of the five factors generates a raw score from 0-100 based on current market conditions. These raw scores are then weighted according to the selected trading style (Balanced, Scalper, Swing, Range, Trend), adjusted based on current market regime detection, modified by higher timeframe alignment (if enabled), bonused when multiple factors exceed their activation thresholds simultaneously, and multiplied by session factors (if session filter is enabled).
The result is a final Bull Score and Bear Score, each ranging from 0-100, representing the current strength of long and short setups respectively.
Signal Generation Requirements:
- Score meets minimum threshold (configurable: 60-95)
- Required number of factors are "active" (default: 3 of 5)
- Market regime is not blocked (if blocking enabled)
- Higher timeframe alignment passes (if required)
- Cooldown period from last signal has elapsed
UNDERSTANDING THE DASHBOARDS
Main Dashboard (Top Right)
The main dashboard displays real-time scores and market context:
LONG Score - Current bullish setup strength (0-100) with quality tier displayed
SHORT Score - Current bearish setup strength (0-100) with quality tier displayed
Regime - Current market state showing TREND UP, TREND DN, VOLATILE, RANGE, or WEAK
HTF - Higher timeframe alignment showing BULL, BEAR, NEUT, or OFF
Squeeze - Volatility state showing SQZ (in squeeze), REL+ (bullish release), REL- (bearish release), or NORM
Gate - Factor count versus requirement, for example 4/3 means 4 factors active with 3 required
Sweep L/S - Liquidity sweep status for long and short setups
ATR% - Current ATR as percentile of recent range indicating relative volatility
Vol - Current volume relative to 20-period average
R:R - Current risk-reward ratio based on adaptive TP/SL calculations
Trade - Active trade status and unrealized profit/loss percentage
Analysis Dashboard (Bottom Left)
The analysis dashboard provides actionable guidance:
Signal Readiness - Visual progress bars showing how close each direction is to generating a signal
Blocking Factors - Identifies which specific factor is weakest and preventing signals
Recommended Action - Context-aware guidance such as WATCH, WAIT, MANAGE, or SCAN
Watch For - Specific events to monitor for setup completion
Opportunity Level - Overall market opportunity rating from EXCELLENT to VERY POOR
Timing - Contextual timing guidance based on current conditions
Status Bar (Bottom Center)
Compact view displaying Long Score, Gate Status, Current State, Gate Status, and Short Score in a single row for quick reference.
Dashboard Size - Auto Mode Explained
When Dashboard Size is set to "Auto", the indicator intelligently adjusts text size based on your current chart timeframe to optimize readability:
Auto-Sizing Logic:
1-Minute to 5-Minute Charts → Tiny
- Lower timeframes show more bars on screen
- Tiny text prevents dashboard from obscuring price action
- Recommended for scalping and high-frequency monitoring
15-Minute Charts → Small
- Balanced size for intraday trading
- Readable without being intrusive
1-Hour to Daily Charts → Normal
- Standard size for most trading styles
- Optimal readability for swing trading
Weekly and Monthly Charts → Large
- Larger text for position trading
- Fewer bars visible so space is available
Manual Override:
You can override auto-sizing for any dashboard individually:
- Dashboard Size (All): Sets master size applied to all dashboards
- Main Dashboard Size: Override for top-right dashboard specifically
- Analysis Panel Size: Override for bottom-left panel specifically
- Status Bar Size: Override for bottom-center bar specifically
Example Use Case:
Trading on 5m chart (default = Tiny) but you have good eyesight and large monitor:
- Set "Dashboard Size (All)" to "Small" or "Normal" for better readability
- Individual dashboards will use your override instead of auto-sizing
Recommendation:
Start with Auto mode and only adjust if dashboards are too large or too small for your monitor/eyesight.
UNDERSTANDING SIGNAL LABELS
When a signal generates, a label appears with trade information:
Minimal Style Example:
LONG 85
Shows tier icon, direction, and score only.
Detailed Style Example:
ULTRA LONG
Score: 85
Entry: 50250.50
TP1: 50650.25
TP2: 51500.75
SL: 49850.25
R:R 1:2.5
Regime: TREND UP
HTF: BULL
Tier Icons Explained:
indicates ULTRA quality with score 80 or higher
indicates HIGH quality with score between 70 and 79
indicates STANDARD quality with score meeting minimum threshold
UNDERSTANDING TRADE ZONES
When a signal generates, visual elements appear on the chart:
Entry Line (Purple) marks the entry price level
TP1 Line (Blue Dashed) marks the first take-profit target
TP2 Line (Cyan Dashed) marks the final take-profit target
SL Line (Orange Dotted) marks the stop-loss level
Trade Zone Box shows shaded area from SL to TP2
These elements extend forward as price progresses. When TP1 is hit, its line becomes solid to indicate achievement. When the trade completes at either TP2 or SL, all elements are cleaned up and the entry label converts to a compact ghost label for historical reference.
Exit Labels Explained:
+X.XX% indicates first target reached with partial profit secured
+X.XX% indicates full target reached with maximum profit achieved
-X.XX% indicates stop-loss triggered
TP1 Hit, SL... indicates stopped out after TP1 was already hit (optional display)
OPPOSITE SIGNAL HANDLING
When market conditions shift dramatically, the engine may generate a signal in the opposite direction while an existing trade is active. This represents a significant change in confluence and is handled automatically:
Automatic Trade Reversal Process:
1. Detection: New signal triggers opposite to current trade direction (e.g., SHORT signal while LONG trade is active)
2. Current Trade Closure:
- All visual elements (entry line, TP/SL lines, trade zone) are deleted
- Current trade is marked as closed
3. Entry Label Conversion:
- The detailed entry label is converted to a compact ghost label
- Ghost label shows direction + score (e.g., "LONG 75")
- Marked with "OPP" outcome to indicate opposite signal closure
- Moved to a non-interfering position below/above price
4. New Trade Initialization:
- Fresh entry label created for new direction
- New TP1, TP2, SL levels calculated based on new signal quality
- Trade zone and price lines drawn for new trade
Example Scenario:
You enter a LONG trade at score 72. Price moves sideways for 8 bars, then market structure breaks down. Confluence shifts heavily bearish with a sweep reclaim bear + momentum + volume spike, generating a SHORT signal at score 81. The engine automatically:
- Closes the LONG trade
- Converts "LONG 72" entry label to a small ghost label
- Opens new SHORT trade at current price
- Displays new SHORT entry label with full trade details
Trading Implication:
This behavior ensures the engine is always aligned with the highest-probability direction based on current confluence. It prevents you from holding a position when all five factors have flipped against you.
Note: This does NOT happen for every small score change. The opposite signal must meet all signal generation requirements (minimum score, gate pass, regime check, HTF alignment) before triggering. Typically occurs during strong trend reversals or major support/resistance breaks.
EXAMPLE TRADE : LONG
Instrument and Exchange: Bitcoin / TetherUS (BTC/USDT) on Binance
Timeframe: 5-minute
Timestamp: Nov 27, 2025 12:39 UTC
Indicator Script: Confluence Engine v1.0
Trade Type: Long (Example Trade)
Setting Used: Default
Signal Details:
- Tier: HIGH
- Score: 70
- Entry Price: 90040.70
- TP1 Target: 90868.63
- TP2 Target: 92110.52
- Stop Loss: 89325.94
- Risk Reward: 1:2.9
Trade Outcome:
- TP1 hit after 12 bars (+0.95%)
- TP2 hit after 28 bars (+2.85%)
- Total gain: +2.85% on full position
EXAMPLE TRADE : SHORT with Dashboard Explanation and interpretation
Instrument and Exchange: Ethereum / U.S. Dollar (ETH/USD) — Coinbase
Timeframe: 1-hour
Timestamp (screenshot): Nov 28, 2025 16:41 UTC
Indicator Script: Confluence Engine v1.0
Trade Type: Short (Example Trade)
Setting Used: Default
Signal Details
-Tier: STANDARD (STD)
-Score: 64
-Entry Price: 3037.26
-TP1 Target: 2981.61 (-55.65 pts)
-TP2 Target: 2898.12 (-139.14 pts)
-Stop Loss: 3099.79 (+62.53 pts)
-Risk:Reward: ≈ 1 : 2.2 (TP2/SL)
-Market Context at Signal
-Regime: TREND UP (contextual regime at time of signal) — mixed environment for shorts
-HTF Alignment: OFF (no higher-timeframe confirmation)
-Gate Status: 3 / 3 (minimum factor groups active — gate passed)
-Squeeze Status: NORM (no active compression breakout)
-Volume: ~1.8× average (elevated participation)
-ATR%: 57% (elevated volatility)
Analysis Dashboard Reading (what the user sees)
-Long Readiness: Needs +36 points to qualify.
-Short Readiness: Needs +11 points to qualify (closer but not auto-entering).
-Blocking Factors: Structure = 0 — the single decisive blocker preventing fresh signals.
-Opportunity Level: VERY POOR (roughly 20 / 100) — low quality environment for adding positions.
-Timing: Wait for better setup (do not add new positions).
-Trade Outcome (screenshot moment)
-Trade state: Active SHORT (opened earlier).
-Live P&L (snapshot): +0.14% (managing trade).
-TP1/TP2: Targets shown on chart (TP1 2981.61, TP2 2898.12). Not closed yet at screenshot.
-Visuals: Entry label, TP/SL lines and trade zone are displayed and being extended while trade is active.
Interpretation
The engine produced a standard short (Score 64) while the market showed elevated volume and volatility but no HTF confirmation. Although the Gate passed (3/3), Structure = 0 blocks the indicator from issuing fresh entries — this is intentional and by design: one missing factor (structure) is enough to prevent new signals even when other factors look supportive. The currently open short is being managed (partial targets and SL visible), but the system's recommendation is to manage the existing trade only and not open new shorts until structure or HTF alignment improves.
Why this example matters (teaching point)
-Gate ≠ Go: Gate pass (factor count) alone does not force fresh trades — the system enforces additional checks (structure, regime, HTF) to avoid lower-quality setups.
-Volume & Volatility are necessary but not sufficient: High volume and wide ATR create movement but do not replace structural validation.
-Active trade vs new entries: The script will continue to manage an already open trade but will not create a new signal while a blocking factor remains. This prevents overtrading and reduces false positives.
-Practical trader actions shown by the example
-Manage existing SHORT only: Trail to breakeven if TP1 is taken; scale out at TP1; hold remaining if price respects trend and structure reclaims.
-Do not add fresh positions: Wait for Structure > 0 or a HTF alignment that lifts the block.
-Watch for signals that matter: Sweep reclaim, HTF alignment turning bullish for shorts (i.e., HTF changes to BEAR), or a squeeze release with volume spike — these can clear the blocker and validate new entries.
RECOMMENDED TIMEFRAMES
For Scalping on 1m, 5m, or 15m charts: Use higher factor thresholds and shorter cooldowns. The faster pace requires stricter filtering.
For Day Trading on 15m, 30m, or 1H charts: This provides a balance of signal frequency and reliability suitable for most active traders.
For Swing Trading on 1H, 4H, or Daily charts: Expect higher quality signals with longer hold periods and fewer false signals.
For Position Trading on Daily or Weekly charts: Focus on ULTRA signals only for maximum conviction on longer-term positions.
Higher Timeframe Alignment Recommendations:
When trading 5m, use 1H as your HTF
When trading 15m, use 1H or 4H as your HTF
When trading 1H, use 4H or Daily as your HTF
When trading 4H, use Daily as your HTF
The general rule is to select an HTF that is 4 to 12 times your trading timeframe.
TRADING STYLE PRESETS
Balanced (Default)
Equal weighting across all five factors at 20% each. Suitable for most market conditions and recommended as starting point.
Scalper
Emphasizes Volume at 30% and Volatility at 30%. Designed for quick in-and-out trades on lower timeframes where immediate momentum and volatility expansion matter most.
Swing Trader
Emphasizes Structure at 30% and Momentum at 30%. Focuses on catching larger moves where trend direction and key levels are paramount.
Range Trader
Emphasizes Structure at 35% and Pattern at 25%. Optimized for sideways markets where support/resistance levels and reversal patterns dominate.
Trend Follower
Emphasizes Momentum at 40%. Designed for trending markets where staying with the dominant direction is the priority.
QUALITY MODE SETTINGS
Custom Mode
Set your own minimum score threshold. Lower thresholds between 60 and 65 generate more signals but with lower average quality. Higher thresholds of 75 or above generate fewer but higher-quality signals.
High Quality Mode
Uses minimum score of 70. Recommended for most users as it filters out marginal setups while still providing reasonable signal frequency.
Ultra Only Mode
Uses minimum score of 80 for maximum selectivity. Only the highest-conviction setups generate signals. Recommended for swing and position traders or during uncertain market conditions.
REGIME DETECTION
The engine continuously evaluates market conditions and classifies them into five states:
TREND UP
Characteristics: Strong ADX reading with EMAs aligned in bullish order
Trading Implications: Long signals receive score boost while short signals are suppressed. Momentum factor gains additional weight.
TREND DN
Characteristics: Strong ADX reading with EMAs aligned in bearish order
Trading Implications: Short signals receive score boost while long signals are suppressed. Momentum factor gains additional weight.
VOLATILE
Characteristics: High ATR percentile, wide Bollinger Bands, elevated volume
Trading Implications: Both directions remain viable but wider stops are recommended. Volume factor gains additional weight.
RANGE
Characteristics: Low ADX reading, narrow Bollinger Bands, low ATR percentile
Trading Implications: Structure signals are emphasized while momentum signals are suppressed. Pattern recognition becomes more important.
WEAK
Characteristics: Unclear or mixed conditions that do not fit other categories
Trading Implications: Reduced confidence in all signals. Consider waiting for clearer market conditions.
Filter Mode Options:
Off - Regime is detected and displayed but no score adjustments are applied
Adjust Scores - Automatically modifies factor weights based on current regime
Block Weak Regimes - Prevents signals from generating when regime is RANGE or WEAK
VOLATILITY SQUEEZE DETECTION
A volatility squeeze occurs when Bollinger Bands contract inside the Keltner Channel, indicating reduced volatility and potential energy building for a breakout.
Squeeze States Explained:
SQZ with bar count (example: SQZ 15)
Indicates currently in squeeze for the displayed number of bars. A score penalty is applied during this phase because compression represents uncertainty about direction.
REL+ (Release Bullish)
Indicates squeeze has released with price above the basis line. Score bonus is applied for long setups as this often precedes strong upward moves.
REL- (Release Bearish)
Indicates squeeze has released with price below the basis line. Score bonus is applied for short setups as this often precedes strong downward moves.
NORM (Normal)
No active squeeze detected. Standard scoring applies.
Trading Implication:
Squeeze releases often produce strong directional moves. The engine detects both the squeeze duration and the release direction, awarding bonus points to signals that align with the release. Longer squeeze duration often corresponds to more powerful breakouts.
LIQUIDITY SWEEP DETECTION
Markets often sweep beyond obvious support and resistance levels to trigger stops before reversing. The engine detects these patterns:
Bullish Sweep Reclaim
Price sweeps below recent swing low, triggering stop losses, then reclaims back above the swing low. This often indicates smart money accumulation after retail stops are collected.
Bearish Sweep Reclaim
Price sweeps above recent swing high, triggering stop losses, then reclaims back below the swing high. This often indicates smart money distribution after retail stops are collected.
Sweep Status in Dashboard:
RCL (Reclaim) - Reclaim has been confirmed. This receives highest structure score as the pattern is complete.
PND (Pending) - Sweep has occurred and price is near the level but full reclaim not yet confirmed. Watching for completion.
ACT (Active) - Sweep is currently in progress with price beyond the swing level.
Dash (-) - No sweep activity detected.
MULTI-FACTOR GATE SYSTEM
Beyond overall score, the engine counts how many individual factors meet their activation threshold.
Example Calculation:
Structure score 45 with threshold 35 equals ACTIVE
Momentum score 25 with threshold 30 equals INACTIVE
Volume score 50 with threshold 35 equals ACTIVE
Volatility score 40 with threshold 30 equals ACTIVE
Pattern score 35 with threshold 30 equals ACTIVE
Result: 4 of 5 factors are active
If minimum required factors is set to 3, this example passes the gate and receives a 4-factor bonus.
Gate Bonuses:
4 factors active adds 8 points to final score (default setting)
5 factors active adds 15 points to final score (perfect confluence)
Purpose:
This mechanism prevents scenarios where one extremely high factor score masks four weak factors. A score of 75 with only 2 active factors is less reliable than a score of 70 with 4 active factors.
ADAPTIVE RISK MANAGEMENT
Take-profit and stop-loss distances adjust dynamically based on three inputs:
Volatility Influence (default 40% weight)
Low ATR percentile produces tighter targets
High ATR percentile produces wider targets
This ensures stops are not too tight in volatile conditions or too wide in calm conditions.
Regime Influence (default 30% weight)
Trending market with aligned signal produces extended targets
Ranging market produces contracted targets
Volatile regime produces wider stops for protection
Score Influence (default 30% weight)
ULTRA signals (high conviction) receive extended targets
STANDARD signals receive standard targets
Higher conviction justifies larger profit expectations.
You can configure the weight of each influence in settings to match your trading style.
SESSION FILTER (Optional Feature)
When enabled, the engine applies score multipliers based on the trading session:
Asian Session (default 0.9x multiplier)
Characterized by lower volatility and ranging tendency. Score reduction reflects reduced opportunity.
London Session (default 1.1x multiplier)
Characterized by high volatility and trend initiation. Score boost reflects increased opportunity.
London/NY Overlap (default 1.2x multiplier)
Characterized by highest liquidity and strongest moves. Maximum score boost reflects peak trading conditions.
New York Session (default 1.05x multiplier)
Characterized by volatility but typically after initial moves have occurred.
Configure your UTC offset in settings to align session detection with your chart timezone.
ALERT SYSTEM
The indicator provides comprehensive alerts with dynamic data:
Signal Alerts:
- ULTRA Long Signal with full trade details
- ULTRA Short Signal with full trade details
- HIGH Long Signal with key levels
- HIGH Short Signal with key levels
- Any Long Signal with basic info
- Any Short Signal with basic info
Trade Management Alerts:
- TP1 Reached with profit percentage
- TP2 Full Target with total profit
- Stop Loss Hit with loss percentage and status
Technical Event Alerts:
- Squeeze Release
- Liquidity Sweep
- Perfect Confluence
- Regime Change
All alerts include actual calculated values such as score, entry price, target levels, stop level, and risk-reward ratio at the time of trigger.
AUTOMATIC SETTINGS VALIDATION
The indicator performs comprehensive validation when first loaded on a chart. If configuration errors are detected, a warning label appears on the chart with specific guidance.
Critical Errors (Prevent Signal Generation):
ULTRA threshold must exceed HIGH threshold
- Example error: HIGH = 75, ULTRA = 70
- Fix: Ensure ULTRA threshold is higher than HIGH threshold
- Default safe values: HIGH = 70, ULTRA = 80
Minimum factors cannot exceed 5
- The gate requires 3 to 5 factors (you cannot require 6 of 5 factors)
- Fix: Set minimum active factors to 3, 4, or 5
TP2 multiplier must exceed TP1 multiplier
- Example error: TP1 = 3.0 ATR, TP2 = 2.0 ATR
- Fix: Ensure TP2 (final target) is farther than TP1 (partial target)
- Default safe values: TP1 = 2.0, TP2 = 5.0
Swing lookback minimum is 3 bars
- Liquidity sweep detection requires at least 3 bars to identify swing highs/lows
- Fix: Increase swing lookback period to 3 or higher
ATR period minimum is 5 bars
- ATR calculation requires sufficient data for accuracy
- Fix: Increase ATR period to 5 or higher (14 recommended)
Higher timeframe must be larger than chart timeframe
- Example error: Trading on 1H chart with MTF set to 15m
- Fix: Select HTF that is 4-12x your chart timeframe
- Example: If trading 15m, use 1H or 4H as HTF
Warnings (Signal Generation Continues):
Score threshold below 50 generates many signals
- Lower thresholds increase signal frequency but reduce quality
- Recommendation: Use minimum 60 for active trading, 70+ for swing trading
Cooldown below 3 bars may cause signal clustering
- Very short cooldowns can produce multiple signals in quick succession
- Recommendation: Use 5+ bars for lower timeframes, 3+ for higher timeframes
Validation Label Display:
When errors are detected, a label appears at the top of the chart showing:
SETTINGS QUICK REFERENCE
Signal Quality Section:
Quality Mode: High Quality recommended for most users
Custom Minimum Score: Used when Quality Mode is set to Custom (range 30-95)
HIGH Threshold: Score required for HIGH tier classification (default 70)
ULTRA Threshold: Score required for ULTRA tier classification (default 80)
Regime Engine Section:
Enable Regime Detection: Activates automatic market state classification
Filter Mode: Off, Adjust Scores, or Block Weak Regimes
ADX Strong Threshold: ADX level indicating strong trend (default 25)
ADX Weak Threshold: ADX level indicating ranging conditions (default 15)
Show Regime Background: Displays subtle background color for current regime
Liquidity and Squeeze Section:
Enable Liquidity Sweep Detection: Activates sweep and reclaim pattern detection
Swing Lookback Period: Bars used to identify swing highs and lows (default 8)
Reclaim Threshold: Percentage of range price must reclaim after sweep (default 15%)
Enable Volatility Squeeze Detection: Activates Bollinger/Keltner squeeze detection
Keltner Channel Multiplier: Width multiplier for Keltner Channel (default 1.5)
Squeeze Penalty: Points subtracted during active squeeze (default 25)
Squeeze Release Bonus: Points added on squeeze release (default 20)
Enable Multi-Factor Gate: Requires minimum factors active before signaling
Minimum Active Factors: How many factors must meet threshold (default 3)
Individual Factor Thresholds: Customize activation threshold for each factor
4-Factor Bonus: Points added when 4 of 5 factors active (default 8)
5-Factor Bonus: Points added when all 5 factors active (default 15)
MTF Confluence Section:
Enable MTF Confluence: Activates higher timeframe trend analysis
Higher Timeframe: Select timeframe for trend alignment (recommend 4-12x chart TF)
Require HTF Alignment: Block signals opposing higher timeframe trend
Show HTF EMAs: Display higher timeframe EMA 21 and EMA 50 on chart
Trading Style Section:
Enable Style Weighting: Activates factor weight adjustments based on style
Trading Style: Balanced, Scalper, Swing Trader, Range Trader, or Trend Follower
Custom Weights: Individual weight sliders when fine-tuning is needed
Session Filter Section:
Enable Session Filter: Activates session-based score multipliers
Your UTC Offset: Your timezone offset for accurate session detection
Session Multipliers: Individual multipliers for Asian, London, New York, and Overlap sessions
Risk Parameters Section:
ATR Period: Period for Average True Range calculation (default 14)
TP1 ATR Multiple: First target distance as ATR multiple (default 2.0)
TP2 ATR Multiple: Final target distance as ATR multiple (default 5.0)
SL ATR Multiple: Stop loss distance as ATR multiple (default 2.0)
Enable Adaptive TP/SL: Activates dynamic adjustment based on conditions
Volatility Weight: Influence of ATR percentile on adaptive calculation (default 40%)
Regime Weight: Influence of market regime on adaptive calculation (default 30%)
Score Weight: Influence of signal score on adaptive calculation (default 30%)
Appearance Section:
Color Theme: Matrix (green/red), Dark (modern dark), or Light (clean light)
Label Detail: Minimal (score only), Standard (key info), or Detailed (full breakdown)
Dashboard Size Controls: Master size and individual overrides for each dashboard
Show Trade Zones: Display shaded box from SL to TP2 for active trades
Show TP/SL Labels: Display price labels on target and stop lines
Show Trailing Exit Labels: Display exit label when stopped after TP1 hit
Show Main Dashboard: Toggle main dashboard visibility (top right)
Show Analysis Dashboard: Toggle analysis panel visibility (bottom left)
Show Status Bar: Toggle compact status bar visibility (bottom center)
Performance Section:
Performance Mode: Reduces visual elements on lower timeframes automatically
Max Ghost Labels: Maximum historical signal labels to retain (default 50)
Signal Cooldown: Minimum bars between signals in same direction (default 5)
Enable Script Alerts: Controls whether alert() calls fire automatically (default ON)
- ON: Dynamic alerts with calculated values fire automatically
- OFF: alert() suppressed, alertcondition() still available for manual creation
- Use OFF when testing settings or monitoring multiple instruments visually
- Toggle per-chart for selective alert coverage across watchlist
Show Factor Markers: Display shapes on chart when 3, 4, or 5 factors align
Show Score Breakdown: Display detailed factor scores table in debug panel
Show Regime Debug: Display regime state and ADX value in debug panel
Show MTF Debug: Display higher timeframe status in debug panel
DEBUG MODE AND FACTOR MARKERS
The indicator includes optional debug tools for traders who want deeper insight into the scoring mechanics and factor analysis. These features are disabled by default to keep the chart clean but can be enabled in the Debug Mode settings group.
FACTOR MARKERS
When "Show Factor Markers" is enabled, visual shapes appear on the chart indicating confluence states:
Perfect Confluence (5/5 Factors Active)
A circle appears below the bar for bullish or above the bar for bearish setups. This represents maximum confluence where all five analytical dimensions meet their activation thresholds simultaneously. A small label showing "5/5" also appears. This is a rare occurrence and typically precedes the highest quality signals. Background color shifts to highlight this exceptional alignment.
Strong Confluence (4/5 Factors Active)
A diamond shape appears below the bar for bullish or above the bar for bearish setups. This represents strong confluence with four of five factors active. A label showing "4/5" appears when this state is first achieved. This level of confluence is associated with high-quality setups.
Ready Confluence (3/5 Factors Active)
A triangle appears below the bar (pointing up) for bullish or above the bar (pointing down) for bearish setups. This represents the minimum confluence level required when gate is set to 3 factors. No label appears for this level to reduce visual clutter.
Confluence Background
When factor markers are enabled, a subtle background color appears indicating the current confluence state. Stronger colors indicate higher confluence levels. Bullish confluence shows green tints while bearish confluence shows red tints.
Purpose of Factor Markers:
These markers help traders visualize when confluence is building before a signal triggers. You might see a 4/5 diamond appear one or two bars before the actual signal, giving you advance notice that conditions are aligning. This can help with preparation and timing.
DEBUG PANEL (Bottom Right)
When any debug option is enabled, a debug panel appears in the bottom right corner of the chart providing detailed scoring information.
Score Breakdown Table
When "Show Score Breakdown" is enabled, the panel displays:
Factor column showing Structure, Momentum, Volume, Volatility, and Pattern
Bull column showing raw score (0-100) for each bullish factor
Bear column showing raw score (0-100) for each bearish factor
Weight column showing current percentage weight for each factor
Below the factor rows :
FINAL row shows the calculated final Bull and Bear scores after all adjustments
Adj row shows total adjustments applied including gate bonus, squeeze adjustment, and exhaustion adjustment with positive or negative sign
This breakdown allows you to see exactly which factors are contributing to the score and which are lagging. If you notice Structure consistently low, you know to wait for better price positioning relative to swing levels.
Regime Debug
When "Show Regime Debug" is enabled, the panel displays:
Current regime state (TREND UP, TREND DN, VOLATILE, RANGE, WEAK)
Current ADX value driving the regime classification
This helps you understand why certain score adjustments are being applied and verify the regime detection is working as expected for current market conditions.
MTF Debug
When "Show MTF Debug" is enabled, the panel displays:
Current MTF alignment status (BULL, BEAR, NEUT)
The higher timeframe being analyzed
This confirms the higher timeframe data is being read correctly and shows you the trend bias from the larger timeframe perspective.
Using Debug Mode Effectively
For Learning: Enable all debug options when first using the indicator to understand how scores are calculated and what drives signal generation.
For Optimization: Use score breakdown to identify which factors are consistently weak in your chosen market and timeframe. This can inform whether to adjust factor thresholds or switch trading styles.
For Troubleshooting: If signals seem inconsistent, enable debug to see exactly what values the engine is working with. This helps identify if a specific factor is behaving unexpectedly.
For Live Trading: Disable debug features to keep chart clean and reduce visual distraction. The main dashboards provide sufficient information for trade execution.
Debug Settings Summary:
Show Factor Markers - Displays shapes on chart when 3, 4, or 5 factors align. Useful for seeing confluence build before signals trigger.
Show Score Breakdown - Displays detailed table with all raw factor scores, weights, and adjustments. Useful for understanding exactly how final score is calculated.
Show Regime Debug - Adds regime state and ADX value to debug panel. Useful for verifying regime detection accuracy.
Show MTF Debug - Adds higher timeframe status and timeframe to debug panel. Useful for confirming MTF data is loading correctly.
PERFORMANCE CONSIDERATIONS
On lower timeframes such as 1-minute and 5-minute charts, the indicator creates visual elements including labels, lines, and boxes that may impact performance on slower devices.
Performance Mode automatically reduces visual elements, optimizes calculation frequency, and limits historical ghost labels when enabled.
Configure Max Ghost Labels (default 50) to control how many historical signal labels are retained on the chart.
NON-REPAINTING DESIGN
Signal Integrity:
All entry and exit signals generate only on confirmed (closed) bars using barstate.isconfirmed checks. This ensures signals do not appear and disappear during bar formation.
Higher Timeframe Data:
MTF analysis uses request.security with lookahead disabled (barmerge.lookahead_off) to prevent future data from influencing current calculations.
Visual Elements:
Lines, boxes, and labels for active trades update in real-time for monitoring purposes but this visual updating does not affect signal generation logic. Entry decisions are made solely on confirmed bar data.
DISCLAIMER
Trading financial instruments involves substantial risk of loss and is not suitable for all investors. Past performance does not guarantee future results. This indicator is a technical analysis tool provided for educational purposes only. It does not constitute financial advice, trading recommendations, or solicitation to buy or sell any financial instrument.
The developer makes no representations regarding the accuracy of signals or the profitability of trading based on this indicator. Users assume full responsibility for their trading decisions and should conduct their own analysis before entering any trade.
Always use proper risk management. Never risk more than you can afford to lose. Consider consulting a qualified financial advisor before making trading decisions.
VERSION HISTORY
v1.0 - Initial Release
- Five-factor confluence scoring system
- Regime detection and automatic adaptation
- Liquidity sweep and reclaim detection
- Volatility squeeze state machine
- Multi-factor gate with bonus system
- Adaptive risk management
- Comprehensive alert system
- Three dashboard display panels
- Session filter with multipliers
- Multiple trading style presets
- Theme customization options
Developed by BullByte
Pine Script v6
2025
Apex Liquidity & Trend Architect [Smart]Trading charts often suffer from two problems: Noise (too many false signals in chopping markets) and Clutter (too many old lines and zones obscuring price).
ALTA solves both. It is a streamlined, institutional-grade trend system that uses ADX filtering to silence weak signals and Time-Decay logic to automatically clean up old liquidity zones. It respects your screen real estate, showing you only what matters, right now.
1. The "Smart" Engine
Unlike standard trend indicators that repaint or clutter the screen, ALTA introduces three key innovations:
A. Hull Moving Average (HMA) Baseline
We have upgraded the core engine to use the Hull Moving Average. HMA is significantly faster and smoother than standard EMAs or SMAs, reducing lag on entry signals.
Note: You can switch back to WMA or SMA in the settings if you prefer a slower pace.
B. ADX Momentum Filtering
Quality over Quantity: The script monitors the ADX (Average Directional Index). If the trend flips, but the ADX is below 20 (weak trend), the signal is blocked.
This prevents you from getting chopped out during sideways accumulation phases. You only get a "BUY" or "SELL" label when there is actual momentum behind the move.
C. Adaptive Gradient Coloring
The candles do not just turn Green or Red. They change intensity based on trend strength.
Bright/Vivid Candles: Strong Momentum (High ADX).
Dark/Dull Candles: Weak Momentum (Low ADX).
Visual Cue: If the candles are fading into the background, stay out of the market.
2. Self-Cleaning Liquidity Zones
Most support/resistance indicators leave old boxes on the chart forever. ALTA uses a Decay Protocol.
Volume Validation: Supply/Demand zones are only drawn if the pivot point had volume significantly higher than average (configurable).
Mitigation: If price wicks through a zone, it is deleted instantly.
Time Decay (New): If a zone is not hit within a set number of bars (Default: 100), it automatically deletes itself. This keeps your chart focused on fresh levels only.
3. The Minimalist HUD
A simplified dashboard in the corner of your screen provides an instant health check of the market:
ALTA Label: System Status.
Trend: BULL / BEAR / WAIT (Squeeze).
Power: WEAK / SOLID / STRONG (Based on ADX).
4. How to Trade (The Strategy)
The High-Probability Buy
Trend: Ribbon is Green.
Candles: Candles are Bright Green (indicating High ADX Strength).
Signal: A "BUY" label appears (confirmed by ADX filter).
Liquidity: Price is bouncing off a valid Demand Zone.
The High-Probability Sell
Trend: Ribbon is Red.
Candles: Candles are Bright Red (indicating High ADX Strength).
Signal: A "SELL" label appears.
Liquidity: Price is rejecting off a valid Supply Zone.
When to STAY OUT
The Squeeze: If the ribbon turns Grey/White, volatility is compressing. Wait for the breakout.
The Fade: If the candles are dark/translucent, momentum is dying. Take profits or wait for a fresh impulse.
5. Settings & Customization
Basis Type: Switch between HMA (Fast), WMA (Standard), or SMA (Slow).
Signal Quality Filter: Toggle the ADX filter on/off.
Zone Life: How many bars should a Supply/Demand zone survive before decaying?
Tooltips: Every single setting in this script includes a descriptive tooltip. Hover over the "i" icon in the settings menu for detailed explanations of every feature.
Disclaimer
This indicator is for educational purposes only. Past performance (even with smart filtering) does not guarantee future results. Always manage your risk.
Enhanced Trend & EMA Screener### Overview
Enhanced Trend & EMA Screener is a multi-symbol overlay indicator that aggregates trend, momentum, structure, strength, and volatility signals across up to 8 user-defined tickers (e.g., SPY, QQQ, AAPL, MSFT) on a chosen timeframe, using a fused methodology of exponential moving average (EMA) crossovers for entry triggers, Ichimoku cloud positioning for equilibrium assessment, Average Directional Index (ADX) for trend persistence, Average True Range (ATR) percentile regimes for volatility context, and a linear regression slope as a lightweight momentum proxy for directional bias. By normalizing and scoring these into a unified sentiment matrix (Bullish/Bearish/Neutral per metric), it enables rapid confluence detection—e.g., a ticker scoring Bullish on 5/6 metrics signals high-probability alignment—via a color-coded dashboard and debug table. Crossover labels and alerts provide actionable notifications, streamlining portfolio surveillance without juggling multiple charts or indicators.
### Core Mechanics
The screener fetches secure, non-repainting data for each ticker via `request.security` (lookahead off) and processes signals in parallel on the last bar for efficiency. Each component contributes to a holistic sentiment score, where EMA crossovers act as kinetic triggers, Ichimoku provides structural bias, ADX validates strength, ATR contextualizes risk, and linear regression offers a predictive slope—integrated to avoid isolated signals and emphasize multi-factor agreement:
- **EMA Crossovers (Momentum Triggers)**: Tracks price interactions with layered EMAs (10, 21, 50, 89 periods) using `ta.crossover`/`ta.crossunder`. A close above EMA10 flags short-term bullish acceleration; below EMA89 signals long-term bearish reversal. These serve as the "spark" for alerts/labels (e.g., "AAPL ↑ EMA21"), prioritized in the dashboard's Crossover column to highlight recent events.
- **Ichimoku Cloud Positioning (Equilibrium Structure)**: Computes Tenkan-sen (9-period HL/2), Kijun-sen (26-period), Senkou Span A (midpoint projected 26 bars ahead), and Span B (52-period high/low midpoint). Scores cloud interaction quantitatively: Close above both spans = Bullish (8/10, price in "future equilibrium" zone); below = Bearish (2/10); within = Neutral (5/10). This overlays EMA kinetics with forward-looking support/resistance, filtering crossovers in choppy ranges (e.g., neutral score mutes weak EMA10 breaks).
- **ADX Directionality (Trend Strength Filter)**: Via `ta.dmi(14)`, compares +DI/-DI lines: +DI > -DI = Bullish (uptrend dominance); -DI > +DI = Bearish; parity = Neutral. ADX value (14-period) adds implicit strength (though not scored here, it contextualizes via sentiment). Integrates by downweighting EMA triggers in low-strength neutrals, ensuring signals reflect sustained direction rather than noise.
- **ATR Volatility Regimes (Risk Context)**: Calculates ATR(14) normalized as % of close, then percentile-ranked over 20 bars with directional trend (rising/falling/stable). High percentile (>75%) + rising = Bullish (8/10, expansion favors trends); low (<25%) + falling = Bearish (2/10, contraction warns reversals); mid + stable = Neutral (5/10). This modulates other signals—e.g., bullish EMA in rising ATR boosts confluence, preventing entries in contracting vols where trends fizzle.
- **Linear Regression Slope (Momentum Proxy)**: Uses `ta.linreg(close, 21, 0)` to fit a least-squares line, deriving slope as % change (current - prior linreg / close * 100). >0% threshold = Bullish (upward trajectory); <-threshold = Bearish; near-zero = Neutral. This proxies directional momentum by extrapolating price inertia, synergizing with Ichimoku/ADX for "predicted persistence"—e.g., positive slope confirms ADX bullishness.
- **Multi-Timeframe (MTF) Overlay**: Pulls weekly linear regression sentiment for higher-TF bias, displayed separately to contextualize daily signals (e.g., daily Bullish + weekly Bearish = caution).
Aggregation: Per-ticker row in the 7-column dashboard (Symbol, EMA Trend, MTF, Ichimoku, ADX, ATR, Crossover) uses color-coding (green/red/gray) for at-a-glance scans; a debug table exposes raw values (prices, EMAs, slopes) for transparency. On-chart: Plots EMAs and linreg line; labels (e.g., "TSLA ↓ EMA50") mark crossovers with ticker tags.
### Why This Adds Value & Originality
Single-metric screeners (e.g., pure EMA cross) generate excessive noise; multi-indicator dashboards often aggregate without integration, leading to conflicting reads. This mashup is purposeful: EMAs provide tactical triggers, but are filtered by Ichimoku's structural equilibrium (avoiding breaks in "cloud fog"), ADX's strength validation (ignoring weak trends), ATR's vol regime (scaling for market phases), and linreg's slope (forecasting sustainability)—creating a "confluence engine" where isolated signals (e.g., EMA10 cross) require 3+ agreements for dashboard prominence. The MTF weekly linreg adds hierarchical depth, and percentile-normalized ATR ensures cross-asset comparability (e.g., NVDA vol vs. SPY). Unlike generic mashups (e.g., Bollinger + RSI stacks), this uses linreg to "predict" EMA/ADX outcomes, reducing false positives by ~40% in backtests on QQQ Daily (verifiable via strategy conversion). No public equivalent fuses these five with MTF + debug transparency in a compact 8-ticker format, enabling efficient portfolio rotation (e.g., buy tickers with 4+ Bullish scores).
### How to Use
- **Setup**: Overlay on any chart (e.g., SPY Daily). Edit tickers (e.g., swap GOOGL for NVDA); select timeframe (D default for swings); adjust periods (shorter EMAs for intraday). Set linreg threshold (0% sensitive, 0.5% conservative). Enable labels/debug for visuals/raws.
- **Interpret Dashboard**:
- **Rows**: One per ticker; scan columns for alignment (e.g., AAPL: Green across EMA/Ichimoku/ADX + ↑ EMA21 = strong buy bias).
- **Crossover**: Recent events (e.g., "↑ 50" green = bullish momentum shift).
- **Confluence Rule**: 4+ Bullish = long setup; MTF mismatch = hold.
- **Debug Table**: Verify (e.g., EMA10=150.25 > price=149.80 = no cross).
- **Trading Example**: On QQQ 1H, dashboard shows Bullish EMA (slope +0.3%), Ichimoku (above cloud), ADX (up), ATR (rising), MTF Neutral, with "↑ 10" crossover → Enter long, stop below EMA21, target next resistance. Alerts notify "MSFT crossed above EMA50 on D".
Best for daily portfolio scans (stocks/indices); 1H–W timeframes. Pair with volume for entries.
### Tips
- Customize: High-vol tickers (TSLA)? Raise ATR percentile to 80; low-vol (bonds)? Lower linreg threshold to -0.2%.
- Efficiency: Limit to 4–6 tickers on mobile; use debug for slope tuning.
- Alerts: Freq once/bar_close; customize messages for specifics (e.g., "Bullish confluence on {{ticker}}").
### Limitations & Disclaimer
Fetches lag by timeframe resolution (e.g., D = EOD); crossovers confirm on close (no intra-bar). Sentiments are filters, not standalone signals—false positives in ranges (e.g., neutral Ichimoku mutes but doesn't eliminate). Linreg slope is linear approximation, not advanced modeling (overfits trends). No position sizing/exits—integrate ATR*1.5 stops, risk <1%. Backtest per ticker/timeframe. Not advice; educational tool only. Past patterns ≠ future. Comments for enhancements!
Dynamic Timeframe Trend AnalyzerPurpose and Core Logic
This indicator automatically adjusts its calculations based on the current chart’s timeframe, allowing traders to analyze trends, momentum, and mean reversion opportunities without manually changing indicator settings for each interval. It detects potential long or short setups by combining several techniques:
Dynamic Timeframe Factor
The script compares the current timeframe to a base (e.g., 5 minutes) and calculates a “factor” to scale certain parameters, such as EMA lengths or ATR settings. This reduces the need to reconfigure indicators when switching timeframes.
Regime Detection
It uses ADX (Average Directional Index) to classify the market as strongly trending, moderately trending, choppy, or in a potential mean-reversion phase.
RSI (Relative Strength Index) is also monitored for extreme levels (e.g., overbought/oversold) to detect potential reversal zones.
Volume is compared to a moving average to confirm or refute volatility conditions.
Trend & Mean Reversion Signals
EMA Alignment (8/21/55) helps identify bullish or bearish phases (strong bull if all EMAs align upward, strong bear if aligned downward).
For mean reversion opportunities, the script checks if ADX is sufficiently low (indicating weak or no trend) while price and RSI are at extreme levels—suggesting a snapback or countertrend move may occur.
Dynamic Stop Loss & Take Profit
Uses ATR (Average True Range) to set initial stop-loss (SL) and take-profit (TP) levels, then adjusts these levels further with “regime multipliers” based on whether the market is in a high-volatility trend or a quieter mean-reversion environment.
This approach aims to place stops and targets in a more adaptive way, reflecting current market conditions rather than a one-size-fits-all approach.
Visual Aids
Color-coded chart backgrounds (e.g., greenish for bullish trend, red for bearish, yellow/orange for mean reversion).
Triangles to show recent bullish/bearish signals.
A status table in the top-right corner (optional) displaying key metrics like ADX, RSI, dynamic thresholds, current SL/TP levels, and whether a stop loss has been hit.
How It Works Internally
ADX & Dynamic Thresholds:
A moving average (adx_mean) and standard deviation (adx_std) of the ADX are calculated over a lookback period to define “strong” vs. “weak” ADX thresholds.
This allows the script to adapt to changing volatility and trend strength in different markets or timeframes.
Mean Reversion Criteria:
The indicator checks if price deviates significantly from its own moving average, alongside RSI extremes. If ADX suggests no strong directional push (i.e., the market is “quiet”), it may classify conditions as mean-reverting.
Regime Multipliers:
Once the script identifies the market regime (e.g., strong uptrend, choppy, mean reversion), it applies different multipliers to the user-defined base values for stop-loss and take-profit. For instance, strong trending conditions might allow for wider stops to handle volatility, while mean reversion signals use tighter exits to capture quick reversals.
How to Use It
Timeframe Agnostic
Simply apply it to any timeframe (from 1-minute up to daily or weekly). The “Dynamic Timeframe Factor” will scale the indicator parameters automatically.
Look for Buy/Sell Triangles
When the script detects a valid bullish trend shift or a mean-reversion long setup, it plots a green triangle under the price bar. Conversely, it plots a red triangle above the price bar for bearish or mean-reversion short setups.
Check the Status Table
The table in the top-right corner summarizes the indicator’s current readings: ADX, RSI, volume trends, and the market regime classification.
The table also shows if a stop loss has been hit (SL Hit) and displays recommended SL/TP levels if a signal is active.
Stop Loss & Take Profit
The script plots lines for SL and TP on your chart after a new signal. These lines are automatically adjusted based on ATR, volume conditions, and ADX-derived multipliers.
Mean Reversion vs. Trend-Following
If you see a “Mean Rev” state in the table or the background turning yellow/orange, it suggests potential countertrend trades. Conversely, “STRONG BULL” or “STRONG BEAR” states favor momentum-based entries in the prevailing direction.
Originality & Benefits
Adaptive to Timeframe: Many indicators require reconfiguration when switching from short to long timeframes. This script automates that process using the “timeframe factor” logic.
Regime-Based SL/TP: Instead of fixed risk parameters, the script dynamically tunes stop and target levels depending on whether the market is trending or reverting.
Comprehensive Market View: It combines multiple factors—ADX, RSI, volume, moving averages, and volatility measurements—into a single, integrated framework that categorizes the market regime in real time.
Best Practices & Notes
Timeframes: It typically performs well on intraday timeframes (5m, 15m, 1H) but can also be used for swing trading on 4H or Daily charts.
Settings: The defaults are a good starting point, but you can adjust the base ATR multiplier or ADX lookbacks if you prefer a different balance between sensitivity and stability.
Risk Management: This indicator is not a guarantee of any specific results. Always use proper risk management (position sizing, stop-losses, and diversified strategies).
Alert Conditions: Built-in alert conditions can notify you when a new long or short signal appears, or when a stop loss is triggered.
SUSH ALGOStep-by-Step Guide for Trading Using the Script
1. Asset Selection
When applying this script, the first thing to do is select your desired asset to trade.
You can select from the following assets within the script:
Scalping
Gold
USD/JPY
EUR/USD
EUR/JPY
BTC/USD
NIFTY 50
The parameters for the strategy (e.g., q, r, s, and ADX Threshold) will adjust automatically based on your selected asset. If you want to use custom parameters, turn on the Use Manual Settings option.
2. Adjust Manual Settings (Optional)
Use Manual Settings: Toggle this if you want to input your custom values for the strategy parameters.
Manual q: Affects swing period calculation.
Manual r: Affects the smoothing in the calculation of the oscillator.
Manual s: Affects the smoothing period of the main line of the oscillator.
Manual Signal Length: Length of the signal line for generating buy/sell signals.
Manual ADX Threshold: Adjusts the ADX value to filter trades based on trend strength.
3. Reading the SMI (Stochastic Momentum Index) Oscillator
SMI: This indicator oscillates between overbought and oversold levels, signaling potential entry and exit points.
Overbought Level: +30
Oversold Level: -30
The signal line is calculated based on the smoothed SMI value.
A crossover above the signal line in the oversold region (< -30) signals a buy.
A crossunder below the signal line in the overbought region (> +30) signals a sell.
4. Trade Signal Alerts
Buy Signal Alert: Triggered when the SMI crosses over the signal line in the oversold zone, and ADX exceeds the threshold.
Sell Signal Alert: Triggered when the SMI crosses under the signal line in the overbought zone, and ADX exceeds the threshold.
5. Entry, Stop Loss, and Target Levels
Entry Line: The script will plot an entry line at the close price when a buy or sell signal is triggered.
Stop Loss: A stop loss will be set based on the lowest low (for buy signals) or highest high (for sell signals) of the previous candles.
Take Profit Targets:
Target 1 (TP1): 3 times the size of the entry candle.
Target 2 (TP2): 6 times the size of the entry candle.
Target 3 (TP3): 10 times the size of the entry candle.
Make sure the Show Entry, Show Stop Loss, and Show Targets toggles are enabled to visualize these lines on the chart.
6. Monitoring the ADX (Average Directional Index)
The ADX value filters weak signals, ensuring that you trade only in trending markets.
If ADX > adxThreshold, the trend is strong, and the buy or sell signal becomes valid.
If ADX < adxThreshold, the trade signals are ignored to avoid trading in sideways markets.
7. Box, Line, and Label Toggles for Swing Highs/Lows
The script allows you to visualize swing highs and lows for better market context. You can toggle the following options:
Show Boxes: Displays rectangular boxes around the swing highs and lows.
Show Swing Lines: Plots lines at swing highs and lows for visual confirmation of key price levels.
Show Labels: Adds text labels to the swing levels, indicating whether they represent a swing high or low.
8. Customize Appearance (Optional)
You can change the appearance of the boxes, lines, and labels, such as their color, width, and style (solid or dotted), from the Appearance settings.
9. Monitor Volume and Open Interest (Optional)
You can also track volume and open interest (OI) data from various exchanges like Binance and BitMEX to get additional confirmations.
Steps for Trading
1.Select your asset from the drop-down menu based on your trading preferences.
2.Adjust manual settings (optional) if you want to use your own parameters for the strategy.
3.Wait for a buy or sell signal to trigger based on the crossover of the SMI oscillator in the overbought/oversold regions.
4.Once a signal is triggered, check for the plotted entry price, stop loss, and take profit levels on your chart.
5.Monitor the ADX value to ensure that the market is trending strongly.
6.If the trade meets your criteria, enter the trade at the indicated price.
Set your stop loss and take profit orders as indicated by the script.
Key Notes
# This strategy is designed for both trending and mean-reversion markets depending on the asset and the ADX value.
# Make sure to practice proper risk management by adjusting the stop loss and position size based on your risk tolerance.
Trend Type Indicator by BobRivera990Usage:
The purpose of this indicator is to programmatically determine the type of price trend using technical analysis tools.
You can do a quick check on the asset’s higher and lower time frames. For example, if you are trading on an H1 chart, you can check the m5 chart to ensure that the trend is in the same direction and similarly check the H4 chart to ensure that the higher time frame price is also moving in the same direction.
If multiple time frame charts confirm a similar trend, then it is considered a very strong trend and ideal for Trend trading.
Remarks:
By default, the last status is related to 8 periods before the latest closing price.
Related definitions:
The three basic types of trends are up, down, and sideways.
1. Uptrend
An uptrend describes the price movement of a financial asset when the overall direction is upward. The uptrend is composed of higher swing lows and higher swing highs.
Some market participants ("long" trend traders) only choose to trade during uptrends.
2. Downtrend
A downtrend refers to the price action of a security that moves lower in price as it fluctuates over time.
The downtrend is composed of lower swing lows and lower swing highs.
3. Sideways
A sideways trend is the horizontal price movement that occurs when the forces of supply and demand are nearly equal. This typically occurs during a period of consolidation before the price continues a prior trend or reverses into a new trend.
How it works:
Step 1: Sideways Trend Detection
In this step we want to distinguish the sideways trend from uptrend and downtrend. For this purpose, we use two common technical analysis tools: ATR and ADX
1. Average True Range (ATR)
The average true range (ATR) is a technical analysis indicator that measures market volatility.
We also use a 20-period moving average of the ATR.
When the ATR is below the average of its last 20-periods, it means that the rate of price volatility has decreased and we conclude that the current trend is sideways
2. Average Directional Index (ADX)
The average directional index (ADX) is a technical analysis indicator used by some traders to determine the strength of a trend.
The trend has strength when ADX is above 25.
So when the ADX is less than or equal to 25, there is no strong trend, and we conclude that the current type of trend is sideways.
Step 2: Detect uptrend from downtrend
If it turns out that the current price trend is not sideways, then it is either uptrend or downtrend.
For this purpose, we use plus and minus directional Indicators (+ DI & -DI).
A general interpretation would be that during a strong trend, when +DI is higher than -DI, it is an uptrend. When -DI is higher than +DI, it is a downtrend.
Parameters:
"Use ATR …" ________________________// Use Average True Range (ATR) to detect Sideways Movements
"ATR Length"_______________________ // length of the Average True Range (ATR) used to detect Sideways Movements
"ATR Moving Average Type" ___________// Type of the moving average of the ATR used to detect Sideways Movements
"ATR MA Length" ____________________// length of the moving average of the ATR used to detect Sideways Movements
"Use ADX ..."_______________________ // Use Average Directional Index (ADX) to detect Sideways Movements
"ADX Smoothing”____________________// length of the Average Directional Index (ADX) used to detect Sideways Movements
"DI Length"_________________________// length of the Plus and Minus Directional Indicators (+DI & -DI) used to determine the direction of the trend
"ADX Limit" ________________________// A level of ADX used as the boundary between Trend Market and Sideways Market
"Smoothing Factor"__________________// Factor used for smoothing the oscillator
"Lag"______________________________// lag used to match indicator and chart
Resources:
www.investopedia.com
Helix Protocol 7Helix Protocol 7
Overview
Helix Protocol 7 is a trend-adaptive signal engine that automatically adjusts its buy and sell criteria based on current market conditions. Rather than using fixed thresholds that work well in some environments but fail in others, Helix detects whether the market is in a strong uptrend, neutral consolidation, or downtrend, then applies the appropriate signal parameters for each state. This adaptive approach helps traders buy dips aggressively in confirmed uptrends while requiring much stricter conditions before buying in downtrends.
Core Philosophy
The fundamental insight behind Helix is that the same indicator readings mean different things in different market contexts. An RSI of 45 during a strong uptrend represents a healthy pullback and buying opportunity. That same RSI of 45 during a confirmed downtrend might just be a brief pause before further decline. Helix encodes this context-awareness directly into its signal logic.
The Money Line
At the center of the indicator is the Money Line, which can be configured as either a linear regression line or a weighted combination of exponential moving averages. Linear regression provides a mathematically optimal fit through recent price data, while the weighted EMA option offers more responsiveness to recent price action. The slope of the Money Line determines whether the immediate price trend is bullish, bearish, or neutral, which affects the color of the bands and cloud shading.
Dynamic Envelope Bands
Upper and lower bands are calculated using Average True Range multiplied by a dynamic factor. When ADX indicates trending conditions, the bands automatically widen to accommodate larger price swings. The Chaikin Accumulation/Distribution indicator also influences band width, with strong accumulation or distribution causing additional band expansion. This dual adaptation helps the bands remain relevant across different volatility regimes.
Trend State Detection
Helix classifies market conditions into four distinct states using a combination of ADX behavior and Directional Movement analysis.
Strong Uptrend requires ADX to be rising (gaining momentum), ADX value above a threshold (default 25), and the positive directional indicator exceeding the negative. This combination confirms not just that price is rising, but that the trend is strengthening.
Strong Downtrend uses the same ADX requirements but with the negative directional indicator dominant. This identifies accelerating downward momentum.
Weak Downtrend is detected when ADX is falling (trend losing steam) but negative DI still exceeds positive DI. This often represents the exhaustion phase of a decline.
Neutral applies when none of the above conditions are met, typically during consolidation or when directional indicators are close together.
Adaptive Signal Thresholds
The indicator uses Fisher Transform and RSI as its primary oscillators, but the trigger levels change based on trend state.
During Strong Uptrend, buy conditions are relaxed significantly. The Fisher threshold might be set to 1.0 (only slightly below neutral) and RSI to 50, allowing entries on minor pullbacks within the established trend. Sell conditions are tightened, requiring Fisher above 2.5 and RSI above 70, letting winning positions run longer.
During Neutral conditions, both buy and sell thresholds return to traditional oversold and overbought levels. Fisher must reach -2.0 for buys and +2.0 for sells, with RSI requirements around 30 and 65 respectively.
During Downtrend, buy conditions become very strict. Fisher must reach extreme oversold levels like -2.5 and RSI must drop below 25, ensuring buys only trigger on genuine capitulation. Sell conditions are loosened, allowing exits on any meaningful bounce.
This asymmetric approach embodies the trading principle of being aggressive when conditions favor you and defensive when they do not.
Band Touch Signals
In addition to oscillator-based signals, Helix generates signals when price touches the dynamic bands. A touch of the lower band indicates potential support and generates a buy signal. A touch of the upper band suggests potential resistance and generates a sell signal. These band-based signals work alongside the oscillator signals, providing entries even when Fisher and RSI have not reached their thresholds.
Extreme Move Detection
Sometimes price moves so violently that it penetrates the bands by an unusual amount. Helix measures this penetration depth as a percentage of ATR and can flag these as "extreme" signals. Extreme signals have special properties: they can fire intra-bar (before the candle closes) to catch wick entries, they can bypass normal cooldown periods, and they can optionally bypass volatility freezes. This allows the indicator to capture panic selling events that might be missed by waiting for candle closes.
Cascade Protection System
A critical feature for risk management is the built-in cascade protection that prevents averaging down into oblivion. The system has two components.
First, it tracks Bollinger Band Width Percentile, which measures current volatility relative to its historical range. When BBWP exceeds a threshold (default 92%), indicating a volatility spike often associated with sharp directional moves, all buy signals are temporarily frozen. This prevents entries during the most dangerous market conditions.
Second, it counts consecutive buy signals without an intervening sell. After reaching the maximum (default 3), no additional buy signals are generated until a sell occurs. This absolute limit prevents the common mistake of repeatedly buying a falling asset.
The protection status is displayed in the information panel, showing current BBWP level and the consecutive buy count.
RSI Divergence Detection
Helix includes automatic detection of RSI divergences, which often precede trend reversals. Regular bullish divergence occurs when price makes a lower low but RSI makes a higher low, suggesting weakening downside momentum. Regular bearish divergence is the opposite pattern at tops. Hidden divergences, which suggest trend continuation rather than reversal, are also detected and can be displayed optionally. Divergence lines are drawn directly on the price chart connecting the relevant pivot points.
Signal Cooldown
To prevent signal clustering and overtrading, a configurable cooldown period prevents new signals for a set number of bars after each signal. This ensures each signal represents a distinct trading opportunity.
Visual Components
The indicator provides comprehensive visual feedback. The Money Line changes color based on slope direction. The cloud shading between bands reflects trend bias. An ADX bar at the bottom of the chart uses color coding to show trend state at a glance: lime for strong uptrend, red for downtrend, white for ranging (very low ADX), orange for flat, and blue for trending but not yet strong.
Price labels appear at signal locations showing the entry or exit price, the trigger type (band touch, uptrend dip, capitulation, etc.), and the current position in the consecutive buy count.
The information panel displays current trend state, divergence status, BBWP freeze status, buy counter, ADX with direction arrow, DI spread, Fisher and RSI values, and the current active thresholds for buy and sell signals. A compact mode is available for mobile devices.
How to Use
In strong uptrends, look for buy signals on pullbacks to the Money Line or lower band. The relaxed thresholds will generate more frequent entries, which is appropriate when trend momentum is confirmed. Consider letting sell signals pass if the trend remains strong.
In neutral markets, treat signals more selectively. Both buy and sell signals require significant oscillator extremes, making them higher-probability but less frequent.
In downtrends, exercise extreme caution with buy signals. The strict requirements mean buys only trigger on major oversold conditions. Respect sell signals promptly, as the loosened thresholds are designed to protect capital.
Always monitor the cascade protection status. If BBWP shows frozen or the buy counter is at maximum, the indicator is warning you that conditions are dangerous for new long entries.
Settings Guidance
The default settings are calibrated for cryptocurrency markets on 5-minute timeframes. For other assets or timeframes, consider adjusting the ADX threshold for strong trend detection (lower for less volatile assets), the Fisher and RSI thresholds for each trend state, and the BBWP freeze level based on the asset's typical volatility profile.
The indicator includes a debug panel that can be enabled to show the detailed state of all conditions, useful for understanding why signals are or are not firing.
ZENADX Flow DI+ DI-ZENADX Flow Di+ Di- — Modified ADX/DI Trend Structure
This indicator is a refined and brand-aligned enhancement of the classic ADX, +DI, and –DI system, inspired by the original open-source work of Gustavo Cardelle (Gu5).
The ZENADX Flow version focuses on clear trend interpretation, minimal visual noise, and stable performance for discretionary and algorithmic traders.
🔍 What This Indicator Does
ADX Line (White Base Tone)
Shows overall trend strength. Rising ADX = strengthening trend.
Color-Coded ADX Flow
Green shades → Bullish directional strength
Red shades → Bearish directional strength
White → Low ADX / ranging market
+DI and –DI Structure
Helps identify which side (buyers or sellers) currently controls momentum.
DI Cross (Yellow Signal Marker)
Highlights potential trend-shift zones where +DI and –DI intersect.
Trend Markers Above the Indicator
Bullish Trend
Bearish Trend
Strong Bullish
Strong Bearish
End Trend (trend exhaustion)
✨ Improvements in the ZENADX Flow Edition
New optimized defaults: DI Length = 8, Range Level = 25, Trend Level = 25
Cleaned color logic for clarity and emotional neutrality
Removed bar-coloring to keep price action clean
Alerts remain always available (no toggle required)
Fully rewritten into safe, stable Pine formatting to avoid syntax issues
📌 Recommended For
Trend-followers
Momentum traders
Algo developers using DI/ADX states
Reversal detection (via DI Cross)
🧭 ZENADX Flow Research
Developed and refined under the ZENADX Flow Research methodology, focusing on:
Simplicity
Psychological clarity
Consistency
Actionable trend structure
📝 License
This work extends the original script by Gustavo Cardelle (Gu5) and follows the same license:
Attribution–NonCommercial 4.0 International (CC BY-NC 4.0)
-------------------------------------------------------------------
ZENADX Flow Di+ Di- — ระบบวิเคราะห์เทรนด์ ADX/DI เวอร์ชันปรับปรุง
อินดิเคเตอร์ตัวนี้เป็นการพัฒนาและปรับปรุงจากโครงสร้างดั้งเดิมของ ADX / +DI / –DI โดยอ้างอิงจากงานต้นฉบับของ Gustavo Cardelle (Gu5)
เวอร์ชัน ZENADX Flow ถูกออกแบบให้ อ่านง่าย ชัดเจน และรองรับการใช้งานทั้งเทรดมืออาชีพและระบบอัตโนมัติ
🔍 สิ่งที่อินดิเคเตอร์นี้ช่วยให้เห็น
ADX สีขาวเป็นฐาน
แสดง “ความแข็งแรงของเทรนด์” (ไม่ใช่ทิศทาง)
โทนสีบอกพลังเทรนด์
เขียวเข้ม/อ่อน → เทรนด์ขาขึ้นกำลังแข็งแรง/อ่อน
แดงเข้ม/อ่อน → เทรนด์ขาลงกำลังแข็งแรง/อ่อน
ขาว → ช่วงตลาด Sideway / เทรนด์อ่อน
+DI / –DI
ช่วยบอกว่าซื้อหรือขายกำลังคุมตลาดอยู่
DI Cross (จุดสีเหลือง)
เป็นสัญญาณเปลี่ยนโมเมนตัมที่สำคัญ
สัญลักษณ์เหนืออินดิเคเตอร์
Bullish Trend
Bearish Trend
Strong Bullish
Strong Bearish
End Trend (จบเทรนด์)
✨ สิ่งที่ปรับปรุงในเวอร์ชัน ZENADX Flow
ค่าเริ่มต้นใหม่ที่เหมาะกับ Flow Trading: DI = 8, Range = 25, Trend = 25
ลบ bar-coloring เพื่อให้กราฟสะอาด
ระบบสีอ่านง่าย ไม่ปนกัน
Alerts ทำงานพร้อมใช้ทันที
จัด Code Format แบบ “Safe Format” เพื่อป้องกัน error ขณะแก้ไข
🧭 พัฒนาโดย ZENADX Flow Research
ยึดหลักสำคัญของ ZENADX คือ
ความเรียบง่าย
ความชัดเจนทางจิตวิทยา
ความสม่ำเสมอ
มุ่งเน้นเทรนด์ที่ “ไหล” ตามโครงสร้างตลาดจริง
📝 License
สคริปต์นี้พัฒนาต่อยอดจากอินดิเคเตอร์ต้นฉบับของ Gustavo Cardelle (Gu5)
และยังใช้สัญญาอนุญาตเดียวกัน:
Attribution–NonCommercial 4.0 International (CC BY-NC 4.0)
Kernel Market Dynamics [WFO - MAB]Kernel Market Dynamics
⚛️ CORE INNOVATION: KERNEL-BASED DISTRIBUTION ANALYSIS
The Kernel Market Dynamics system represents a fundamental departure from traditional technical indicators. Rather than measuring price levels, momentum, or oscillator extremes, KMD analyzes the statistical distribution of market returns using advanced kernel methods from machine learning theory. This allows the system to detect when market behavior has fundamentally changed—not just when price has moved, but when the underlying probability structure has shifted.
The Distribution Hypothesis:
Traditional indicators assume markets move in predictable patterns. KMD assumes something more profound: markets exist in distinct distributional regimes , and profitable trading opportunities emerge during regime transitions . When the distribution of recent returns diverges significantly from the historical baseline, the market is restructuring—and that's when edge exists.
Maximum Mean Discrepancy (MMD):
At the heart of KMD lies a sophisticated statistical metric called Maximum Mean Discrepancy. MMD measures the distance between two probability distributions by comparing their representations in a high-dimensional feature space created by a kernel function.
The Mathematics:
Given two sets of normalized returns:
• Reference period (X) : Historical baseline (default 100 bars)
• Test period (Y) : Recent behavior (default 20 bars)
MMD is calculated as:
MMD² = E + E - 2·E
Where:
• E = Expected kernel similarity within reference period
• E = Expected kernel similarity within test period
• E = Expected cross-similarity between periods
When MMD is low : Test period behaves like reference (stable regime)
When MMD is high : Test period diverges from reference (regime shift)
The final MMD value is smoothed with EMA(5) to reduce single-bar noise while maintaining responsiveness to genuine distribution changes.
The Kernel Functions:
The kernel function defines how similarity is measured. KMD offers four mathematically distinct kernels, each with different properties:
1. RBF (Radial Basis Function / Gaussian):
• Formula: k(x,y) = exp(-d² / (2·σ²·scale))
• Properties: Most sensitive to distribution changes, smooth decision boundaries
• Best for: Clean data, clear regime shifts, low-noise markets
• Sensitivity: Highest - detects subtle changes
• Use case: Stock indices, major forex pairs, trending environments
2. Laplacian:
• Formula: k(x,y) = exp(-|d| / σ)
• Properties: Medium sensitivity, robust to moderate outliers
• Best for: Standard market conditions, balanced noise/signal
• Sensitivity: Medium - filters minor fluctuations
• Use case: Commodities, standard timeframes, general trading
3. Cauchy (Default - Most Robust):
• Formula: k(x,y) = 1 / (1 + d²/σ²)
• Properties: Heavy-tailed, highly robust to outliers and spikes
• Best for: Noisy markets, choppy conditions, crypto volatility
• Sensitivity: Lower - only major distribution shifts trigger
• Use case: Cryptocurrencies, illiquid markets, volatile instruments
4. Rational Quadratic:
• Formula: k(x,y) = (1 + d²/(2·α·σ²))^(-α)
• Properties: Tunable via alpha parameter, mixture of RBF kernels
• Alpha < 1.0: Heavy tails (like Cauchy)
• Alpha > 3.0: Light tails (like RBF)
• Best for: Adaptive use, mixed market conditions
• Use case: Experimental optimization, regime-specific tuning
Bandwidth (σ) Parameter:
The bandwidth controls the "width" of the kernel, determining sensitivity to return differences:
• Low bandwidth (0.5-1.5) : Narrow kernel, very sensitive
- Treats small differences as significant
- More MMD spikes, more signals
- Use for: Scalping, fast markets
• Medium bandwidth (1.5-3.0) : Balanced sensitivity (recommended)
- Filters noise while catching real shifts
- Professional-grade signal quality
- Use for: Day/swing trading
• High bandwidth (3.0-10.0) : Wide kernel, less sensitive
- Only major distribution changes register
- Fewer, stronger signals
- Use for: Position trading, trend following
Adaptive Bandwidth:
When enabled (default ON), bandwidth automatically scales with market volatility:
Effective_BW = Base_BW × max(0.5, min(2.0, 1 / volatility_ratio))
• Low volatility → Tighter bandwidth (0.5× base) → More sensitive
• High volatility → Wider bandwidth (2.0× base) → Less sensitive
This prevents signal flooding during wild markets and avoids signal drought during calm periods.
Why Kernels Work:
Kernel methods implicitly map data to infinite-dimensional space where complex, nonlinear patterns become linearly separable. This allows MMD to detect distribution changes that simpler statistics (mean, variance) would miss. For example:
• Same mean, different shape : Traditional metrics see nothing, MMD detects shift
• Same volatility, different skew : Oscillators miss it, MMD catches it
• Regime rotation : Price unchanged, but return distribution restructured
The kernel captures the entire distributional signature —not just first and second moments.
🎰 MULTI-ARMED BANDIT FRAMEWORK: ADAPTIVE STRATEGY SELECTION
Rather than forcing one strategy on all market conditions, KMD implements a Multi-Armed Bandit (MAB) system that learns which of seven distinct strategies performs best and dynamically selects the optimal approach in real-time.
The Seven Arms (Strategies):
Each arm represents a fundamentally different trading logic:
ARM 0 - MMD Regime Shift:
• Logic: Distribution divergence with directional bias
• Triggers: MMD > threshold AND direction_bias confirmed AND velocity > 5%
• Philosophy: Trade the regime transition itself
• Best in: Volatile shifts, breakout moments, crisis periods
• Weakness: False alarms in choppy consolidation
ARM 1 - Trend Following:
• Logic: Aligned EMAs with strong ADX
• Triggers: EMA(9) > EMA(21) > EMA(50) AND ADX > 25
• Philosophy: Ride established momentum
• Best in: Strong trending regimes, directional markets
• Weakness: Late entries, whipsaws at reversals
ARM 2 - Breakout:
• Logic: Bollinger Band breakouts with volume
• Triggers: Price crosses BB outer band AND volume > 1.2× average
• Philosophy: Capture volatility expansion events
• Best in: Range breakouts, earnings, news events
• Weakness: False breakouts in ranging markets
ARM 3 - RSI Mean Reversion:
• Logic: RSI extremes with reversal confirmation
• Triggers: RSI < 30 with uptick OR RSI > 70 with downtick
• Philosophy: Fade overbought/oversold extremes
• Best in: Ranging markets, mean-reverting instruments
• Weakness: Fails in strong trends, catches falling knives
ARM 4 - Z-Score Statistical Reversion:
• Logic: Price deviation from 50-period mean
• Triggers: Z-score < -2 (oversold) OR > +2 (overbought) with reversal
• Philosophy: Statistical bounds reversion
• Best in: Stable volatility regimes, pairs trading
• Weakness: Trend continuation through extremes
ARM 5 - ADX Momentum:
• Logic: Strong directional movement with acceleration
• Triggers: ADX > 30 with DI+ or DI- strengthening
• Philosophy: Momentum begets momentum
• Best in: Trending with increasing velocity
• Weakness: Late exits, momentum exhaustion
ARM 6 - Volume Confirmation:
• Logic: OBV trend + volume spike + candle direction
• Triggers: OBV > EMA(20) AND volume > average AND bullish candle
• Philosophy: Follow institutional money flow
• Best in: Liquid markets with reliable volume
• Weakness: Manipulated volume, thin markets
Q-Learning with Rewards:
Each arm maintains a Q-value representing its expected reward. After every bar, the system calculates a reward based on the arm's signal and actual price movement:
Reward Calculation:
If arm signaled LONG:
reward = (close - close ) / close
If arm signaled SHORT:
reward = -(close - close ) / close
If arm signaled NEUTRAL:
reward = 0
Penalty multiplier: If loss > 0.5%, reward × 1.3 (punish big losses harder)
Q-Value Update (Exponential Moving Average):
Q_new = Q_old + α × (reward - Q_old)
Where α (learning rate, default 0.08) controls adaptation speed:
• Low α (0.01-0.05): Slow, stable learning
• Medium α (0.06-0.12): Balanced (recommended)
• High α (0.15-0.30): Fast, reactive learning
This gradually shifts Q-values toward arms that generate positive returns and away from losing arms.
Arm Selection Algorithms:
KMD offers four mathematically distinct selection strategies:
1. UCB1 (Upper Confidence Bound) - Recommended:
Formula: Select arm with max(Q_i + c·√(ln(t)/n_i))
Where:
• Q_i = Q-value of arm i
• c = exploration constant (default 1.5)
• t = total pulls across all arms
• n_i = pulls of arm i
Philosophy: Balance exploitation (use best arm) with exploration (try uncertain arms). The √(ln(t)/n_i) term creates an "exploration bonus" that decreases as an arm gets more pulls, ensuring all arms get sufficient testing.
Theoretical guarantee: Logarithmic regret bound - UCB1 provably converges to optimal arm selection over time.
2. UCB1-Tuned (Variance-Aware UCB):
Formula: Select arm with max(Q_i + √(ln(t)/n_i × min(0.25, V_i + √(2·ln(t)/n_i))))
Where V_i = variance of rewards for arm i
Philosophy: Incorporates reward variance into exploration. Arms with high variance (unpredictable) get less exploration bonus, focusing effort on stable performers.
Better bounds than UCB1 in practice, slightly more conservative exploration.
3. Epsilon-Greedy (Simple Random):
Algorithm:
With probability ε: Select random arm (explore)
With probability 1-ε: Select highest Q-value arm (exploit)
Default ε = 0.10 (10% exploration, 90% exploitation)
Philosophy: Simplest algorithm, easy to understand. Random exploration ensures all arms stay updated but may waste time on clearly bad arms.
4. Thompson Sampling (Bayesian):
The most sophisticated selection algorithm, using true Bayesian probability.
Each arm maintains Beta distribution parameters:
• α (alpha) = successes + 1
• β (beta) = failures + 1
Selection Process:
1. Sample θ_i ~ Beta(α_i, β_i) for each arm using Marsaglia-Tsang Gamma sampler
2. Select arm with highest sample: argmax_i(θ_i)
3. After reward, update:
- If reward > 0: α += |reward| × 100 (increment successes)
- If reward < 0: β += |reward| × 100 (increment failures)
Why Thompson Sampling Works:
The Beta distribution naturally represents uncertainty about an arm's true win rate. Early on with few trials, the distribution is wide (high uncertainty), leading to more exploration. As evidence accumulates, it narrows around the true performance, naturally shifting toward exploitation.
Unlike UCB which uses deterministic confidence bounds, Thompson Sampling is probabilistic—it samples from the posterior distribution of each arm's success rate, providing automatic exploration/exploitation balance without tuning.
Comparison:
• UCB1: Deterministic, guaranteed regret bounds, requires tuning exploration constant
• Thompson: Probabilistic, natural exploration, no tuning required, best empirical performance
• Epsilon-Greedy: Simplest, consistent exploration %, less efficient
• UCB1-Tuned: UCB1 + variance awareness, best for risk-averse
Exploration Constant (c):
For UCB algorithms, this multiplies the exploration bonus:
• Low c (0.5-1.0): Strongly prefer proven arms, rare exploration
• Medium c (1.2-1.8): Balanced (default 1.5)
• High c (2.0-3.0): Frequent exploration, diverse arm usage
Higher exploration constant in volatile/unstable markets, lower in stable trending environments.
🔬 WALK-FORWARD OPTIMIZATION: PREVENTING OVERFITTING
The single biggest problem in algorithmic trading is overfitting—strategies that look amazing in backtest but fail in live trading because they learned noise instead of signal. KMD's Walk-Forward Optimization system addresses this head-on.
How WFO Works:
The system divides time into repeating cycles:
1. Training Window (default 500 bars): Learn arm Q-values on historical data
2. Testing Window (default 100 bars): Validate on unseen "future" data
Training Phase:
• All arms accumulate rewards and update Q-values normally
• Q_train tracks in-sample performance
• System learns which arms work on historical data
Testing Phase:
• System continues using arms but tracks separate Q_test metrics
• Counts trades per arm (N_test)
• Testing performance is "out-of-sample" relative to training
Validation Requirements:
An arm is only "validated" (approved for live use) if:
1. N_test ≥ Minimum Trades (default 10): Sufficient statistical sample
2. Q_test > 0 : Positive out-of-sample performance
Arms that fail validation are blocked from generating signals, preventing the system from trading strategies that only worked on historical data.
Performance Decay:
At the end of each WFO cycle, all Q-values decay exponentially:
Q_new = Q_old × decay_rate (default 0.95)
This ensures old performance doesn't dominate forever. An arm that worked 10 cycles ago but fails recently will eventually lose influence.
Decay Math:
• 0.95 decay after 10 periods → 0.95^10 = 0.60 (40% forgotten)
• 0.90 decay after 10 periods → 0.90^10 = 0.35 (65% forgotten)
Fast decay (0.80-0.90): Quick adaptation, forgets old patterns rapidly
Slow decay (0.96-0.99): Stable, retains historical knowledge longer
WFO Efficiency Metric:
The key metric revealing overfitting:
Efficiency = (Q_test / Q_train) for each validated arm, averaged
• Efficiency > 0.8 : Excellent - strategies generalize well (LOW overfit risk)
• Efficiency 0.5-0.8 : Acceptable - moderate generalization (MODERATE risk)
• Efficiency < 0.5 : Poor - strategies curve-fitted to history (HIGH risk)
If efficiency is low, the system has learned noise. Training performance was good but testing (forward) performance is weak—classic overfitting.
The dashboard displays real-time WFO efficiency, allowing users to gauge system robustness. Low efficiency should trigger parameter review or reduced position sizing.
Why WFO Matters:
Consider two scenarios:
Scenario A - No WFO:
• Arm 3 (RSI Reversion) shows Q-value of 0.15 on all historical data
• System trades it aggressively
• Reality: It only worked during one specific ranging period
• Live trading: Fails because market has trended since backtest
Scenario B - With WFO:
• Arm 3 shows Q_train = 0.15 (good in training)
• But Q_test = -0.05 (loses in testing) with 12 test trades
• N_test ≥ 10 but Q_test < 0 → Arm BLOCKED
• System refuses to trade it despite good backtest
• Live trading: Protected from false strategy
WFO ensures only strategies that work going forward get used, not just strategies that fit the past.
Optimal Window Sizing:
Training Window:
• Too short (100-300): May learn recent noise, insufficient data
• Too long (1000-2000): May include obsolete market regimes
• Recommended: 4-6× testing window (default 500)
Testing Window:
• Too short (50-80): Insufficient validation, high variance
• Too long (300-500): Delayed adaptation to regime changes
• Recommended: 1/5 to 1/4 of training (default 100)
Minimum Trades:
• Too low (5-8): Statistical noise, lucky runs validate
• Too high (30-50): Many arms never validate, system rarely trades
• Recommended: 10-15 (default 10)
⚖️ WEIGHTED CONFLUENCE SYSTEM: MULTI-FACTOR SIGNAL QUALITY
Not all signals are created equal. KMD implements a sophisticated 100-point quality scoring system that combines eight independent factors with different importance weights.
The Scoring Framework:
Each potential signal receives a quality score from 0-100 by accumulating points from aligned factors:
CRITICAL FACTORS (20 points each):
1. Bandit Arm Alignment (20 points):
• Full points if selected arm's signal matches trade direction
• Zero points if arm disagrees
• Weight: Highest - the bandit selected this arm for a reason
2. MMD Regime Quality (20 points):
• Requires: MMD > dynamic threshold AND directional bias confirmed
• Scaled by MMD percentile (how extreme vs history)
• If MMD in top 10% of history: 100% of 20 points
• If MMD at 50th percentile: 50% of 20 points
• Weight: Highest - distribution shift is the core signal
HIGH IMPACT FACTORS (15 points each):
3. Trend Alignment (15 points):
• Full points if EMA(9) > EMA(21) > EMA(50) for longs (inverse for shorts)
• Scaled by ADX strength:
- ADX > 25: 100% (1.0× multiplier) - strong trend
- ADX 20-25: 70% (0.7× multiplier) - moderate trend
- ADX < 20: 40% (0.4× multiplier) - weak trend
• Weight: High - trend is friend, alignment increases probability
4. Volume Confirmation (15 points):
• Requires: OBV > EMA(OBV, 20) aligned with direction
• Scaled by volume ratio: vol_current / vol_average
- Volume 1.5×+ average: 100% of points (institutional participation)
- Volume 1.0-1.5× average: 67% of points (above average)
- Volume below average: 0 points (weak conviction)
• Weight: High - volume validates price moves
MODERATE FACTORS (10 points each):
5. Market Structure (10 points):
• Full points (10) if bullish structure (higher highs, higher lows) for longs
• Partial points (6) if near support level (within 1% of swing low)
• Similar logic inverted for bearish trades
• Weight: Moderate - structure context improves entries
6. RSI Positioning (10 points):
• For long signals:
- RSI < 50: 100% of points (1.0× multiplier) - room to run
- RSI 50-60: 60% of points (0.6× multiplier) - neutral
- RSI 60-70: 30% of points (0.3× multiplier) - elevated
- RSI > 70: 0 points (0× multiplier) - overbought
• Inverse for short signals
• Weight: Moderate - momentum context, not primary signal
BONUS FACTORS (10 points each):
7. Divergence (10 points):
• Full 10 points if bullish divergence detected for long (or bearish for short)
• Zero points otherwise
• Weight: Bonus - leading indicator, adds confidence when present
8. Multi-Timeframe Confirmation (10 points):
• Full 10 points if higher timeframe aligned (HTF EMA trending same direction, RSI supportive)
• Zero points if MTF disabled or HTF opposes
• Weight: Bonus - macro context filter, prevents counter-trend disasters
Total Maximum: 110 points (20+20+15+15+10+10+10+10)
Signal Quality Calculation:
Quality Score = (Accumulated_Points / Maximum_Possible) × 100
Where Maximum_Possible = 110 points if all factors active, adjusts if MTF disabled.
Example Calculation:
Long signal candidate:
• Bandit Arm: +20 (arm signals long)
• MMD Quality: +16 (MMD high, 80th percentile)
• Trend: +11 (EMAs aligned, ADX = 22 → 70% × 15)
• Volume: +10 (OBV rising, vol 1.3× avg → 67% × 15 = 10)
• Structure: +10 (higher lows forming)
• RSI: +6 (RSI = 55 → 60% × 10)
• Divergence: +0 (none present)
• MTF: +10 (HTF bullish)
Total: 83 / 110 × 100 = 75.5% quality score
This is an excellent quality signal - well above threshold (default 60%).
Quality Thresholds:
• Score 80-100 : Exceptional setup - all factors aligned
• Score 60-80 : High quality - most factors supportive (default minimum)
• Score 40-60 : Moderate - mixed confluence, proceed with caution
• Score 20-40 : Weak - minimal support, likely filtered out
• Score 0-20 : Very weak - almost certainly blocked
The minimum quality threshold (default 60) is the gatekeeper. Only signals scoring above this value can trigger trades.
Dynamic Threshold Adjustment:
The system optionally adjusts the threshold based on historical signal distribution:
If Dynamic Threshold enabled:
Recent_MMD_Mean = SMA(MMD, 50)
Recent_MMD_StdDev = StdDev(MMD, 50)
Dynamic_Threshold = max(Base_Threshold × 0.5,
min(Base_Threshold × 2.0,
MMD_Mean + MMD_StdDev × 0.5))
This auto-calibrates to market conditions:
• Quiet markets (low MMD): Threshold loosens (0.5× base)
• Active markets (high MMD): Threshold tightens (2× base)
Signal Ranking Filter:
When enabled, the system tracks the last 100 signal quality scores and only fires signals in the top percentile.
If Ranking Percentile = 75%:
• Collect last 100 signal scores in memory
• Sort ascending
• Threshold = Score at 75th percentile position
• Only signals ≥ this threshold fire
This ensures you're only taking the cream of the crop —top 25% of signals by quality, not every signal that technically qualifies.
🚦 SIGNAL GENERATION: TRANSITION LOGIC & COOLDOWNS
The confluence system determines if a signal qualifies , but the signal generation logic controls when triangles appear on the chart.
Core Qualification:
For a LONG signal to qualify:
1. Bull quality score ≥ signal threshold (default 60)
2. Selected arm signals +1 (long)
3. Cooldown satisfied (bars since last signal ≥ cooldown period)
4. Drawdown protection OK (current drawdown < pause threshold)
5. MMD ≥ 80% of dynamic threshold (slight buffer below full threshold)
For a SHORT signal to qualify:
1. Bear quality score ≥ signal threshold
2. Selected arm signals -1 (short)
3-5. Same as long
But qualification alone doesn't trigger a chart signal.
Three Signal Modes:
1. RESPONSIVE (Default - Recommended):
Signals appear on:
• Fresh qualification (wasn't qualified last bar, now is)
• Direction reversal (was qualified short, now qualified long)
• Quality improvement (already qualified, quality jumps 25%+ during EXTREME regime)
This mode shows new opportunities and significant upgrades without cluttering the chart with repeat signals.
2. TRANSITION ONLY:
Signals appear on:
• Fresh qualification only
• Direction reversal only
This is the cleanest mode - signals only when first qualifying or when flipping direction. Misses re-entries if quality improves mid-regime.
3. CONTINUOUS:
Signals appear on:
• Every bar that qualifies
Testing/debugging mode - shows all qualified bars. Very noisy but useful for understanding when system wants to trade.
Cooldown System:
Prevents signal clustering and overtrading by enforcing minimum bars between signals.
Base Cooldown: User-defined (default 5 bars)
Adaptive Cooldown (Optional):
If enabled, cooldown scales with volatility:
Effective_Cooldown = Base_Cooldown × volatility_multiplier
Where:
ATR_Pct = ATR(14) / Close × 100
Volatility_Multiplier = max(0.5, min(3.0, ATR_Pct / 2.0))
• Low volatility (ATR 1%): Multiplier ~0.5× → Cooldown = 2-3 bars (tight)
• Medium volatility (ATR 2%): Multiplier 1.0× → Cooldown = 5 bars (normal)
• High volatility (ATR 4%+): Multiplier 2.0-3.0× → Cooldown = 10-15 bars (wide)
This prevents excessive trading during wild swings while allowing more signals during calm periods.
Regime Filter:
Three modes controlling which regimes allow trading:
OFF: Trade in any regime (STABLE, TRENDING, SHIFTING, ELEVATED, EXTREME)
SMART (Recommended):
• Regime score = 1.0 for SHIFTING, ELEVATED (optimal)
• Regime score = 0.8 for TRENDING (acceptable)
• Regime score = 0.5 for EXTREME (too chaotic)
• Regime score = 0.2 for STABLE (too quiet)
Quality scores are multiplied by regime score. A 70% quality signal in STABLE regime becomes 70% × 0.2 = 14% → blocked.
STRICT:
• Regime score = 1.0 for SHIFTING, ELEVATED only
• Regime score = 0.0 for all others → hard block
Only trades during optimal distribution shift regimes.
Drawdown Protection:
If current equity drawdown exceeds pause threshold (default 8%), all signals are blocked until equity recovers.
This circuit breaker prevents compounding losses during adverse conditions or broken market structure.
🎯 RISK MANAGEMENT: ATR-BASED STOPS & TARGETS
Every signal generates volatility-normalized stop loss and target levels displayed as boxes on the chart.
Stop Loss Calculation:
Stop_Distance = ATR(14) × ATR_Multiplier (default 1.5)
For LONG: Stop = Entry - Stop_Distance
For SHORT: Stop = Entry + Stop_Distance
The stop is placed 1.5 ATRs away from entry by default, adapting automatically to instrument volatility.
Target Calculation:
Target_Distance = Stop_Distance × Risk_Reward_Ratio (default 2.0)
For LONG: Target = Entry + Target_Distance
For SHORT: Target = Entry - Target_Distance
Default 2:1 risk/reward means target is twice as far as stop.
Example:
• Price: $100
• ATR: $2
• ATR Multiplier: 1.5
• Risk/Reward: 2.0
LONG Signal:
• Entry: $100
• Stop: $100 - ($2 × 1.5) = $97.00 (-$3 risk)
• Target: $100 + ($3 × 2.0) = $106.00 (+$6 reward)
• Risk/Reward: $3 risk for $6 reward = 1:2 ratio
Target/Stop Box Lifecycle:
Boxes persist for a lifetime (default 20 bars) OR until an opposite signal fires, whichever comes first. This provides visual reference for active trade levels without permanent chart clutter.
When a new opposite-direction signal appears, all existing boxes from the previous direction are immediately deleted, ensuring only relevant levels remain visible.
Adaptive Stop/Target Sizing:
While not explicitly coded in the current version, the shadow portfolio tracking system calculates PnL based on these levels. Users can observe which ATR multipliers and risk/reward ratios produce optimal results for their instrument/timeframe via the dashboard performance metrics.
📊 COMPREHENSIVE VISUAL SYSTEM
KMD provides rich visual feedback through four distinct layers:
1. PROBABILITY CLOUD (Adaptive Volatility Bands):
Two sets of bands around price that expand/contract with MMD:
Calculation:
Std_Multiplier = 1 + MMD × 3
Upper_1σ = Close + ATR × Std_Multiplier × 0.5
Lower_1σ = Close - ATR × Std_Multiplier × 0.5
Upper_2σ = Close + ATR × Std_Multiplier
Lower_2σ = Close - ATR × Std_Multiplier
• Inner band (±0.5× adjusted ATR) : 68% probability zone (1 standard deviation equivalent)
• Outer band (±1.0× adjusted ATR) : 95% probability zone (2 standard deviation equivalent)
When MMD spikes, bands widen dramatically, showing increased uncertainty. When MMD calms, bands tighten, showing normal price action.
2. MOMENTUM FLOW VECTORS (Directional Arrows):
Dynamic arrows that visualize momentum strength and direction:
Arrow Properties:
• Length: Proportional to momentum magnitude (2-10 bars forward)
• Width: 1px (weak), 2px (medium), 3px (strong)
• Transparency: 30-100 (more opaque = stronger momentum)
• Direction: Up for bullish, down for bearish
• Placement: Below bars (bulls) or above bars (bears)
Trigger Logic:
• Always appears every 5 bars (regular sampling)
• Forced appearance if momentum strength > 50 OR regime shift OR MMD velocity > 10%
Strong momentum (>75%) gets:
• Secondary support arrow (70% length, lighter color)
• Label showing "75%" strength
Very strong momentum (>60%) gets:
• Gradient flow lines (thick vertical lines showing momentum vector)
This creates a dynamic "flow field" showing where market pressure is pushing price.
3. REGIME ZONES (Distribution Shift Highlighting):
Boxes drawn around price action during periods when MMD > threshold:
Zone Detection:
• System enters "in_regime" mode when MMD crosses above threshold
• Tracks highest high and lowest low during regime
• Exits "in_regime" when MMD crosses back below threshold
• Draws box from regime_start to current bar, spanning high to low
Zone Colors:
• EXTREME regime: Red with 90% transparency (dangerous)
• SHIFTING regime: Amber with 92% transparency (active)
• Other regimes: Teal with 95% transparency (normal)
Emphasis Boxes:
When regime_shift occurs (MMD crosses above threshold that bar), a special 4-bar wide emphasis box highlights the exact transition moment with thicker borders and lower transparency.
This visual immediately shows "the market just changed" moments.
4. SIGNAL CONNECTION LINES:
Lines connecting consecutive signals to show trade sequences:
Line Types:
• Solid line : Same direction signals (long → long, short → short)
• Dotted line : Reversal signals (long → short or short → long)
Visual Purpose:
• Identify signal clusters (multiple entries same direction)
• Spot reversal patterns (system changing bias)
• See average bars between signals
• Understand system behavior patterns
Connections are limited to signals within 100 bars of each other to avoid across-chart lines.
📈 COMPREHENSIVE DASHBOARD: REAL-TIME SYSTEM STATE
The dashboard provides complete transparency into system internals with three size modes:
MINIMAL MODE:
• Header (Regime + WFO phase)
• Signal Status (LONG READY / SHORT READY / WAITING)
• Core metrics only
COMPACT MODE (Default):
• Everything in Minimal
• Kernel info
• Active bandit arm + validation
• WFO efficiency
• Confluence scores (bull/bear)
• MMD current value
• Position status (if active)
• Performance summary
FULL MODE:
• Everything in Compact
• Signal Quality Diagnostics:
- Bull quality score vs threshold with progress bar
- Bear quality score vs threshold with progress bar
- MMD threshold check (✓/✗)
- MMD percentile (top X% of history)
- Regime fit score (how well current regime suits trading)
- WFO confidence level (validation strength)
- Adaptive cooldown status (bars remaining vs required)
• All Arms Signals:
- Shows all 7 arm signals (▲/▼/○)
- Q-value for each arm
- Indicates selected arm with ◄
• Thompson Sampling Parameters (if TS mode):
- Alpha/Beta values for selected arm
- Probability estimate (α/(α+β))
• Extended Performance:
- Expectancy per trade
- Sharpe ratio with star rating
- Individual arm performance (if enough data)
Key Dashboard Sections:
REGIME: Current market regime (STABLE/TRENDING/SHIFTING/ELEVATED/EXTREME) with color-coded background
SIGNAL STATUS:
• "▲ LONG READY" (cyan) - Long signal qualified
• "▼ SHORT READY" (red) - Short signal qualified
• "○ WAITING" (gray) - No qualified signals
• Signal Mode displayed (Responsive/Transition/Continuous)
KERNEL:
• Active kernel type (RBF/Laplacian/Cauchy/Rational Quadratic)
• Current bandwidth (effective after adaptation)
• Adaptive vs Fixed indicator
• RBF scale (if RBF) or RQ alpha (if RQ)
BANDIT:
• Selection algorithm (UCB1/UCB1-Tuned/Epsilon/Thompson)
• Active arm name (MMD Shift, Trend, Breakout, etc.)
• Validation status (✓ if validated, ? if unproven)
• Pull count (n=XXX) - how many times selected
• Q-Value (×10000 for readability)
• UCB score (exploration + exploitation)
• Train Q vs Test Q comparison
• Test trade count
WFO:
• Current period number
• Progress through period (XX%)
• Efficiency percentage (color-coded: green >80%, yellow 50-80%, red <50%)
• Overfit risk assessment (LOW/MODERATE/HIGH)
• Validated arms count (X/7)
CONFLUENCE:
• Bull score (X/7) with progress bar (███ full, ██ medium, █ low, ○ none)
• Bear score (X/7) with progress bar
• Color-coded: Green/red if ≥ minimum, gray if below
MMD:
• Current value (3 decimals)
• Threshold (2 decimals)
• Ratio (MMD/Threshold × multiplier, e.g. "1.5x" = 50% above threshold)
• Velocity (+/- percentage change) with up/down arrows
POSITION:
• Status: LONG/SHORT/FLAT
• Active indicator (● if active, ○ if flat)
• Bars since entry
• Current P&L percentage (if active)
• P&L direction (▲ profit / ▼ loss)
• R-Multiple (how many Rs: PnL / initial_risk)
PERFORMANCE:
• Total Trades
• Wins (green) / Losses (red) breakdown
• Win Rate % with visual bar and color coding
• Profit Factor (PF) with checkmark if >1.0
• Expectancy % (average profit per trade)
• Sharpe Ratio with star rating (★★★ >2, ★★ >1, ★ >0, ○ negative)
• Max DD % (maximum drawdown) with "Now: X%" showing current drawdown
🔧 KEY PARAMETERS EXPLAINED
Kernel Configuration:
• Kernel Function : RBF / Laplacian / Cauchy / Rational Quadratic
- Start with Cauchy for stability, experiment with others
• Bandwidth (σ) (0.5-10.0, default 2.0): Kernel sensitivity
- Lower: More signals, more false positives (scalping: 0.8-1.5)
- Medium: Balanced (swing: 1.5-3.0)
- Higher: Fewer signals, stronger quality (position: 3.0-8.0)
• Adaptive Bandwidth (default ON): Auto-adjust to volatility
- Keep ON for most markets
• RBF Scale (0.1-2.0, default 0.5): RBF-specific scaling
- Only matters if RBF kernel selected
- Lower = more sensitive (0.3 for scalping)
- Higher = less sensitive (1.0+ for position)
• RQ Alpha (0.5-5.0, default 2.0): Rational Quadratic tail behavior
- Only matters if RQ kernel selected
- Low (0.5-1.0): Heavy tails, robust to outliers (like Cauchy)
- High (3.0-5.0): Light tails, sensitive (like RBF)
Analysis Windows:
• Reference Period (30-500, default 100): Historical baseline
- Scalping: 50-80
- Intraday: 80-150
- Swing: 100-200
- Position: 200-500
• Test Period (5-100, default 20): Recent behavior window
- Should be 15-25% of Reference Period
- Scalping: 10-15
- Intraday: 15-25
- Swing: 20-40
- Position: 30-60
• Sample Size (10-40, default 20): Data points for MMD
- Lower: Faster, less reliable (scalping: 12-15)
- Medium: Balanced (standard: 18-25)
- Higher: Slower, more reliable (position: 25-35)
Walk-Forward Optimization:
• Enable WFO (default ON): Master overfitting protection
- Always ON for live trading
• Training Window (100-2000, default 500): Learning data
- Should be 4-6× Testing Window
- 1m-5m: 300-500
- 15m-1h: 500-800
- 4h-1D: 500-1000
- 1D-1W: 800-2000
• Testing Window (50-500, default 100): Validation data
- Should be 1/5 to 1/4 of Training
- 1m-5m: 50-100
- 15m-1h: 80-150
- 4h-1D: 100-200
- 1D-1W: 150-500
• Min Trades for Validation (5-50, default 10): Statistical threshold
- Active traders: 8-12
- Position traders: 15-30
• Performance Decay (0.8-0.99, default 0.95): Old data forgetting
- Aggressive: 0.85-0.90 (volatile markets)
- Moderate: 0.92-0.96 (most use cases)
- Conservative: 0.97-0.99 (stable markets)
Multi-Armed Bandit:
• Learning Rate (α) (0.01-0.3, default 0.08): Adaptation speed
- Low: 0.01-0.05 (position trading, stable)
- Medium: 0.06-0.12 (day/swing trading)
- High: 0.15-0.30 (scalping, fast adaptation)
• Selection Strategy : UCB1 / UCB1-Tuned / Epsilon-Greedy / Thompson
- UCB1 recommended for most (proven, reliable)
- Thompson for advanced users (best empirical performance)
• Exploration Constant (c) (0.5-3.0, default 1.5): Explore vs exploit
- Low: 0.5-1.0 (conservative, proven strategies)
- Medium: 1.2-1.8 (balanced)
- High: 2.0-3.0 (experimental, volatile markets)
• Epsilon (0.0-0.3, default 0.10): Random exploration (ε-greedy only)
- Only applies if Epsilon-Greedy selected
- Standard: 0.10 (10% random)
Signal Configuration:
• MMD Threshold (0.05-1.0, default 0.15): Distribution divergence trigger
- Low: 0.08-0.12 (scalping, sensitive)
- Medium: 0.12-0.20 (day/swing)
- High: 0.25-0.50 (position, strong signals)
- Stocks/indices: 0.12-0.18
- Forex: 0.15-0.25
- Crypto: 0.20-0.35
• Confluence Filter (default ON): Multi-factor requirement
- Keep ON for quality signals
• Minimum Confluence (1-7, default 2): Factors needed
- Very low: 1 (high frequency)
- Low: 2-3 (active trading)
- Medium: 4-5 (swing)
- High: 6-7 (rare perfect setups)
• Cooldown (1-20, default 5): Bars between signals
- Short: 1-3 (scalping, allows rapid re-entry)
- Medium: 4-7 (day/swing)
- Long: 8-20 (position, ensures development)
• Signal Mode : Responsive / Transition Only / Continuous
- Responsive: Recommended (new + upgrades)
- Transition: Cleanest (first + reversals)
- Continuous: Testing (every qualified bar)
Advanced Signal Control:
• Minimum Signal Strength (30-90, default 60): Quality floor
- Lower: More signals (scalping: 40-50)
- Medium: Balanced (standard: 55-65)
- Higher: Fewer signals (position: 70-80)
• Dynamic MMD Threshold (default ON): Auto-calibration
- Keep ON for adaptive behavior
• Signal Ranking Filter (default ON): Top percentile only
- Keep ON to trade only best signals
• Ranking Percentile (50-95, default 75): Selectivity
- 75 = top 25% of signals
- 85 = top 15% of signals
- 90 = top 10% of signals
• Adaptive Cooldown (default ON): Volatility-scaled spacing
- Keep ON for intelligent spacing
• Regime Filter : Off / Smart / Strict
- Off: Any regime (maximize frequency)
- Smart: Avoid extremes (recommended)
- Strict: Only optimal regimes (maximum quality)
Risk Parameters:
• Risk:Reward Ratio (1.0-5.0, default 2.0): Target distance multiplier
- Conservative: 1.0-1.5 (higher WR needed)
- Balanced: 2.0-2.5 (standard professional)
- Aggressive: 3.0-5.0 (lower WR acceptable)
• Stop Loss (ATR mult) (0.5-4.0, default 1.5): Stop distance
- Tight: 0.5-1.0 (scalping, low vol)
- Medium: 1.2-2.0 (day/swing)
- Wide: 2.5-4.0 (position, high vol)
• Pause After Drawdown (2-20%, default 8%): Circuit breaker
- Aggressive: 3-6% (small accounts)
- Moderate: 6-10% (most traders)
- Relaxed: 10-15% (large accounts)
Multi-Timeframe:
• MTF Confirmation (default OFF): Higher TF filter
- Turn ON for swing/position trading
- Keep OFF for scalping/day trading
• Higher Timeframe (default "60"): HTF for trend check
- Should be 3-5× chart timeframe
- 1m chart → 5m or 15m
- 5m chart → 15m or 60m
- 15m chart → 60m or 240m
- 1h chart → 240m or D
Display:
• Probability Cloud (default ON): Volatility bands
• Momentum Flow Vectors (default ON): Directional arrows
• Regime Zones (default ON): Distribution shift boxes
• Signal Connections (default ON): Lines between signals
• Dashboard (default ON): Stats table
• Dashboard Position : Top Left / Top Right / Bottom Left / Bottom Right
• Dashboard Size : Minimal / Compact / Full
• Color Scheme : Default / Monochrome / Warm / Cool
• Show MMD Debug Plot (default OFF): Overlay MMD value
- Turn ON temporarily for threshold calibration
🎓 PROFESSIONAL USAGE PROTOCOL
Phase 1: Parameter Calibration (Week 1)
Goal: Find optimal kernel and bandwidth for your instrument/timeframe
Setup:
• Enable "Show MMD Debug Plot"
• Start with Cauchy kernel, 2.0 bandwidth
• Run on chart with 500+ bars of history
Actions:
• Watch yellow MMD line vs red threshold line
• Count threshold crossings per 100 bars
• Adjust bandwidth to achieve desired signal frequency:
- Too many crossings (>20): Increase bandwidth (2.5-3.5)
- Too few crossings (<5): Decrease bandwidth (1.2-1.8)
• Try other kernels to see sensitivity differences
• Note: RBF most sensitive, Cauchy most robust
Target: 8-12 threshold crossings per 100 bars for day trading
Phase 2: WFO Validation (Weeks 2-3)
Goal: Verify strategies generalize out-of-sample
Requirements:
• Enable WFO with default settings (500/100)
• Let system run through 2-3 complete WFO cycles
• Accumulate 50+ total trades
Actions:
• Monitor WFO Efficiency in dashboard
• Check which arms validate (green ✓) vs unproven (yellow ?)
• Review Train Q vs Test Q for selected arm
• If efficiency < 0.5: System overfitting, adjust parameters
Red Flags:
• Efficiency consistently <0.4: Serious overfitting
• Zero arms validate after 2 cycles: Windows too short or thresholds too strict
• Selected arm never validates: Investigate arm logic relevance
Phase 3: Signal Quality Tuning (Week 4)
Goal: Optimize confluence and quality thresholds
Requirements:
• Switch dashboard to FULL mode
• Enable all diagnostic displays
• Track signals for 100+ bars
Actions:
• Watch Bull/Bear quality scores in real-time
• Note quality distribution of fired signals (are they all 60-70% or higher?)
• If signal ranking on, check percentile cutoff appropriateness
• Adjust "Minimum Signal Strength" to filter weak setups
• Adjust "Minimum Confluence" if too many/few signals
Optimization:
• If win rate >60%: Lower thresholds (capture more opportunities)
• If win rate <45%: Raise thresholds (improve quality)
• If Profit Factor <1.2: Increase minimum quality by 5-10 points
Phase 4: Regime Awareness (Week 5)
Goal: Understand which regimes work best
Setup:
• Track performance by regime using notes/journal
• Dashboard shows current regime constantly
Actions:
• Note signal quality and outcomes in each regime:
- STABLE: Often weak signals, low confidence
- TRENDING: Trend-following arms dominate
- SHIFTING: Highest signal quality, core opportunity
- ELEVATED: Good signals, moderate success
- EXTREME: Mixed results, high variance
• Adjust Regime Filter based on findings
• If losing in EXTREME consistently: Use "Smart" or "Strict" filter
Phase 5: Micro Live Testing (Weeks 6-8)
Goal: Validate forward performance with minimal capital
Requirements:
• Paper trading shows: WR >45%, PF >1.2, Efficiency >0.6
• Understand why signals fire and why they're blocked
• Comfortable with dashboard interpretation
Setup:
• 10-25% intended position size
• Focus on ML-boosted signals (if any pattern emerges)
• Keep detailed journal with screenshots
Actions:
• Execute every signal the system generates (within reason)
• Compare your P&L to shadow portfolio metrics
• Track divergence between your results and system expectations
• Review weekly: What worked? What failed? Any execution issues?
Red Flags:
• Your WR >20% below paper: Execution problems (slippage, timing)
• Your WR >20% above paper: Lucky streak or parameter mismatch
• Dashboard metrics drift significantly: Market regime changed
Phase 6: Full Scale Deployment (Month 3+)
Goal: Progressively increase to full position sizing
Requirements:
• 30+ micro live trades completed
• Live WR within 15% of paper WR
• Profit Factor >1.0 live
• Max DD <15% live
• Confidence in parameter stability
Progression:
• Months 3-4: 25-50% intended size
• Months 5-6: 50-75% intended size
• Month 7+: 75-100% intended size
Maintenance:
• Weekly dashboard review for metric drift
• Monthly WFO efficiency check (should stay >0.5)
• Quarterly parameter re-optimization if market character shifts
• Annual deep review of arm performance and kernel relevance
Stop/Reduce Rules:
• WR drops >20% from baseline: Reduce to 50%, investigate
• Consecutive losses >12: Reduce to 25%, review parameters
• Drawdown >20%: Stop trading, reassess system fit
• WFO efficiency <0.3 for 2+ periods: System broken, retune completely
💡 DEVELOPMENT INSIGHTS & KEY BREAKTHROUGHS
The Kernel Discovery:
Early versions used simple moving average crossovers and momentum indicators—they captured obvious moves but missed subtle regime changes. The breakthrough came from reading academic papers on two-sample testing and kernel methods. Applying Maximum Mean Discrepancy to financial returns revealed distribution shifts 10-20 bars before traditional indicators signaled. This edge—knowing the market had fundamentally changed before it was obvious—became the core of KMD.
Testing showed Cauchy kernel outperformed others by 15% win rate in crypto specifically because its heavy tails ignored the massive outlier spikes (liquidation cascades, bot manipulation) that fooled RBF into false signals.
The Seven Arms Revelation:
Originally, the system had one strategy: "Trade when MMD crosses threshold." Performance was inconsistent—great in ranging markets, terrible in trends. The insight: different market structures require different strategies. Creating seven distinct arms based on different market theories (trend-following, mean-reversion, breakout, volume, momentum) and letting them compete solved the problem.
The multi-armed bandit wasn't added as a gimmick—it was the solution to "which strategy should I use right now?" The system discovers the answer automatically through reinforcement learning.
The Thompson Sampling Superiority:
UCB1 worked fine, but Thompson Sampling empirically outperformed it by 8% over 1000+ trades in backtesting. The reason: Thompson's probabilistic selection naturally hedges uncertainty. When two arms have similar Q-values, UCB1 picks one deterministically (whichever has slightly higher exploration bonus). Thompson samples from both distributions, sometimes picking the "worse" one—and often discovering it's actually better in current conditions.
Implementing true Beta distribution sampling (Box-Muller + Marsaglia-Tsang) instead of fake approximations was critical. Fake Thompson (using random with bias) underperformed UCB1. Real Thompson with proper Bayesian updating dominated.
The Walk-Forward Necessity:
Initial backtests showed 65% win rate across 5000 trades. Live trading: 38% win rate over first 100 trades. Crushing disappointment. The problem: overfitting. The training data included the test data (look-ahead bias). Implementing proper walk-forward optimization with out-of-sample validation dropped backtest win rate to 51%—but live performance matched at 49%. That's a system you can trust.
WFO efficiency metric became the North Star. If efficiency >0.7, live results track paper. If efficiency <0.5, prepare for disappointment.
The Confluence Complexity:
First signals were simple: "MMD high + arm agrees." This generated 200+ signals on 1000 bars with 42% win rate—not tradeable. Adding confluence (must have trend + volume + structure + RSI) reduced signals to 40 with 58% win rate. The math clicked: fewer, better signals outperform many mediocre signals .
The weighted system (20pt critical factors, 15pt high-impact, 10pt moderate/bonus) emerged from analyzing which factors best predicted wins. Bandit arm alignment and MMD quality were 2-3× more predictive than RSI or divergence, so they got 2× the weight. This isn't arbitrary—it's data-driven.
The Dynamic Threshold Insight:
Fixed MMD threshold failed across different market conditions. 0.15 worked perfectly on ES but fired constantly on Bitcoin. The adaptive threshold (scaling with recent MMD mean + stdev) auto-calibrated to instrument volatility. This single change made the system deployable across forex, crypto, stocks without manual tuning per instrument.
The Signal Mode Evolution:
Originally, every qualified bar showed a triangle. Charts became unusable—dozens of stacked triangles during trending regimes. "Transition Only" mode cleaned this up but missed re-entries when quality spiked mid-regime. "Responsive" mode emerged as the optimal balance: show fresh qualifications, reversals, AND significant quality improvements (25%+) during extreme regimes. This captures the signal intent ("something important just happened") without chart pollution.
🚨 LIMITATIONS & CRITICAL ASSUMPTIONS
What This System IS NOT:
• NOT Predictive : KMD doesn't forecast prices. It identifies when the current distribution differs from historical baseline, suggesting regime transition—but not direction or magnitude.
• NOT Holy Grail : Typical performance is 48-56% win rate with 1.3-1.8 avg R-multiple. This is a probabilistic edge, not certainty. Expect losing streaks of 8-12 trades.
• NOT Universal : Performs best on liquid, auction-driven markets (futures, major forex, large-cap stocks, BTC/ETH). Struggles with illiquid instruments, thin order books, heavily manipulated markets.
• NOT Hands-Off : Requires monitoring for news events, earnings, central bank announcements. MMD cannot detect "Fed meeting in 2 hours" or "CEO stepping down"—it only sees statistical patterns.
• NOT Immune to Regime Persistence : WFO helps but cannot predict black swans or fundamental market structure changes (pandemic, war, regulatory overhaul). During these events, all historical patterns may break.
Core Assumptions:
1. Return Distributions Exhibit Clustering : Markets alternate between relatively stable distributional regimes. Violation: Permanent random walk, no regime structure.
2. Distribution Changes Precede Price Moves : Statistical divergence appears before obvious technical signals. Violation: Instantaneous regime flips (gaps, news), no statistical warning.
3. Volume Reflects Real Activity : Volume-based confluence assumes genuine participation. Violation: Wash trading, spoofing, exchange manipulation (common in crypto).
4. Past Arm Performance Predicts Future Arm Performance : The bandit learns from history. Violation: Fundamental strategy regime change (e.g., market transitions from mean-reverting to trending permanently).
5. ATR-Based Stops Are Rational : Volatility-normalized risk management avoids premature exits. Violation: Flash crashes, liquidity gaps, stop hunts precisely targeting ATR multiples.
6. Kernel Similarity Maps to Economic Similarity : Mathematical similarity (via kernel) correlates with economic similarity (regime). Violation: Distributions match by chance while fundamentals differ completely.
Performs Best On:
• ES, NQ, RTY (S&P 500, Nasdaq, Russell 2000 futures)
• Major forex pairs: EUR/USD, GBP/USD, USD/JPY, AUD/USD
• Liquid commodities: CL (crude oil), GC (gold), SI (silver)
• Large-cap stocks: AAPL, MSFT, GOOGL, TSLA (>$10M avg daily volume)
• Major crypto on reputable exchanges: BTC, ETH (Coinbase, Kraken)
Performs Poorly On:
• Low-volume stocks (<$1M daily volume)
• Exotic forex pairs with erratic spreads
• Illiquid crypto altcoins (manipulation, unreliable volume)
• Pre-market/after-hours (thin liquidity, gaps)
• Instruments with frequent corporate actions (splits, dividends)
• Markets with persistent one-sided intervention (central bank pegs)
Known Weaknesses:
• Lag During Instantaneous Shifts : MMD requires (test_window) bars to detect regime change. Fast-moving events (5-10 bar crashes) may bypass detection entirely.
• False Positives in Choppy Consolidation : Low-volatility range-bound markets can trigger false MMD spikes from random noise crossing threshold. Regime filter helps but doesn't eliminate.
• Parameter Sensitivity : Small bandwidth changes (2.0→2.5) can alter signal frequency by 30-50%. Requires careful calibration per instrument.
• Bandit Convergence Time : MAB needs 50-100 trades per arm to reliably learn Q-values. Early trades (first 200 bars) are essentially random exploration.
• WFO Warmup Drag : First WFO cycle has no validation data, so all arms start unvalidated. System may trade rarely or conservatively for first 500-600 bars until sufficient test data accumulates.
• Visual Overload : With all display options enabled (cloud, vectors, zones, connections), chart can become cluttered. Disable selectively for cleaner view.
⚠️ RISK DISCLOSURE
Trading futures, forex, stocks, options, and cryptocurrencies involves substantial risk of loss and is not suitable for all investors. Leveraged instruments can result in losses exceeding your initial investment. Past performance, whether backtested or live, is not indicative of future results.
The Kernel Market Dynamics system, including its multi-armed bandit and walk-forward optimization components, is provided for educational purposes only. It is not financial advice, investment advice, or a recommendation to buy or sell any security or instrument.
The adaptive learning algorithms optimize based on historical data—there is no guarantee that learned strategies will remain profitable or that kernel-detected regime changes will lead to profitable trades. Market conditions change, correlations break, and distributional regimes shift in ways that historical data cannot predict. Black swan events occur.
Walk-forward optimization reduces but does not eliminate overfitting risk. WFO efficiency metrics indicate likelihood of forward performance but cannot guarantee it. A system showing high efficiency on one dataset may show low efficiency on another timeframe or instrument.
The dashboard shadow portfolio simulates trades under idealized conditions: instant fills, no slippage, no commissions, perfect execution. Real trading involves slippage (often 1-3 ticks per trade), commissions, latency, partial fills, rejected orders, requotes, and liquidity constraints that significantly reduce performance below simulated results.
Maximum Mean Discrepancy is a statistical distance metric—high MMD indicates distribution divergence but does not indicate direction, magnitude, duration, or profitability of subsequent moves. MMD can spike during sideways chop, producing signals with no directional follow-through.
Users must independently validate system performance on their specific instruments, timeframes, broker execution, and market conditions before risking capital. Conduct extensive paper trading (minimum 100 trades) and start with micro position sizing (10-25% intended size) for at least 50 trades before scaling up.
Never risk more capital than you can afford to lose completely. Use proper position sizing (1-2% risk per trade maximum). Implement stop losses on every trade. Maintain adequate margin/capital reserves. Understand that most retail traders lose money. Algorithmic systems do not change this fundamental reality—they systematize decision-making but do not eliminate risk.
The developer makes no warranties regarding profitability, suitability, accuracy, reliability, or fitness for any particular purpose. Users assume all responsibility for their trading decisions, parameter selections, risk management, and outcomes.
By using this indicator, you acknowledge that you have read and understood these risk disclosures and accept full responsibility for all trading activity and potential losses.
📁 SUGGESTED TRADINGVIEW CATEGORIES
PRIMARY CATEGORY: Statistics
The Kernel Market Dynamics system is fundamentally a statistical learning framework . At its core lies Maximum Mean Discrepancy—an advanced two-sample statistical test from the academic machine learning literature. The indicator compares probability distributions using kernel methods (RBF, Laplacian, Cauchy, Rational Quadratic) that map data to high-dimensional feature spaces for nonlinear similarity measurement.
The multi-armed bandit framework implements reinforcement learning via Q-learning with exponential moving average updates. Thompson Sampling uses true Bayesian inference with Beta posterior distributions. Walk-forward optimization performs rigorous out-of-sample statistical validation with train/test splits and efficiency metrics that detect overfitting.
The confluence system aggregates multiple statistical indicators (RSI, ADX, OBV, Z-scores, EMAs) with weighted scoring that produces a 0-100 quality metric. Signal ranking uses percentile-based filtering on historical quality distributions. The dashboard displays comprehensive statistics: win rates, profit factors, Sharpe ratios, expectancy, drawdowns—all computed from trade return distributions.
This is advanced statistical analysis applied to trading: distribution comparison, kernel methods, reinforcement learning, Bayesian inference, hypothesis testing, and performance analytics. The statistical sophistication distinguishes KMD from simple technical indicators.
SECONDARY CATEGORY: Volume
Volume analysis plays a crucial role in KMD's signal generation and validation. The confluence system includes volume confirmation as a high-impact factor (15 points): signals require above-average volume (>1.2× mean) for full points, with scaling based on volume ratio. The OBV (On-Balance Volume) trend indicator determines directional bias for Arm 6 (Volume Confirmation strategy).
Volume ratio (current / 20-period average) directly affects confluence scores—higher volume strengthens signal quality. The momentum flow vectors scale width and opacity based on volume momentum relative to average. Energy particle visualization specifically marks volume burst events (>2× average volume) as potential market-moving catalysts.
Several bandit arms explicitly incorporate volume:
• Arm 2 (Breakout): Requires volume confirmation for Bollinger Band breaks
• Arm 6 (Volume Confirmation): Primary logic based on OBV trend + volume spike
The system recognizes volume as the "conviction" behind price moves—distribution changes matter more when accompanied by significant volume, indicating genuine participant behavior rather than noise. This volume-aware filtering improves signal reliability in liquid markets.
TERTIARY CATEGORY: Volatility
Volatility measurement and adaptation permeate the KMD system. ATR (Average True Range) forms the basis for all risk management: stops are placed at ATR × multiplier, targets are scaled accordingly. The adaptive bandwidth feature scales kernel bandwidth (0.5-2.0×) inversely with volatility—tightening during calm markets, widening during volatile periods.
The probability cloud (primary visual element) directly visualizes volatility: bands expand/contract based on (1 + MMD × 3) multiplier applied to ATR. Higher MMD (distribution divergence) + higher ATR = dramatically wider uncertainty bands.
Adaptive cooldown scales minimum bars between signals based on ATR percentage: higher volatility = longer cooldown (up to 3× base), preventing overtrading during whipsaw conditions. The gamma parameter in the tensor calculation (from related indicators) and volatility ratio measurements influence MMD sensitivity.
Regime classification incorporates volatility metrics: high volatility with ranging price action produces "RANGE⚡" regime, while volatility expansion with directional movement produces trending regimes. The system adapts its behavior to volatility regimes—tighter requirements during extreme volatility, looser requirements during stable periods.
ATR-based risk management ensures position sizing and exit levels automatically adapt to instrument volatility, making the system deployable across instruments with different average volatilities (stocks vs crypto) without manual recalibration.
══════════════════════════════════════════
CLOSING STATEMENT
══════════════════════════════════════════
Kernel Market Dynamics doesn't just measure price—it measures the probability structure underlying price. It doesn't just pick one strategy—it learns which strategies work in which conditions. It doesn't just optimize on history—it validates on the future.
This is machine learning applied correctly to trading: not curve-fitting oscillators to maximize backtest profit, but implementing genuine statistical learning algorithms (kernel methods, multi-armed bandits, Bayesian inference) that adapt to market evolution while protecting against overfitting through rigorous walk-forward testing.
The seven arms compete. The Thompson sampler selects. The kernel measures. The confluence scores. The walk-forward validates. The signals fire.
Most indicators tell you what happened. KMD tells you when the game changed.
"In the space between distributions, where the kernel measures divergence and the bandit learns from consequence—there, edge exists." — KMD-WFO-MAB v2
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Market Trend statusBullTrading Free Indicator Series
What is the Trend State Machine?
A “trend state machine” that fuses DMI (+DI/−DI) with ADX strength. It avoids bells and whistles and answers three things with minimal rules:
1. Whether the market is range-bound (chop) or trending;
2. If trending, whether it is bullish (long) or bearish (short);
3. The trend intensity tier (Strong / Extreme / Decaying) plus a 0–100 strength score.
1-Minute Quick Start (beginners can stop here)
1. Timeframe – pick your trading anchor first
• Crypto: 5–15m
• Gold: 5m or 15m
• FX: 15–30m
2. Mode – top of the panel: set Mode = Simple.
3. Sensitivity – set Sensitivity (1 conservative – 5 aggressive). Recommended:
• Crypto: 3 (use 4 in high volatility)
• Gold: 2–3
• FX: 2–3
• Indices: 2
4. Read the card (top-right)
• Environment: Range/Invalid, Bull Trend (Watch), Bull Trend (Confirmed) (bearish equivalents apply)
• Add-ons: | Strong, | Extreme, | Decay
• Also shows ADX, Enter/Exit thresholds, ΔDI, and Score.
5. Background & lines
• Green/Red background = in trend; deeper shade = stronger.
• Orange thick line = ADX, Green = +DI, Red = −DI; shaded band between lines is the enter/exit zone.
6. Minimal execution rules
• Trade with the trend only: consider entries only when Environment = Confirmed and direction is bull/bear.
• Prioritize strength: when Strong Trend triggers or Score > 70, prefer trend-following adds / enable trailing take-profit.
• Exit: when Exit/Flip alert fires, or after Decay if ADX falls back below the enter threshold, reduce/close.
Note: In Simple mode, built-in hysteresis (Enter > Exit) cuts whipsaws significantly—no need to hand-tune thresholds.
How to Use Alerts
• Three built-in fixed alerts:
1. Trend Confirmed (Bull/Bear) — entry/add trigger
2. Strong Trend — momentum reinforcement (chase/add or tighten trailing TP)
3. Exit or Flip — scale-out/close/observe the other side
• Want dynamic messages with numbers? Check “Enable dynamic alerts (alert())” and, when creating the alert, choose Any alert() function call.
Parameter Guidance (rules of thumb)
• Sensitivity: Higher = earlier entries but more false signals; lower = later confirmation but steadier.
• Timeframe: The smaller the timeframe, the lower the sensitivity you usually need; on higher timeframes you may nudge it up.
• Combos:
• Crypto: 5m/15m + Sens 3 (4 in heavy vol)
• Gold: 5m/15m + Sens 2–3
• FX: 15m/30m + Sens 2–3
• Indices: 15m/30m + Sens 2
Pro Mode Highlights (optional)
• Threshold Mode: switch from Fixed (default) to Percentile Adaptive for better robustness across regimes/markets.
• ΔDI / Slope / Hold / Cool-down:
• ΔDI min separation filters weak price/volume divergences.
• ADX slope > threshold on entry rejects “breakouts without growing strength”.
• Min hold bars confirms before output to reduce whipsaws.
• Cool-down bars prevent immediate re-entry after exit/flip.
• MTF Aggregation: enable MTF, default 3× current timeframe, HTF weight 0.3–0.5.
• Turn on Require HTF not opposite & HTF_ADX ≥ exit threshold to effectively filter higher-TF noise.
Reading Cheat Sheet (what you see = what it means)
• Environment: Range/Invalid → Stand down; avoid counter-trend.
• Trend (Watch) → Just entered the zone; wait for Confirmed or buy the pullback with small size.
• Trend (Confirmed) → Trend-following allowed; use Score and Strong/Decay to size/manage.
• Strong Trend → Consider chasing/relaxing TP; momentum is increasing.
• Extreme → Overheated; be cautious chasing—favor trailing to lock gains.
• Decay → Momentum bending down; prepare to trim or tighten stops.
Common Pitfalls & Fixes
• Whipsaws in ranges → Lower sensitivity or move up a timeframe; in Pro mode, enable Slope filter.
• Confirmation too late → During Trend (Watch), try a probe with smaller size; add on confirmation.
• Cross-asset differences → Use Percentile thresholds and MTF weight, or adjust via market presets (Gold/FX/Index).
• Single-signal bias → Always combine Environment + Score + Strong/Decay to avoid tunnel vision.
⸻
Disclaimer: This tool is for educational and research purposes only and does not constitute investment advice or a promise of profit. Trading involves risk; you are solely responsible for your gains and losses.
BullTrading免费指标系列
趋势状态机 是什么:
一个把 DMI(+DI/-DI) 与 ADX 强度合成的“趋势状态机”。它不追求花哨,而是用最小规则输出三件事:
1. 市场当前是 震荡还是趋势;
2. 如是趋势,是 多还是 空;
3. 趋势的 强弱等级(强趋势/极端/衰减)与一个 0–100 的强度分数。
一分钟上手(新手用这个就够)
1. 时间周期:先选你交易的主周期(例:加密 5–15m;黄金 5m 或 15m;外汇 15–30m)。
2. 模式:面板最上方“模式”= 简单。
3. 敏感度:设“敏感度(1保守–5激进)”。推荐:
• Crypto:3(波动大可 4)
• Gold:2–3
• FX:2–3
• 指数/股指:2
4. 读卡片(右上角)
• 环境:震荡/无效、多头趋势(观察)、多头趋势(已确认)(空头同理)
• 附加:|强趋势、|极端、|衰减
• 同时显示 ADX、进入/退出阈值、ΔDI、评分。
5. 底色 & 线
• 绿色/红色底色=处于趋势;颜色越实=越强。
• 橙色粗线=ADX,绿色=+DI,红色=-DI;中间阴影为进入/退出带。
6. 最小执行规则
• 只顺势:环境=已确认 且方向为多/空时才考虑进场。
• 强势优先:出现 强趋势 或评分>70 时,优先做顺势加仓/启动追踪止盈。
• 退出:出现 退出/翻转 告警,或 衰减 后 ADX 再跌回进入阈值下方时,减仓/平仓。
提醒:简单模式下,脚本已内置迟滞(进入>退出),可显著减少抖动;无需再手动校准阈值。
告警怎么用
• 已内置三条固定告警:
1. 趋势已确认(多/空) — 入场/加仓触发器
2. 强趋势 — 趋势强化(可做追击或加速移动止盈)
3. 退出或翻转 — 减仓/止盈/反向观察
• 想带数值的动态文案:勾选“启用动态告警 alert()”,创建告警时选择 Any alert() function call。
参数建议(简易法则)
• 敏感度:更激进(数字大)=更早进场但更易假信号;更保守(数字小)=更迟确认但更稳。
• 时间周期:越小周期越需要降低敏感度;越大周期可略升敏感度。
• 组合:
• Crypto:5m/15m + 敏感度 3(波动大时 4)
• Gold:5m/15m + 敏感度 2–3
• FX:15m/30m + 敏感度 2–3
• 指数:15m/30m + 敏感度 2
专业模式要点(进阶可选)
• 阈值模式:从“固定阈值(默认)”切到“百分位自适应”,在大波动/换市场时更鲁棒。
• ΔDI/斜率/驻留/冷却:
• ΔDI 最小分离度 过滤弱量价背离;
• 进入需 ADX 斜率>阈值 可拒绝“强度不增”的假突破;
• 最小驻留K数 确认后再输出,减少回撤抖动;
• 冷却K数 防止来回打脸。
• MTF 聚合:勾选“启用 MTF”,默认自动 3× 当前周期,HTF 权重 0.3–0.5。
• 要求HTF不反向且HTF_ADX≥退出阈值 打开,能有效剔除逆大级别噪音。
读图速查(你看到=代表什么)
• 环境:震荡/无效 → 暂停;不要逆势开单。
• 趋势(观察) → 刚进入阈值,等待 已确认 或回踩二次确认。
• 趋势(已确认) → 允许顺势;用评分和“强趋势/衰减”微调仓位。
• 强趋势 → 追击或放宽止盈,趋势动能在增强。
• 极端 → 过热区;谨慎追高,更多用移动止盈锁定。
• 衰减 → 动能下弯,准备减仓或收紧止盈。
常见坑 & 对策
• 在震荡箱体频繁进出:降低敏感度或升周期;专业模式勾选“斜率过滤”。
• 确认太慢错过起点:在确认前的“趋势(观察)”阶段,可用更小仓位的试探单,确认后加仓。
• 不同品种差异大:用“百分位”阈值与 MTF 权重;或按市场预设(Gold/FX/Index)微调。
• 只看一个信号:至少同时看 环境状态 + 评分 + 强/衰 三个维度,避免单指标偏差。
本指标仅供教育与研究,不构成投资建议或收益承诺;交易有风险,盈亏自负。






















