Commodity Channel Index CCI + EMA strategy
================================================================================
COMMODITY CHANNEL INDEX CCI + EMA STRATEGY - STRATEGY GUIDE 📊
================================================================================
💡 COLLABORATION & SUPPORT
---------------------------
If you want to collaborate, have an idea for a strategy, or need help writing
or customizing code, send an email to burdytrader@gmail.com or send me a
message. Suggestions, ideas, and comments are always welcome! 🤝
I also develop automated trading codes for other trading platforms including:
- CTrader (C#)
- MetaTrader 4 (MQL4)
- MetaTrader 5 (MQL5)
If you need a strategy converted or developed for any of these platforms, feel
free to contact me!
================================================================================
⚠️ IMPORTANT: INSTRUMENT SELECTION 📈
-------------------------------------
This strategy performs BEST with currency pairs (forex). The CCI indicator
works particularly well in the forex market due to the nature of currency
movements and the effectiveness of the CCI in identifying overbought and
oversold conditions in trending markets.
Why Currency Pairs? 🎯
- CCI is highly effective in identifying reversals in forex markets
- Currency pairs show clear overbought/oversold patterns
- EMA filter (50/200) aligns well with major forex trends
- High liquidity ensures reliable signal execution
Performance Highlights:
In specific currency pairs, when properly configured, this strategy can achieve:
- Profit Factor: Over 2.0
- Win Rate: Up to 70%
- Particularly effective pairs: USDCAD, EURUSD, GBPJPY
While the strategy can work with other instruments (stocks, indices, commodities),
currency pairs provide the most consistent and reliable results. For optimal
performance, focus on major forex pairs with good liquidity and clear trending
characteristics.
================================================================================
WHAT DOES THIS STRATEGY DO? 🎯
---------------------------
This strategy combines the Commodity Channel Index (CCI) with Exponential
Moving Averages (EMA) to identify high-probability trading opportunities.
The strategy uses CCI crossovers with a smoothing moving average and filters
signals using EMA trend confirmation. The strategy automatically enters trades
when CCI crosses the smoothing MA in specific zones, indicating potential trend
reversals or continuations.
HOW IT WORKS? ⚙️
---------------
1. CCI CALCULATION 📈
The strategy calculates the Commodity Channel Index using:
- CCI = (Price - SMA(Price, length)) / (0.015 × Deviation(Price, length))
- Default length: 20 periods
- Source: HLC3 (typical price)
The CCI shows:
- Values above +100 = Overbought conditions
- Values below -100 = Oversold conditions
- Values around 0 = Neutral conditions
2. SMOOTHING MOVING AVERAGE 📊
A moving average is applied to the CCI to smooth out fluctuations:
- Types available: SMA, EMA, SMMA (RMA), WMA, VWMA
- Default: SMA with length 14
- Can be disabled (set to "None")
This smoothed line acts as a reference for crossover signals.
3. EMA TREND FILTER 🎯
Two EMAs are calculated on the CCI:
- EMA 50 (fast EMA)
- EMA 200 (slow EMA)
When the EMA filter is enabled:
- LONG signals only occur when EMA50 > EMA200 (uptrend confirmation)
- SHORT signals only occur when EMA50 < EMA200 (downtrend confirmation)
This filter can be enabled/disabled via the "Use EMA Filter" option.
4. ENTRY CONDITIONS 🎲
LONG ENTRY (Buy Signal):
- CCI crosses ABOVE the Smoothing MA (crossover)
- CCI is between Lower Level (-100) and Middle Level (0)
- EMA Filter: EMA50 > EMA200 (if filter enabled)
- No existing positions (or close opposite positions first)
SHORT ENTRY (Sell Signal):
- CCI crosses BELOW the Smoothing MA (crossunder)
- CCI is between Middle Level (0) and Upper Level (+100)
- EMA Filter: EMA50 < EMA200 (if filter enabled)
- No existing positions (or close opposite positions first)
5. POSITION MANAGEMENT 💰
The strategy uses a simple position management approach:
- Only ONE position at a time (no pyramiding)
- If a signal occurs in the opposite direction, closes existing position first
- Then opens new position in the new direction
- This prevents overexposure and simplifies risk management
6. TAKE PROFIT & STOP LOSS SETTINGS 🎯
The strategy uses percentage-based TP/SL:
- Take Profit: 1.0% (default, configurable)
- Stop Loss: 0.5% (default, configurable)
- Risk/Reward Ratio: 2:1 (TP is double the SL)
TP/SL are calculated once when the position opens and remain fixed.
AVAILABLE PARAMETERS ⚙️
-----------------------
CCI SETTINGS:
1. CCI Length (Default: 20)
- Period for CCI calculation
- Lower values = More sensitive to recent price action
- Higher values = More smoothed, less sensitive
2. CCI Source (Default: HLC3)
- Price source for CCI calculation
- Options: close, open, high, low, hlc3, hlcc4, ohlc4
3. CCI Lower Level (Default: -100)
- Lower boundary for LONG entry zone
- Typically -100 for oversold conditions
4. CCI Middle Level (Default: 0)
- Neutral level separating LONG and SHORT zones
5. CCI Upper Level (Default: +100)
- Upper boundary for SHORT entry zone
- Typically +100 for overbought conditions
SMOOTHING MA:
6. Type (Default: SMA)
- Moving average type: None, SMA, EMA, SMMA (RMA), WMA, VWMA
- Set to "None" to disable smoothing
7. Length (Default: 14)
- Period for smoothing MA
- Range: 7-28, step 7
EMA FILTER:
8. EMA 1 Length (Default: 50)
- Fast EMA period applied to CCI
9. EMA 2 Length (Default: 200)
- Slow EMA period applied to CCI
10. Use EMA Filter (Default: true)
- Enable/disable EMA trend filter
- When enabled: LONG only if EMA50 > EMA200, SHORT only if EMA50 < EMA200
RISK MANAGEMENT:
11. Take Profit (%) (Default: 1.0%)
- Profit target as percentage of entry price
- For LONG: Entry × (1 + TP%)
- For SHORT: Entry × (1 - TP%)
12. Stop Loss (%) (Default: 0.5%)
- Stop loss as percentage of entry price
- For LONG: Entry × (1 - SL%)
- For SHORT: Entry × (1 + SL%)
VISUALIZATION 📊
---------------
The strategy displays in a separate panel below the price chart:
1. CCI LINE
- Blue line showing the CCI value
- Oscillates around zero
2. SMOOTHING MA LINE
- Yellow line showing the smoothed CCI
- Reference line for crossover signals
3. CCI LEVEL LINES
- Red dashed line: Upper Level (+100)
- Green dashed line: Lower Level (-100)
- Yellow dashed line: Middle Level (0)
4. ENTRY SIGNALS
- Green cross: LONG entry signal (when CCI crosses above MA)
- Red cross: SHORT entry signal (when CCI crosses below MA)
RECOMMENDED SETTINGS 🎯
-----------------------
To get started, you can use these settings:
CCI SETTINGS:
- CCI Length: 20 (default)
- CCI Source: HLC3 (default)
- CCI Lower Level: -100 (default)
- CCI Middle Level: 0 (default)
- CCI Upper Level: +100 (default)
SMOOTHING MA:
- Type: SMA (default) or EMA for faster response
- Length: 14 (default)
EMA FILTER:
- EMA 1 Length: 50 (default)
- EMA 2 Length: 200 (default)
- Use EMA Filter: true (recommended for better signal quality)
RISK MANAGEMENT:
- Take Profit (%): 1.0% (adjust based on your risk/reward preference)
- Stop Loss (%): 0.5% (adjust based on your risk tolerance)
For more aggressive trading:
- Reduce CCI Length to 14-16
- Reduce Smoothing MA Length to 7
- Disable EMA Filter
For more conservative trading:
- Increase CCI Length to 24-30
- Increase Smoothing MA Length to 21-28
- Keep EMA Filter enabled
RECOMMENDED CURRENCY PAIRS 💱
------------------------------
This strategy is optimized for currency pairs and performs exceptionally well
on the following pairs when properly configured:
TOP PERFORMING PAIRS:
- USDCAD: Can achieve Profit Factor > 2.0 and Win Rate up to 70%
- EURUSD: Excellent performance with consistent signals
- GBPJPY: Strong results with proper EMA filter configuration
These pairs have shown the best historical performance due to:
- Clear trending characteristics
- Good response to CCI overbought/oversold levels
- Strong alignment with EMA 50/200 trend filter
- High liquidity ensuring reliable execution
When trading these pairs, use the default settings or slightly adjusted
parameters based on the pair's volatility. Always backtest on historical
data before using real money to find the optimal configuration for each
specific pair.
PRACTICAL EXAMPLE 📝
--------------------
Scenario: LONG Entry on EUR/USD
1. Market conditions:
- Price: 1.1000
- CCI: -80 (in oversold zone)
- Smoothing MA: -90
- CCI crosses above Smoothing MA (crossover occurs)
- EMA50: -50, EMA200: -70 (EMA50 > EMA200, uptrend confirmed)
2. Strategy checks conditions:
✓ Smoothing MA enabled: Yes
✓ Crossover: Yes (CCI crosses above MA)
✓ CCI in range: Yes (-100 <= -80 <= 0)
✓ EMA Filter: Yes (EMA50 > EMA200)
✓ No existing position: Yes
3. Strategy opens position:
- Direction: LONG (Buy)
- Entry: 1.1000 (current close)
- Take Profit: 1.1110 (1.0% above entry)
- Stop Loss: 1.0945 (0.5% below entry)
- Risk/Reward: 2:1
4. Outcome scenarios:
- If price rises to 1.1110 → Take Profit hit (profit)
- If price falls to 1.0945 → Stop Loss hit (loss limited)
IMPORTANT NOTE ⚠️
-----------------
This strategy is a technical analysis tool based on CCI and EMA indicators.
Like all trading strategies, it does NOT guarantee profits. Trading involves
significant risks and you can lose money, including your entire investment.
Past performance does not guarantee future results.
Always:
- Use appropriate risk management
- Never risk more than you can afford to lose
- Test the strategy on historical data (backtesting) before using real money
- Start with small position sizes or paper trading
- Understand that no strategy works 100% of the time
- Consider market conditions, news events, and other factors
- Keep a trading journal to learn and improve
The author and contributors are NOT responsible for any losses incurred from
using this strategy. Trading decisions are your own responsibility. Profits
are NOT guaranteed, and losses are possible.
LICENSE 📄
----------
This code is open source and available for modification. You are free to use,
modify, and distribute this strategy. If you republish or share a modified
version, please kindly mention the original author.
================================================================================
Moving Averages
Delta Volume EMA Strategy
================================================================================
DELTA VOLUME EMA STRATEGY - STRATEGY GUIDE 📊
================================================================================
💡 COLLABORATION & SUPPORT
---------------------------
If you want to collaborate, have an idea for a strategy, or need help writing
or customizing code, send an email to burdytrader@gmail.com or send me a
message. Suggestions, ideas, and comments are always welcome! 🤝
================================================================================
⚠️ IMPORTANT: INSTRUMENT SELECTION 📈
-------------------------------------
This strategy performs BEST with instruments that have a centralized data flow,
such as Futures contracts. Centralized markets provide more accurate and
reliable volume data, which is essential for Volume Delta analysis to work
effectively.
Why Futures? 🎯
- Centralized exchange = Accurate volume data
- All trades flow through a single exchange
- Volume reflects true buying/selling pressure
- Better correlation between volume and price movements
While the strategy can work with other instruments (stocks, forex, etc.),
volume data quality may vary, which can affect the reliability of Volume Delta
signals. For optimal performance, use Futures contracts or other instruments
with centralized, high-quality volume data.
================================================================================
WHAT DOES THIS STRATEGY DO? 🎯
---------------------------
This strategy uses Volume Delta analysis combined with Exponential Moving
Averages (EMA) to identify high-probability trading opportunities. The Volume
Delta measures the difference between buying and selling pressure, helping to
identify when strong institutional or smart money movements occur. The strategy
automatically enters trades when volume delta reaches extreme levels, indicating
potential trend continuation or reversal points.
HOW IT WORKS? ⚙️
---------------
1. VOLUME DELTA CALCULATION 📈
The strategy calculates the Volume Delta using the following formula:
- Volume Ratio (v) = Current Volume / Previous Volume
- EMA of Close (mac) = EMA(Close, MA Length) × Volume Ratio
- EMA of Open (mao) = EMA(Open, MA Length) × Volume Ratio
- Volume Delta (vd) = mac - mao
The Volume Delta shows:
- Positive values (green) = Buying pressure (buyers are more active)
- Negative values (red) = Selling pressure (sellers are more active)
2. VOLUME DELTA MOVING AVERAGE 📊
The strategy calculates an EMA of the Volume Delta (vdma) to smooth out
fluctuations and identify the overall trend of buying/selling pressure:
- vdma = EMA(Volume Delta, EMA Length)
- When vdma is above zero = Overall buying pressure
- When vdma is below zero = Overall selling pressure
3. PERCENTILE-BASED ENTRY CONDITIONS 🎲
Instead of using fixed thresholds, the strategy uses percentile analysis to
identify extreme volume delta movements:
For LONG entries:
- Analyzes seller volumes (negative volume delta) over the lookback period
- Calculates the percentile threshold (default: 80th percentile)
- Enters LONG when volume delta becomes positive AND exceeds the threshold
- This indicates a strong shift from selling to buying pressure
For SHORT entries:
- Analyzes buyer volumes (positive volume delta) over the lookback period
- Calculates the percentile threshold (default: 80th percentile)
- Enters SHORT when volume delta becomes negative AND exceeds the threshold
- This indicates a strong shift from buying to selling pressure
4. POSITION SIZING 💰
The strategy offers two position sizing methods:
a) RISK VALUE (Fixed Risk in Dollars):
- Calculates position size based on a fixed dollar risk amount
- Formula: Position Size = Risk Amount / (Entry Price × Stop Loss %)
- Ensures consistent risk per trade regardless of price level
b) LOTS SIZE:
- Uses a fixed lot size for all trades
- Simple and straightforward approach
- Useful when you want consistent position sizes
5. TAKE PROFIT & STOP LOSS SETTINGS 🎯
The strategy offers flexible TP/SL configuration in three modes:
a) PERCENTAGE (%):
- TP/SL calculated as a percentage of entry price
- Example: 2% TP means entry price × 1.02 (for LONG) or × 0.98 (for SHORT)
- Adapts automatically to different price levels
b) CURRENCY:
- TP/SL set as a fixed currency amount
- Example: $100 TP means entry price + $100 (for LONG) or - $100 (for SHORT)
- Useful for instruments with consistent price movements
c) PIPS:
- TP/SL set as a fixed number of pips
- Automatically converts pips to price using the instrument's minimum tick
- Ideal for forex and other pip-based instruments
6. AUTOMATIC TRADE EXECUTION ⚡
When entry conditions are met:
- Opens a position (LONG or SHORT) at market price
- Automatically sets Take Profit and Stop Loss based on selected mode
- Sends an alert with all trade information
- Only one position at a time (waits for current position to close)
AVAILABLE PARAMETERS ⚙️
----------------------
1. MA LENGTH (Default: 10)
- Length of the Exponential Moving Average used for close and open prices
- Lower values = More sensitive to recent price action
- Higher values = More smoothed, less sensitive
2. EMA LENGTH (Default: 20)
- Length of the EMA applied to Volume Delta
- Controls the smoothing of the volume delta signal
- Lower values = Faster signals, more trades
- Higher values = Slower signals, fewer but potentially more reliable trades
3. POSITION SIZE MODE
- "Risk Value": Calculate position size based on fixed dollar risk
- "Lots Size": Use fixed lot size for all trades
4. FIXED RISK IN $ (Default: 50)
- Only used when Position Size Mode = "Risk Value"
- The dollar amount you're willing to risk per trade
- Strategy calculates position size automatically
5. LOT SIZE (Default: 0.01)
- Only used when Position Size Mode = "Lots Size"
- Fixed lot size for all trades
6. TAKE PROFIT MODE
- "%": Percentage of entry price
- "Currency": Fixed currency amount
- "Pips": Fixed number of pips
7. STOP LOSS MODE
- "%": Percentage of entry price
- "Currency": Fixed currency amount
- "Pips": Fixed number of pips
8. TAKE PROFIT / STOP LOSS VALUES
- Different input fields appear based on selected mode
- Configure TP and SL independently
9. VOLUME LOOKBACK PERIOD (Default: 20)
- Number of bars used to calculate percentile thresholds
- Lower values = More sensitive, adapts faster to recent conditions
- Higher values = More stable, uses longer-term statistics
10. PERCENTILE THRESHOLD (Default: 80%)
- The percentile level used to identify extreme volume delta movements
- 80% means: only enter when volume delta exceeds 80% of recent values
- Higher values = Fewer but potentially stronger signals
- Lower values = More frequent signals
VISUALIZATION 📊
---------------
The strategy displays on the chart:
1. VOLUME DELTA COLUMNS
- Green columns = Positive volume delta (buying pressure)
- Red columns = Negative volume delta (selling pressure)
- Height represents the magnitude of buying/selling pressure
2. VOLUME DELTA MA AREA
- Two overlapping area plots showing the smoothed volume delta
- Black area (base layer) for overall visualization
- Green area (when positive) = Overall buying pressure trend
- Red area (when negative) = Overall selling pressure trend
- Helps identify the dominant market sentiment
3. ZERO LINE
- Horizontal line at zero
- Helps visualize when buying/selling pressure crosses the neutral point
ALERTS 🔔
--------
When enabled, the strategy sends alerts when a trade is opened. The alert
message includes:
- Direction: "Buy" for LONG positions or "Sell" for SHORT positions
- Entry Price: The price at which the position was opened
- TP (Take Profit): The target profit price
- SL (Stop Loss): The stop loss price
Example alert message:
"Buy | Entry: 1.2050 | TP: 1.2250 | SL: 1.1950"
Alerts can be configured in TradingView to send notifications via email,
SMS, webhooks, or other platforms.
RECOMMENDED SETTINGS 🎯
-----------------------
To get started, you can use these settings:
STRATEGY PARAMETERS:
- MA Length: 10 (default)
- EMA Length: 20 (default)
- Volume Lookback Period: 20 (default)
- Percentile Threshold: 80% (default)
POSITION SIZING:
- Position Size Mode: "Risk Value" (for risk management)
- Fixed Risk in $: Adjust based on your account size (e.g., 1-2% of account)
- OR use "Lots Size" with 0.01 lots for small accounts
TAKE PROFIT & STOP LOSS:
- TP Mode: "%" (recommended for most instruments)
- SL Mode: "%" (recommended for most instruments)
- Take Profit (%): 2.0% (adjust based on your risk/reward preference)
- Stop Loss (%): 1.0% (adjust based on your risk tolerance)
For Forex:
- Consider using "Pips" mode for TP/SL
- Typical values: 20-50 pips TP, 10-30 pips SL
For Stocks/Indices:
- Use "%" mode for TP/SL
- Typical values: 2-5% TP, 1-2% SL
PRACTICAL EXAMPLE 📝
-------------------
Scenario: LONG Entry on EUR/USD
1. Market conditions:
- Price: 1.1000
- Volume Delta becomes strongly positive
- Volume Delta exceeds 80th percentile of recent seller volumes
2. Strategy calculates:
- Entry Price: 1.1000 (current close)
- Position Size Mode: "Risk Value"
- Fixed Risk: $50
- Stop Loss Mode: "%"
- Stop Loss: 1.0%
- Position Size = $50 / (1.1000 × 0.01) = 4.55 lots
3. Strategy opens position:
- Direction: LONG (Buy)
- Entry: 1.1000
- Take Profit: 1.1220 (2% above entry)
- Stop Loss: 1.0890 (1% below entry)
- Alert sent: "Buy | Entry: 1.1000 | TP: 1.1220 | SL: 1.0890"
4. Outcome scenarios:
- If price rises to 1.1220 → Take Profit hit (profit)
- If price falls to 1.0890 → Stop Loss hit (loss limited to $50)
IMPORTANT NOTE ⚠️
-----------------
This strategy is a technical analysis tool based on volume delta analysis.
Like all trading strategies, it does NOT guarantee profits. Trading involves
significant risks and you can lose money, including your entire investment.
Past performance does not guarantee future results.
Always:
- Use appropriate risk management
- Never risk more than you can afford to lose
- Test the strategy on historical data (backtesting) before using real money
- Start with small position sizes or paper trading
- Understand that no strategy works 100% of the time
- Consider market conditions, news events, and other factors
- Keep a trading journal to learn and improve
The author and contributors are NOT responsible for any losses incurred from
using this strategy. Trading decisions are your own responsibility. Profits
are NOT guaranteed, and losses are possible.
LICENSE 📄
---------
This code is open source and available for modification. You are free to use,
modify, and distribute this strategy. If you republish or share a modified
version, please kindly mention the original author.
================================================================================
IPO MA Start DetectorWhat is this tool?
This indicator is designed specifically for Fresh IPOs and recently listed stocks. Standard indicators like the 50-day or 200-day Moving Averages do not appear on a chart until the stock has traded for enough days. This tool solves that problem by telling you exactly when these key levels will appear.
It visualizes the "birth" of a Moving Average, both in the past and in the future.
Key Features:
Future Forecasting: Projects vertical lines into the future to show exactly when a specific MA (e.g., 50 DMA) will start calculating.
Countdown Timer: Displays a countdown (e.g., "Starts in 12 days") so you don't have to count candles manually.
Historical Start Points: Marks the exact candle where an MA (like the 10 or 20 EMA) first appeared historically.
Clean & Subtle: Uses floating text without heavy background boxes to keep your chart clutter-free.
Dark Mode Optimized: Uses bright, neon colors (Lime, Cyan, Orange) that pop against dark backgrounds.
How it works:
The script calculates the age of the stock (bar count).
If the stock is younger than the required MA length (e.g., only 30 days old), it projects a dashed line to the 50th day.
It anchors a label to that future date, showing you the countdown.
Settings:
Toggle MAs: Turn on/off 10 EMA, 20 EMA, 50 SMA, 100 SMA, or 200 SMA individually.
Label Location: Customize where the future labels appear (Above Price, Below Price, or At Price) to avoid overlapping with candles.
Use Case: Perfect for traders tracking new listings who are waiting for the "20 EMA pullback" or "50 DMA anchor" strategies to become valid.
Golden Vector Trend Orchestrator (GVTO)Golden Vector Trend Orchestrator (GVTO) is a composite trend-following strategy specifically engineered for XAUUSD (Gold) and volatile assets on H4 (4-Hour) and Daily timeframes.
This script aims to solve a common problem in trend trading: "Whipsaws in Sideways Markets." Instead of relying on a single indicator, GVTO employs a Multi-Factor Confluence System that filters out low-probability trades by requiring alignment across Trend Structure, Momentum, and Volatility.
🛠 Methodology & Logic
The strategy executes trades only when four distinct technical conditions overlap (Confluence). If any single condition is not met, the trade is filtered out to preserve capital.
1. Market Structure Filter (200 EMA)
Indicator: Exponential Moving Average (Length 200).
Logic: The 200 EMA acts as the baseline for the long-term trend regime.
Bullish Regime: Price must close above the 200 EMA.
Bearish Regime: Price must close below the 200 EMA.
Purpose: Prevents counter-trend trading against the macro direction.
2. Signal Trigger & Trailing Stop (Supertrend)
Indicator: Supertrend (ATR Length 14, Factor 3.5).
Logic: Uses Average True Range (ATR) to detect trend reversals while accounting for volatility.
Purpose: Provides the specific entry signal and acts as a dynamic trailing stop-loss to let profits run while cutting losses when the trend invalidates.
3. Volatility Gatekeeper (ADX Filter)
Indicator: Average Directional Index (Length 14).
Threshold: > 25.
Logic: A high ADX value indicates a strong trend presence, regardless of direction.
Purpose: This is the most critical filter. It prevents the strategy from entering trades during "choppy" or ranging markets (consolidation zones) where trend-following systems typically fail.
4. Momentum Confirmation (DMI)
Indicator: Directional Movement Index (DI+ and DI-).
Logic: Checks if the buying pressure (DI+) is physically stronger than selling pressure (DI-), or vice versa.
Purpose: Ensures that the price movement is backed by genuine momentum, not just a momentary price spike.
📋 How to Use This Strategy
🟢 LONG (BUY) Setup
A Buy signal is generated only when ALL of the following occur simultaneously:
Price Action: Price closes ABOVE the 200 EMA (Orange Line).
Trigger: Supertrend flips to GREEN (Bullish).
Strength: ADX is greater than 25 (Strong Trend).
Momentum: DI+ (Plus Directional Indicator) is greater than DI- (Minus).
🔴 SHORT (SELL) Setup
A Sell signal is generated only when ALL of the following occur simultaneously:
Price Action: Price closes BELOW the 200 EMA (Orange Line).
Trigger: Supertrend flips to RED (Bearish).
Strength: ADX is greater than 25 (Strong Trend).
Momentum: DI- (Minus Directional Indicator) is greater than DI+ (Plus).
🛡 Exit Strategy
Stop Loss / Take Profit: The strategy utilizes the Supertrend Line as a dynamic Trailing Stop.
Exit Long: When Supertrend turns Red.
Exit Short: When Supertrend turns Green.
Note: Traders can also use the real-time P/L Dashboard included in the script to manually secure profits based on their personal Risk:Reward ratio.
📊 Included Features
Real-Time P/L Dashboard: A table in the top-right corner displays the current trend status, ADX strength, and the Unrealized Profit/Loss % of the current active position.
Smart Labeling: Buy/Sell labels are coded to appear only on the initial entry trigger. They do not repaint and do not spam the chart if the trend continues (no pyramiding visualization).
Visual Aids: Background color changes (Green/Red) to visually represent the active trend based on the Supertrend status.
⚠️ Risk Warning & Best Practices
Asset Class: Optimized for XAUUSD (Gold) due to its high volatility nature. It also works well on Crypto (BTC, ETH) and Major Forex Pairs.
Timeframe: Highly recommended for H4 (4 Hours) or D1 (Daily). Using this on lower timeframes (M5, M15) may result in false signals due to market noise.
News Events: Automated strategies cannot predict economic news (CPI, NFP). Exercise caution or pause trading during high-impact economic releases.
Multi-Indicator DashboardMulti-timeframe trading dashboard overlay on your chart. Analyzes Trend, Momentum, Swing, Strength, Direction, Volatility, and delivers a final VIEW (Bullish/Bearish/Flat) across 5 key timeframes. Perfect for quick multi-TF alignment checks! W → D → 2H → 1H → 15M
Features
Color-Coded Cells: Green (Bullish), Red (Bearish), Gray (Neutral).
Historical Mode: Toggle "Enable Historical View" → Slider picks N bars back (chart TF-aware: e.g., 10 bars = 2.5H on 15M).
Yellow vertical line + date label marks the exact bar
Quick Setup
Add to chart → Customize inputs.
Historical: Enable + slide "Bars Back" for past data snapshots.
Views Update Live: Real-time on current/historical bars.
RRR EMA Ignition BUY & SELL (Sideways-Proof)🔹 Description
RRR EMA Ignition Buy & Sell is a trend-following, non-repainting indicator designed to capture high-probability trend ignition points while filtering out sideways market noise.
Unlike basic EMA crossover systems that generate frequent false signals, this indicator uses a state-based trend engine, volatility filters, and trend strength confirmation to ensure signals appear only when a real directional move is underway.
It is optimized for swing trading and positional trading on stocks and indices.
🔹 Core Logic
🔼 BUY Signal (Bullish Ignition)
A BUY signal is generated only when all of the following conditions are met:
EMA 21 confirms bullish regime above EMA 55
EMA 9 shows momentum above EMA 21
Price is trading above EMA 55
Candle closes bullish (confirmation)
Trend strength is validated using ADX
EMA 55 is sloping upward
Price is sufficiently far from EMA 55 (ATR-based distance filter)
Only one BUY per bullish trend leg (no repeated signals)
🔽 SELL Signal (Bearish Ignition)
A SELL signal is the exact reverse of the BUY logic:
EMA 21 confirms bearish regime below EMA 55
EMA 9 shows bearish momentum below EMA 21
Price is trading below EMA 55
Candle closes bearish
ADX confirms trend strength
EMA 55 is sloping downward
ATR distance filter blocks sideways chop
Only one SELL per bearish trend leg
🔹 Key Features
✅ Non-repainting (signals appear only after candle close)
✅ Sideways-market protection using ATR + ADX
✅ State-based logic (prevents repeated BUY/SELL spam)
✅ Handles strong V-reversals using trend re-arm logic
✅ Clean signals suitable for alerts and automation
✅ Works across stocks, indices, and ETFs
🔹 Best Use Cases
📈 Swing trading on Daily / 4H charts
📊 Large-cap stocks and indices (Nifty, Bank Nifty, SPX, NASDAQ)
🚫 Not intended for low-timeframe scalping
🎯 Designed for trend capture, not range trading
🔹 Recommended Settings
Indian Stocks
ADX Minimum: 18
ATR Multiplier: 0.6 – 0.8
US Indices
ADX Minimum: 22
ATR Multiplier: 0.5
(Default settings work well for most instruments.)
🔹 How to Trade (Simple Guide)
Use BUY signals to enter or add to long positions
Use SELL signals to enter short positions or exit longs
Combine with:
Support/resistance
Higher-timeframe bias
Position sizing & risk management
🔹 Disclaimer
This indicator is a decision-support tool, not financial advice.
Always apply proper risk management and confirm signals with your own analysis.
Algomist.app v1.0🚀 WMA Crossover Momentum Scalper: Algomist.app AUTO-EXECUTION
This strategy is a momentum-based trend-following system optimized for fully automated, high-frequency trade execution via algomist.app webhooks. It systematically enters trades based on a powerful moving average crossover, confirmed by both volume and volatility filters.
⚙️ Core Strategy Logic
This script is designed to capture short- to medium-term moves in trending markets by combining three key indicators:
Trend Confirmation (WMA Crossover): The primary signal is generated when a Fast WMA (50-period) crosses the Slow WMA (100-period). This crossover confirms the shift in the prevailing trend direction.
Volume Filter (VWAP): The trade is only taken if the price is trading above the VWAP for Long entries, or below the VWAP for Short entries. This ensures the trade is aligned with the asset's average price relative to trading volume.
Volatility Filter (ATR): A minimum Average True Range (ATR) filter is applied. This is critical for avoiding entries during periods of extreme low volatility ("chop"), ensuring the market has enough movement to justify the trade.
🔗 Algomist.app Automation Ready
This is the most important feature. The script contains custom-coded alert() functions that output a perfect JSON payload, making it 100% compatible with the algomist.app webhook infrastructure.
Seamless Execution: The strategy instantly transmits all required parameters—symbol, side, entry_price, dynamic stop_loss, and dynamic take_profit—directly to your MT5 terminal through the algomist.app connector.
Simple Setup: To enable live automation, you only need to configure a TradingView alert using the provided webhook URL and the {{strategy.order.alert_message}} placeholder on the bar's close.
Default Asset: The webhook is pre-configured to trade the ETHUSDC symbol. This can be easily adapted to other crypto or Forex pairs within the algomist.app settings.
🛡️ Dynamic Risk Management (ATR-Based)
Risk management is dynamic, ensuring the Stop Loss and Take Profit levels automatically adapt to current market volatility:
Stop Loss (SL): Placed at a customizable (x) * ATR distance from the entry price. The default setting is 3.0x ATR.
Take Profit (TP): Placed at a customizable (x) * ATR distance from the entry price. The default setting is 9.0x ATR, offering a fixed Reward-to-Risk ratio of 3:1 (9.0 / 3.0).
Position Sizing: The script uses strategy.percent_of_equity = 10% for backtesting, but the algomist.app execution is based on an internal calculation using a small percentage (e.g., 5%) of a leveraged notional value for illustrative purposes. Users must set their risk size within the algomist.app platform.
Disclaimer: This script is provided as an example for Algomist.app users and is NOT financial advice. Backtest thoroughly across various assets and timeframes. Past performance is not indicative of future results. The user assumes all responsibility for live trading risk.
Weekly Debit Spread VWAP + Prior Day + Dual ConfirmOpen Debit Spreads using previous day and current vwap
Yivgeny Decision ScoreYivgeny Decision Score is a technical indicator that provides two objective scores (0–10) to support trading decisions:
ENTRY Score – evaluates the quality of a potential entry
HOLD Score – evaluates whether to hold or exit an existing position
The score is based on trend direction (SMA150), EMA20 behavior, volume confirmation, MACD momentum, breakout or bounce signals, and price action structure.
Designed for discretionary traders who want a clear, rule-based decision aid without automatic buy/sell signals.
Stack Detector Stack Detector, which is showing how the ma moves as a chart goes by.
It help you the power of the waves
HMA Fibo Trend RibbonHMA Fibo Trend Ribbon - Fibonacci Trend Indicator
📊 Indicator Description
This is a trend indicator based on the harmony of Fibonacci numbers. The indicator uses seven Hull Moving Averages with periods corresponding to the Fibonacci sequence: 8, 13, 21, 34, 55, 89, 144. This mathematical harmony allows the indicator to perfectly align with natural market cycles and wave structures.
🎯 Fibonacci Philosophy in Market Analysis
The Fibonacci sequence is not just a set of numbers, but a fundamental pattern found in nature, art, and financial markets. Using these periods provides:
Natural alignment with market cycles
Multifractal analysis (covering different wave levels)
Harmonious interaction between timeframes
Universal application across all timeframes
🔧 Indicator Settings
Visual Settings:
Show Main Line - Show main line (HMA 144 - golden ratio)
Show Ribbon Lines - Show the remaining 6 Fibonacci lines
Show Trend Change Labels - Show trend change labels
Show Info (Trend %) - Show info label with trend percentage
Ribbon Opacity - Ribbon transparency (0-100%)
🎨 Visualization of Fibonacci Structure
Color Harmony:
Each HMA line corresponds to a specific Fibonacci level
Collective movement creates the "Fibonacci Ribbon"
Color differentiation based on direction
Info Label:
Displays consensus of 7 Fibonacci levels
Percentage ratio of bullish/bearish lines
Color coding of the trend
📊 Interpretation of Fibonacci Signals
Consistency Levels:
7/7 lines in one direction - Perfect Fibonacci harmony
5-6/7 lines - Strong trend
3-4/7 lines - Consolidation/transition phase
0-2/7 lines - Opposite trend
🚀 Advantages of Fibonacci Approach
Natural harmony with market cycles
Universal - works on any asset and timeframe
Predictive power - anticipates reversal zones
Period synergy - signal amplification when aligned
Minimal lag - HMA responds better than regular MAs
⚡ Implementation Features
Technical Details:
Algorithm: Hull Moving Average (optimized for speed)
Periods: Pure Fibonacci sequence
Calculation: Consensus of 7 harmonic levels
Visualization: Intuitive color scheme
Performance:
Optimized for TradingView
Minimal system load
Support for all chart types
⚠️ Usage Recommendations
Combine with other Fibonacci tools
Verify signals on different timeframes
Use for trade entry filtering
Test on historical data before live trading
✍️ Author: A-Swift
📅 Version: 1.0 Fibonacci
🔗 Code: Open Source (MPL 2.0)
🧮 Basis: Fibonacci Sequence (8, 13, 21, 34, 55, 89, 144)
Fibonacci Fact:
The number 144 in the Fibonacci sequence is the square of its ordinal number (12²) and represents perfect harmony in market cycles. This makes the HMA with period 144 particularly significant for determining the main trend.
Korocham MA & SwingSMA 3Lines , Swing High Low
An indicator that displays 3 SMA lines and Swing Highs/Lows with 5 bars to the left and right.
HMA 9/50 Crossover + RSI 50 Filter1. The Core Indicators
HMA 9 (Fast): Acts as the primary trigger line. Its unique calculation minimizes lag compared to standard moving averages, allowing for faster entries.
HMA 50 (Slow): Defines the medium-term trend direction and acts as the "anchor" for crossover signals.
RSI 14: Serves as a "momentum gate." Instead of traditional overbought/oversold levels, we use the 50 midline to confirm that the directional strength supports the crossover.
2. Entry Conditions
Long Entry: Triggered when the HMA 9 crosses above the HMA 50 AND the RSI is greater than 50.
Short Entry: Triggered when the HMA 9 crosses below the HMA 50 AND the RSI is less than 50.
3. Execution & Reversal
This strategy is currently configured as an Always-in-the-Market system.
A "Long" position is automatically closed when a "Short" signal is triggered.
To prevent "pyramiding" (buying multiple positions in one direction), the script checks the current position_size before opening new entries.
How to Use
Timeframe: Optimized for 3-minute (3m) candles but can be tuned for 1m to 15m scalping.
Settings: Use the Inputs panel to adjust HMA lengths based on the volatility of your specific asset (e.g., shorter for stable stocks, longer for volatile crypto).
Visuals:
Aqua Line: HMA 9
Orange Line: HMA 50
Green Background: Bullish RSI Momentum (> 50)
Red Background: Bearish RSI Momentum (< 50)
Risk Disclosure
Whipsaws: This strategy is likely to underperform in sideways markets.
Backtesting: Past performance does not guarantee future results. Always test this strategy in the Strategy Tester with appropriate commission and slippage settings before live use.
0DTE Credit-Spread Morning FilterUPDATE: NATIVE ALERTS ADDED!
You asked, we delivered. You no longer need to sit and stare at the dashboard waiting for a green signal.
1. New "Trade Entry Signal" Alert:
I have added a custom alert condition to the code. This triggers the exact moment the dashboard flips from "NO TRADE" to "GREEN" (Strategy Found).
2. How to set it:
Simply click the "Create Alert" button (clock icon) in TradingView, select this indicator, and choose "Trade Entry Signal" from the list.
Now you can get notified on your phone or desktop instantly when the market conditions align for a 0DTE play.
Happy Trading!
VWAP roller autoBrief Description
VWAP Roller Auto is a TradingView Pine Script indicator that combines a rolling (resetting) Volume Weighted Average Price (VWAP) with dozens of dynamic support/resistance levels derived from Gann's Square of 9 principles. The VWAP resets periodically (automatically or manually) starting from a user-defined session open time, and the Gann levels "roll" with it, creating an adaptive grid of potential price reaction zones. It's designed for intraday trading and overlays directly on the price chart.
Key Features
Rolling VWAP with Custom Session Start
VWAP calculation restarts at configurable session open (default 8:30 CST, using proper Chicago timezone handling).
Auto-Adaptive Period Selection
Automatically chooses the VWAP reset period (from 2 min up to 48 hours) based on current volatility (ATR + realized range). Targets a user-defined spacing (~0.08% by default) between consecutive VWAPs to keep the grid relevant to market conditions. Falls back to manual period if disabled.
Gann Square of 9 Levels
Generates ~8 pairs of resistance (R) and support (S) levels above/below the current rolling VWAP using octave-based increments.
Two increment modes:
Points mode — fixed point steps that double octavely (e.g., 0.305, 0.610, 1.22, 2.44, etc.).
Percent mode — percentage steps scaled so the middle octave aligns near 0.025% for finer resolution on lower-priced assets.
Visual Enhancements
Colored fills between key level groups (e.g., inner ±0.25 octave in blue, ±1–2 octave zones in gray, higher extremes in yellow/red).
Labels on the right side marking important zones ("low", "normal", "high", "3/4 - ps1", "extreme - ps2").
Central VWAP line (customizable color and offset).
Table showing current period length and whether auto mode is active.
Non-Timeframe Friendly
Works on range bars, Renko, etc., using fallback settings when timeframe is non-standard.
Use Cases
Intraday Support/Resistance Trading
Treat the rolling VWAP as fair value and use the Gann-derived levels as dynamic zones for potential reversals, breakouts, or mean reversion.
Scalping and Day Trading
Auto-period ensures the grid spacing matches current volatility — tighter levels in quiet markets, wider in volatile ones — ideal for futures (ES, NQ), crypto, or forex.
Zone-Based Entries/Exits Buy near labeled support zones (e.g., "low" or "normal" volatility bottoms) when price trades below VWAP.
Sell/short near resistance zones in overbought conditions.
Watch for hits of "extreme" zones (±8 octave) as potential strong reversal signals.
Confluence Tool
Combine with order flow, volume profile, or other indicators; the colored fills highlight "value areas" similar to market profile concepts but anchored to a rolling VWAP.
In short, VWAP Roller Auto provides a sophisticated, self-adjusting Gann-inspired grid that moves with the market's fair value, helping traders identify high-probability reaction zones throughout the trading session.
SCOTTGO - MOMO RVOL Trend Painter V2 (Elite Pro)SCOTTGO - MOMO RVOL Trend Painter V2 (Elite Pro)
This professional-grade trend-following indicator identifies high-probability "Elite" entry points by combining Relative Volume (RVOL) with strict trend alignment and momentum filters. It is designed to filter out market noise and highlight only the most significant institutional moves.
Core Features
Elite Signal Logic: Triggers only when high RVOL (default >2.0x) aligns with a confirmed trend (Price vs. VWAP & 9EMA) and positive momentum (RSI & MACD).
Dynamic Bar Coloring: Instantly paints bars Green (Bullish) or Red (Bearish) when all "Elite" criteria are met.
Smart Labeling: Labels are corner-anchored to the left of the signal bar. This prevents visual clutter and ensures labels never obstruct new price action.
Detailed Tooltips: Hover over any "Elite" flag to see a comprehensive breakdown of the specific metrics (RVOL value, Trend status, RSI, and MACD) that triggered the signal.
Key Components
RVOL Threshold: Adjustable sensitivity to volume spikes.
Trend Filter: Optional requirement for price to stay above/below VWAP and the 9EMA.
Momentum Filters: Integrated RSI and MACD confirmation to avoid "exhaustion" trades.
Visual Customization: Full control over label spacing, colors, and opacity.
How to use: Look for the ⭐ ELITE flags as confirmation for trend continuation or high-volume breakouts. Use the triangles for precise candle entry points.
Disclaimer: Technical analysis tools are for informational purposes only. Trading involves significant financial risk.
Debye-Einstein Trend Oscillator [Dual Mode] | IkkeOmarDebye-Einstein Trend Oscillator
Indicator Settings Guide
Visual Settings View Mode: Switches the chart display. Select "Standard Flow" to see the raw physics energy bars and crossover lines. Select "Trend Diff (MACD)" to see the histogram that highlights momentum shifts and chaos spikes.
Physics Engine Trend Lookback: Defines the "Mass" of the trend. This sets the long-term baseline (default 1500 bars). Higher values filter out noise and focus only on macro-cycles; lower values make the system faster but noisier. Chaos Threshold (%): Controls the trigger for the Einstein (Chaos) state. Set to 95, only the top 5% of highest-energy volume events will trigger the vertical white spikes. Lowering this value makes the system more sensitive to volatility.
Flow Moving Averages MA Type: Choose between SMA (Simple) or EMA (Exponential) for the smoothing calculation. Fast / Slow Length: These settings determine the sensitivity of the momentum logic. The difference between these two lengths creates the histogram in "Trend Diff" mode.
1. Concept & Theoretical Basis
This script applies principles from Solid State Physics—specifically the Debye and Einstein models of specific heat capacity—to financial market trend analysis.
The core hypothesis is that market trends behave like physical lattices:
Low Energy State (Debye Model): The market moves in a coordinated, wave-like manner (phonons). Trends are sustainable and correlated.
High Energy State (Einstein Model): The market becomes chaotic. Individual participants (atoms) vibrate independently and violently. This represents capitulation or euphoria.
We model "Price" as the position of particles and "Volume × Range" as the thermal energy (Temperature) entering the system.
2. Implementation Models
We constructed the oscillator using three primary physical components:
A. The Trend Vector (Mass)
We assume the "Mass" of the market is its inertia relative to a long-term baseline.
Model: Distance from a 1500-period SMA, normalized by ATR.
Assumption: Price deviation from a deep baseline indicates the magnitude of the trend "force."
B. Thermodynamics (Temperature)
We define "Work" as Volume * True Range.
Temperature (T): The Percentile Rank of this Work over the lookback period (1500 bars).
Assumption: High volume combined with high range equals high thermal energy.
C. The Dual Regimes (Amplifiers)
This is the engine of the script. We apply a scalar multiplier to the Trend Vector based on the current Temperature (T).
Debye Regime (Sustainable): When T is below the critical threshold (95%), we use a polynomial function (T^2). This mimics the Debye T^3 law where energy scales smoothly.
Effect: Smoothly amplifies standard trends.
Einstein Regime (Chaos): When T breaches the critical threshold (95%), we switch to an exponential function derived from the Einstein Solid model.
Effect: Creates massive vertical spikes during trend exhaustions or breakouts.
3. Code Explanation
The Physics Scalars
debye_amp(t) => 1.0 + (math.pow(t, 2) * 5.0)
Defines the sustainable state multiplier. Squaring the temperature t creates a non-linear but smooth response curve that gradually increases with volatility.
einstein_amp(t) => 1.0 + ((1.0 / (math.exp(1.0 / t_safe) - 1.0)) * 15.0)
Deep Dive: This function applies the Bose-Einstein distribution formula (1 / (e^(1/T) - 1)).
The Physics: In quantum mechanics, this formula calculates the occupancy of energy states. At low temperatures, the value is effectively zero (the "frozen" state).
The Function: As our market "Temperature" (T) rises, the denominator shrinks, causing the output to grow exponentially.
The Result: This mathematically forces the system to ignore low-volatility noise but react explosively once the "Boiling Point" is reached, creating the vertical spikes seen on the chart.
is_einstein = (T * 100) >= thresh_einstein
A boolean check that determines if the current market energy (Temperature) has exceeded the user-defined chaos threshold (default 95%).
physics_scalar = is_einstein ? einstein_amp(T) : debye_amp(T)
The regime switch. If the threshold is breached, the system applies the exponential Einstein scalar; otherwise, it applies the polynomial Debye scalar.
Trend Differentiation Logic
final_flow = trend_vector * physics_scalar
Calculates the primary oscillator value by multiplying the directional Trend Vector (Mass) by the active Physics Scalar (Energy).
diff_val = ma_fast - ma_slow
Calculates the momentum of the flow itself by subtracting the Slow Moving Average from the Fast Moving Average. This creates the MACD-style histogram.
4. Visual Reporting & Chart Analysis
Referring to the generated charts (Trend Diff Mode):
The Histogram: Represents the diff_val (Fast MA - Slow MA).
Cyan/Pink: Standard trend momentum (Debye mode).
White Spikes: These represent the Einstein Threshold (Chaos). These spikes generally appear at local bottoms or explosive breakout points, confirming that "Temperature" has exceeded the 95th percentile.
Zero Line: Crossing the zero line implies the trend momentum has shifted (Fast MA crossed Slow MA).
5. Assumptions & Limitations
A. The "Always in Trend" Bias
The "Trend Diff" mode calculates the delta between two moving averages of the flow.
Risk: MAs are laggy by definition. By using a 200/500 MA combo on the oscillator, we are smoothing the data significantly.
Consequence: In a ranging market, the MAs will converge near zero. However, if a sudden burst of Volume enters (Temperature rises) without price moving much, the Einstein scalar will trigger. This may amplify a small move into a large signal, implying a trend where there is only volatility.
B. Lag
The lookback period is 1500 bars. This is a "Macro" trend system. It will not react quickly to short-term reversals unless the Volume/Range shock is massive enough to trigger the Einstein scalar immediately.
Example "physics values"
In the Standard Flow view, the vertical columns represent the raw energy of the trend—Teal and Red bars indicate normal, sustainable market movement (Debye state), while bright Lime and Fuchsia bars signal chaotic, high-volatility events (Einstein state). The height of these bars shows the combined strength of price direction and volume. Overlaying these columns are two moving averages, a fast Blue line and a slow Red line, which smooth out this data to show the underlying momentum. When the Blue line crosses the Red line, it signals a shift in the trend's direction, while the color of the bars warns you if that move is stable or nearing exhaustion.
MA Alignment DetectorMA Alignment Detector : If it is bullish MA alignment, the color becomes red, if it is bearlish MA alignment, the color become green.
CryptoFlux Dynamo [JOAT]CryptoFlux Dynamo: Velocity Scalping Strategy
WHAT THIS STRATEGY IS
CryptoFlux Dynamo is an open-source Pine Script v6 strategy designed for momentum-based scalping on cryptocurrency perpetual futures. It combines multiple technical analysis methods into a unified system that adapts its behavior based on current market volatility conditions.
This script is published open-source so you can read, understand, and modify the complete logic. The description below explains everything the strategy does so that traders who cannot read Pine Script can fully understand how it works before using it.
HOW THIS STRATEGY IS ORIGINAL AND WHY THE INDICATORS ARE COMBINED
This strategy uses well-known indicators (MACD, EMA, RSI, MFI, Bollinger Bands, Keltner Channels, ATR). The originality is not in the individual indicators themselves, but in the specific way they are integrated into a regime-adaptive system. Here is the detailed justification for why these components are combined and how they work together:
The Problem Being Solved:
Standard indicator-based strategies use fixed thresholds. For example, a typical MACD strategy might enter when the histogram crosses above zero. However, in cryptocurrency markets, volatility changes dramatically throughout the day and week. A MACD crossover during a low-volatility consolidation period has very different implications than the same crossover during a high-volatility trending period. Using the same entry thresholds and stop distances in both conditions leads to either:
Too many false signals during consolidation (if thresholds are loose)
Missing valid opportunities during expansion (if thresholds are tight)
Stops that are too tight during volatility spikes (causing premature exits)
Stops that are too wide during compression (giving back profits)
The Solution Approach:
This strategy first classifies the current volatility regime using normalized ATR (ATR as a percentage of price), then dynamically adjusts ALL other parameters based on that classification. This creates a context-aware system rather than a static threshold comparison.
How Each Component Contributes to the System:
ATR-Based Regime Classification (The Foundation)
The strategy calculates ATR over 21 periods, smooths it with a 13-period EMA to reduce noise from wicks, then divides by price to get a normalized percentage. This ATR% is classified into three regimes:
- Compression (ATR% < 0.8%): Market is consolidating, breakouts are more likely but false signals are common
- Expansion (ATR% 0.8% - 1.6%): Normal trending conditions
- Velocity (ATR% > 1.6%): High volatility, larger moves but also larger adverse excursions
This regime classification then controls stop distances, profit targets, trailing stop offsets, and signal strength requirements. The regime acts as a "meta-parameter" that tunes the entire system.
EMA Ribbon (8/21/34) - Trend Structure Detection
The three EMAs establish trend direction and structure. When EMA 8 > EMA 21 > EMA 34, the trend structure is bullish. The slope of the middle EMA (21) is calculated over 8 bars and converted to degrees using arctangent. This slope measurement quantifies trend strength, not just direction.
Why these specific periods? The 8/21/34 sequence follows Fibonacci-like spacing and provides good separation on 5-minute cryptocurrency charts. The fast EMA (8) responds to immediate price action, the mid EMA (21) represents the short-term trend, and the slow EMA (34) acts as a trend filter.
The EMA ribbon works with the regime classification: during compression regimes, the strategy requires stronger ribbon alignment before entry because false breakouts are more common.
MACD (8/21/5) - Momentum Measurement
The MACD uses faster parameters (8/21/5) than the standard (12/26/9) because cryptocurrency markets move faster than traditional markets. The histogram is smoothed with a 5-period EMA to reduce noise.
The key innovation is the adaptive histogram baseline. Instead of using a fixed threshold, the strategy calculates a rolling baseline from the smoothed absolute histogram value, then multiplies by a sensitivity factor (1.15). This means the threshold for "significant momentum" automatically adjusts based on recent momentum levels.
The MACD works with the regime classification: during velocity regimes, the histogram baseline is effectively higher because recent momentum has been stronger, preventing entries on relatively weak momentum.
RSI (21 period) and MFI (21 period) - Independent Momentum Confirmation
RSI measures momentum using price changes only. MFI (Money Flow Index) measures momentum using price AND volume. By requiring both to confirm, the strategy filters out price moves that lack volume support.
The 21-period length is longer than typical (14) to reduce noise on 5-minute charts. The trigger threshold (55 for longs, 45 for shorts) is slightly offset from 50 to require momentum in the trade direction, not just neutral readings.
These indicators work together: a signal requires RSI > 55 AND MFI > 55 for longs. This dual confirmation reduces false signals from price manipulation or low-volume moves.
Bollinger Bands (1.5 mult) and Keltner Channels (1.8 mult) - Squeeze Detection
When Bollinger Bands contract inside Keltner Channels, volatility is compressing and a breakout is likely. This is the "squeeze" condition. When the bands expand back outside the channels, the squeeze "releases."
The strategy uses a 1.5 multiplier for Bollinger Bands (tighter than standard 2.0) and 1.8 for Keltner Channels. These values were chosen to identify meaningful squeezes on 5-minute cryptocurrency charts without triggering too frequently.
The squeeze detection works with the regime classification: squeeze releases during compression regimes receive additional signal strength points because breakouts from consolidation are more significant.
Volume Impulse Detection - Institutional Participation Filter
The strategy calculates a volume baseline (34-period SMA) and standard deviation. A "volume impulse" is detected when current volume exceeds the baseline by 1.15x OR when the volume z-score exceeds 0.5.
This filter ensures entries occur when there is meaningful market participation, not during low-volume periods where price moves are less reliable.
Volume impulse is required for all entries and adds points to the composite signal strength score.
Cycle Oscillator - Trend Alignment Filter
The strategy calculates a 55-period EMA as a cycle basis, then measures price deviation from this basis as a percentage. When price is more than 0.15% above the cycle basis, the cycle is bullish. When more than 0.15% below, the cycle is bearish.
This filter prevents counter-trend entries. Long signals require bullish cycle alignment; short signals require bearish cycle alignment.
BTC Dominance Filter (Optional) - Market Regime Filter
The strategy can optionally use BTC.D (Bitcoin Dominance) as a market regime filter. When BTC dominance is rising (slope > 0.12), the market is in "risk-off" mode and long entries on altcoins are filtered. When dominance is falling (slope < -0.12), short entries are filtered.
This filter is optional because the BTC.D data feed may lag during low-liquidity periods.
How The Components Work Together (The Mashup Justification):
The strategy uses a composite scoring system where each signal pathway contributes points:
Trend Break pathway (30 points): Requires EMA ribbon alignment + positive slope + price breaks above recent structure high
Momentum Surge pathway (30 points): Requires MACD histogram > adaptive baseline + MACD line > signal + RSI > 55 + MFI > 55 + volume impulse
Squeeze Release pathway (25 points): Requires BB inside KC (squeeze) then release + momentum bias + histogram confirmation
Micro Pullback pathway (15 points): Requires shallow retracement to fast EMA within established trend + histogram confirmation + volume impulse
Additional modifiers:
+5 points if volume impulse is present, -5 if absent
+5 points in velocity regime, -2 in compression regime
+5 points if cycle is aligned, -5 if counter-trend
A trade only executes when the composite score reaches the minimum threshold (default 55) AND all filters agree (session, cycle bias, BTC dominance if enabled).
This scoring system is the core innovation: instead of requiring ALL conditions to be true (which would generate very few signals) or ANY condition to be true (which would generate too many false signals), the strategy requires ENOUGH conditions to be true, with different conditions contributing different weights based on their reliability.
HOW THE STRATEGY CALCULATES ENTRIES AND EXITS
Entry Logic:
1. Calculate current volatility regime from ATR%
2. Calculate all indicator values (MACD, EMA, RSI, MFI, squeeze, volume)
3. Evaluate each signal pathway and sum points
4. Check all filters (session, cycle, dominance, kill switch)
5. If composite score >= 55 AND all filters pass, generate entry signal
6. Calculate position size based on risk per trade and regime-adjusted stop distance
7. Execute entry with regime name as comment
Position Sizing Formula:
RiskCapital = Equity * (0.65 / 100)
StopDistance = ATR * StopMultiplier(regime)
RawQuantity = RiskCapital / StopDistance
MaxQuantity = Equity * (12 / 100) / Price
Quantity = min(RawQuantity, MaxQuantity)
Quantity = round(Quantity / 0.001) * 0.001
This ensures each trade risks approximately 0.65% of equity regardless of volatility, while capping total exposure at 12% of equity.
Stop Loss Calculation:
Stop distance is ATR multiplied by a regime-specific multiplier:
Compression regime: 1.05x ATR (tighter stops because moves are smaller)
Expansion regime: 1.55x ATR (standard stops)
Velocity regime: 2.1x ATR (wider stops to avoid premature exits during volatility)
Take Profit Calculation:
Target distance is ATR multiplied by regime-specific multiplier and base risk/reward:
Compression regime: 1.6x ATR * 1.8 base R:R * 0.9 regime bonus = approximately 2.6x ATR
Expansion regime: 2.05x ATR * 1.8 base R:R * 1.0 regime bonus = approximately 3.7x ATR
Velocity regime: 2.8x ATR * 1.8 base R:R * 1.15 regime bonus = approximately 5.8x ATR
Trailing Stop Logic:
When adaptive trailing is enabled, the strategy calculates a trailing offset based on ATR and regime:
Compression regime: 1.1x base offset (looser trailing to avoid noise)
Expansion regime: 1.0x base offset (standard)
Velocity regime: 0.8x base offset (tighter trailing to lock in profits during fast moves)
The trailing stop only activates when it would be tighter than the initial stop.
Momentum Fail-Safe Exits:
The strategy closes positions early if momentum reverses:
Long positions close if MACD histogram turns negative OR EMA ribbon structure breaks (fast EMA crosses below mid EMA)
Short positions close if MACD histogram turns positive OR EMA ribbon structure breaks
This prevents holding through momentum reversals even if stop loss hasn't been hit.
Kill Switch:
If maximum drawdown exceeds 6.5%, the strategy disables new entries until manually reset. This prevents continued trading during adverse conditions.
HOW TO USE THIS STRATEGY
Step 1: Apply to Chart
Use a 5-minute chart of a high-liquidity cryptocurrency perpetual (BTC/USDT, ETH/USDT recommended)
Ensure at least 200 bars of history are loaded for indicator stabilization
Use standard candlestick charts only (not Heikin Ashi, Renko, or other non-standard types)
Step 2: Understand the Visual Elements
EMA Ribbon: Three lines (8/21/34 periods) showing trend structure. Bullish when stacked upward, bearish when stacked downward.
Background Color: Shows current volatility regime
- Indigo/dark blue = Compression (low volatility)
- Purple = Expansion (normal volatility)
- Magenta/pink = Velocity (high volatility)
Bar Colors: Reflect signal strength divergence. Brighter colors indicate stronger directional bias.
Triangle Markers: Entry signals. Up triangles below bars = long entry. Down triangles above bars = short entry.
Dashboard (top-right): Real-time display of regime, ATR%, signal strengths, position status, stops, targets, and risk metrics.
Step 3: Interpret the Dashboard
Regime: Current volatility classification (Compression/Expansion/Velocity)
ATR%: Normalized volatility as percentage of price
Long/Short Strength: Current composite signal scores (0-100)
Cycle Osc: Price deviation from 55-period EMA as percentage
Dominance: BTC.D slope and filter status
Position: Current position direction or "Flat"
Stop/Target: Current stop loss and take profit levels
Kill Switch: Status of drawdown protection
Volume Z: Current volume z-score
Impulse: Whether volume impulse condition is met
Step 4: Adjust Parameters for Your Needs
For more conservative trading: Increase "Minimum Composite Signal Strength" to 65 or higher
For more aggressive trading: Decrease to 50 (but expect more false signals)
For higher timeframes (15m+): Increase "Structure Break Window" to 12-15, increase "RSI Momentum Trigger" to 58
For lower liquidity pairs: Increase "Volume Impulse Multiplier" to 1.3, increase slippage in strategy properties
To disable short selling: Uncheck "Enable Short Structure"
To disable BTC dominance filter: Uncheck "BTC Dominance Confirmation"
STRATEGY PROPERTIES (BACKTEST SETTINGS)
These are the exact settings used in the strategy's Properties dialog box. You must use these same settings when evaluating the backtest results shown in the publication:
Initial Capital: $100,000
Justification: This amount is higher than typical retail accounts. I chose this value to demonstrate percentage-based returns that scale proportionally. The strategy uses percentage-based position sizing (0.65% risk per trade), so a $10,000 account would see the same percentage returns with 10x smaller position sizes. The absolute dollar amounts in the backtest should be interpreted as percentages of capital.
Commission: 0.04% (commission_value = 0.04)
Justification: This reflects typical perpetual futures exchange fees. Major exchanges charge between 0.02% (maker) and 0.075% (taker). The 0.04% value is a reasonable middle estimate. If your exchange charges different fees, adjust this value accordingly. Higher fees will reduce net profitability.
Slippage: 1 tick
Justification: This is conservative for liquid pairs like BTC/USDT on major exchanges during normal conditions. For less liquid altcoins or during high volatility, actual slippage may be higher. If you trade less liquid pairs, increase this value to 2-3 ticks for more realistic results.
Pyramiding: 1
Justification: No position stacking. The strategy holds only one position at a time. This simplifies risk management and prevents overexposure.
calc_on_every_tick: true
Justification: The strategy evaluates on every price update, not just bar close. This is necessary for scalping timeframes where waiting for bar close would miss opportunities. Note that this setting means backtest results may differ slightly from bar-close-only evaluation.
calc_on_order_fills: true
Justification: The strategy recalculates immediately after order fills for faster response to position changes.
RISK PER TRADE JUSTIFICATION
The default risk per trade is 0.65% of equity. This is well within the TradingView guideline that "risking more than 5-10% on a trade is not typically considered viable."
With the 12% maximum exposure cap, even if the strategy takes multiple consecutive losses, the total risk remains manageable. The kill switch at 6.5% drawdown provides additional protection by halting new entries during adverse conditions.
The position sizing formula ensures that stop distance (which varies by regime) is accounted for, so actual risk per trade remains approximately 0.65% regardless of volatility conditions.
SAMPLE SIZE CONSIDERATIONS
For statistically meaningful backtest results, you should select a dataset that generates at least 100 trades. On 5-minute BTC/USDT charts, this typically requires:
2-3 months of data during normal market conditions
1-2 months during high-volatility periods
3-4 months during low-volatility consolidation periods
The strategy's selectivity (requiring 55+ composite score plus all filters) means it generates fewer signals than less filtered approaches. If your backtest shows fewer than 100 trades, extend the date range or reduce the minimum signal strength threshold.
Fewer than 100 trades produces statistically unreliable results. Win rate, profit factor, and other metrics can vary significantly with small sample sizes.
STRATEGY DESIGN COMPROMISES AND LIMITATIONS
Every strategy involves trade-offs. Here are the compromises made in this design and the limitations you should understand:
Selectivity vs. Opportunity Trade-off
The 55-point minimum threshold filters many potential trades. This reduces false signals but also misses valid setups that don't meet all criteria. Lowering the threshold increases trade frequency but decreases win rate. There is no "correct" threshold; it depends on your preference for fewer higher-quality signals vs. more signals with lower individual quality.
Regime Classification Lag
The ATR-based regime detection uses historical data (21 periods + 13-period smoothing). It cannot predict sudden volatility spikes. During flash crashes or black swan events, the strategy may be classified in the wrong regime for several bars before the classification updates. This is an inherent limitation of any lagging indicator.
Indicator Parameter Sensitivity
The default parameters (MACD 8/21/5, EMA 8/21/34, RSI 21, etc.) are tuned for BTC/ETH perpetuals on 5-minute charts during 2024 market conditions. Different assets, timeframes, or market regimes may require different parameters. There is no guarantee that parameters optimized on historical data will perform similarly in the future.
BTC Dominance Filter Limitations
The CRYPTOCAP:BTC.D data feed may lag during low-liquidity periods or weekends. The dominance slope calculation uses a 5-bar SMA, adding additional delay. If you notice the filter behaving unexpectedly, consider disabling it.
Backtest vs. Live Execution Differences
TradingView backtesting does not replicate actual broker execution. Key differences:
Backtests assume perfect fills at calculated prices; real execution involves order book depth, latency, and partial fills
The calc_on_every_tick setting improves backtest realism but still cannot capture sub-bar price action or order book dynamics
Commission and slippage settings are estimates; actual costs vary by exchange, time of day, and market conditions
Funding rates on perpetual futures are not modeled in backtests and can significantly impact profitability over time
Exchange-specific limitations (position limits, liquidation mechanics, order types) are not modeled
Market Condition Dependencies
This strategy is designed for trending and breakout conditions. During extended sideways consolidation with no clear direction, the strategy may generate few signals or experience whipsaws. No strategy performs well in all market conditions.
Cryptocurrency-Specific Risks
Cryptocurrency markets operate 24/7 without session boundaries. This means:
No natural "overnight" risk reduction
Volatility can spike at any time
Liquidity varies significantly by time of day
Exchange outages or issues can occur at any time
WHAT THIS STRATEGY DOES NOT DO
To be straightforward about limitations:
This strategy does not guarantee profits. Past backtest performance does not indicate future results.
This strategy does not predict the future. It reacts to current conditions based on historical patterns.
This strategy does not account for funding rates, which can significantly impact perpetual futures profitability.
This strategy does not model exchange-specific execution issues (partial fills, requotes, outages).
This strategy does not adapt to fundamental news events or black swan scenarios.
This strategy is not optimized for all market conditions. It may underperform during extended consolidation.
IMPORTANT RISK WARNINGS
Past performance does not guarantee future results. The backtest results shown reflect specific historical market conditions and parameter settings. Markets change constantly, and strategies that performed well historically may underperform or lose money in the future. A single backtest run does not constitute proof of future profitability.
Trading involves substantial risk of loss. Cryptocurrency derivatives are highly volatile instruments. You can lose your entire investment. Only trade with capital you can afford to lose completely.
This is not financial advice. This strategy is provided for educational and informational purposes only. It does not constitute investment advice, trading recommendations, or any form of financial guidance. The author is not a licensed financial advisor.
You are responsible for your own decisions. Before using this strategy with real capital:
Thoroughly understand the code and logic by reading the open-source implementation
Forward test with paper trading or very small positions for an extended period
Verify that commission, slippage, and execution assumptions match your actual trading environment
Understand that live results will differ from backtest results
Consider consulting with a qualified financial advisor
No guarantees or warranties. This strategy is provided "as is" without any guarantees of profitability, accuracy, or suitability for any purpose. The author is not responsible for any losses incurred from using this strategy.
OPEN-SOURCE CODE STRUCTURE
The strategy code is organized into these sections for readability:
Configuration Architecture: Input parameters organized into logical groups (Core Controls, Optimization Constants, Regime Intelligence, Signal Pathways, Risk Architecture, Visualization)
Helper Functions: calcQty() for position sizing, clamp01() and normalize() for value normalization, calcMFI() for Money Flow Index calculation
Core Indicator Engine: EMA ribbon, ATR and regime classification, MACD with adaptive baseline, RSI, MFI, volume analytics, cycle oscillator, BTC dominance filter, squeeze detection
Signal Pathway Logic: Trend break, momentum surge, squeeze release, micro pullback pathways with composite scoring
Entry/Exit Orchestration: Signal filtering, position sizing, entry execution, stop/target calculation, trailing stop logic, momentum fail-safe exits
Visualization Layer: EMA plots, regime background, bar coloring, signal labels, dashboard table
You can read and modify any part of the code. Understanding the logic before deployment is strongly recommended.
- Made with passion by officialjackofalltrades
Mag 7 EMA Trend MonitorDashboard Layout:
1. Symbol Column: The Mag 7 tickers.
2. Trend Column: Visual Bull/Bear status.
3. Strength Column: Percentage distance from the mean (EMA 21).
4. Aggregate Row: Summary of market breadth and average sector pull/push.
How to Interpret the Trend Strength:
• Positive %: The stock is trading above its 21 EMA. A very high number (e.g., $+15\%$) might suggest the stock is "overbought" or overextended.
• Negative %: The stock is trading below its 21 EMA. A very low number (e.g., $-10\%$) might suggest it is "oversold."
• Avg Strength: This gives you a bird's-eye view of the sector. If the aggregate is "5 Up / 2 Down" but the Avg Strength is only $+0.5\%$, the trend is weak and might be exhausting.
"Pro-tips" for tool:
• Multi-Timeframe Correlation: Try setting the Dashboard Timeframe to "D" (Daily) while trading on a "5m" or "15m" chart. This allows you to see if your intraday trade is aligned with the "Big Money" trend of the week.
• The 4/7 Rule: Watch for that Aggregate row to hit 4 out of 7. In the Mag 7, since these stocks carry so much weight in the SPY and QQQ, a shift to a majority (4+) often precedes a move in the overall market indices.
KAMA Oscillator | IkkeOmarThis script transforms the Kaufman Adaptive Moving Average (KAMA) into an oscillator format, designed to visualize trend direction with reduced noise sensitivity. It operates in two modes: a Raw mode that tracks price levels directly, and a Normalized mode that bounds the oscillator between -1 and +1 for easier comparison across assets.
The calculations are the same as for the Normalized KAMA Oscillator, but I added a few features that users of the old version wouldn't necessarily want.
How it works
Efficiency Ratio (ER): The script calculates the "efficiency" of price movement by comparing the net direction of price to the total volatility over a set period.
Adaptive Smoothing:
When volatility is high but direction is unclear (choppy), the KAMA slows down to filter noise.
When price trends clearly, the KAMA speeds up to track the move.
Normalization (Optional): If enabled, the script takes the raw KAMA value and scales it relative to its highest and lowest points over the Normalization lookback period. The result oscillates between -1 (extreme low) and +1 (extreme high).
The SMA Signal Logic
The script allows you to overlay an SMA (Simple Moving Average) on the oscillator. This serves as a dynamic baseline for the oscillator's momentum.
Signal Generation: A signal is generated when the KAMA Oscillator crosses its SMA.
Bullish: Oscillator crosses above the SMA.
Bearish: Oscillator crosses below the SMA.
Lag vs. Noise Trade-off:
Advantage (Reduced Lag): Crossing the SMA often triggers a signal earlier than waiting for the oscillator to change color (slope change) or cross the zero line. It identifies when immediate momentum is outperforming the recent average.
Risk (Increased Noise): During consolidation, the oscillator will hover close to the SMA line. This increases the probability of "whipsaws" (false signals) where the line crosses back and forth rapidly without a sustained trend. This signal is aggressive and should be used with trend filters.
5x Multi-Timeframe Moving AveragesSince I use EMA lines a lot and I typically want them based on one timeframe - say: D1 - while looking into higher or lower timeframes, I made this simple indicator:
- Up to 5 moving averages (SMA, EMA, ...)
- on chart timeframe or any defined timeframe (W, D, H4, H1, 30min, ...)
- each with user defined length / number of periods of calculation
- each in user defined line style, width and color.
Straight forward but very handy. Enjoy.
Juergen






















