Gidra's Vchain Strategy v0.1Tested on "BTC/USD", this is a reversible strategy
If the RSI is lower than "RSI Limit" (for last "RSI Signals" candles) and there were "Open Color, Bars" green Heiken Ashi candles - close short, open long
If the RSI is higher than 100-"RSI Limit" (for last "RSI Signals" candles) and there were "Open Color, Bars" red Heiken Ashi candles - close long, open short
- timeframe: 5m (the best)
RSI Period = 14
RSI Limit = 30
RSI Signals = 3
Open Color = 2
Piramiding = 100
Lot = 100 %
- timeframe: 1h
RSI Period = 2
RSI Limit = 30
RSI Signals = 3
Open Color = 2
Piramiding = 100
Lot = 100 %
חפש סקריפטים עבור "100年国际黄金价格"
BTC Regime Oscillator (MC + Spread) [1D]ONLY SUPPOSED TO BE USED FOR BTC PERPS, AND SPOT LEVERAGING:
This is a risk oscillator that measures whether Bitcoin’s price is supported by real capital or is running ahead of it, and converts that into a simple risk-regime oscillator.
It's built with market cap, and FDV, and Z-scores compressed to -100 <-> 100
I created this indicator because I got tired of FOMO Twitter and Wall Street games.
DO NOT USE THIS AS A BEGIN-ALL-AND-END-ALL. YOU NEED TO USE THIS AS A CONFIRMATION INDICATOR, AND ON HTF ONLY (1D>) IF YOU USE THIS ON LOWER TIMEFRAMES, YOU ARE FEEDING YOUR MONEY TO A LOW-LIFE DING BAT ON WALL STREET. HERE IS HOW IT WORKS:
This indicator is Split up by
A) Market Cap
--> Represents real money in BTC
--> Ownership capital
--> If MC is rising, money is entering BTC
B) FDV (Fully Diluted Valuation)
--> For BTC: price(21M) (21,000,000)
--> Represents the theoretical valuation
--> Since BTC really has a fixed cap, FDV mostly tracks the price
C) Oscillators
Both MC and FDV are:
--> Logged (to handle scale)
--> Normalized (Z-score)
--> Compressed to -100 <-> 100
HERE ARE THREE THINGS YOU ARE GOING TO SEE ON THE CHART
A) The market cap oscillator (MC OSC)
--> Normalized trend of real capital
RISING: Indicates capital inflow
FALLING: Indicates capital outflow
B) FDV Oscillator
--> Normalized trend of valuation pressure
ABOVE MC: Price is ahead of capital
BELOW MC: Capital is keeping up
!!!! FDV IS CONTEXT NOT SIGNALS !!!!
C) Spread = (FDV - MC)
--> The difference between valuation and capital
(THIS IS THE CORE SIGNAL)
NEGATIVE: Capital is gonna lead price
NEAR 0: Balanced
POSITIVE: Price leads capital
(THIS MEANS STRESS FOR BTC, NOT DILLUTION!)
WHAT DOES -60, 0, 60 MEAN?:
--> These are meant to serve as risk zones, not buy/sell dynamics; this is not the same as an RSI oscillator.
A) 0 level
--> Price and capital are balanced
--> No structural stress
(TRADE WITH NORMAL POSITION SIZE, AND NORMAL EXPECTATIONS)
B) Below -60 (Supportive/Compressed)
--> BTC is relatively cheap to recent history
--> Capital supports price well
(ALWAYS REMEMBER TO CONFIRM THIS WITH WHAT THE CHART IS TELLING YOU)
--> Press trends
--> Use higher ATRs
--> Pullbacks are better here
C) Above 60 (Overextension, or fragile)
--> BTC is expensive relative to recent history
--> Price is ahead of capital
(ALWAYS REMEMBER TO CONFIRM THIS WITH WHAT THE CHART IS TELLING YOU)
--> Reduce leverage, use smaller ATR
--> Use lower ATRs, TP faster
--> Do not chase breakouts
--> Expect volatility and whipsaws
"Can I press trades right now? Or do I need to hog my capital?"
CONDITIONS:
Spread Less than 0 and below -60 = Press trades
Spread near 0 = Normal trading conditions
Spread is Greater than 0 or above 60+ = Capital protection
LuxyEnergyIndexThe Luxy Energy Index (LEI) library provides functions to measure price movement exhaustion by analyzing three dimensions: Extension (distance from fair value), Velocity (speed of movement), and Volume (confirmation level).
LEI answers a different question than traditional momentum indicators: instead of "how far has price gone?" (like RSI), LEI asks "how tired is this move?"
This library allows Pine Script developers to integrate LEI calculations into their own indicators and strategies.
How to Import
//@version=6
indicator("My Indicator")
import OrenLuxy/LuxyEnergyIndex/1 as LEI
Main Functions
`lei(src)` → float
Returns the LEI value on a 0-100 scale.
src (optional): Price source, default is `close`
Returns : LEI value (0-100) or `na` if insufficient data (first 50 bars)
leiValue = LEI.lei()
leiValue = LEI.lei(hlc3) // custom source
`leiDetailed(src)` → tuple
Returns LEI with all component values for detailed analysis.
= LEI.leiDetailed()
Returns:
`lei` - Final LEI value (0-100)
`extension` - Distance from VWAP in ATR units
`velocity` - 5-bar price change in ATR units
`volumeZ` - Volume Z-Score
`volumeModifier` - Applied modifier (1.0 = neutral)
`vwap` - VWAP value used
Component Functions
| Function | Description | Returns |
|-----------------------------------|---------------------------------|---------------|
| `calcExtension(src, vwap)` | Distance from VWAP / ATR | float |
| `calcVelocity(src)` | 5-bar price change / ATR | float |
| `calcVolumeZ()` | Volume Z-Score | float |
| `calcVolumeModifier(volZ)` | Volume modifier | float (≥1.0) |
| `getVWAP()` | Auto-detects asset type | float |
Signal Functions
| Function | Description | Returns |
|---------------------------------------------|----------------------------------|-----------|
| `isExhausted(lei, threshold)` | LEI ≥ threshold (default 70) | bool |
| `isSafe(lei, threshold)` | LEI ≤ threshold (default 30) | bool |
| `crossedExhaustion(lei, threshold)` | Crossed into exhaustion | bool |
| `crossedSafe(lei, threshold)` | Crossed into safe zone | bool |
Utility Functions
| Function | Description | Returns |
|----------------------------|-------------------------|-----------|
| `getZone(lei)` | Zone name | string |
| `getColor(lei)` | Recommended color | color |
| `hasEnoughHistory()` | Data check | bool |
| `minBarsRequired()` | Required bars | int (50) |
| `version()` | Library version | string |
Interpretation Guide
| LEI Range | Zone | Meaning |
|-------------|--------------|--------------------------------------------------|
| 0-30 | Safe | Low exhaustion, move may continue |
| 30-50 | Caution | Moderate exhaustion |
| 50-70 | Warning | Elevated exhaustion |
| 70-100 | Exhaustion | High exhaustion, increased reversal risk |
Example: Basic Usage
//@version=6
indicator("LEI Example", overlay=false)
import OrenLuxy/LuxyEnergyIndex/1 as LEI
// Get LEI value
leiValue = LEI.lei()
// Plot with dynamic color
plot(leiValue, "LEI", LEI.getColor(leiValue), 2)
// Reference lines
hline(70, "High", color.red)
hline(30, "Low", color.green)
// Alert on exhaustion
if LEI.crossedExhaustion(leiValue) and barstate.isconfirmed
alert("LEI crossed into exhaustion zone")
Technical Details
Fixed Parameters (by design):
Velocity Period: 5 bars
Volume Period: 20 bars
Z-Score Period: 50 bars
ATR Period: 14
Extension/Velocity Weights: 50/50
Asset Support:
Stocks/Forex: Uses Session VWAP (daily reset)
Crypto: Uses Rolling VWAP (50-bar window) - auto-detected
Edge Cases:
Returns `na` until 50 bars of history
Zero volume: Volume modifier defaults to 1.0 (neutral)
Credits and Acknowledgments
This library builds upon established technical analysis concepts:
VWAP - Industry standard volume-weighted price measure
ATR by J. Welles Wilder Jr. (1978) - Volatility normalization
Z-Score - Statistical normalization method
Volume analysis principles from Volume Spread Analysis (VSA) methodology
Disclaimer
This library is provided for **educational and informational purposes only**. It does not constitute financial advice. Past performance does not guarantee future results. The exhaustion readings are probabilistic indicators, not guarantees of price reversal. Always conduct your own research and use proper risk management when trading.
Liquidity Heatmap [Eˣ]💧 Liquidity Heatmap - Free Indicator
Overview
The Liquidity Heatmap reveals where stop losses are clustered in the market - the hidden liquidity zones that smart money targets. This indicator automatically identifies Buy-Side Liquidity (BSL) above price and Sell-Side Liquidity (SSL) below price, showing you exactly where institutional traders are likely to hunt for stops before major moves.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 What This Indicator Does
Identifies Liquidity Zones:
• Buy-Side Liquidity (BSL) - Stop losses from SHORT positions clustered above price
• Sell-Side Liquidity (SSL) - Stop losses from LONG positions clustered below price
• Automatically clusters nearby levels into high-probability zones
• Shows liquidity strength (1-5+) - higher numbers = more stops = bigger target
• Removes swept liquidity in real-time as price takes out stops
Visual Display:
• 🔴 Red Zones Above Price = Buy-Side Liquidity (shorts' stops)
• 🟢 Green Zones Below Price = Sell-Side Liquidity (longs' stops)
• Thicker/Darker Zones = Higher liquidity concentration
• BSL/SSL Labels = Show exact strength count
• Triangle Markers = Liquidity sweep alerts (when price takes stops)
Smart Features:
• Auto-removes old liquidity (customizable lookback period)
• Clusters nearby levels to reduce noise
• Tracks liquidity strength and age
• Updates in real-time as new swing points form
• Alerts when major liquidity zones are swept
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 How To Use This Indicator
Understanding Liquidity Concepts
What is Liquidity?
Liquidity refers to clusters of stop loss orders sitting in the market. These stops represent:
• Long traders' stop losses (below support) = Sell-Side Liquidity
• Short traders' stop losses (above resistance) = Buy-Side Liquidity
Why Does This Matter?
• Institutions NEED liquidity to fill large orders
• Price often "sweeps" liquidity zones before reversing
• Major liquidity = major target for smart money
• Understanding liquidity = understanding market maker behavior
The Liquidity Cycle:
1. Retail traders place stops at obvious levels (swing highs/lows)
2. Smart money identifies these clusters
3. Price is pushed to sweep the stops (liquidity grab)
4. Institutions fill their orders with this liquidity
5. Price reverses in the opposite direction
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 Trading Strategies
Strategy 1: Liquidity Sweep Reversals
Best For: Swing trading, catching reversals
Timeframes: 15min, 1H, 4H, Daily
Entry Setup:
1. Identify strong Sell-Side Liquidity (SSL) zone below price
2. Wait for price to sweep down into the SSL zone
3. Look for rejection/reversal candle pattern (pin bar, engulfing)
4. Enter LONG after sweep and reversal confirmation
5. Stop loss: Below the swept liquidity zone
6. Target: Opposite liquidity zone or key resistance
Why It Works: Smart money sweeps stops to fill buy orders, then pushes price higher
Example:
• SSL zone at $45,000 with strength 3
• Price drops to $44,950, sweeps the SSL
• Strong bullish reversal candle forms
• Enter long at $45,100
• Target: BSL zone at $47,000
Strategy 2: Liquidity-to-Liquidity Runs
Best For: Day trading, scalping
Timeframes: 5min, 15min, 1H
Entry Setup:
1. Price sweeps Sell-Side Liquidity below and reverses up
2. Identify Buy-Side Liquidity zone above
3. Enter LONG targeting the BSL zone above
4. Exit near/at the BSL zone (don't wait for sweep)
5. Stop loss: Below recent swing low
Why It Works: Price moves from liquidity pool to liquidity pool
Variation - Reverse for Shorts:
• BSL sweep above → Look for SSL zone below
• Enter short targeting lower liquidity
Strategy 3: Liquidity Avoidance (Stop Placement)
Best For: Improving win rate on existing strategies
Timeframes: All
Rules:
1. NEVER place stops exactly at obvious liquidity zones
2. Place stops beyond the liquidity zone with buffer
3. Or place stops before the liquidity zone (tighter, riskier)
4. Monitor liquidity strength - avoid zones with strength 3+
Why It Works: Market makers hunt obvious stop clusters
Example:
• Trading long, swing low at $100 (SSL zone, strength 4)
• Bad: Stop at $99.50 (will get swept)
• Better: Stop at $98.50 (beyond the liquidity)
• Alternative: Stop at $100.50 (tighter, before sweep zone)
Strategy 4: Confluence Trading
Best For: High probability setups
Timeframes: 1H, 4H, Daily
Entry Setup:
1. Find liquidity zone that aligns with:
• Major support/resistance level
• Fibonacci retracement (0.618, 0.786)
• Trendline
• Round psychological number ($50,000, $2,000, etc)
2. Wait for sweep of this high-confluence zone
3. Enter on reversal with multiple confirmations
4. Larger position size justified by confluence
Why It Works: Multiple factors = institutional interest = higher probability
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Settings Explained
Core Settings
Swing Detection Length (Default: 10)
• Number of bars left/right to identify swing highs and lows
• Lower values (5-8): More sensitive, more liquidity zones, more noise
• Higher values (12-20): Less sensitive, only major swings, cleaner chart
• Recommended: 8-10 for intraday, 10-15 for swing trading
Liquidity Lookback Bars (Default: 100)
• How many historical bars to track liquidity zones
• Lower values (50-75): Shows only recent liquidity
• Higher values (100-200): Shows longer-term liquidity clusters
• Zones older than this are automatically removed
• Recommended: 100-150 for most timeframes
Zone Proximity % (Default: 0.5)
• Percentage threshold to group nearby levels into single zone
• Lower values (0.2-0.4): Keeps levels separate, more zones
• Higher values (0.6-1.0): Aggressive clustering, fewer zones
• Recommended: 0.4-0.6 for crypto, 0.3-0.5 for forex, 0.5-0.8 for stocks
Visualization Settings
Show Buy-Side Liquidity
• Toggle ON/OFF red zones above price
• Turn OFF if only interested in downside liquidity
Show Sell-Side Liquidity
• Toggle ON/OFF green zones below price
• Turn OFF if only interested in upside liquidity
Show Liquidity Labels
• Toggle BSL/SSL labels with strength numbers
• Turn OFF for cleaner chart appearance
• Keep ON to see exact liquidity strength
Display Style
• Boxes: Filled rectangular zones (best for visualizing strength)
• Lines: Horizontal dashed lines (minimal, clean look)
• Both: Boxes + Lines (maximum visibility)
Color Intensity
• Low: 85% transparency (subtle, less distracting)
• Medium: 75% transparency (balanced visibility)
• High: 65% transparency (bold, maximum visibility)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📱 Info Panel Guide
Located in the top-right corner, the info panel provides real-time liquidity statistics:
Buy-Side Zones
• Count of active BSL zones above current price
• Higher number = More upside targets for price
Sell-Side Zones
• Count of active SSL zones below current price
• Higher number = More downside targets for price
Total Zones
• Combined count of all active liquidity
• Useful for gauging overall market structure
Nearest BSL
• Distance in % to closest Buy-Side Liquidity above
• Example: +2.5% means BSL is 2.5% above current price
• Quick reference for next upside target
Nearest SSL
• Distance in % to closest Sell-Side Liquidity below
• Example: -1.8% means SSL is 1.8% below current price
• Quick reference for next downside target
Liquidity Bias
• ⬆️ Bullish : More BSL than SSL (upside targets dominate)
• ⬇️ Bearish : More SSL than BSL (downside targets dominate)
• ↔️ Balanced: Equal liquidity on both sides (range-bound)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎓 Understanding Liquidity Strength
What Do The Numbers Mean?
Strength 1 : Single swing point
• Light liquidity, minor target
• Can be ignored in trending markets
• Useful in ranging/choppy conditions
Strength 2-3 : Moderate liquidity cluster
• Multiple nearby swing points merged
• Decent target for intraday moves
• Watch for potential sweeps
Strength 4-5 : Strong liquidity cluster
• Major cluster of stops
• High-probability target for institutions
• Expect reactions when swept
Strength 6+ : Extreme liquidity pool
• Massive stop cluster (rare)
• Critical zone - high probability of sweep
• Often marks major support/resistance
• Ideal for confluence setups
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📱 Alert Setup
This indicator includes 2 powerful alert types:
1. Buy-Side Liquidity Sweep
• Triggers when price sweeps BSL zone above
• Shows potential bullish reversal opportunity
• Often precedes upward continuation after sweep
2. Sell-Side Liquidity Sweep
• Triggers when price sweeps SSL zone below
• Shows potential bearish reversal opportunity
• Often precedes downward continuation after sweep
To Set Up Alerts:
1. Click the "Alert" button (clock icon) in TradingView
2. Condition: Select "Liquidity Heatmap"
3. Choose alert type: BSL Sweep or SSL Sweep
4. Configure notification method (push, email, webhook)
5. Click "Create"
Pro Tip: Set alerts for both BSL and SSL sweeps to catch opportunities in both directions
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💎 Pro Tips & Best Practices
✅ DO:
• Wait for confirmation - Don't enter immediately on sweep, wait for reversal pattern
• Combine with trend - SSL sweeps in uptrends = higher probability longs
• Check multiple timeframes - 1H liquidity + 4H liquidity = strongest zones
• Monitor strength - Focus on zones with strength 3+
• Use proper risk management - Liquidity sweeps can go further than expected
• Watch for re-sweeps - Sometimes liquidity zones get swept multiple times
• Consider volume - High volume sweeps = stronger reversal potential
⚠️ DON'T:
• Don't fade strong trends - In strong trends, sweeps often continue rather than reverse
• Don't overtrade - Not every sweep is a tradeable setup
• Don't ignore context - Check broader market conditions and news
• Don't use alone - Combine with price action, support/resistance, and other analysis
• Don't place stops at liquidity - Your stops will be hunted
• Don't expect perfection - Some sweeps fail, some zones never get hit
🎯 Best Timeframes:
• Scalping: 5min, 15min (fast moves, frequent sweeps)
• Day Trading: 15min, 1H (balanced view)
• Swing Trading: 1H, 4H, Daily (major liquidity zones)
• Position Trading: 4H, Daily, Weekly (institutional liquidity)
🔥 Best Markets:
• Crypto (high volatility, frequent liquidity grabs)
• Forex (EUR/USD, GBP/USD - liquid pairs)
• Futures (ES, NQ, CL - high liquidity contracts)
• Stocks (large caps with high volume)
⏰ Best Times:
• Market opens (high volatility = liquidity hunting)
• Before/after major news events
• Session overlaps (London/NY for forex)
• First hour and last hour of trading
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 What Makes This Different?
Unlike basic pivot indicators, the Liquidity Heatmap:
• Institutional Perspective - Shows where smart money hunts stops
• Dynamic Clustering - Automatically groups nearby levels for clarity
• Strength Tracking - Not just where, but HOW MUCH liquidity exists
• Auto-Cleanup - Removes swept and old liquidity automatically
• Visual Clarity - Instant understanding of market structure
• Actionable - Clear targets and reversal zones for trading
• Real-Time Updates - Adapts as market structure evolves
Based On Professional Concepts:
• Order flow analysis
• Market maker behavior
• Institutional trading techniques
• Liquidity engineering principles
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Common Liquidity Patterns
Pattern 1: The Double Sweep
• Price sweeps SSL below, reverses up
• Price sweeps BSL above, reverses down
• Back to original range
• Trading: Fade the second sweep for mean reversion
Pattern 2: The Cascade
• Multiple SSL zones stacked below
• Price sweeps first zone, continues to next
• Chain reaction of stop losses triggering
• Trading: Ride the momentum to lowest zone
Pattern 3: The Fake-Out
• Price approaches liquidity but doesn't quite sweep
• Reverses before hitting the zone
• "Scared money" didn't wait for full sweep
• Trading: Wait for actual sweep, don't anticipate
Pattern 4: The Absorption
• Price sweeps major liquidity zone (strength 5+)
• No reversal, just consolidation
• Institutions absorbed all liquidity
• Trading: Wait for breakout direction, likely continuation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Upgrade Your Trading Arsenal
This free indicator gives you institutional-level liquidity analysis. Want more?
🔥 Check out my premium scripts for:
• Automated entry signals with liquidity confirmation
• Multi-timeframe liquidity analysis
• Advanced stop loss management that avoids liquidity zones
• Backtested strategies with performance tracking
• Custom alerts for high-probability setups
• And much more...
👉 Visit my profile to see all available tools!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Important Notes
• Liquidity analysis is one piece of the puzzle - use with other analysis methods
• Not all liquidity zones get swept - some remain untouched
• Market conditions change - adapt your strategy accordingly
• Always use proper position sizing and risk management
• Liquidity sweeps can be violent - use appropriate stop losses
• Practice on demo accounts before trading with real capital
• Past liquidity patterns don't guarantee future price action
Disclaimer: This indicator is for educational purposes. Trading involves risk. Always do your own research and never risk more than you can afford to lose.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🙏 Support This Work
If you find this indicator valuable:
• ⭐ Give it a thumbs up
• 💬 Share your best liquidity sweep trades in the comments
• 🔔 Follow for more free professional-grade tools
• 🚀 Share with traders who need to understand liquidity
Got questions? Drop a comment and I'll help you master liquidity trading!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Developed with ❤️ for traders who want to think like institutions
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Version History
• v1.0 - Initial release with dynamic liquidity detection and clustering
ALT Risk Metric StrategyHere's a professional write-up for your ALT Risk Strategy script:
ALT/BTC Risk Strategy - Multi-Crypto DCA with Bitcoin Correlation Analysis
Overview
This strategy uses Bitcoin correlation as a risk indicator to time entries and exits for altcoins. By analyzing how your chosen altcoin performs relative to Bitcoin, the strategy identifies optimal accumulation periods (when alt/BTC is oversold) and profit-taking opportunities (when alt/BTC is overbought). Perfect for traders who want to outperform Bitcoin by strategically timing altcoin positions.
Key Innovation: Why Alt/BTC Matters
Most traders focus solely on USD price, but Alt/BTC ratios reveal true altcoin strength:
When Alt/BTC is low → Altcoin is undervalued relative to Bitcoin (buy opportunity)
When Alt/BTC is high → Altcoin has outperformed Bitcoin (take profits)
This approach captures the rotation between BTC and alts that drives crypto cycles
Key Features
📊 Advanced Technical Analysis
RSI (60% weight): Primary momentum indicator on weekly timeframe
Long-term MA Deviation (35% weight): Measures distance from 150-period baseline
MACD (5% weight): Minor confirmation signal
EMA Smoothing: Filters noise while maintaining responsiveness
All calculations performed on Alt/BTC pairs for superior market timing
💰 3-Tier DCA System
Level 1 (Risk ≤ 70): Conservative entry, base allocation
Level 2 (Risk ≤ 50): Increased allocation, strong opportunity
Level 3 (Risk ≤ 30): Maximum allocation, extreme undervaluation
Continuous buying: Executes every bar while below threshold for true DCA behavior
Cumulative sizing: L3 triggers = L1 + L2 + L3 amounts combined
📈 Smart Profit Management
Sequential selling: Must complete L1 before L2, L2 before L3
Percentage-based exits: Sell portions of position, not fixed amounts
Auto-reset on re-entry: New buy signals reset sell progression
Prevents premature full exits during volatile conditions
🤖 3Commas Automation
Pre-configured JSON webhooks for Custom Signal Bots
Multi-exchange support: Binance, Coinbase, Kraken, Bitfinex, Bybit
Flexible quote currency: USD, USDT, or BUSD
Dynamic order sizing: Automatically adjusts to your tier thresholds
Full webhook documentation compliance
🎨 Multi-Asset Support
Pre-configured for popular altcoins:
ETH (Ethereum)
SOL (Solana)
ADA (Cardano)
LINK (Chainlink)
UNI (Uniswap)
XRP (Ripple)
DOGE
RENDER
Custom option for any other crypto
How It Works
Risk Metric Calculation (0-100 scale):
Fetches weekly Alt/BTC price data for stability
Calculates RSI, MACD, and deviation from 150-period MA
Normalizes MACD to 0-100 range using 500-bar lookback
Combines weighted components: (MACD × 0.05) + (RSI × 0.60) + (Deviation × 0.35)
Applies 5-period EMA smoothing for cleaner signals
Color-Coded Risk Zones:
Green (0-30): Extreme buying opportunity - Alt heavily oversold vs BTC
Lime/Yellow (30-70): Accumulation range - favorable risk/reward
Orange (70-85): Caution zone - consider taking initial profits
Red/Maroon (85-100+): Euphoria zone - aggressive profit-taking
Entry Logic:
Buys execute every candle when risk is below threshold
As risk decreases, position sizing automatically scales up
Example: If risk drops from 60→25, you'll be buying at L1 rate until it hits 50, then L2 rate, then L3 rate
Exit Logic:
Sells only trigger when in profit AND risk exceeds thresholds
Sequential execution ensures partial profit-taking
If new buy signal occurs before all sells complete, sell levels reset to L1
Configuration Guide
Choosing Your Altcoin:
Select crypto from dropdown (or use CUSTOM for unlisted coins)
Pick your exchange
Choose quote currency (USD, USDT, BUSD)
Risk Metric Tuning:
Long Term MA (default 150): Higher = more extreme signals, Lower = more frequent
RSI Length (default 10): Lower = more volatile, Higher = smoother
Smoothing (default 5): Increase for less noise, decrease for faster reaction
Buy Settings (Aggressive DCA Example):
L1 Threshold: 70 | Amount: $5
L2 Threshold: 50 | Amount: $6
L3 Threshold: 30 | Amount: $7
Total L3 buy = $18 per candle when deeply oversold
Sell Settings (Balanced Exit Example):
L1: 70 threshold, 25% position
L2: 85 threshold, 35% position
L3: 100 threshold, 40% position (final exit)
3Commas Setup
Bot Configuration:
Create Custom Signal Bot in 3Commas
Set trading pair to your altcoin/USD (e.g., ETH/USD, SOL/USDT)
Order size: Select "Send in webhook, quote" to use strategy's dollar amounts
Copy Bot UUID and Secret Token
Script Configuration:
Paste credentials into 3Commas section inputs
Check "Enable 3Commas Alerts"
Save and apply to chart
TradingView Alert:
Create Alert → Condition: "alert() function calls only"
Webhook URL: api.3commas.io
Enable "Webhook URL" checkbox
Expiration: Open-ended
Strategy Advantages
✅ Outperform Bitcoin: Designed specifically to beat BTC by timing alt rotations
✅ Capture Alt Seasons: Automatically accumulates when alts lag, sells when they pump
✅ Risk-Adjusted Sizing: Buys more when cheaper (better risk/reward)
✅ Emotional Discipline: Systematic approach removes fear and FOMO
✅ Multi-Asset: Run same strategy across multiple altcoins simultaneously
✅ Proven Indicators: Combines RSI, MACD, and MA deviation - battle-tested tools
Backtesting Insights
Optimal Timeframes:
Daily chart: Best for backtesting and signal generation
Weekly data is fetched internally regardless of display timeframe
Historical Performance Characteristics:
Accumulates heavily during bear markets and BTC dominance periods
Captures explosive altcoin rallies when BTC stagnates
Sequential selling preserves capital during extended downtrends
Works best on established altcoins with multi-year history
Risk Considerations:
Requires capital reserves for extended accumulation periods
Some altcoins may never recover if fundamentals deteriorate
Past correlation patterns may not predict future performance
Always size positions according to personal risk tolerance
Visual Interface
Indicator Panel Displays:
Dynamic color line: Green→Lime→Yellow→Orange→Red as risk increases
Horizontal threshold lines: Dashed lines mark your buy/sell levels
Entry/Exit labels: Green labels for buys, Orange/Red/Maroon for sells
Real-time risk value: Numerical display on price scale
Customization:
All threshold lines are adjustable via inputs
Color scheme clearly differentiates buy zones (green spectrum) from sell zones (red spectrum)
Line weights emphasize most extreme thresholds (L3 buy and L3 sell)
Strategy Philosophy
This strategy is built on the principle that altcoins move in cycles relative to Bitcoin. During Bitcoin rallies, alts often bleed against BTC (high sell, accumulate). When Bitcoin consolidates, alts pump (take profits). By measuring risk on the Alt/BTC chart instead of USD price, we time these rotations with precision.
The 3-tier system ensures you're always averaging in at better prices and scaling out at better prices, maximizing your Bitcoin-denominated returns.
Advanced Tips
Multi-Bot Strategy:
Run this on 5-10 different altcoins simultaneously to:
Diversify correlation risk
Capture whichever alt is pumping
Smooth equity curve through rotation
Pairing with BTC Strategy:
Use alongside the BTC DCA Risk Strategy for complete portfolio coverage:
BTC strategy for core holdings
ALT strategies for alpha generation
Rebalance between them based on BTC dominance
Threshold Calibration:
Check 2-3 years of historical data for your chosen alt
Note where risk metric sat during major bottoms (set buy thresholds)
Note where it peaked during euphoria (set sell thresholds)
Adjust for your risk tolerance and holding period
Credits
Strategy Development & 3Commas Integration: Claude AI (Anthropic)
Technical Analysis Framework: RSI, MACD, Moving Average theory
Implementation: pommesUNDwurst
Disclaimer
This strategy is for educational purposes only. Cryptocurrency trading involves substantial risk of loss. Altcoins are especially volatile and many fail completely. The strategy assumes liquid markets and reliable Alt/BTC price data. Always do your own research, understand the fundamentals of any asset you trade, and never risk more than you can afford to lose. Past performance does not guarantee future results. The authors are not financial advisors and assume no liability for trading decisions.
Additional Warning: Using leverage or trading illiquid altcoins amplifies risk significantly. This strategy is designed for spot trading of established cryptocurrencies with deep liquidity.
Tags: Altcoin, Alt/BTC, DCA, Risk Metric, Dollar Cost Averaging, 3Commas, ETH, SOL, Crypto Rotation, Bitcoin Correlation, Automated Trading, Alt Season
Feel free to modify any sections to better match your style or add specific backtesting results you've observed! 🚀Claude is AI and can make mistakes. Please double-check responses. Sonnet 4.5
Fed Rate ProbabilityFed Rate Probability – Simple & Clean v2.0
Real-time composite score (0–100) for the next Fed move: Rate Cut, Hike or Hold
Overview
A clean, all-in-one indicator that combines the most reliable market signals into two easy-to-read lines:
• Red line → Probability of RATE CUT
• Blue line → Probability of RATE HIKE
• Hold score = 100 – max(cut, hike)
The dominant signal (CUT / HOLD / HIKE) is highlighted in the information table.
Key Features
Automatic daily data from FRED (DFF, 3M/1M/2Y/10Y yields)
Smart fallback to TradingView native symbols (US01MY, US03MY, US02Y, US10Y) when FRED is unavailable
Manual CME FedWatch probability override (perfect for weekends/holidays)
Historical Fed rate cut/hike markers with background shading and labels
Colored probability zones + customizable threshold lines
Threshold-crossing labels and full alert suite
Special alert on 2Y-10Y yield curve un-inversion (strong historical precursor to rate cuts)
Detailed summary table with current spreads, scores and dominant signal
Fully customizable: enable/disable each component, adjust weights indirectly via toggles, change smoothing, thresholds, colors, etc.
Score Composition (0–100 points)
T-bills vs Fed Funds spread – max 50 pts (with persistence & 1M confirmation bonus)
2-Year Treasury vs Fed Funds spread – max 30 pts (or direct CME probability input)
2Y-10Y yield curve behavior – max 20 pts (inversion depth + large bonus on steepening after un-inversion)
Interpretation
0–40 → Low probability
40–60 → Moderate
60–75 → High
75–100 → Very High / Almost certain
Why this indicator?
Instead of checking FRED, CME FedWatch, yield curves and T-bill spreads separately, get everything in one pane with a clear, smoothed composite score and instant alerts when the market starts pricing a Fed move aggressively.
Disclaimer
This is a decision-support tool based on historical relationships and current market pricing. It is not financial advice and past performance is no guarantee of future results.
Enjoy and trade safe! 🚀
VV Moving Average Convergence Divergence # VMACDv3 - Volume-Weighted MACD with A/D Divergence Detection
## Overview
**VMACDv3** (Volume-Weighted Moving Average Convergence Divergence Version 3) is a momentum indicator that applies volume-weighting to traditional MACD calculations on price, while using the Accumulation/Distribution (A/D) line for divergence detection. This hybrid approach combines volume-weighted price momentum with volume distribution analysis for comprehensive market insight.
## Key Features
- **Volume-Weighted Price MACD**: Traditional MACD calculation on price but weighted by volume for earlier signals
- **A/D Divergence Detection**: Identifies when A/D trend diverges from MACD momentum
- **Volume Strength Filtering**: Distinguishes high-volume confirmations from low-volume noise
- **Color-Coded Histogram**: 4-color system showing momentum direction and volume strength
- **Real-Time Alerts**: Background colors and alert conditions for bullish/bearish divergences
## Difference from ACCDv3
| Aspect | VMACDv3 | ACCDv3 |
|--------|---------|---------|
| **MACD Input** | **Price (Close)** | **A/D Line** |
| **Volume Weighting** | Applied to price | Applied to A/D line |
| **Primary Signal** | Volume-weighted price momentum | Volume distribution momentum |
| **Use Case** | Price momentum with volume confirmation | Volume flow and accumulation/distribution |
| **Sensitivity** | More responsive to price changes | More responsive to volume patterns |
| **Best For** | Trend following, breakouts | Volume analysis, smart money tracking |
**Key Insight**: VMACDv3 shows *where price is going* with volume weight, while ACCDv3 shows *where volume is accumulating/distributing*.
## Components
### 1. Volume-Weighted MACD on Price
Unlike standard MACD that uses simple price EMAs, VMACDv3 weights each price by its corresponding volume:
```
Fast Line = EMA(Price × Volume, 12) / EMA(Volume, 12)
Slow Line = EMA(Price × Volume, 26) / EMA(Volume, 26)
MACD = Fast Line - Slow Line
```
**Benefits of Volume Weighting**:
- High-volume price movements have greater impact
- Filters out low-volume noise and false moves
- Provides earlier trend change signals
- Better reflects institutional activity
### 2. Accumulation/Distribution (A/D) Line
Used for divergence detection, measuring buying/selling pressure:
```
A/D = Σ ((2 × Close - Low - High) / (High - Low)) × Volume
```
- **Rising A/D**: Accumulation (buying pressure)
- **Falling A/D**: Distribution (selling pressure)
- **Doji Handling**: When High = Low, contribution is zero
### 3. Signal Lines
- **MACD Line** (Blue, #2962FF): The fast-slow difference showing momentum
- **Signal Line** (Orange, #FF6D00): EMA or SMA smoothing of MACD
- **Zero Line**: Reference for bullish (above) vs bearish (below) bias
### 4. Histogram Color System
The histogram uses 4 distinct colors based on **direction** and **volume strength**:
| Condition | Color | Meaning |
|-----------|-------|---------|
| Rising + High Volume | **Dark Green** (#1B5E20) | Strong bullish momentum with volume confirmation |
| Rising + Low Volume | **Light Teal** (#26A69A) | Bullish momentum but weak volume (less reliable) |
| Falling + High Volume | **Dark Red** (#B71C1C) | Strong bearish momentum with volume confirmation |
| Falling + Low Volume | **Light Pink** (#FFCDD2) | Bearish momentum but weak volume (less reliable) |
Additional shading:
- **Light Cyan** (#B2DFDB): Positive but not rising (momentum stalling)
- **Bright Red** (#FF5252): Negative and accelerating down
### 5. Divergence Detection
VMACDv3 compares A/D trend against volume-weighted price MACD:
#### Bullish Divergence (Green Background)
- **Condition**: A/D is trending up BUT MACD is negative and trending down
- **Interpretation**: Volume is accumulating while price momentum appears weak
- **Signal**: Smart money accumulation, potential bullish reversal
- **Action**: Look for long entries, especially at support levels
#### Bearish Divergence (Red Background)
- **Condition**: A/D is trending down BUT MACD is positive and trending up
- **Interpretation**: Volume is distributing while price momentum appears strong
- **Signal**: Smart money distribution, potential bearish reversal
- **Action**: Consider exits, avoid new longs, watch for breakdown
## Parameters
| Parameter | Default | Range | Description |
|-----------|---------|-------|-------------|
| **Source** | Close | OHLC/HLC3/etc | Price source for MACD calculation |
| **Fast Length** | 12 | 1-50 | Period for fast EMA (shorter = more sensitive) |
| **Slow Length** | 26 | 1-100 | Period for slow EMA (longer = smoother) |
| **Signal Smoothing** | 9 | 1-50 | Period for signal line (MACD smoothing) |
| **Signal Line MA Type** | EMA | SMA/EMA | Moving average type for signal calculation |
| **Volume MA Length** | 20 | 5-100 | Period for volume average (strength filter) |
## Usage Guide
### Reading the Indicator
1. **MACD Lines (Blue & Orange)**
- **Blue Line (MACD)**: Volume-weighted price momentum
- **Orange Line (Signal)**: Smoothed trend of MACD
- **Crossovers**: Blue crosses above orange = bullish, below = bearish
- **Distance**: Wider gap = stronger momentum
- **Zero Line Position**: Above = bullish bias, below = bearish bias
2. **Histogram Colors**
- **Dark Green (#1B5E20)**: Strong bullish move with high volume - **most reliable buy signal**
- **Light Teal (#26A69A)**: Bullish but low volume - wait for confirmation
- **Dark Red (#B71C1C)**: Strong bearish move with high volume - **most reliable sell signal**
- **Light Pink (#FFCDD2)**: Bearish but low volume - may be temporary dip
3. **Background Divergence Alerts**
- **Green Background**: A/D accumulating while price weak - potential bottom
- **Red Background**: A/D distributing while price strong - potential top
- Most powerful at key support/resistance levels
### Trading Strategies
#### Strategy 1: Volume-Confirmed Trend Following
1. Wait for MACD to cross above zero line
2. Look for **dark green** histogram bars (high volume confirmation)
3. Enter long on second consecutive dark green bar
4. Hold while histogram remains green
5. Exit when histogram turns light green or red appears
6. Set stop below recent swing low
**Example**:
```
Price: 26,400 → 26,450 (rising)
MACD: -50 → +20 (crosses zero)
Histogram: Light teal → Dark green → Dark green
Volume: 50k → 75k → 90k (increasing)
```
#### Strategy 2: Divergence Reversal Trading
1. Identify divergence background (green = bullish, red = bearish)
2. Confirm with price structure (support/resistance, chart patterns)
3. Wait for MACD to cross signal line in divergence direction
4. Enter on first **dark colored** histogram bar after divergence
5. Set stop beyond divergence area
6. Target previous swing high/low
**Example - Bullish Divergence**:
```
Price: Making lower lows (26,350 → 26,300 → 26,250)
A/D: Rising (accumulation)
MACD: Below zero but starting to curve up
Background: Green shading appears
Entry: MACD crosses signal line + dark green bar
Stop: Below 26,230
Target: 26,450 (previous high)
```
#### Strategy 3: Momentum Scalping
1. Trade only in direction of MACD zero line (above = long, below = short)
2. Enter on dark colored bars only
3. Exit on first light colored bar or opposite color
4. Quick in and out (1-5 minute holds)
5. Tight stops (0.2-0.5% depending on instrument)
#### Strategy 4: Histogram Pattern Trading
**V-Bottom Reversal (Bullish)**:
- Red histogram bars start rising (becoming less negative)
- Forms "V" shape at the bottom
- Transitions to light red → light teal → **dark green**
- Entry: First dark green bar
- Signal: Momentum reversal with volume
**Λ-Top Reversal (Bearish)**:
- Green histogram bars start falling (becoming less positive)
- Forms inverted "V" at the top
- Transitions to light green → light pink → **dark red**
- Entry: First dark red bar
- Signal: Momentum exhaustion with volume
### Multi-Timeframe Analysis
**Recommended Approach**:
1. **Higher Timeframe (15m/1h)**: Identify overall trend direction
2. **Trading Timeframe (5m)**: Time entries using VMACDv3 signals
3. **Lower Timeframe (1m)**: Fine-tune entry prices
**Example Setup**:
```
15-minute: MACD above zero (bullish bias)
5-minute: Dark green histogram appears after pullback
1-minute: Enter on break of recent high with volume
```
### Volume Strength Interpretation
The volume filter compares current volume to 20-period average:
- **Volume > Average**: Dark colors (green/red) - high confidence signals
- **Volume < Average**: Light colors (teal/pink) - lower confidence signals
**Trading Rules**:
- ✓ **Aggressive**: Take all dark colored signals
- ✓ **Conservative**: Only take dark colors that follow 2+ light colors of same type
- ✗ **Avoid**: Trading light colored signals during high volatility
- ✗ **Avoid**: Ignoring volume context during news events
## Technical Details
### Volume-Weighted Calculation
```pine
// Volume-weighted fast EMA
fast_ma = ta.ema(src * volume, fast_length) / ta.ema(volume, fast_length)
// Volume-weighted slow EMA
slow_ma = ta.ema(src * volume, slow_length) / ta.ema(volume, slow_length)
// MACD is the difference
macd = fast_ma - slow_ma
// Signal line smoothing
signal = ta.ema(macd, signal_length) // or ta.sma() if SMA selected
// Histogram
hist = macd - signal
```
### Divergence Detection Logic
```pine
// A/D trending up if above its 5-period SMA
ad_trend = ad > ta.sma(ad, 5)
// MACD trending up if above zero
macd_trend = macd > 0
// Divergence when trends oppose each other
divergence = ad_trend != macd_trend
// Specific conditions for alerts
bullish_divergence = ad_trend and not macd_trend and macd < 0
bearish_divergence = not ad_trend and macd_trend and macd > 0
```
### Histogram Coloring Logic
```pine
hist_color = (hist >= 0
? (hist < hist
? (vol_strength ? #1B5E20 : #26A69A) // Rising: dark/light green
: #B2DFDB) // Positive but falling: cyan
: (hist < hist
? (vol_strength ? #B71C1C : #FFCDD2) // Rising (less negative): dark/light red
: #FF5252)) // Falling more: bright red
```
## Alerts
Built-in alert conditions for divergence detection:
### Bullish Divergence Alert
- **Trigger**: A/D trending up, MACD negative and trending down
- **Message**: "Bullish Divergence: A/D trending up but MACD trending down"
- **Use Case**: Potential reversal or continuation after pullback
- **Action**: Look for long entry setups
### Bearish Divergence Alert
- **Trigger**: A/D trending down, MACD positive and trending up
- **Message**: "Bearish Divergence: A/D trending down but MACD trending up"
- **Use Case**: Potential top or trend reversal
- **Action**: Consider exits or short entries
### Setting Up Alerts
1. Click "Create Alert" in TradingView
2. Condition: Select "VMACDv3"
3. Choose alert type: "Bullish Divergence" or "Bearish Divergence"
4. Configure: Email, SMS, webhook, or popup
5. Set frequency: "Once Per Bar Close" recommended
## Comparison Tables
### VMACDv3 vs Standard MACD
| Feature | Standard MACD | VMACDv3 |
|---------|---------------|---------|
| **Price Weighting** | Equal weight all bars | Volume-weighted |
| **Sensitivity** | Fixed | Adaptive to volume |
| **False Signals** | More during low volume | Fewer (volume filter) |
| **Divergence** | Price vs MACD | A/D vs MACD |
| **Volume Analysis** | None | Built-in |
| **Color System** | 2 colors | 4+ colors |
| **Best For** | Simple trend following | Volume-confirmed trading |
### VMACDv3 vs ACCDv3
| Aspect | VMACDv3 | ACCDv3 |
|--------|---------|--------|
| **Focus** | Price momentum | Volume distribution |
| **Reactivity** | Faster to price moves | Faster to volume shifts |
| **Best Markets** | Trending, breakouts | Accumulation/distribution phases |
| **Signal Type** | Where price + volume going | Where smart money positioning |
| **Divergence Meaning** | Volume vs price disagreement | A/D vs momentum disagreement |
| **Use Together?** | ✓ Yes, complementary | ✓ Yes, different perspectives |
## Example Trading Scenarios
### Scenario 1: Strong Bullish Breakout
```
Time: 9:30 AM (market open)
Price: Breaks above 26,400 resistance
MACD: Crosses above zero line
Histogram: Dark green bars (#1B5E20)
Volume: 2x average (150k vs 75k avg)
A/D: Rising (no divergence)
Action: Enter long at 26,405
Stop: 26,380 (below breakout)
Target 1: 26,450 (risk:reward 1:2)
Target 2: 26,500 (risk:reward 1:4)
Result: High probability setup with volume confirmation
```
### Scenario 2: False Breakout (Avoided)
```
Time: 2:30 PM (slow period)
Price: Breaks above 26,400 resistance
MACD: Slightly positive
Histogram: Light teal bars (#26A69A)
Volume: 0.5x average (40k vs 75k avg)
A/D: Flat/declining
Action: Avoid trade
Reason: Low volume, no conviction, potential false breakout
Outcome: Price reverses back below 26,400 within 10 minutes
Saved: Avoided losing trade due to volume filter
```
### Scenario 3: Bullish Divergence Bottom
```
Time: 11:00 AM
Price: Making lower lows (26,350 → 26,300 → 26,280)
MACD: Below zero but curving upward
Histogram: Red bars getting shorter (V-bottom forming)
Background: Green shading (divergence alert)
A/D: Rising despite price falling
Volume: Increasing on down bars
Setup:
1. Divergence appears at 26,280 (green background)
2. Wait for MACD to cross signal line
3. First dark green bar appears at 26,290
4. Enter long: 26,295 (next bar open)
5. Stop: 26,265 (below divergence low)
6. Target: 26,350 (previous swing high)
Result: +55 points (30 point risk, 1.8:1 reward)
Key: Divergence + volume confirmation = high probability reversal
```
### Scenario 4: Bearish Divergence Top
```
Time: 1:45 PM
Price: Making higher highs (26,500 → 26,520 → 26,540)
MACD: Positive but flattening
Histogram: Green bars getting shorter (Λ-top forming)
Background: Red shading (bearish divergence)
A/D: Declining despite rising price
Volume: Decreasing on up bars
Setup:
1. Bearish divergence at 26,540 (red background)
2. MACD crosses below signal line
3. First dark red bar appears at 26,535
4. Enter short: 26,530
5. Stop: 26,555 (above divergence high)
6. Target: 26,475 (support level)
Result: +55 points (25 point risk, 2.2:1 reward)
Key: Distribution while price rising = smart money exiting
```
### Scenario 5: V-Bottom Reversal
```
Downtrend in progress
MACD: Deep below zero (-150)
Histogram: Series of dark red bars
Pattern Development:
Bar 1: Dark red, hist = -80, falling
Bar 2: Dark red, hist = -95, falling
Bar 3: Dark red, hist = -100, falling (extreme)
Bar 4: Light pink, hist = -98, rising!
Bar 5: Light pink, hist = -90, rising
Bar 6: Light teal, hist = -75, rising (crosses to positive momentum)
Bar 7: Dark green, hist = -55, rising + volume
Action: Enter long on Bar 7
Reason: V-bottom confirmed with volume
Stop: Below Bar 3 low
Target: Zero line on histogram (mean reversion)
```
## Best Practices
### Entry Rules
✓ **Wait for dark colors**: High-volume confirmation is key
✓ **Confirm divergences**: Use with price support/resistance
✓ **Trade with zero line**: Long above, short below for best odds
✓ **Multiple timeframes**: Align 1m, 5m, 15m signals
✓ **Watch for patterns**: V-bottoms and Λ-tops are reliable
### Exit Rules
✓ **Partial profits**: Take 50% at first target
✓ **Trail stops**: Use histogram color changes
✓ **Respect signals**: Exit on opposite dark color
✓ **Time stops**: Close positions before major news
✓ **End of day**: Square up before close
### Avoid
✗ **Don't chase light colors**: Low volume = low confidence
✗ **Don't ignore divergence**: Early warning system
✗ **Don't overtrade**: Wait for clear setups
✗ **Don't fight the trend**: Zero line dictates bias
✗ **Don't skip stops**: Always use risk management
## Risk Management
### Position Sizing
- **Dark green/red signals**: 1-2% account risk
- **Light signals**: 0.5% account risk or skip
- **Divergence plays**: 1% account risk (higher uncertainty)
- **Multiple confirmations**: Up to 2% account risk
### Stop Loss Placement
- **Trend trades**: Below/above recent swing (20-30 points typical)
- **Breakout trades**: Below/above breakout level (15-25 points)
- **Divergence trades**: Beyond divergence extreme (25-40 points)
- **Scalp trades**: Tight stops at 10-15 points
### Profit Targets
- **Minimum**: 1.5:1 reward to risk ratio
- **Scalps**: 15-25 points (quick in/out)
- **Swing**: 50-100 points (hold through pullbacks)
- **Runners**: Trail with histogram color changes
## Timeframe Recommendations
| Timeframe | Trading Style | Typical Hold | Advantages | Challenges |
|-----------|---------------|--------------|------------|------------|
| **1-minute** | Scalping | 1-5 minutes | Fast profits, many setups | Noisy, high false signals |
| **5-minute** | Intraday | 15-60 minutes | Balance of speed/clarity | Still requires quick decisions |
| **15-minute** | Swing | 1-4 hours | Clearer trends, less noise | Fewer opportunities |
| **1-hour** | Position | 4-24 hours | Strong signals, less monitoring | Wider stops required |
**Recommendation**: Start with 5-minute for best balance of signal quality and opportunity frequency.
## Combining with Other Indicators
### VMACDv3 + ACCDv3
- **Use**: Confirm volume flow with price momentum
- **Signal**: Both showing dark green = highest conviction long
- **Divergence**: VMACDv3 bullish + ACCDv3 bearish = examine price action
### VMACDv3 + RSI
- **Use**: Overbought/oversold with momentum confirmation
- **Signal**: RSI < 30 + dark green VMACD = strong reversal
- **Caution**: RSI > 70 + light green VMACD = potential false breakout
### VMACDv3 + Elder Impulse
- **Use**: Bar coloring + histogram confirmation
- **Signal**: Green Elder bars + dark green VMACD = aligned momentum
- **Exit**: Blue Elder bars + light colors = momentum stalling
## Limitations
- **Requires volume data**: Will not work on instruments without volume feed
- **Lagging indicator**: MACD inherently follows price (2-3 bar delay)
- **Consolidation noise**: Generates false signals in tight ranges
- **Gap handling**: Large gaps can distort volume-weighted values
- **Not standalone**: Should combine with price action and support/resistance
## Troubleshooting
**Problem**: Too many light colored signals
**Solution**: Increase Volume MA Length to 30-40 for stricter filtering
**Problem**: Missing entries due to waiting for dark colors
**Solution**: Lower Volume MA Length to 10-15 for more signals (accept lower quality)
**Problem**: Divergences not appearing
**Solution**: Verify volume data available; check if A/D line is calculating
**Problem**: Histogram colors not changing
**Solution**: Ensure real-time data feed; refresh indicator
## Version History
- **v3**: Removed traditional MACD, using volume-weighted MACD on price with A/D divergence
- **v2**: Added A/D divergence detection, volume strength filtering, enhanced histogram colors
- **v1**: Basic volume-weighted MACD on price
## Related Indicators
**Companion Tools**:
- **ACCDv3**: Volume-weighted MACD on A/D line (distribution focus)
- **RSIv2**: RSI with A/D divergence detection
- **DMI**: Directional Movement Index with A/D divergence
- **Elder Impulse**: Bar coloring system using volume-weighted MACD
**Use Together**: VMACDv3 (momentum) + ACCDv3 (distribution) + Elder Impulse (bar colors) = complete volume-based trading system
---
*This indicator is for educational purposes. Past performance does not guarantee future results. Always practice proper risk management and never risk more than you can afford to lose.*
Supertrend + MACD + HMAIndicator Description: Supertrend + MACD + HMA
General Summary
It is a composite technical indicator that combines three analysis tools to generate buy and sell signals in institutional trading. It uses confirmation from multiple indicators to increase the precision of market entries.
Components
1. Supertrend (ST)
Function: Identifies the main market trend (bullish or bearish)
Parameters: ATR Length 10, Factor 3.0
Visualization:
Green line = Bullish trend
Red line = Bearish trend
Semi-transparent green/red background that fills the area according to direction
How it works: Uses ATR (Average True Range) to calculate dynamic support and resistance bands
2. MACD (Moving Average Convergence Divergence)
Function: Measures price momentum and direction
Parameters: Fast 18, Slow 144, Signal Smoothing 9
Components:
MACD Line (orange): Difference between two EMAs
Signal Line (purple): EMA of the MACD
Histogram (green/red columns): Difference between MACD and its signal
Green = Positive histogram (bullish momentum)
Red = Negative histogram (bearish momentum)
3. HMA 100 (Hull Moving Average)
Function: Identifies support/resistance level and price direction
Parameters: Length 100
Visualization: Blue thick line
Characteristics:
Less lag than traditional moving averages
Price > HMA = Bullish trend
Price < HMA = Bearish trend
Signal Logic
🟢 BUY SIGNAL
Generated when ANY of these conditions is met:
Total Confluence:
MACD positive (histogram > 0)
Price above HMA 100
Supertrend in Bullish mode
Supertrend Change:
Supertrend changes from Bearish to Bullish
MACD remains positive
Price above HMA
Price Crossover:
Price crosses above HMA (at candle close)
Supertrend is in Bullish mode
MACD is positive
🔴 SELL SIGNAL
Generated when ANY of these conditions is met:
Total Confluence:
MACD negative (histogram < 0)
Price below HMA 100
Supertrend in Bearish mode
Supertrend Change:
Supertrend changes from Bullish to Bearish
MACD remains negative
Price Crossover:
Price crosses below HMA (at candle close)
Supertrend is in Bearish mode
MACD is negative
Important Features
✅ Single Signal Per Type
Once a BUY is generated, no other BUY is generated until a SELL appears
Avoids multiple entries in the same direction
✅ Crossover Detection
The indicator generates signals at candle close when price crosses HMA
Allows capturing quick market moves
✅ Trend Changes
Detects when Supertrend changes direction
Provides early exits from the market
✅ Automatic Alerts
Push notifications when BUY or SELL is generated
Ideal for automated trading
SR & POI Indicator//@version=5
indicator(title='SR & POI Indicator', overlay=true, max_boxes_count=500, max_lines_count=500, max_labels_count=500)
//============================================================================
// SUPPLY/DEMAND & POI SETTINGS
//============================================================================
swing_length = input.int(10, title = 'Swing High/Low Length', group = 'Supply/Demand Settings', minval = 1, maxval = 50)
history_of_demand_to_keep = input.int(20, title = 'History To Keep', group = 'Supply/Demand Settings', minval = 5, maxval = 50)
box_width = input.float(2.5, title = 'Supply/Demand Box Width', group = 'Supply/Demand Settings', minval = 1, maxval = 10, step = 0.5)
show_price_action_labels = input.bool(false, title = 'Show Price Action Labels', group = 'Supply/Demand Visual Settings')
supply_color = input.color(color.new(#EDEDED,70), title = 'Supply', group = 'Supply/Demand Visual Settings', inline = '3')
supply_outline_color = input.color(color.new(color.white,75), title = 'Outline', group = 'Supply/Demand Visual Settings', inline = '3')
demand_color = input.color(color.new(#00FFFF,70), title = 'Demand', group = 'Supply/Demand Visual Settings', inline = '4')
demand_outline_color = input.color(color.new(color.white,75), title = 'Outline', group = 'Supply/Demand Visual Settings', inline = '4')
bos_label_color = input.color(color.white, title = 'BOS Label', group = 'Supply/Demand Visual Settings')
poi_label_color = input.color(color.white, title = 'POI Label', group = 'Supply/Demand Visual Settings')
swing_type_color = input.color(color.black, title = 'Price Action Label', group = 'Supply/Demand Visual Settings')
//============================================================================
// SR SETTINGS
//============================================================================
enableSR = input(true, "SR On/Off", group="SR Settings")
colorSup = input(#00DBFF, "Support Color", group="SR Settings")
colorRes = input(#E91E63, "Resistance Color", group="SR Settings")
strengthSR = input.int(2, "S/R Strength", 1, group="SR Settings")
lineStyle = input.string("Dotted", "Line Style", , group="SR Settings")
lineWidth = input.int(2, "S/R Line Width", 1, group="SR Settings")
useZones = input(true, "Zones On/Off", group="SR Settings")
useHLZones = input(true, "High Low Zones On/Off", group="SR Settings")
zoneWidth = input.int(2, "Zone Width %", 0, tooltip="it's calculated using % of the distance between highest/lowest in last 300 bars", group="SR Settings")
expandSR = input(true, "Expand SR", group="SR Settings")
//============================================================================
// SUPPLY/DEMAND FUNCTIONS
//============================================================================
// Function to add new and remove last in array
f_array_add_pop(array, new_value_to_add) =>
array.unshift(array, new_value_to_add)
array.pop(array)
// Function for swing H & L labels
f_sh_sl_labels(array, swing_type) =>
var string label_text = na
if swing_type == 1
if array.get(array, 0) >= array.get(array, 1)
label_text := 'HH'
else
label_text := 'LH'
label.new(bar_index - swing_length, array.get(array,0), text = label_text, style=label.style_label_down, textcolor = swing_type_color, color = color.new(swing_type_color, 100), size = size.tiny)
else if swing_type == -1
if array.get(array, 0) >= array.get(array, 1)
label_text := 'HL'
else
label_text := 'LL'
label.new(bar_index - swing_length, array.get(array,0), text = label_text, style=label.style_label_up, textcolor = swing_type_color, color = color.new(swing_type_color, 100), size = size.tiny)
// Function to check overlapping
f_check_overlapping(new_poi, box_array, atr) =>
atr_threshold = atr * 2
okay_to_draw = true
for i = 0 to array.size(box_array) - 1
top = box.get_top(array.get(box_array, i))
bottom = box.get_bottom(array.get(box_array, i))
poi = (top + bottom) / 2
upper_boundary = poi + atr_threshold
lower_boundary = poi - atr_threshold
if new_poi >= lower_boundary and new_poi <= upper_boundary
okay_to_draw := false
break
else
okay_to_draw := true
okay_to_draw
// Function to draw supply or demand zone
f_supply_demand(value_array, bn_array, box_array, label_array, box_type, atr) =>
atr_buffer = atr * (box_width / 10)
box_left = array.get(bn_array, 0)
box_right = bar_index
var float box_top = 0.00
var float box_bottom = 0.00
var float poi = 0.00
if box_type == 1
box_top := array.get(value_array, 0)
box_bottom := box_top - atr_buffer
poi := (box_top + box_bottom) / 2
else if box_type == -1
box_bottom := array.get(value_array, 0)
box_top := box_bottom + atr_buffer
poi := (box_top + box_bottom) / 2
okay_to_draw = f_check_overlapping(poi, box_array, atr)
if box_type == 1 and okay_to_draw
box.delete( array.get(box_array, array.size(box_array) - 1) )
f_array_add_pop(box_array, box.new( left = box_left, top = box_top, right = box_right, bottom = box_bottom, border_color = supply_outline_color,
bgcolor = supply_color, extend = extend.right, text = 'SUPPLY', text_halign = text.align_center, text_valign = text.align_center, text_color = poi_label_color, text_size = size.small, xloc = xloc.bar_index))
box.delete( array.get(label_array, array.size(label_array) - 1) )
f_array_add_pop(label_array, box.new( left = box_left, top = poi, right = box_right, bottom = poi, border_color = color.new(poi_label_color,90),
bgcolor = color.new(poi_label_color,90), extend = extend.right, text = 'POI', text_halign = text.align_left, text_valign = text.align_center, text_color = poi_label_color, text_size = size.small, xloc = xloc.bar_index))
else if box_type == -1 and okay_to_draw
box.delete( array.get(box_array, array.size(box_array) - 1) )
f_array_add_pop(box_array, box.new( left = box_left, top = box_top, right = box_right, bottom = box_bottom, border_color = demand_outline_color,
bgcolor = demand_color, extend = extend.right, text = 'DEMAND', text_halign = text.align_center, text_valign = text.align_center, text_color = poi_label_color, text_size = size.small, xloc = xloc.bar_index))
box.delete( array.get(label_array, array.size(label_array) - 1) )
f_array_add_pop(label_array, box.new( left = box_left, top = poi, right = box_right, bottom = poi, border_color = color.new(poi_label_color,90),
bgcolor = color.new(poi_label_color,90), extend = extend.right, text = 'POI', text_halign = text.align_left, text_valign = text.align_center, text_color = poi_label_color, text_size = size.small, xloc = xloc.bar_index))
// Function to change supply/demand to BOS if broken
f_sd_to_bos(box_array, bos_array, label_array, zone_type) =>
if zone_type == 1
for i = 0 to array.size(box_array) - 1
level_to_break = box.get_top(array.get(box_array,i))
if close >= level_to_break
copied_box = box.copy(array.get(box_array,i))
f_array_add_pop(bos_array, copied_box)
mid = (box.get_top(array.get(box_array,i)) + box.get_bottom(array.get(box_array,i))) / 2
box.set_top(array.get(bos_array,0), mid)
box.set_bottom(array.get(bos_array,0), mid)
box.set_extend( array.get(bos_array,0), extend.none)
box.set_right( array.get(bos_array,0), bar_index)
box.set_text( array.get(bos_array,0), 'BOS' )
box.set_text_color( array.get(bos_array,0), bos_label_color)
box.set_text_size( array.get(bos_array,0), size.small)
box.set_text_halign( array.get(bos_array,0), text.align_center)
box.set_text_valign( array.get(bos_array,0), text.align_center)
box.delete(array.get(box_array, i))
box.delete(array.get(label_array, i))
if zone_type == -1
for i = 0 to array.size(box_array) - 1
level_to_break = box.get_bottom(array.get(box_array,i))
if close <= level_to_break
copied_box = box.copy(array.get(box_array,i))
f_array_add_pop(bos_array, copied_box)
mid = (box.get_top(array.get(box_array,i)) + box.get_bottom(array.get(box_array,i))) / 2
box.set_top(array.get(bos_array,0), mid)
box.set_bottom(array.get(bos_array,0), mid)
box.set_extend( array.get(bos_array,0), extend.none)
box.set_right( array.get(bos_array,0), bar_index)
box.set_text( array.get(bos_array,0), 'BOS' )
box.set_text_color( array.get(bos_array,0), bos_label_color)
box.set_text_size( array.get(bos_array,0), size.small)
box.set_text_halign( array.get(bos_array,0), text.align_center)
box.set_text_valign( array.get(bos_array,0), text.align_center)
box.delete(array.get(box_array, i))
box.delete(array.get(label_array, i))
// Function to extend box endpoint
f_extend_box_endpoint(box_array) =>
for i = 0 to array.size(box_array) - 1
box.set_right(array.get(box_array, i), bar_index + 100)
//============================================================================
// SR FUNCTIONS
//============================================================================
percWidth(len, perc) => (ta.highest(len) - ta.lowest(len)) * perc / 100
//============================================================================
// SUPPLY/DEMAND CALCULATIONS
//============================================================================
atr = ta.atr(50)
swing_high = ta.pivothigh(high, swing_length, swing_length)
swing_low = ta.pivotlow(low, swing_length, swing_length)
var swing_high_values = array.new_float(5,0.00)
var swing_low_values = array.new_float(5,0.00)
var swing_high_bns = array.new_int(5,0)
var swing_low_bns = array.new_int(5,0)
var current_supply_box = array.new_box(history_of_demand_to_keep, na)
var current_demand_box = array.new_box(history_of_demand_to_keep, na)
var current_supply_poi = array.new_box(history_of_demand_to_keep, na)
var current_demand_poi = array.new_box(history_of_demand_to_keep, na)
var supply_bos = array.new_box(5, na)
var demand_bos = array.new_box(5, na)
// New swing high
if not na(swing_high)
f_array_add_pop(swing_high_values, swing_high)
f_array_add_pop(swing_high_bns, bar_index )
if show_price_action_labels
f_sh_sl_labels(swing_high_values, 1)
f_supply_demand(swing_high_values, swing_high_bns, current_supply_box, current_supply_poi, 1, atr)
// New swing low
else if not na(swing_low)
f_array_add_pop(swing_low_values, swing_low)
f_array_add_pop(swing_low_bns, bar_index )
if show_price_action_labels
f_sh_sl_labels(swing_low_values, -1)
f_supply_demand(swing_low_values, swing_low_bns, current_demand_box, current_demand_poi, -1, atr)
f_sd_to_bos(current_supply_box, supply_bos, current_supply_poi, 1)
f_sd_to_bos(current_demand_box, demand_bos, current_demand_poi, -1)
f_extend_box_endpoint(current_supply_box)
f_extend_box_endpoint(current_demand_box)
//============================================================================
// SR CALCULATIONS & PLOTTING
//============================================================================
rb = 10
prd = 284
ChannelW = 10
label_loc = 55
style = lineStyle == "Solid" ? line.style_solid : lineStyle == "Dotted" ? line.style_dotted : line.style_dashed
ph = ta.pivothigh(rb, rb)
pl = ta.pivotlow (rb, rb)
sr_levels = array.new_float(21, na)
prdhighest = ta.highest(prd)
prdlowest = ta.lowest(prd)
cwidth = percWidth(prd, ChannelW)
zonePerc = percWidth(300, zoneWidth)
aas = array.new_bool(41, true)
u1 = 0.0, u1 := nz(u1 )
d1 = 0.0, d1 := nz(d1 )
highestph = 0.0, highestph := highestph
lowestpl = 0.0, lowestpl := lowestpl
var sr_levs = array.new_float(21, na)
label hlabel = na, label.delete(hlabel )
label llabel = na, label.delete(llabel )
var sr_lines = array.new_line(21, na)
var sr_linesH = array.new_line(21, na)
var sr_linesL = array.new_line(21, na)
var sr_linesF = array.new_linefill(21, na)
var sr_labels = array.new_label(21, na)
if ph or pl
for x = 0 to array.size(sr_levels) - 1
array.set(sr_levels, x, na)
highestph := prdlowest
lowestpl := prdhighest
countpp = 0
for x = 0 to prd
if na(close )
break
if not na(ph ) or not na(pl )
highestph := math.max(highestph, nz(ph , prdlowest), nz(pl , prdlowest))
lowestpl := math.min(lowestpl, nz(ph , prdhighest), nz(pl , prdhighest))
countpp += 1
if countpp > 40
break
if array.get(aas, countpp)
upl = (ph ? high : low ) + cwidth
dnl = (ph ? high : low ) - cwidth
u1 := countpp == 1 ? upl : u1
d1 := countpp == 1 ? dnl : d1
tmp = array.new_bool(41, true)
cnt = 0
tpoint = 0
for xx = 0 to prd
if na(close )
break
if not na(ph ) or not na(pl )
chg = false
cnt += 1
if cnt > 40
break
if array.get(aas, cnt)
if not na(ph )
if high <= upl and high >= dnl
tpoint += 1
chg := true
if not na(pl )
if low <= upl and low >= dnl
tpoint += 1
chg := true
if chg and cnt < 41
array.set(tmp, cnt, false)
if tpoint >= strengthSR
for g = 0 to 40 by 1
if not array.get(tmp, g)
array.set(aas, g, false)
if ph and countpp < 21
array.set(sr_levels, countpp, high )
if pl and countpp < 21
array.set(sr_levels, countpp, low )
// Plot SR
var line highest_ = na, line.delete(highest_)
var line lowest_ = na, line.delete(lowest_)
var line highest_fill1 = na, line.delete(highest_fill1)
var line highest_fill2 = na, line.delete(highest_fill2)
var line lowest_fill1 = na, line.delete(lowest_fill1)
var line lowest_fill2 = na, line.delete(lowest_fill2)
hi_col = close >= highestph ? colorSup : colorRes
lo_col = close >= lowestpl ? colorSup : colorRes
if enableSR
highest_ := line.new(bar_index - 311, highestph, bar_index, highestph, xloc.bar_index, expandSR ? extend.both : extend.right, hi_col, style, lineWidth)
lowest_ := line.new(bar_index - 311, lowestpl , bar_index, lowestpl , xloc.bar_index, expandSR ? extend.both : extend.right, lo_col, style, lineWidth)
if useHLZones
highest_fill1 := line.new(bar_index - 311, highestph + zonePerc, bar_index, highestph + zonePerc, xloc.bar_index, expandSR ? extend.both : extend.right, na)
highest_fill2 := line.new(bar_index - 311, highestph - zonePerc, bar_index, highestph - zonePerc, xloc.bar_index, expandSR ? extend.both : extend.right, na)
lowest_fill1 := line.new(bar_index - 311, lowestpl + zonePerc , bar_index, lowestpl + zonePerc , xloc.bar_index, expandSR ? extend.both : extend.right, na)
lowest_fill2 := line.new(bar_index - 311, lowestpl - zonePerc , bar_index, lowestpl - zonePerc , xloc.bar_index, expandSR ? extend.both : extend.right, na)
linefill.new(highest_fill1, highest_fill2, color.new(hi_col, 80))
linefill.new(lowest_fill1 , lowest_fill2 , color.new(lo_col, 80))
if ph or pl
for x = 0 to array.size(sr_lines) - 1
array.set(sr_levs, x, array.get(sr_levels, x))
for x = 0 to array.size(sr_lines) - 1
line.delete(array.get(sr_lines, x))
line.delete(array.get(sr_linesH, x))
line.delete(array.get(sr_linesL, x))
linefill.delete(array.get(sr_linesF, x))
if array.get(sr_levs, x) and enableSR
line_col = close >= array.get(sr_levs, x) ? colorSup : colorRes
array.set(sr_lines, x, line.new(bar_index - 355, array.get(sr_levs, x), bar_index, array.get(sr_levs, x), xloc.bar_index, expandSR ? extend.both : extend.right, line_col, style, lineWidth))
if useZones
array.set(sr_linesH, x, line.new(bar_index - 355, array.get(sr_levs, x) + zonePerc, bar_index, array.get(sr_levs, x) + zonePerc, xloc.bar_index, expandSR ? extend.both : extend.right, na))
array.set(sr_linesL, x, line.new(bar_index - 355, array.get(sr_levs, x) - zonePerc, bar_index, array.get(sr_levs, x) - zonePerc, xloc.bar_index, expandSR ? extend.both : extend.right, na))
array.set(sr_linesF, x, linefill.new(array.get(sr_linesH, x), array.get(sr_linesL, x), color.new(line_col, 80)))
for x = 0 to array.size(sr_labels) - 1
label.delete(array.get(sr_labels, x))
if array.get(sr_levs, x) and enableSR
lab_loc = close >= array.get(sr_levs, x) ? label.style_label_up : label.style_label_down
lab_col = close >= array.get(sr_levs, x) ? colorSup : colorRes
array.set(sr_labels, x, label.new(bar_index + label_loc, array.get(sr_levs, x), str.tostring(math.round_to_mintick(array.get(sr_levs, x))), color=lab_col , textcolor=#000000, style=lab_loc))
hlabel := enableSR ? label.new(bar_index + label_loc + math.round(math.sign(label_loc)) * 20, highestph, "High Level : " + str.tostring(highestph), color=hi_col, textcolor=#000000, style=label.style_label_down) : na
llabel := enableSR ? label.new(bar_index + label_loc + math.round(math.sign(label_loc)) * 20, lowestpl , "Low Level : " + str.tostring(lowestpl) , color=lo_col, textcolor=#000000, style=label.style_label_up ) : na
BTC Fear & Greed Incremental StrategyIMPORTANT: READ SETUP GUIDE BELOW OR IT WON'T WORK
# BTC Fear & Greed Incremental Strategy — TradeMaster AI (Pure BTC Stack)
## Strategy Overview
This advanced Bitcoin accumulation strategy is designed for long-term hodlers who want to systematically take profits during greed cycles and accumulate during fear periods, while preserving their core BTC position. Unlike traditional strategies that start with cash, this approach begins with a specified BTC allocation, making it perfect for existing Bitcoin holders who want to optimize their stack management.
## Key Features
### 🎯 **Pure BTC Stack Mode**
- Start with any amount of BTC (configurable)
- Strategy manages your existing stack, not new purchases
- Perfect for hodlers who want to optimize without timing markets
### 📊 **Fear & Greed Integration**
- Uses market sentiment data to drive buy/sell decisions
- Configurable thresholds for greed (selling) and fear (buying) triggers
- Automatic validation to ensure proper 0-100 scale data source
### 🐂 **Bull Year Optimization**
- Smart quarterly selling during bull market years (2017, 2021, 2025)
- Q1: 1% sells, Q2: 2% sells, Q3/Q4: 5% sells (configurable)
- **NO SELLING** during non-bull years - pure accumulation mode
- Preserves BTC during early bull phases, maximizes profits at peaks
### 🐻 **Bear Market Intelligence**
- Multi-regime detection: Bull, Early Bear, Deep Bear, Early Bull
- Different buying strategies based on market conditions
- Enhanced buying during deep bear markets with configurable multipliers
- Visual regime backgrounds for easy market condition identification
### 🛡️ **Risk Management**
- Minimum BTC allocation floor (prevents selling entire stack)
- Configurable position sizing for all trades
- Multiple safety checks and validation
### 📈 **Advanced Visualization**
- Clean 0-100 scale with 2 decimal precision
- Three main indicators: BTC Allocation %, Fear & Greed Index, BTC Holdings
- Real-time portfolio tracking with cash position display
- Enhanced info table showing all key metrics
## How to Use
### **Step 1: Setup**
1. Add the strategy to your BTC/USD chart (daily timeframe recommended)
2. **CRITICAL**: In settings, change the "Fear & Greed Source" from "close" to a proper 0-100 Fear & Greed indicator
---------------
I recommend Crypto Fear & Greed Index by TIA_Technology indicator
When selecting source with this indicator, look for "Crypto Fear and Greed Index:Index"
---------------
3. Set your "Starting BTC Quantity" to match your actual holdings
4. Configure your preferred "Start Date" (when you want the strategy to begin)
### **Step 2: Configure Bull Year Logic**
- Enable "Bull Year Logic" (default: enabled)
- Adjust quarterly sell percentages:
- Q1 (Jan-Mar): 1% (conservative early bull)
- Q2 (Apr-Jun): 2% (moderate mid bull)
- Q3/Q4 (Jul-Dec): 5% (aggressive peak targeting)
- Add future bull years to the list as needed
### **Step 3: Fine-tune Thresholds**
- **Greed Threshold**: 80 (sell when F&G > 80)
- **Fear Threshold**: 20 (buy when F&G < 20 in bull markets)
- **Deep Bear Fear Threshold**: 25 (enhanced buying in bear markets)
- Adjust based on your risk tolerance
### **Step 4: Risk Management**
- Set "Minimum BTC Allocation %" (default 20%) - prevents selling entire stack
- Configure sell/buy percentages based on your position size
- Enable bear market filters for enhanced timing
### **Step 5: Monitor Performance**
- **Orange Line**: Your BTC allocation percentage (target: fluctuate between 20-100%)
- **Blue Line**: Actual BTC holdings (should preserve core position)
- **Pink Line**: Fear & Greed Index (drives all decisions)
- **Table**: Real-time portfolio metrics including cash position
## Reading the Indicators
### **BTC Allocation Percentage (Orange Line)**
- **100%**: All portfolio in BTC, no cash available for buying
- **80%**: 80% BTC, 20% cash ready for fear buying
- **20%**: Minimum allocation, maximum cash position
### **Trading Signals**
- **Green Buy Signals**: Appear during fear periods with available cash
- **Red Sell Signals**: Appear during greed periods in bull years only
- **No Signals**: Either allocation limits reached or non-bull year
## Strategy Logic
### **Bull Years (2017, 2021, 2025)**
- Q1: Conservative 1% sells (preserve stack for later)
- Q2: Moderate 2% sells (gradual profit taking)
- Q3/Q4: Aggressive 5% sells (peak targeting)
- Fear buying active (accumulate on dips)
### **Non-Bull Years**
- **Zero selling** - pure accumulation mode
- Enhanced fear buying during bear markets
- Focus on rebuilding stack for next bull cycle
## Important Notes
- **This is not financial advice** - backtest thoroughly before use
- Designed for **long-term holders** (4+ year cycles)
- **Requires proper Fear & Greed data source** - validate in settings
- Best used on **daily timeframe** for major trend following
- **Cash calculations**: Use allocation % and BTC holdings to calculate available cash: `Cash = (Total Portfolio × (1 - Allocation%/100))`
## Risk Disclaimer
This strategy involves active trading and position management. Past performance does not guarantee future results. Always do your own research and never invest more than you can afford to lose. The strategy is designed for educational purposes and long-term Bitcoin accumulation thesis.
---
*Developed by Sol_Crypto for the Bitcoin community. Happy stacking! 🚀*
CCI TIME COUNT//@version=6
indicator("CCI Multi‑TF", overlay=true)
// === Inputs ===
// CCI Inputs
cciLength = input.int(20, "CCI Length", minval=1)
src = input.source(hlc3, "Source")
// Timeframes
timeframes = array.from("1", "3", "5", "10", "15", "30", "60", "1D", "1W")
labels = array.from("1m", "3m", "5m", "10m", "15m", "30m", "60m", "Daily", "Weekly")
// === Table Settings ===
tblPos = input.string('Top Right', 'Table Position', options = , group = 'Table Settings')
i_textSize = input.string('Small', 'Text Size', options = , group = 'Table Settings')
textSize = i_textSize == 'Small' ? size.small : i_textSize == 'Normal' ? size.normal : i_textSize == 'Large' ? size.large : size.tiny
textColor = color.white
// Resolve table position
var pos = switch tblPos
'Top Left' => position.top_left
'Top Right' => position.top_right
'Bottom Left' => position.bottom_left
'Bottom Right' => position.bottom_right
'Middle Left' => position.middle_left
'Middle Right' => position.middle_right
=> position.top_right
// === Custom CCI Function ===
customCCI(source, length) =>
sma = ta.sma(source, length)
dev = ta.dev(source, length)
(source - sma) / (0.015 * dev)
// === CCI Values for All Timeframes ===
var float cciVals = array.new_float(array.size(timeframes))
for i = 0 to array.size(timeframes) - 1
tf = array.get(timeframes, i)
cciVal = request.security(syminfo.tickerid, tf, customCCI(src, cciLength))
array.set(cciVals, i, cciVal)
// === Countdown Timers ===
var string countdowns = array.new_string(array.size(timeframes))
for i = 0 to array.size(timeframes) - 1
tf = array.get(timeframes, i)
closeTime = request.security(syminfo.tickerid, tf, time_close)
sec_left = barstate.isrealtime and not na(closeTime) ? math.max(0, (closeTime - timenow) / 1000) : na
min_left = sec_left >= 0 ? math.floor(sec_left / 60) : na
sec_mod = sec_left >= 0 ? math.floor(sec_left % 60) : na
timer_text = barstate.isrealtime and not na(sec_left) ? str.format("{0,number,00}:{1,number,00}", min_left, sec_mod) : "–"
array.set(countdowns, i, timer_text)
// === Build Table ===
if barstate.islast
rows = array.size(timeframes) + 1
var table t = table.new(pos, 3, rows, frame_color=color.rgb(252, 250, 250), border_color=color.rgb(243, 243, 243))
// Headers
table.cell(t, 0, 0, "Timeframe", text_color=textColor, bgcolor=color.rgb(238, 240, 242), text_size=textSize)
table.cell(t, 1, 0, "CCI (" + str.tostring(cciLength) + ")", text_color=textColor, bgcolor=color.rgb(239, 243, 246), text_size=textSize)
table.cell(t, 2, 0, "Time to Close", text_color=textColor, bgcolor=color.rgb(239, 244, 248), text_size=textSize)
// Data Rows
for i = 0 to array.size(timeframes) - 1
row = i + 1
label = array.get(labels, i)
cciVal = array.get(cciVals, i)
countdown = array.get(countdowns, i)
// Color CCI: Green if < -100, Red if > 100
cciColor = cciVal < -100 ? color.green : cciVal > 100 ? color.red : color.rgb(236, 237, 240)
// Background warning if <60 seconds to close
tf = array.get(timeframes, i)
closeTime = request.security(syminfo.tickerid, tf, time_close)
sec_left = barstate.isrealtime and not na(closeTime) ? math.max(0, (closeTime - timenow) / 1000) : na
countdownBg = sec_left < 60 ? color.rgb(255, 220, 220, 90) : na
// Table cells
table.cell(t, 0, row, label, text_color=color.rgb(239, 240, 244), text_size=textSize)
table.cell(t, 1, row, str.tostring(cciVal, "#.##"), text_color=cciColor, text_size=textSize)
table.cell(t, 2, row, countdown, text_color=color.rgb(232, 235, 243), bgcolor=countdownBg, text_size=textSize)
Quantrader📊 Overview
This custom indicator combines intraday session analysis with multi-timeframe trend confirmation to identify high-probability trading opportunities. It features:
Custom intraday session tracking (GMT+7 timezone)
Multi-level moving average confluence (SMA 20, 100, 200)
Bollinger Bands mean reversion signals
Key intraday reference levels
⚙️ Core Components
1. Custom Intraday Session Tracking
Session Start: 7:00 AM GMT+7 (Vietnamese market open)
Calculates per session:
Intraday High/Low (resets at 7:00 AM daily)
Intraday Midline = (Session High + Session Low) / 2
Pre-Day Center = Previous day's midline (carried forward)
Open Day = First 15-minute candle's open price
2. Trend Analysis Framework
SMA 20 (Short-term momentum)
SMA 100 (Medium-term trend)
SMA 200 (Long-term trend direction)
Bollinger Bands (20-period, 2 standard deviations)
3. Signal Detection Logic
Bullish Mean Reversion Setup:
javascript
Condition 1: Green candle closes ABOVE Upper Bollinger Band
Condition 2: Following candle is ALSO green
→ Triggers: Green highlight + Triangle below bar
Bearish Mean Reversion Setup:
javascript
Condition 1: Red candle closes BELOW Lower Bollinger Band
Condition 2: Following candle is ALSO red
→ Triggers: Red highlight + Triangle above bar
🎯 Visual Elements
Element Color Description
Intraday Midline Blue Real-time session midpoint
Pre-Day Center Yellow Yesterday's midline (reference)
Open Day Purple (dashed) Day's opening price
SMA 20 Red Short-term trend
SMA 100 Green Medium-term trend
SMA 200 Orange Long-term trend
Bollinger Bands Red/Green/Blue Volatility boundaries
Bull Signal Green triangle ↓ Oversold bounce potential
Bear Signal Red triangle ↑ Overbought rejection potential
📈 Trading Applications
1. Trend Confirmation
Bullish Alignment: Price > All SMAs + Above Intraday Midline
Bearish Alignment: Price < All SMAs + Below Intraday Midline
2. Mean Reversion Opportunities
Overbought Scenario: Consecutive green candles above Upper BB → Potential reversal
Oversold Scenario: Consecutive red candles below Lower BB → Potential bounce
3. Intraday Level Trading
Intraday Midline: Dynamic support/resistance
Pre-Day Center: Psychological reference level
Open Day: Key opening price level
⚡ Key Features
Automatic Session Reset: Daily at 7:00 AM GMT+7
Multi-Timeframe Confluence: Combines intraday, daily, and trend analysis
Clean Visual Design: Non-cluttered, focused on key levels
Real-Time Calculation: All levels update with each new candle
🛠️ Recommended Settings
Timeframe: 15-minute to 1-hour charts
Markets: Forex, Indices, Commodities
Best Pairs: EURUSD, XAUUSD, VN30, USDJPY
Trading Style: Swing trading, Day trading
📖 Usage Tips
Trend Trading: Enter in direction of SMA alignment (20 > 100 > 200 for bullish)
Mean Reversion: Use BB signals at key intraday levels (Midline, Pre-Day Center)
Confirmation: Wait for candle close above/below key levels
Risk Management: Place stops beyond opposite intraday extreme
🎨 Customization Options
Users can modify:
Session start time (line 6)
Bollinger Band parameters (length, multiplier)
SMA periods
Color schemes
BTC Price Prediction Model [Global PMI]V2🇺🇸 English Guide
1. Introduction
This indicator was created by GW Capital using Gemini Vibe Coding technology. It leverages advanced AI coding capabilities to reconstruct complex macroeconomic models into actionable trading tools.
2. Credits
Special thanks to the original model author, Marty Kendall. His research into the correlation between Bitcoin's price and macroeconomic factors lays the foundation for this algorithm.
3. Model Principles & Formula
This model calculates the "Fair Value" of Bitcoin based on four key macroeconomic pillars. It assumes that Bitcoin's price is a function of Global Liquidity, Network Security, Risk Appetite, and the Economic Cycle.
💡 Unique Insight: PMI & The 4-Year Cycle
A key distinguishing feature of this model is the hypothesis that Bitcoin's famous "4-Year Halving Cycle" may be intrinsically linked to the Global Business Cycle (PMI), rather than just supply shocks.
Therefore, the model incorporates PMI as a valuation "Amplifier".
Note: Due to TradingView data limitations, US PMI is currently used as the proxy for the global cycle.
The Formula
$$\ln(BTC) = \alpha + (1 + \beta \cdot PMI_{z}) \times $$
Global Liquidity (M2): Sum of M2 supply from US, China, Eurozone, and Japan (converted to USD). Represents the pool of fiat money available to flow into assets.
Network Security (Hashrate): Bitcoin's hashrate, representing the physical security and utility of the network.
Risk Appetite (S&P 500): Used as a proxy for global risk sentiment.
Economic Cycle (PMI Z-Score): US Manufacturing PMI is used to amplify or dampen the valuation based on where we are in the business cycle (Expansion vs. Contraction).
4. How to Use
The indicator plots the Fair Value (White Line) and four sentiment bands based on statistical deviation (Z-Score).
Sentiment Zones
🚨 Extreme Greed (Red Zone): Price > +0.3 StdDev. Historically indicates a market top or overheated sentiment.
⚠️ Greed (Orange Zone): Price > +0.15 StdDev. Bullish momentum is strong but caution is advised.
⚖️ Fair Value (White Line): The theoretical "correct" price based on macro data.
😨 Fear (Teal Zone): Price < -0.15 StdDev. Undervalued territory.
💎 Extreme Fear (Green Zone): Price < -0.3 StdDev. Historically a generational buying opportunity.
Sentiment Score (0-100)
100: Maximum Greed (Top)
50: Fair Value
0: Maximum Fear (Bottom)
5. Usage Recommendations
Timeframe: Daily (1D) or Weekly (1W) ONLY.
Reason: The underlying data sources (M2, PMI) are updated monthly. The S&P 500 and Hashrate are daily. Using this indicator on intraday charts (e.g., 15m, 1h, 4h) adds no value because the fundamental data does not change that fast.
Long-Term View: This is a macro-cycle indicator designed for identifying cycle tops and bottoms over months and years, not for day trading.
6. Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice. The model relies on historical correlations which may not hold true in the future. All trading involves risk. GW Capital and the creators assume no responsibility for any trading losses.
7. Support Us ❤️
If you find this indicator useful, please Boost 👍, Comment, and add it to your Favorites! Your support keeps us going.
🇨🇳 中文说明 (Chinese Version)
1. 简介
本指标由 GW Capital 使用 Gemini Vibe Coding 技术制作。利用先进的 AI 编程能力,将复杂的宏观经济模型重构为可执行的交易工具。
2. 致谢
特别感谢模型原作者 Marty Kendall。他对这一算法的研究奠定了基础,揭示了比特币价格与宏观经济因素之间的深层联系。
3. 模型原理与公式
该模型基于四大宏观经济支柱计算比特币的“公允价值”。它假设比特币的价格是全球流动性、网络安全性、风险偏好和经济周期的函数。
💡 独家洞察:PMI 与 4年周期
本模型的一个核心独特之处在于:我们认为比特币著名的“4年减半周期”背后的真正驱动力,可能与全球商业周期 (PMI) 高度同步,而不仅仅是供应减半。
因此,模型特别引入 PMI 作为估值的“放大器” (Amplifier)。
注:由于 TradingView 数据源限制,目前采用历史数据最详尽的美国 PMI 作为全球周期的代理指标。
模型公式
$$\ln(BTC) = \alpha + (1 + \beta \cdot PMI_{z}) \times $$
全球流动性 (M2): 美、中、欧、日四大经济体的 M2 总量(折算为美元)。代表可流入资产的法币资金池。
网络安全性 (Hashrate): 比特币全网算力,代表网络的物理安全性和实用价值。
风险偏好 (S&P 500): 作为全球风险情绪的代理指标。
经济周期 (PMI Z-Score): 美国制造业 PMI 用于根据商业周期(扩张 vs 收缩)来放大或抑制估值。
4. 指标用法
指标会在图表上绘制 公允价值 (白线) 以及基于统计偏差 (Z-Score) 的四条情绪带。
情绪区间
🚨 极度贪婪 (红色区域): 价格 > +0.3 标准差。历史上通常预示市场顶部或情绪过热。
⚠️ 一般贪婪 (橙色区域): 价格 > +0.15 标准差。多头动能强劲,但需谨慎。
⚖️ 公允价值 (白线): 基于宏观数据的理论“正确”价格。
😨 一般恐惧 (青色区域): 价格 < -0.15 标准差。进入低估区域。
💎 极度恐惧 (绿色区域): 价格 < -0.3 标准差。历史上通常是代际级别的买入机会。
情绪评分 (0-100)
100: 极度贪婪 (顶部)
50: 公允价值
0: 极度恐惧 (底部)
5. 使用建议
周期: 仅限日线 (1D) 或周线 (1W)。
原因: 底层数据源(M2, PMI)是月度更新的。标普500和算力是日度更新的。在日内图表(如15分钟、1小时、4小时)上使用此指标没有任何意义,因为基本面数据不会变化得那么快。
长期视角: 这是一个宏观周期指标,旨在识别数月甚至数年的周期顶部和底部,而非用于日内交易。
6. 免责声明
本指标仅供教育和参考使用,不构成任何财务建议。该模型依赖于历史相关性,未来可能不再适用。所有交易均涉及风险。GW Capital 及制作者不对任何交易损失承担责任。
BTC Price Prediction Model [Global PMI]🇨🇳 中文说明 (Chinese Version)
1. 简介
本指标由 GW Capital 使用 Gemini Vibe Coding 技术制作。利用先进的 AI 编程能力,将复杂的宏观经济模型重构为可执行的交易工具。
2. 致谢
特别感谢模型原作者 Marty Kendall。他对这一算法的研究奠定了基础,揭示了比特币价格与宏观经济因素之间的深层联系。
3. 模型原理与公式
该模型基于四大宏观经济支柱计算比特币的“公允价值”。它假设比特币的价格是全球流动性、网络安全性、风险偏好和经济周期的函数。
模型公式
$$\ln(BTC) = \alpha + (1 + \beta \cdot PMI_{z}) \times $$
全球流动性 (M2): 美、中、欧、日四大经济体的 M2 总量(折算为美元)。代表可流入资产的法币资金池。
网络安全性 (Hashrate): 比特币全网算力,代表网络的物理安全性和实用价值。
风险偏好 (S&P 500): 作为全球风险情绪的代理指标。
经济周期 (PMI Z-Score): 美国制造业 PMI 用于根据商业周期(扩张 vs 收缩)来放大或抑制估值。
4. 指标用法
指标会在图表上绘制 公允价值 (白线) 以及基于统计偏差 (Z-Score) 的四条情绪带。
情绪区间
🚨 极度贪婪 (红色区域): 价格 > +0.3 标准差。历史上通常预示市场顶部或情绪过热。
⚠️ 一般贪婪 (橙色区域): 价格 > +0.15 标准差。多头动能强劲,但需谨慎。
⚖️ 公允价值 (白线): 基于宏观数据的理论“正确”价格。
😨 一般恐惧 (青色区域): 价格 < -0.15 标准差。进入低估区域。
💎 极度恐惧 (绿色区域): 价格 < -0.3 标准差。历史上通常是代际级别的买入机会。
情绪评分 (0-100)
100: 极度贪婪 (顶部)
50: 公允价值
0: 极度恐惧 (底部)
5. 使用建议
周期: 仅限日线 (1D) 或周线 (1W)。
原因: 底层数据源(M2, PMI)是月度更新的。标普500和算力是日度更新的。在日内图表(如15分钟、1小时、4小时)上使用此指标没有任何意义,因为基本面数据不会变化得那么快。
长期视角: 这是一个宏观周期指标,旨在识别数月甚至数年的周期顶部和底部,而非用于日内交易。
6. 免责声明
本指标仅供教育和参考使用,不构成任何财务建议。该模型依赖于历史相关性,未来可能不再适用。所有交易均涉及风险。GW Capital 及制作者不对任何交易损失承担责任。
🇺🇸 English Guide (英文说明)
1. Introduction
This indicator was created by GW Capital using Gemini Vibe Coding technology. It leverages advanced AI coding capabilities to reconstruct complex macroeconomic models into actionable trading tools.
2. Credits
Special thanks to the original model author, Marty Kendall. His research into the correlation between Bitcoin's price and macroeconomic factors lays the foundation for this algorithm.
3. Model Principles & Formula
This model calculates the "Fair Value" of Bitcoin based on four key macroeconomic pillars. It assumes that Bitcoin's price is a function of Global Liquidity, Network Security, Risk Appetite, and the Economic Cycle.
The Formula
$$\ln(BTC) = \alpha + (1 + \beta \cdot PMI_{z}) \times $$
Global Liquidity (M2): Sum of M2 supply from US, China, Eurozone, and Japan (converted to USD). Represents the pool of fiat money available to flow into assets.
Network Security (Hashrate): Bitcoin's hashrate, representing the physical security and utility of the network.
Risk Appetite (S&P 500): Used as a proxy for global risk sentiment.
Economic Cycle (PMI Z-Score): US Manufacturing PMI is used to amplify or dampen the valuation based on where we are in the business cycle (Expansion vs. Contraction).
4. How to Use
The indicator plots the Fair Value (White Line) and four sentiment bands based on statistical deviation (Z-Score).
Sentiment Zones
🚨 Extreme Greed (Red Zone): Price > +0.3 StdDev. Historically indicates a market top or overheated sentiment.
⚠️ Greed (Orange Zone): Price > +0.15 StdDev. Bullish momentum is strong but caution is advised.
⚖️ Fair Value (White Line): The theoretical "correct" price based on macro data.
😨 Fear (Teal Zone): Price < -0.15 StdDev. Undervalued territory.
💎 Extreme Fear (Green Zone): Price < -0.3 StdDev. Historically a generational buying opportunity.
Sentiment Score (0-100)
100: Maximum Greed (Top)
50: Fair Value
0: Maximum Fear (Bottom)
5. Usage Recommendations
Timeframe: Daily (1D) or Weekly (1W) ONLY.
Reason: The underlying data sources (M2, PMI) are updated monthly. The S&P 500 and Hashrate are daily. Using this indicator on intraday charts (e.g., 15m, 1h, 4h) adds no value because the fundamental data does not change that fast.
Long-Term View: This is a macro-cycle indicator designed for identifying cycle tops and bottoms over months and years, not for day trading.
6. Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice. The model relies on historical correlations which may not hold true in the future. All trading involves risk. GW Capital and the creators assume no responsibility for any trading losses.
Volume Pressure OscillatorThe Volume Pressure Oscillator (VPO) is a momentum-based indicator that measures the directional pressure of cumulative volume delta (CVD) combined with price efficiency. It oscillates between 0 and 100, with readings above 50 indicating net buying pressure and readings below 50 indicating net selling pressure.
The indicator is designed to identify the strength and sustainability of volume-driven trends while remaining responsive during consolidation periods.
How the Indicator Works
The VPO analyzes volume flow by examining price action at lower timeframes to build a Cumulative Volume Delta (CVD). For each chart bar, the indicator looks at intrabar price movements to classify volume as either buying volume or selling volume. These classifications are accumulated into a running total that tracks net directional volume.
The indicator then measures the momentum of this CVD over both short-term and longer-term periods, providing responsiveness to recent changes while maintaining awareness of the broader trend. These momentum readings are normalized using percentile ranking, which creates a stable 0-100 scale that works consistently across different instruments and market conditions.
A key feature is the extreme zone persistence mechanism. When the indicator enters extreme zones (above 80 or below 20), it maintains elevated readings as long as volume pressure continues in the same direction. This allows the VPO to stay in extreme zones during strong trends rather than quickly reverting to neutral, making it useful for identifying sustained volume pressure rather than just temporary spikes.
What Makes This Indicator Different
While many indicators measure volume or volume delta, the VPO specifically measures how aggressively CVD is currently changing and whether that pressure is being sustained. It's the difference between knowing "more volume has accumulated on the buy side" versus "buying pressure is intensifying right now and shows signs of continuation."
1. Focus on CVD Momentum, Not CVD Levels
Most CVD indicators display the cumulative volume delta as a line that trends up or down indefinitely. The VPO is fundamentally different - it measures the slope of CVD rather than the absolute level. This transforms CVD from an unbounded cumulative metric into a bounded 0-100 oscillator that shows the intensity and direction of current volume pressure, not just the historical accumulation.
2. Designed to Stay in Extremes During Trends
Unlike traditional oscillators that treat extreme readings (above 80 or below 20) as overbought/oversold reversal signals, the VPO is engineered to oscillate within extreme zones during strong trends. When sustained buying or selling pressure exists, the indicator remains elevated (e.g., 80-95 or 5-20) rather than quickly reverting to neutral. This makes it useful for trend continuation identification rather than exclusively for reversal trading.
3. Percentile-Based Normalization
The VPO uses percentile ranking over a lookback window, which provides consistent behavior across different instruments, timeframes, and volatility regimes without constant recalibration.
4. Dual-Timeframe Momentum Synthesis
The indicator simultaneously considers short-term CVD momentum (responsive to recent changes) and longer-term CVD momentum (tracking trend direction), weighted and combined with a slow-moving trend bias. This multi-timeframe approach helps it stay responsive in ranging markets while maintaining context during trends.
How to Use the Indicator
Understanding the Zones:
80-100 (Strong Buying Pressure): CVD momentum is strongly positive. In trending markets, the indicator oscillates within this zone rather than immediately reverting to neutral. This suggests sustained accumulation and trend continuation probability.
60-80 (Moderate Buying): Positive volume pressure but not extreme. Suitable for identifying pullback entry opportunities within uptrends.
40-60 (Neutral Zone): Volume pressure is balanced or unclear. No strong directional edge from volume. Often seen during consolidation or trend transitions.
20-40 (Moderate Selling): Negative volume pressure developing. May indicate distribution or downtrend continuation setups.
0-20 (Strong Selling Pressure): CVD momentum is strongly negative. During downtrends, sustained readings in this zone suggest continued distribution and downside follow-through probability.
Practical Applications:
Trend Confirmation: When price makes new highs/lows, check if VPO confirms with similarly elevated readings. Divergences (price making new highs while VPO fails to reach prior highs) may indicate weakening momentum.
Range Trading: During consolidation, the VPO typically oscillates between 30-70. Readings toward the low end of the range (30-40) may present accumulation opportunities, while readings at the high end (60-70) may indicate distribution zones.
Extreme Persistence: If VPO reaches 90+ or drops below 10, this indicates exceptional volume pressure. Rather than fading these extremes immediately, monitor whether the indicator stays elevated. Sustained extreme readings suggest strong trend continuation potential.
Context with Price Action: The VPO is most effective when combined with price action or other orderflow indicators. Use the indicator to gauge whether volume is confirming or contradicting.
What the Indicator Does NOT Do:
It does not provide specific entry or exit signals
It does not predict future price direction
It does not guarantee profitable trades
It should not be used as a standalone trading system
Settings Explanation
Momentum Period (Default: 14)
This parameter controls the lookback period for CVD rate-of-change calculations.
Lower values (5-10): Make the indicator more responsive to recent volume changes. Useful for shorter-term trading and more active oscillation. May produce more whipsaws in choppy markets.
Default value (14): Provides balanced responsiveness while filtering out most noise. Suitable for swing trading and daily timeframe analysis.
Higher values (20-50): Create smoother readings and focus on longer-term volume trends. Better for position trading and reducing false signals, but with slower reaction to genuine changes in volume pressure.
Important Notes:
This indicator requires intrabar data to function properly. On some instruments or timeframes where lower timeframe data is not available, the indicator may not display.
The indicator uses request.security_lower_tf() which has a limit of intrabars. On higher timeframes, this provides extensive history, but on very low timeframes (<1-minute charts), the indicator may only cover limited historical bars.
Volume data quality varies by exchange and instrument. The indicator's effectiveness depends on accurate volume reporting from the data feed.
Sector Rotation - Risk Preference Indicator# Sector Rotation - Risk Preference Indicator
## Overview
This indicator measures market risk appetite by comparing the relative strength between **Aggressive** and **Defensive** sectors. It provides a clean, single-line visualization to help traders identify market sentiment shifts and potential trend reversals.
## How It Works
The indicator calculates a **Bullish/Bearish Ratio** by dividing the average price of aggressive sector ETFs by defensive sector ETFs, then normalizing to a baseline of 100.
**Formula:**
- Ratio = (Aggressive Sectors Average / Defensive Sectors Average) × 100
**Interpretation:**
- **Ratio > 100**: Risk-on sentiment (Aggressive sectors outperforming Defensive)
- **Ratio < 100**: Risk-off sentiment (Defensive sectors outperforming Aggressive)
- **Ratio ≈ 100**: Neutral (Both sector groups performing equally)
## Default Sectors
**Defensive Sectors** (Safe havens during uncertainty):
- XLP - Consumer Staples Select Sector SPDR Fund
- XLU - Utilities Select Sector SPDR Fund
- XLV - Health Care Select Sector SPDR Fund
**Aggressive Sectors** (Growth-oriented, higher risk):
- XLK - Technology Select Sector SPDR Fund
- XBI - SPDR S&P Biotech ETF
- XRT - SPDR S&P Retail ETF
## Features
✅ **Fully Customizable Sectors** - Choose any ETFs/tickers for each sector group
✅ **Smoothing Control** - Adjustable SMA period to reduce noise (default: 2)
✅ **Clean Visualization** - Single blue line for easy interpretation
✅ **Multi-timeframe Support** - Works on any timeframe
✅ **Lightweight** - Minimal calculations for fast performance
## Settings
### Defensive Sectors Group
- **Defensive Sector 1**: First defensive ETF ticker (default: XLP)
- **Defensive Sector 2**: Second defensive ETF ticker (default: XLU)
- **Defensive Sector 3**: Third defensive ETF ticker (default: XLV)
### Aggressive Sectors Group
- **Aggressive Sector 1**: First aggressive ETF ticker (default: XLK)
- **Aggressive Sector 2**: Second aggressive ETF ticker (default: XBI)
- **Aggressive Sector 3**: Third aggressive ETF ticker (default: XRT)
### Display Settings
- **Smoothing Length**: SMA period for ratio smoothing (default: 2, range: 1-50)
- Lower values = More responsive but noisier
- Higher values = Smoother but more lagging
## Use Cases
### 1. Market Regime Identification
- **Rising Ratio (trending up)** → Bull market / Risk-on environment
- Aggressive sectors leading, investors chasing growth
- Favorable for long positions in tech, growth stocks
- **Falling Ratio (trending down)** → Bear market / Risk-off environment
- Defensive sectors leading, investors seeking safety
- Consider defensive positioning or short opportunities
### 2. Divergence Analysis
- **Bullish Divergence**: Price makes new lows but ratio rises
- Suggests underlying strength returning
- Potential market bottom forming
- **Bearish Divergence**: Price makes new highs but ratio falls
- Suggests weakening momentum
- Potential market top forming
### 3. Trend Confirmation
- **Strong uptrend + Rising ratio** → Confirmed bullish trend
- **Strong downtrend + Falling ratio** → Confirmed bearish trend
- **Uptrend + Falling ratio** → Weakening trend, watch for reversal
- **Downtrend + Rising ratio** → Potential trend exhaustion
## Best Practices
⚠️ **Timeframe Selection**
- Recommended: Daily, 4H, 1H for cleaner signals
- Lower timeframes (15m, 5m) may produce noisy signals
⚠️ **Complementary Analysis**
- Use alongside price action and volume analysis
- Combine with support/resistance levels
- Not designed as a standalone trading system
⚠️ **Market Conditions**
- Most effective in trending markets
- Less reliable during ranging/consolidation periods
- Works best in liquid, well-traded sectors
⚠️ **Customization Tips**
- Can substitute with international sectors (EWU, EWZ, etc.)
- Can use crypto sectors (DeFi vs Layer1, etc.)
- Adjust smoothing based on trading style (day trading = 2-5, swing = 10-20)
## Display Options
### Default View (overlay=false)
- Shows in separate pane below chart
- Dedicated scale for ratio values
### Alternative View
- Can be moved to main chart pane (drag indicator)
I typically overlay this indicator on the SPY daily chart to observe divergences. I don’t focus on specific values but rather on the direction of the trend.
The author is not responsible for any trading losses incurred using this indicator.
## Support & Feedback
For questions, feature requests, or bug reports:
- Comment below
- Send a private message
- Check for updates regularly
If you find this indicator useful, please:
- ⭐ Leave a like/favorite
- 💬 Share your experience in comments
- 📊 Share charts showing interesting patterns
GRA v5 SNIPER# GRA v5 SNIPER - Documentation & Cheatsheet
## 🎯 Get Rich Aggressively v5 - SNIPER Edition
**Precision Futures Scalping | NQ • ES • YM • GC • BTC**
> **Philosophy:** *Quality over quantity. One sniper shot beats ten spray-and-pray attempts.*
---
## ⚡ QUICK CHEATSHEET
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ GRA v5 SNIPER - QUICK REFERENCE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🎯 SIGNAL REQUIREMENTS (ALL MUST BE TRUE): │
│ ═══════════════════════════════════════════ │
│ ✓ Tier → B minimum (20+ pts NQ) │
│ ✓ Volume → 1.5x+ average │
│ ✓ Delta → 60%+ dominance (buyers OR sellers) │
│ ✓ Body → 70%+ of candle range │
│ ✓ Range → 1.3x+ average candle size │
│ ✓ Wicks → Small opposite wick (<50% of body) │
│ ✓ CVD → Trending with signal direction │
│ ✓ Session → London (3-5am ET) OR NY (9:30-11:30am ET) │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 📊 TIER ACTIONS: │
│ ════════════════ │
│ S-TIER (100+ pts) → 🥇 HOLD position, ride the wave │
│ A-TIER (50-99 pts) → 🥈 SWING for 2-3 minutes │
│ B-TIER (20-49 pts) → 🥉 SCALP quick, 30-60 seconds │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🚨 ENTRY CHECKLIST: │
│ ═══════════════════ │
│ □ Signal appears (S🎯, A🎯, or B🎯) │
│ □ Table shows: Vol GREEN, Delta colored, Body GREEN │
│ □ CVD arrow matches direction (▲ for long, ▼ for short) │
│ □ Session active (LDN! or NY! in yellow) │
│ □ Enter at close of signal candle │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ⛔ DO NOT TRADE WHEN: │
│ ════════════════════ │
│ ✗ Session shows "---" (outside key hours) │
│ ✗ Vol shows RED (below 1.5x) │
│ ✗ Body shows RED (weak candle structure) │
│ ✗ Delta below 60% (no clear dominance) │
│ ✗ Multiple conflicting signals │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 📈 INSTRUMENT SETTINGS: │
│ ════════════════════════ │
│ NQ/ES (1-3 min): S=100, A=50, B=20 pts │
│ YM (1-5 min): S=100, A=50, B=25 pts │
│ GC (5-15 min): S=15, A=8, B=4 pts │
│ BTC (1-15 min): S=500, A=250, B=100 pts │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 📋 DETAILED DOCUMENTATION
### What Makes SNIPER Different?
The SNIPER edition eliminates 80%+ of signals compared to standard GRA. Every signal that passes through has been validated by **8 independent filters**:
| Filter | Standard GRA | SNIPER GRA | Why It Matters |
|--------|-------------|------------|----------------|
| Volume | 1.3x avg | **1.5x avg** | Institutional participation |
| Delta | 55% | **60%** | Clear buyer/seller control |
| Body Ratio | None | **70%+** | No dojis or spinners |
| Range | None | **1.3x avg** | Significant price movement |
| Wicks | None | **<50% body** | Conviction in direction |
| CVD | None | **Required** | Trend confirmation |
| B-Tier Min | 10 pts | **20 pts** | Filter noise |
| Session | Optional | **Required** | Institutional hours |
---
### Signal Anatomy
When you see a signal like `A🎯`, here's what passed validation:
```
Signal: A🎯 LONG at 21,450.00
Validation Breakdown:
├── Points: 67.5 pts ✓ (A-Tier = 50-99)
├── Volume: 2.1x avg ✓ (≥1.5x required)
├── Delta: 68% Buyers ✓ (≥60% required)
├── Body: 78% of range ✓ (≥70% required)
├── Range: 1.6x avg ✓ (≥1.3x required)
├── Wick: Upper 15% ✓ (<50% of body)
├── CVD: ▲ Rising ✓ (Matches LONG)
└── Session: NY! ✓ (Active session)
RESULT: VALID SNIPER SIGNAL
```
---
### Table Legend
| Field | Reading | Color Meaning |
|-------|---------|---------------|
| **Pts** | Point movement | Gold/Green/Yellow = Tiered |
| **Tier** | S/A/B/X | Gold/Green/Yellow/White |
| **Vol** | Volume ratio | 🟢 ≥1.5x, 🔴 <1.5x |
| **Delta** | Buy/Sell % | 🟢 Buy dom, 🔴 Sell dom, ⚪ Neutral |
| **Body** | Body % of range | 🟢 ≥70%, 🔴 <70% |
| **CVD** | Cumulative delta | ▲ Bullish trend, ▼ Bearish trend |
| **Sess** | Session status | 🟡 Active, ⚫ Inactive |
---
### Trading Rules
#### Entry Rules
1. **Wait for signal** - Don't anticipate
2. **Verify table** - All conditions GREEN
3. **Enter at candle close** - Not during formation
4. **Position size by tier:**
- S-Tier: Full size
- A-Tier: 75% size
- B-Tier: 50% size
#### Exit Rules
| Tier | Target | Max Hold Time |
|------|--------|---------------|
| S | Let it run | 5-10 minutes |
| A | 1:1.5 R:R | 2-3 minutes |
| B | 1:1 R:R | 30-60 seconds |
#### Stop Loss
- Place at **opposite end of signal candle**
- For S-Tier: Allow 50% retracement
- For B-Tier: Tight stop, quick exit
---
### Session Priority
```
LONDON OPEN (3:00-5:00 AM ET)
════════════════════════════
• Best for: GC, European indices
• Characteristics: Stop hunts, reversals
• Look for: Sweeps of Asian session levels
NY OPEN (9:30-11:30 AM ET)
════════════════════════════
• Best for: NQ, ES, YM
• Characteristics: High volume, trends
• Look for: Continuation after 10 AM
```
---
### Common Mistakes to Avoid
| Mistake | Why It's Bad | Solution |
|---------|-------------|----------|
| Trading outside sessions | Low volume = fake moves | Wait for LDN! or NY! |
| Ignoring weak body | Dojis reverse | Body must be 70%+ |
| Fighting CVD | Swimming upstream | CVD must confirm |
| Oversizing B-Tier | Small moves = small size | 50% max on B |
| Chasing missed signals | FOMO loses money | Wait for next setup |
---
### Alert Setup
Configure these alerts in TradingView:
| Alert | Priority | Action |
|-------|----------|--------|
| 🎯 S-TIER LONG/SHORT | 🔴 High | Drop everything, check chart |
| 🎯 A-TIER LONG/SHORT | 🟠 Medium | Evaluate within 30 seconds |
| 🎯 B-TIER LONG/SHORT | 🟢 Low | Quick glance if available |
| LONDON/NY OPEN | 🔵 Info | Prepare for action |
---
### Pine Script v6 Notes
This indicator uses Pine Script v6 features:
- `request.security_lower_tf()` for intrabar delta
- Type inference for cleaner code
- Array operations for CVD calculation
**Minimum TradingView Plan:** Pro (for intrabar data)
---
## 🏆 Golden Rule
> **"If you have to convince yourself it's a good signal, it's not a good signal."**
The SNIPER edition is designed so that when a signal appears, there's nothing to think about. If all conditions are met, you trade. If any condition fails, you wait.
**Leave every trade with money. That's the goal.**
---
*© Alexandro Disla - Get Rich Aggressively v5 SNIPER*
*Pine Script v6 | TradingView*
Smart Money Flow - Exchange & TVL Composite# Smart Money Flow - Exchange & TVL Composite Indicator
## Overview
The **Smart Money Flow (SMF)** indicator combines two powerful on-chain metrics - **Exchange Flows** and **Total Value Locked (TVL)** - to create a composite index that tracks institutional and "smart money" movement in the cryptocurrency market. This indicator helps traders identify accumulation and distribution phases by analyzing where capital is flowing.
## What It Does
This indicator normalizes and combines:
- **Exchange Net Flow** (from IntoTheBlock): Tracks Bitcoin/Ethereum movement to and from exchanges
- **Total Value Locked** (from DefiLlama): Measures capital locked in DeFi protocols
The composite index is displayed on a 0-100 scale with clear zones for overbought/oversold conditions.
## Core Concept
### Exchange Flows
- **Negative Flow (Outflows)** = Bullish Signal
- Coins moving OFF exchanges → Long-term holding/accumulation
- Indicates reduced selling pressure
- **Positive Flow (Inflows)** = Bearish Signal
- Coins moving TO exchanges → Preparation for selling
- Indicates potential distribution phase
### Total Value Locked (TVL)
- **Rising TVL** = Bullish Signal
- Capital flowing into DeFi protocols
- Increased ecosystem confidence
- **Falling TVL** = Bearish Signal
- Capital exiting DeFi protocols
- Decreased ecosystem confidence
### Combined Signals
**🟢 Strong Bullish (70-100):**
- Exchange outflows + Rising TVL
- Smart money accumulating and deploying capital
**🔴 Strong Bearish (0-30):**
- Exchange inflows + Falling TVL
- Smart money preparing to sell and exiting positions
**⚪ Neutral (40-60):**
- Mixed or balanced flows
## Key Features
### ✅ Auto-Detection
- Automatically detects chart symbol (BTC/ETH)
- Uses appropriate exchange flow data for each asset
### ✅ Weighted Composite
- Customizable weights for Exchange Flow and TVL components
- Default: 50/50 balance
### ✅ Normalized Scale
- 0-100 index scale
- Configurable lookback period for normalization (default: 90 days)
### ✅ Signal Zones
- **Overbought**: 70+ (Strong bullish pressure)
- **Oversold**: 30- (Strong bearish pressure)
- **Extreme**: 85+ / 15- (Very strong signals)
### ✅ Clean Interface
- Minimal visual clutter by default
- Only main index line and MA visible
- Optional elements can be enabled:
- Background color zones
- Divergence signals
- Trend change markers
- Info table with detailed metrics
### ✅ Divergence Detection
- Identifies when price diverges from smart money flows
- Potential reversal warning signals
### ✅ Alerts
- Extreme overbought/oversold conditions
- Trend changes (crossing 50 line)
- Bullish/bearish divergences
## How to Use
### 1. Trend Confirmation
- Index above 50 = Bullish trend
- Index below 50 = Bearish trend
- Use with price action for confirmation
### 2. Reversal Signals
- **Extreme readings** (>85 or <15) suggest potential reversal
- Look for divergences between price and indicator
### 3. Accumulation/Distribution
- **70+**: Accumulation phase - smart money buying/holding
- **30-**: Distribution phase - smart money selling
### 4. DeFi Health
- Monitor TVL component for DeFi ecosystem strength
- Combine with exchange flows for complete picture
## Settings
### Data Sources
- **Exchange Flow**: IntoTheBlock real-time data
- **TVL**: DefiLlama aggregated DeFi TVL
- **Manual Mode**: For testing or custom data
### Indicator Settings
- **Smoothing Period (MA)**: Default 14 periods
- **Normalization Lookback**: Default 90 days
- **Exchange Flow Weight**: Adjustable 0-100%
- **Overbought/Oversold Levels**: Customizable thresholds
### Visual Options
- Show/Hide Moving Average
- Show/Hide Zone Lines
- Show/Hide Background Colors
- Show/Hide Divergence Signals
- Show/Hide Trend Markers
- Show/Hide Info Table
## Data Requirements
⚠️ **Important Notes:**
- Uses **daily data** from IntoTheBlock and DefiLlama
- Works on any chart timeframe (data updates daily)
- Auto-switches between BTC and ETH based on chart
- All other crypto charts default to BTC exchange flow data
## Best Practices
1. **Use on Daily+ Timeframes**
- On-chain data is daily, most effective on D/W/M charts
2. **Combine with Price Action**
- Use as confirmation, not standalone signals
3. **Watch for Divergences**
- Price making new highs while indicator falling = warning
4. **Monitor Extreme Zones**
- Sustained readings >85 or <15 indicate strong conviction
5. **Context Matters**
- Consider broader market conditions and fundamentals
## Calculation
1. **Exchange Net Flow** = Inflows - Outflows (inverted for index)
2. **TVL Rate of Change** = % change over smoothing period
3. **Normalize** both metrics to 0-100 scale
4. **Composite Index** = (ExchangeFlow × Weight) + (TVL × Weight)
5. **Smooth** with moving average
## Disclaimer
This indicator uses on-chain data for analysis. While valuable, it should not be used as the sole basis for trading decisions. Always combine with other technical analysis tools, fundamental analysis, and proper risk management.
On-chain data reflects blockchain activity but may lag price action. Use this indicator as part of a comprehensive trading strategy.
---
## Credits
**Data Sources:**
- IntoTheBlock: Exchange flow metrics
- DefiLlama: Total Value Locked data
**Indicator by:** @iCD_creator
**Version:** 1.0
**Pine Script™ Version:** 6
---
## Updates & Support
For questions, suggestions, or bug reports, please comment below or message the author.
**Like this indicator? Leave a 👍 and share your feedback!**
Market Position TableMarket Position Table Indicator
Overview
The Market Position Table is a comprehensive multi-timeframe indicator that provides traders with an instant visual snapshot of market position relative to key technical indicators. This tool displays a clean, color-coded table directly on your chart, showing whether price is above or below critical moving averages, the Ichimoku Cloud, and whether the market is in a TTM Squeeze compression.
Key Features
Visual Status Dashboard
Real-time color coding: Green for bullish positioning (above), Red for bearish positioning (below/compressed)
Clean table display: Organized, easy-to-read format that doesn't clutter your chart
Customizable positioning: Place the table anywhere on your chart for optimal viewing
Technical Indicators Monitored
Four Moving Averages (20, 50, 100, 200 period)
Shows whether price is above or below each MA
Helps identify trend direction and strength
Ichimoku Cloud
Displays whether price is above, below, or inside the cloud
Gray color indicates price is within the cloud (neutral zone)
TTM Squeeze Indicator
Shows when the market is in compression (Squeeze ON = Red)
Alerts when the market is expanding (Squeeze OFF = Green)
Helps identify potential breakout opportunities
Flexible Customization
Moving Average Options:
Choose from 5 MA types: SMA, EMA, WMA, VWMA, HMA
Adjust all four MA periods to your preference
Default settings: 20, 50, 100, 200 periods
Timeframe Control:
Lock to Daily: View daily timeframe signals on any chart timeframe
Custom Timeframe: Select any specific timeframe for calculations
Chart Timeframe: Default behavior matches your current chart
Ichimoku Settings:
Customize Tenkan, Kijun, and Senkou B periods
Default: 9, 26, 52 (traditional settings)
Squeeze Settings:
Adjust Bollinger Band length and multiplier
Customize Keltner Channel length and multiplier
Fine-tune sensitivity to match your trading style
Visual Customization:
Table position: 9 placement options on your chart
Table size: Tiny, Small, Normal, or Large
Optional: Toggle MA plot lines on/off
Table Settings: Position and size
Moving Average Settings: Type and periods
Ichimoku Settings: Period adjustments
Squeeze Settings: BB and KC parameters
Timeframe Settings: Lock to daily or use custom timeframe
Interpretation
Moving Averages:
Green (ABOVE): Price is above the MA - bullish signal
Red (BELOW): Price is below the MA - bearish signal
Multiple green MAs indicate strong uptrend
Multiple red MAs indicate strong downtrend
Ichimoku Cloud:
Green (ABOVE): Price above cloud - bullish trend
Red (BELOW): Price below cloud - bearish trend
Gray (INSIDE): Price in cloud - consolidation/neutral
Squeeze Indicator:
Red (ON): Market is in compression - potential breakout setup
Green (OFF): Market is expanding - trend continuation or reversal in progress
Trading Applications
Trend Confirmation:
Use multiple green MAs + price above Ichimoku cloud to confirm strong uptrends
Use multiple red MAs + price below Ichimoku cloud to confirm strong downtrends
Breakout Trading:
Watch for Squeeze ON (red) as compression builds
When Squeeze turns OFF (green), look for directional breakout
Confirm direction with MA alignment
Multi-Timeframe Analysis:
Lock to daily timeframe while trading intraday charts
Ensure intraday trades align with daily trend direction
Example: Only take long setups on 15-min chart when daily shows green MAs
Support/Resistance:
Major MAs (50, 100, 200) often act as dynamic support/resistance
Watch for price reactions when testing these levels
Best Practices
Combine with Price Action: Use the table as confirmation alongside your chart analysis
Multi-Timeframe Confluence: Check that multiple timeframes align for higher probability setups
Don't Trade on Table Alone: Use this as one tool in your complete trading system
Customize to Your Strategy: Adjust MA types and periods to match your trading style
Monitor All Indicators: Look for alignment across all indicators for strongest signals
Tips for Optimal Use
Day Traders: Enable "Lock to Daily" to stay aligned with the daily trend while trading shorter timeframes
Swing Traders: Use default chart timeframe on daily or weekly charts
Trend Followers: Focus on MA alignment - all green or all red indicates strong trends
Breakout Traders: Watch the Squeeze indicator closely for compression/expansion cycles
Position Traders: Use longer MA periods (e.g., 50, 100, 150, 200) for smoother signals
EMA Position AlertDescription
EMA Position Alert is a comprehensive trend analysis tool designed to help traders instantly identify the market's direction and strength relative to key Exponential Moving Averages (EMAs). By combining visual trend lines with a real-time data dashboard, this indicator provides a clear snapshot of the current price action across short, medium, and long-term horizons.
Whether you are a scalper looking for short-term momentum or a swing trader identifying major trend reversals, this tool simplifies the complex relationship between price and moving averages.
Key Features
1. Multi-EMA System The indicator plots four essential EMAs commonly used by institutional and retail traders:
EMA 21: Short-term trend/momentum.
EMA 55: Medium-term trend.
EMA 100: Major support/resistance level.
EMA 200: Long-term trend filter.
Visual Aid: The EMA lines change transparency automatically. They appear brighter/solid when the price is above them (bullish) and more transparent/faded when the price is below them (bearish).
2. Real-Time Information Dashboard A customizable table (displayed in the top-right corner) provides live data for the current bar:
Status: Clearly indicates if the price is "Above ▲" (Bullish) or "Below ▼" (Bearish) for each specific EMA.
Distance (%): Calculates the percentage distance between the current closing price and each EMA. This is crucial for identifying overextended moves (mean reversion opportunities) or tight consolidation.
Overall Trend Summary:
Strong ★★: Price is above all EMAs (21, 55, 100, 200).
Building ★: Price is above the long-term EMAs (55, 100, 200) but may be testing the short-term trend.
Weak ▼: Price is below all EMAs.
Ranging: Mixed signals (price is sandwiched between EMAs).
3. Custom Alerts Never miss a move. The script comes with built-in alert conditions compatible with TradingView's alert system:
Breakout Alerts: Trigger an alert when price crosses above specific EMAs (21, 55, 100, or 200).
Strong Trend Alert: Trigger an alert when the price successfully holds above all EMAs, signaling a strong bullish phase.
Settings
Show Status Table: Toggle the dashboard on or off.
Table Transparency: Adjust the background opacity of the dashboard to fit your chart theme.
Line Width: Adjust the thickness of the EMA lines for better visibility.
How to Use
Trend Following: Look for the "Strong ★★" status in the dashboard. When the price is above all EMAs and the EMAs are fanning out, it indicates a strong uptrend.
Pullbacks: If the trend is "Strong" but the price drops to test the EMA 21 or EMA 55, look for support bounces.
Mean Reversion: Watch the Distance %. If the distance becomes historically large, the price may be overextended and due for a correction back to the mean.
Consolidation: When the status shows "Ranging" and the Distance % is very low (near 0.00%), a breakout move is likely imminent.
RSI Ensemble Confidence [CHE]RSI Ensemble Confidence — Measures RSI agreement across multiple lengths and price sources
Summary
This indicator does not just show you one RSI — it shows you how strongly dozens of different RSI variants agree with each other right now.
The Confidence line (0–100) is the core idea:
- High Confidence → almost all RSIs see the same thing → clean, reliable situation
- Low Confidence → the RSIs contradict each other → the market is messy, RSI signals are questionable
How it works (exactly as you wanted it described)
1. Multiple RSIs instead of just one
The indicator builds a true ensemble:
- 4 lengths (default 8, 14, 21, 34)
- 6 price sources (Close, Open, High, Low, HL2, OHLC4 – individually switchable)
→ When everything is enabled, up to 24 different RSIs are calculated on every single bar.
These 24 opinions form a real “vote” about the current market state.
2. Mean and dispersion
From all active RSIs it calculates:
- rsiMean → the average opinion of the entire ensemble (orange line)
- rsiStd → how far the individual RSIs deviate from each other
Small rsiStd = they all lie close together → strong agreement
Large rsiStd = they are all over the place → contradiction
3. Confidence (0–100)
The standard deviation is compared to the user parameter “Max expected StdDev” (default 20):
- rsiStd = 0 → Confidence ≈ 100
- rsiStd = maxStd → Confidence ≈ 0
- Everything in between is scaled linearly
If only one RSI is active, Confidence is automatically set to ~80 for practicality.
What you see on the chart
1. Classic reference RSI – blue line (Close, length 14) → your familiar benchmark
2. Ensemble mean – orange line → the true consensus RSI
±1 StdDev band (optional) → shows dispersion directly:
- narrow band = clean, consistent setup
- wide band = the RSIs disagree → caution
3. Confidence line (aqua, 0–100) → your quality meter for any RSI signal
4. StdDev histogram (optional, fuchsia columns) → raw dispersion if you prefer the unscaled value
5. Background coloring
- Greenish ≥ 80 → high agreement
- Orange 60–80 → medium
- Reddish < 40 → strong disagreement
- Transparent below that
6. Two built-in alerts
- High Confidence (crossover 80)
- Low Confidence (crossunder 40)
Why this indicator is practically useful
1. Perfect filter for all RSI strategies
Only trade overbought/oversold, divergences, or failures when Confidence ≥ 70. Skip or reduce size when Confidence < 40.
2. Protection against overinterpretation
You immediately see whether a “beautiful” RSI hook is confirmed by the other 23 variants — or whether it’s just one outlier fooling you.
3. Excellent regime detector
Long periods of high Confidence = clean trends or clear overbought/oversold phases
Constantly low Confidence = choppy, noisy market → RSI becomes almost useless
4. Turns gut feeling into numbers
We all sometimes think “this setup somehow doesn’t feel right”. Now you have the exact number that says why.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Asymmetric Market Momentum Channel█ OVERVIEW
"Asymmetric Market Momentum Channel" is a dynamic channel indicator that adjusts its width based on the actual strength and asymmetry of market momentum. Thanks to the asymmetric band expansion triggered by strong candles, it significantly reduces false breakouts while remaining highly sensitive to genuine moves.
█ CONCEPTS
Traditional volatility channels react too slowly or too uniformly. This indicator introduces asymmetry:
- After a strong bullish candle with a large body and long upper wick, the upper band is pushed much farther than the lower one.
- After a strong bearish candle, the lower band expands more.
As a result, the channel "remembers" the direction of the last real momentum.
- With wide bands (default base_scale 200+), it excels in contrarian (reversal) strategies – price tends to return to the midline, producing clean reversal signals.
- With narrow bands (base_scale set to 100–150), it behaves like a sensitive breakout channel – breakouts from a tight channel deliver very high-quality trend-continuation signals.
█ FEATURES
Fully adjustable asymmetric momentum channel:
- length – SMA period for midline and average range (default 30)
- base_scale – base channel width in % of average candle range (default 200%)
- strength – asymmetry intensity (higher = stronger expansion after powerful candles)
- smooth_len – EMA smoothing of the expansion (default 10)
Visualization:
- Upper band – red, lower band – green
- Midline SMA – gray
- Gradient background fill (enabled by default) – red above midline, green below; intensity controlled by Background Intensity (85 = strong, 95 = very subtle)
Signal modes:
- Contrarian (Reversal) – reversal signals on price returning inside the channel after exceeding it + confirming candle color
- Trend Continuation (Breakout) – classic breakout signals (recommended to lower base_scale to 100–150 for faster triggers)
- Both – displays both types simultaneously
Visual signals:
- Small green triangles below the bar → bullish signal
- Small red triangles above the bar → bearish signal
Alerts: Bullish Signal, Bearish Signal, Any Signal, Breakout Up, Breakout Down
█ HOW TO USE
Add the indicator to your TradingView chart and adjust the settings:
Key parameter:
- base_scale – defines the indicator’s character:
→ 200–300% → wide channel → Contrarian (reversal) mode
→ 100–150% → narrow channel → Trend Continuation (breakout) mode
- strength (default 1.0)
- length (30) – higher values = smoother, more trend-following behavior
smooth_len (10) – lower values = faster reaction to new momentum
Interpretation:
- Wide channel (base_scale ≥ 200) + Contrarian mode → mean-reversion trading
- Narrow channel (base_scale 100–150) + Breakout mode → aggressive trend-following on breakouts
- Both mode works universally – simply change base_scale to completely switch the indicator’s behavior
█ APPLICATIONS
- Scalping & daytrading – narrow channel + Breakout mode on 5–15 min
- Swing trading – narrow or wide channel + Both mode on H1–D1
- Mean-reversion – wide channel + Contrarian mode
- Trend filter – longs only above midline, shorts only below
█ NOTES
- In very strong one-sided trends, contrarian signals generate many false entries – switch exclusively to Trend Continuation (Breakout) mode with a narrow channel.
- Best performance on instruments with clear volatility and volume.
- Always match base_scale to your strategy (wide = reversal, narrow = breakout).
- Combining with volume, support/resistance levels, or indicators like MACD/RSI dramatically improves signal quality.
Smart Money Concepts [XoRonX]# Smart Money Concepts (SMC) - Advanced Trading Indicator
## 📊 Deskripsi
**Smart Money Concepts ** adalah indicator trading komprehensif yang menggabungkan konsep Smart Money Trading dengan berbagai alat teknikal analisis modern. Indicator ini dirancang untuk membantu trader mengidentifikasi pergerakan institusional (smart money), struktur pasar, zona supply/demand, dan berbagai sinyal trading penting.
Indicator ini mengintegrasikan multiple timeframe analysis, order blocks detection, fair value gaps, fibonacci retracement, volume profile, RSI multi-timeframe, dan moving averages dalam satu platform yang powerful dan mudah digunakan.
---
## 🎯 Fitur Utama
### 1. **Smart Money Structure**
- **Internal Structure** - Struktur pasar jangka pendek untuk entry presisi
- **Swing Structure** - Struktur pasar jangka panjang untuk trend analysis
- **BOS (Break of Structure)** - Konfirmasi kelanjutan trend
- **CHoCH (Change of Character)** - Deteksi potensi reversal
### 2. **Order Blocks**
- **Internal Order Blocks** - Zona demand/supply jangka pendek
- **Swing Order Blocks** - Zona demand/supply jangka panjang
- Filter otomatis berdasarkan volatilitas (ATR/Range)
- Mitigation tracking (High/Low atau Close)
- Customizable display (jumlah order blocks yang ditampilkan)
### 3. **Equal Highs & Equal Lows (EQH/EQL)**
- Deteksi otomatis equal highs/lows
- Indikasi liquidity zones
- Threshold adjustment untuk sensitivitas
- Visual lines dan labels
### 4. **Fair Value Gaps (FVG)**
- Multi-timeframe FVG detection
- Auto threshold filtering
- Bullish & Bearish FVG boxes
- Extension control
- Color customization
### 5. **Premium & Discount Zones**
- Premium Zone (75-100% dari range)
- Equilibrium Zone (47.5-52.5% dari range)
- Discount Zone (0-25% dari range)
- Auto-update berdasarkan swing high/low
### 6. **Fibonacci Retracement**
- **Equilibrium to Discount** - Fib dari EQ ke discount zone
- **Equilibrium to Premium** - Fib dari EQ ke premium zone
- **Discount to Premium** - Fib full range
- Reverse option
- Show/hide lines
- Custom colors
### 7. **Volume Profile (VRVP)**
- Visible Range Volume Profile
- Point of Control (POC)
- Value Area (70% volume)
- Auto-adjust rows
- Placement options (Left/Right)
- Width customization
### 8. **RSI Multi-Timeframe**
- Monitor 3 timeframes sekaligus
- Overbought/Oversold signals
- Visual table display
- Color-coded signals (Red OB, Green OS)
- Customizable position & size
### 9. **Moving Averages**
- 3 Moving Average lines
- Pilihan tipe: EMA, SMA, WMA
- Automatic/Manual period mode
- Individual color & width settings
- Cross alerts (MA vs MA, Price vs MA)
### 10. **Multi-Timeframe Levels**
- Support up to 5 different timeframes
- Previous high/low levels
- Custom line styles
- Color customization
### 11. **Candle Color**
- Color candles berdasarkan trend
- Bullish = Green, Bearish = Red
- Optional toggle
---
## 🛠️ Cara Penggunaan
### **A. Setup Awal**
1. **Tambahkan Indicator ke Chart**
- Buka TradingView
- Klik "Indicators" → "My Scripts" atau paste code
- Pilih "Smart Money Concepts "
2. **Pilih Mode Display**
- **Historical**: Tampilkan semua struktur (untuk backtesting)
- **Present**: Hanya tampilkan struktur terbaru (clean chart)
3. **Pilih Style**
- **Colored**: Warna berbeda untuk bullish/bearish
- **Monochrome**: Tema warna abu-abu
---
### **B. Penggunaan Fitur**
#### **1. Smart Money Structure**
**Internal Structure (Real-time):**
- ✅ Aktifkan "Show Internal Structure"
- Pilih tampilan: All, BOS only, atau CHoCH only
- Gunakan untuk entry timing presisi
- Filter confluence untuk mengurangi noise
**Swing Structure:**
- ✅ Aktifkan "Show Swing Structure"
- Pilih tampilan struktur bullish/bearish
- Adjust "Swings Length" (default: 50)
- Gunakan untuk konfirmasi trend utama
**Tips:**
- BOS = Konfirmasi trend continuation
- CHoCH = Warning untuk possible reversal
- Tunggu price retest ke order block setelah BOS
---
#### **2. Order Blocks**
**Setup:**
- ✅ Aktifkan Internal/Swing Order Blocks
- Set jumlah blocks yang ditampil (1-20)
- Pilih filter: ATR atau Cumulative Mean Range
- Pilih mitigation: Close atau High/Low
**Cara Trading:**
1. Tunggu BOS/CHoCH terbentuk
2. Identifikasi order block terdekat
3. Wait for price pullback ke order block
4. Entry saat price respek order block (rejection)
5. Stop loss di bawah/atas order block
6. Target: swing high/low berikutnya
**Color Code:**
- 🔵 Light Blue = Internal Bullish OB
- 🔴 Light Red = Internal Bearish OB
- 🔵 Dark Blue = Swing Bullish OB
- 🔴 Dark Red = Swing Bearish OB
---
#### **3. Equal Highs/Lows (EQH/EQL)**
**Setup:**
- ✅ Aktifkan "Equal High/Low"
- Set "Bars Confirmation" (default: 3)
- Adjust threshold (0-0.5, default: 0.1)
**Interpretasi:**
- EQH = Liquidity di atas, kemungkinan sweep lalu dump
- EQL = Liquidity di bawah, kemungkinan sweep lalu pump
- Biasanya smart money akan grab liquidity sebelum move besar
**Trading Strategy:**
- Wait for EQH/EQL formation
- Anticipate liquidity grab
- Entry setelah sweep dengan konfirmasi (order block, FVG, CHoCH)
---
#### **4. Fair Value Gaps (FVG)**
**Setup:**
- ✅ Aktifkan "Fair Value Gaps"
- Pilih timeframe (default: chart timeframe)
- Enable/disable auto threshold
- Set extension bars
**Cara Trading:**
1. Bullish FVG = Support zone untuk buy
2. Bearish FVG = Resistance zone untuk sell
3. Price tends to fill FVG (retest)
4. Entry saat price kembali ke FVG
5. Partial fill = valid, full fill = invalidated
**Tips:**
- FVG + Order Block = High probability setup
- Multi-timeframe FVG lebih kuat
- Unfilled FVG = strong momentum
---
#### **5. Premium & Discount Zones**
**Setup:**
- ✅ Aktifkan "Premium/Discount Zones"
- Zones akan auto-update berdasarkan swing high/low
**Interpretasi:**
- 🟢 **Discount Zone** = Area BUY (price murah)
- ⚪ **Equilibrium** = Neutral (50%)
- 🔴 **Premium Zone** = Area SELL (price mahal)
**Trading Strategy:**
- BUY dari discount zone
- SELL dari premium zone
- Avoid trading di equilibrium
- Combine dengan structure confirmation
---
#### **6. Fibonacci Retracement**
**Setup:**
- Pilih Fib yang ingin ditampilkan:
- Equilibrium to Discount
- Equilibrium to Premium
- Discount to Premium
- Toggle show lines
- Enable reverse jika perlu
- Custom colors
**Key Levels:**
- 0.236 = Shallow retracement
- 0.382 = Common retracement
- 0.5 = 50% golden level
- 0.618 = Golden ratio (penting!)
- 0.786 = Deep retracement
**Cara Pakai:**
- 0.618-0.786 = Ideal entry zone dalam trend
- Combine dengan order blocks
- Wait for confirmation candle
---
#### **7. Volume Profile (VRVP)**
**Setup:**
- ✅ Aktifkan "Show Volume Profile"
- Set jumlah rows (10-100)
- Adjust width (5-50%)
- Pilih placement (Left/Right)
- Enable POC dan Value Area
**Interpretasi:**
- **POC (Point of Control)** = Harga dengan volume tertinggi = magnet
- **Value Area** = 70% volume = fair price range
- **Low Volume Nodes** = Weak support/resistance
- **High Volume Nodes** = Strong support/resistance
**Trading:**
- POC acts as support/resistance
- Price tends to return to POC
- Breakout dari Value Area = momentum
---
#### **8. RSI Multi-Timeframe**
**Setup:**
- ✅ Aktifkan "Show RSI Table"
- Set 3 timeframes (default: chart, 5m, 15m)
- Set RSI period (default: 14)
- Set Overbought level (default: 70)
- Set Oversold level (default: 30)
- Pilih posisi & ukuran table
**Interpretasi:**
- 🟢 **OS (Oversold)** = RSI ≤ 30 = Kondisi jenuh jual
- 🔴 **OB (Overbought)** = RSI ≥ 70 = Kondisi jenuh beli
- **-** = Neutral zone
**Trading Strategy:**
1. Multi-timeframe alignment = strong signal
2. OS + Bullish structure = BUY signal
3. OB + Bearish structure = SELL signal
4. Divergence RSI vs Price = reversal warning
**Contoh:**
- TF1: OS, TF2: OS, TF3: OS + Price di discount zone = STRONG BUY
---
#### **9. Moving Averages**
**Setup:**
- Pilih MA Type: EMA, SMA, atau WMA (berlaku untuk ketiga MA)
- Pilih Period Mode: Automatic atau Manual
- Set period untuk MA 1, 2, 3 (default: 20, 50, 100)
- Custom color & width per MA
- ✅ Enable Cross Alerts
**Interpretasi:**
- **Golden Cross** = MA fast cross above MA slow = Bullish
- **Death Cross** = MA fast cross below MA slow = Bearish
- Price above all MAs = Strong uptrend
- Price below all MAs = Strong downtrend
**Trading Strategy:**
1. MA1 (20) = Short-term trend
2. MA2 (50) = Medium-term trend
3. MA3 (100) = Long-term trend
**Entry Signals:**
- Price bounce dari MA dalam trend = continuation
- MA cross dengan konfirmasi structure = entry
- Multiple MA confluence = strong support/resistance
**Alerts Available:**
- MA1 cross MA2/MA3
- MA2 cross MA3
- Price cross any MA
---
#### **10. Multi-Timeframe Levels**
**Setup:**
- Enable HTF Level 1-5
- Set timeframes (contoh: 5m, 1H, 4H, D, W)
- Pilih line style (solid/dashed/dotted)
- Custom colors
**Cara Pakai:**
- Previous high/low dari HTF = strong S/R
- Breakout HTF level = significant move
- Multiple HTF levels confluence = major zone
---
### **C. Trading Setup Combination**
#### **Setup 1: High Probability Buy (Bullish)**
1. ✅ Swing structure: Bullish BOS
2. ✅ Price di Discount Zone
3. ✅ Pullback ke Bullish Order Block
4. ✅ Bullish FVG di bawah
5. ✅ RSI Multi-TF: Oversold
6. ✅ Price bounce dari MA
7. ✅ POC/Value Area support
8. ✅ Fibonacci 0.618-0.786 retracement
**Entry:** Saat price reject dari order block dengan confirmation candle
**Stop Loss:** Below order block
**Target:** Swing high atau premium zone
---
#### **Setup 2: High Probability Sell (Bearish)**
1. ✅ Swing structure: Bearish BOS
2. ✅ Price di Premium Zone
3. ✅ Pullback ke Bearish Order Block
4. ✅ Bearish FVG di atas
5. ✅ RSI Multi-TF: Overbought
6. ✅ Price reject dari MA
7. ✅ POC/Value Area resistance
8. ✅ Fibonacci 0.618-0.786 retracement
**Entry:** Saat price reject dari order block dengan confirmation candle
**Stop Loss:** Above order block
**Target:** Swing low atau discount zone
---
#### **Setup 3: Liquidity Grab (EQH/EQL)**
1. ✅ Identifikasi EQH atau EQL
2. ✅ Wait for liquidity sweep
3. ✅ Konfirmasi dengan CHoCH
4. ✅ Order block terbentuk setelah sweep
5. ✅ Entry saat retest order block
---
### **D. Tips & Best Practices**
**Risk Management:**
- Selalu gunakan stop loss
- Risk 1-2% per trade
- Risk:Reward minimum 1:2
- Jangan over-leverage
**Confluence adalah Kunci:**
- Minimal 3-4 konfirmasi sebelum entry
- Lebih banyak konfirmasi = higher probability
- Quality over quantity
**Timeframe Analysis:**
- HTF (Higher Timeframe) = Trend direction
- LTF (Lower Timeframe) = Entry timing
- Align dengan HTF trend
**Backtesting:**
- Gunakan mode "Historical"
- Test strategy di berbagai market condition
- Record dan analyze hasil
**Market Condition:**
- Trending market = Follow BOS, use order blocks
- Ranging market = Use premium/discount zones, EQH/EQL
- High volatility = Wider stops, wait for clear structure
**Avoid:**
- Trading di equilibrium zone
- Entry tanpa konfirmasi
- Fighting the trend
- Overleveraging
- Emotional trading
---
## 📈 Recommended Settings
### **For Scalping (1m - 5m):**
- Internal Structure: ON
- Swing Structure: OFF
- Order Blocks: Internal only
- RSI Timeframes: 1m, 5m, 15m
- MA Periods: 9, 21, 50
### **For Day Trading (15m - 1H):**
- Internal Structure: ON
- Swing Structure: ON
- Order Blocks: Both
- RSI Timeframes: 15m, 1H, 4H
- MA Periods: 20, 50, 100
### **For Swing Trading (4H - D):**
- Internal Structure: OFF
- Swing Structure: ON
- Order Blocks: Swing only
- RSI Timeframes: 4H, D, W
- MA Periods: 20, 50, 200
---
## ⚠️ Disclaimer
Indicator ini adalah alat bantu analisis teknikal. Tidak ada indicator yang 100% akurat. Selalu:
- Lakukan analisa fundamental
- Gunakan proper risk management
- Praktik di demo account terlebih dahulu
- Trading memiliki resiko, trade at your own risk
---
## 📝 Version Info
**Version:** 5.0
**Platform:** TradingView Pine Script v5
**Author:** XoRonX
**Max Labels:** 500
**Max Lines:** 500
**Max Boxes:** 500
---
## 🔄 Updates & Support
Untuk update, bug reports, atau pertanyaan:
- Check documentation regularly
- Test new features in replay mode
- Backup your settings before updates
---
## 🎓 Learning Resources
**Recommended Study:**
1. Smart Money Concepts (SMC) basics
2. Order blocks theory
3. Liquidity concepts
4. ICT (Inner Circle Trader) concepts
5. Volume profile analysis
6. Multi-timeframe analysis
**Practice:**
- Start with higher timeframes
- Master one concept at a time
- Keep a trading journal
- Review your trades weekly
---
**Happy Trading! 🚀📊**
_Remember: The best indicator is your own analysis and discipline._






















