Commodity Channel Index// BUY CONDITION
buySignal = direction < 0 and ta.crossover(cci, -100)
// ENTRY PRICE
entryPrice = close
// STOP LOSS AT SUPERTREND
stopLoss = supertrend
// RISK CALCULATION
risk = entryPrice - stopLoss
// TARGET 1:2
target = entryPrice + (risk * 2)
// ALERT
alertcondition(buySignal, title="BUY", message="Supertrend Green + CCI Cross Above -100 | RR 1:2")
// OPTIONAL PLOTS
plotshape(buySignal, title="BUY Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plot(stopLoss, title="Stop Loss", color=color.red)
plot(target, title="Target 1:2", color=color.green)
Indikatoren und Strategien
Apex Adaptive Trail [Neuro-Core Auto]Self-tuning trend and trade management framework
This version is a major functional upgrade of the original Apex Adaptive Trail.
It introduces an Auto-Pilot engine that dynamically adapts the indicator’s behavior to the active chart timeframe, reducing the need for manual tuning while preserving full transparency and control.
1. What Makes This Version Different
Unlike previous versions, v6 AUTO is not configured manually by default.
When Auto-Pilot is enabled, the script:
Detects the chart timeframe
Automatically adjusts ATR length and multiplier
Dynamically sets confidence thresholds
Modifies decay speed and add cooldowns
The result is a timeframe-aware execution model, not a fixed-parameter indicator.
Manual mode remains available for advanced users.
2. Core Architecture (Not a Simple Mashup)
This script is built as a single, state-driven system where each component influences the others.
Adaptive ATR Trail The trailing level defines both:
Trend direction
Dynamic exit logic
Its sensitivity is adjusted using volatility statistics and Auto-Pilot parameters.
Volatility Regime Detection
An ATR Z-Score is used to identify abnormal volatility conditions:
Expands the trail during high volatility
Restricts position adds when volatility is excessive
3. Confidence-Driven Decision Engine
Instead of binary signals, the script computes a normalized confidence score based on:
EMA distance (trend alignment)
ADX (trend strength)
Choppiness Index (market structure)
Daily higher-timeframe bias
All values are merged into a single confidence metric that controls:
Initial entries
Additional entries (pyramiding)
Emergency exits
4. Auto-Pilot Logic (Timeframe Adaptive)
When Auto-Pilot is active, the script selects a behavioral profile:
Turbo Mode (M1–M5): fast reaction, tight decay
Scalp Mode (M15): balanced sensitivity
Day Mode (M30): moderate trend persistence
Swing Mode (H1+): conservative and stable
This allows the same script to be used across multiple timeframes without retuning inputs.
5. Trade State & Risk Governance
The script internally tracks trade state:
FLAT LONG SHORT
Position adds are allowed only when: Price pulls back toward the adaptive trail
Confidence remains above a dynamic threshold
Volatility and cooldown conditions are respected
A Guardian system can force exits when confidence collapses during active trades.
6. How to Use
Follow the trail for trend direction INIT labels indicate potential trend starts
ADD labels indicate controlled continuation opportunities
Exit occurs on trail breaks or Guardian protection
Designed for trend-following and trade management, not for scalping or signal-only use.
7. Difference vs Previous Apex Adaptive Trail
Compared to earlier versions, update introduces:
Timeframe-aware Auto-Pilot configuration
Dynamic thresholds for entries, adds, and exits
Reduced need for manual parameter optimization
Improved usability for non-programmers
Earlier versions remain suitable for users who prefer full manual control.
8. Open-Source & Credits
This script is published as open-source under the Mozilla Public License 2.0.
© mentalExpert19609
Gann Octogram - Sacred Geometry Confluence Ver 1.0📐 Gann Octogram - Sacred Geometry Confluence Ver 1.0
Overview
Advanced Gann analysis tool combining W.D. Gann's Square of Nine principles with sacred geometry and multi-factor confluence signals. This indicator automatically detects swing highs/lows and projects octogram grids forward in time and price, identifying high-probability trading opportunities where multiple factors align.
Understanding Gann Octograms
W.D. Gann believed markets move in geometric patterns through time and price. The octogram (8-sided figure) represents the square of nine principle where:
Price divisions (1/8ths) create natural support/resistance
Time cycles mark potential reversal points
Diagonal angles show dynamic price-time relationships
Confluence zones where geometry aligns offer highest probability trades
This indicator makes these complex calculations automatic and visual.
Key Features
🎯 Intelligent Auto-Detection
Auto Gann Number Selection: Automatically chooses optimal Gann period (11, 22, 44, 88, 176) based on timeframe and data availability
Adaptive Half-Period Mode: Uses Gann/2 for faster swing detection while validating with full period
Smart Grid Projection: Projects octagrams near current price action for relevance
📊 Sacred Geometry Visualization
Octogram Grids: Complete octagonal geometry with inner square, angled square, and connecting lines
Gann Angles: 1×1 and 2×1 diagonal support/resistance angles
Time Cycles: Quarter, half, and three-quarter cycle markers
Price Levels: Automatic 1/8th division levels (0%, 12.5%, 25%, 37.5%, 50%, 62.5%, 75%, 87.5%, 100%)
⚡ Advanced Confluence System
Adjustable 4-Factor Confluence (Levels 0-4):
Price Level Touch: Precise detection of key support/resistance levels
Time Cycle Alignment: Major (25%, 50%, 75%) and minor (1/8th divisions) cycles
Octogram Geometry: Proximity to vertices and diagonal angles
Price Action: Bullish/bearish candle confirmation
Confluence Levels:
Level 0: Signals on price touch only (most signals)
Level 1: Minimum 1 factor required
Level 2: Minimum 2 factors (⭐ recommended - balanced)
Level 3: Minimum 3 factors (strict quality)
Level 4: All 4 factors required (highest quality, fewer signals)
🛡️ Signal Quality Controls
Max Signals Per Cell: Limit signals to 1-10 per grid cell
Cooldown Period: Minimum bars between consecutive signals
Cell Signal Tracking: Automatic reset when entering new time cells
Adjustable Tolerances: Fine-tune price and geometry sensitivity
How It Works
Swing Detection: Identifies significant market swings using pivot highs/lows
Grid Construction: Builds octogram grid from swing high to swing low
Multi-Grid Projection: Projects multiple cells forward (time) and vertically (price)
Confluence Analysis: Monitors all 4 factors continuously
Signal Generation: Fires BUY/SELL when confluence threshold is met
BUY Signals trigger when:
Price touches LOW zones (0%-50%)
At key time cycle points
Near octogram geometry
Bullish candle forms
SELL Signals trigger when:
Price touches HIGH zones (50%-100%)
At key time cycle points
Near octogram geometry
Bearish candle forms
Settings Guide
Structure Settings
Auto Gann Number: Enable for automatic period selection (recommended)
Manual Gann Number: 11, 22, 44, 88, or 176 bars
Use Half Period: Faster detection using Gann/2 lookback
Grid Stability: Adaptive (1/8th) / Strict (1/4th) / Relaxed (1/16th)
Signal Settings ⚙️
Confluence Level: 0-4 (start with 2)
Price Tolerance: 1-8% (default 3%)
Geometry Tolerance: 0.5-5% (default 2.5%)
Min Bars Between Signals: 1-20 (default 3)
Max Signals Per Cell: 1-10 (default 4-6)
Display Options
Toggle grid squares, octagrams, triangles, Gann angles
Customizable colors for all elements
Time cycle visualization
Swing high/low markers
Info panel with swing statistics
Best Practices
For Day Trading (5min-15min charts):
Confluence Level: 2
Auto Gann: ON
Grid Stability: Adaptive
Max Signals Per Cell: 4-6
For Swing Trading (1H-4H charts):
Confluence Level: 3
Auto Gann: ON
Grid Stability: Strict
Max Signals Per Cell: 2-4
For Position Trading (Daily charts):
Confluence Level: 3-4
Manual Gann: 88 or 176
Grid Stability: Strict
Max Signals Per Cell: 2-3
Alert Setup
Built-in alert conditions:
Gann Octogram Buy - Fires on BUY signal
Gann Octogram Sell - Fires on SELL signal
Configure alerts using TradingView's alert system to get notified when confluence zones trigger.
Backtesting Tips
Start with Confluence Level 2 (balanced approach)
Increase level to 3-4 if too many signals
Decrease to 1 if missing opportunities
Adjust tolerances based on asset volatility
Test different Gann numbers for your specific market
Credits & Theory
Based on W.D. Gann's principles:
Square of Nine
Time-Price Geometry
Sacred Geometry (Octograms)
Natural Market Cycles
Developed with modern Pine Script for reliability, efficiency, and user control.
Version History
Ver 1.0 - Initial Release
4-factor confluence system
Auto Gann number selection
Adjustable confluence levels (0-4)
Sacred geometry visualization
Signal quality controls
Support
For questions, suggestions, or issues:
Comment on this indicator
Check the code (open source)
Experiment with settings for your trading style
Happy Trading! 📈
Disclaimer
This indicator is for educational and informational purposes only. Past performance does not guarantee future results. Always practice proper risk management and never risk more than you can afford to lose. Backtest thoroughly before live trading.
TradeSkull Opening Candle Range BoxThis will give you and extended range box of the opening candle of your choice on what ever timeframe you like
Baekdoo VWAP & High-Volume Node Momentum Breakout (V6)Indicator Name: Baekdoo VWAP & High-Volume Node Momentum Breakout (V6)
Description Summary: This indicator tracks the interaction between the VWAP (Volume Weighted Average Price)—the market's "fair value"—and the High-Volume Node (Resistance) from the past 20 bars. The goal is to identify "True Breakouts" where the average entry price of all participants, not just the spot price, successfully surmounts a major supply zone.
Key Features:
Annual Cumulative VWAP: Uses a yearly-anchored VWAP to filter out daily noise on 1D charts and provide a stable trend baseline.
Volume-Based Resistance: Identifies the high of the candle with the maximum volume over 20 periods as a critical supply wall.
Institutional Volume Filter: Signals are only triggered when volume exceeds 2x the 5-day average, ensuring significant market interest.
Dual Exit Strategy: Incorporates a 1.5 ATR Trailing Stop for partial profit-taking and a 20 SMA crossunder for a full risk-off exit.
---------------
지표 명칭: 백두 VWAP 매물대 모멘텀 돌파 전략 (V6)
설명 요약: 본 지표는 시장의 평균 합의 가격인 **VWAP(Volume Weighted Average Price)**과 최근 20일간 가장 강력한 거래가 발생한 **매물대(High Volume Node)**의 상호작용을 추적합니다. 단순히 가격이 뚫는 것이 아니라, 시장 참여자들의 평균 단가 자체가 저항선을 넘어서는 '진성 돌파'를 포착하는 데 목적이 있습니다.
주요 특징:
연간 누적 VWAP: 일봉 차트에서의 노이즈를 줄이기 위해 연간 단위로 누적된 평균 단가를 사용합니다.
매물대 저항선: 지난 20일 중 최대 거래량이 터진 봉의 고점을 저항선으로 설정하여, 악성 매물이 쏟아질 수 있는 구간을 시각화합니다.
거래량 필터: 5일 평균 거래량 대비 2배 이상의 거래가 실릴 때만 신호를 발생시켜 기관 및 세력의 개입 여부를 확인합니다.
스마트 엑싯: 1.5 ATR 트레일링 스톱을 통한 수익 보존과 20일 이평선 이탈을 통한 리스크 관리를 동시에 수행합니다.
Axis-Pro System | Trend Structure + Fibonacci Pullbacks Axis-Pro System is a comprehensive Trend Following strategy designed to trade high-probability pullbacks. Unlike indicators that merely chase price, this system patiently waits for market structure alignment before seeking an entry.
The system is built on the premise of "Quality over Quantity", utilizing volatility and structure filters to avoid choppy markets (ranges) and false breakouts.
🧠 Strategy Logic
The system makes decisions based on a strict 4-step hierarchy:
Higher Timeframe (HTF) Bias:
Analyzes the trend on a higher timeframe to ensure we are trading in the direction of the dominant flow.
Structure & BOS (Break of Structure):
Identifies clear impulses that break previous highs or lows. Once a BOS is confirmed, the system "arms" the trade and waits.
Fibonacci Zone Pullback:
It does not chase the breakout. Instead, it waits for a pullback into the "Discount Zone" (Golden Zone, configurable between 0.382 and 0.618) to improve the Risk/Reward ratio.
Validation & Trigger:
Uses an ATR expansion check to filter out low-volatility periods.
Requires candle confirmation and alignment with fast EMAs before pulling the trigger.
🛡️ Risk Management
The system incorporates advanced position management using a split execution model (50/50):
Dynamic Stop Loss: Automatically calculated using an ATR multiplier or the recent Swing High/Low (whichever offers better protection).
TP1 (Take Profit 1): Closes 50% of the position at a fixed R-multiple (e.g., 1.5R) to lock in profit and moves the Stop Loss to Break-Even.
TP2 (Runner): The remaining 50% is left to run for higher targets (e.g., 3.0R) or until the trend bends, maximizing gains during strong moves.
Trailing Stop: Optional feature to trail price with a fast EMA once the first target is hit.
⚙️ Settings & Features
The script is highly customizable for different assets (Crypto, Forex, Indices):
Date Range Filter: Includes a date selector to perform precise Backtesting on specific periods (e.g., testing specifically during a Bear Market vs. Bull Market).
Auto Trendlines: Automatically draws relevant trendlines for visual support.
Quality Filters: Options to toggle the EMA 200 filter and breakout buffers.
⚠️ Disclaimer
This strategy is a tool for analysis and backtesting purposes. Past performance does not guarantee future results. It is highly recommended to test the strategy on a Demo account first and adjust parameters according to the volatility of the specific asset being traded. Always use responsible risk management.
TradeSkull Opening Candle Box range of your choiceopening candle range box....pick your time and you will have the high/low and extended range box that you can edit
Cloud Matrix [CongTrader]Cloud Matrix – Ichimoku Confluence System
Cloud Matrix is a rule-based Ichimoku confluence framework, designed to filter noise and low-probability setups by requiring multi-condition confirmation instead of single signals.
Unlike traditional Ichimoku usage (visual interpretation), this script converts Ichimoku states into a matrix scoring model.
Each setup is validated using 5 structural dimensions:
• Tenkan–Kijun relationship
• Price position vs Kumo
• Kumo polarity (Span A vs Span B)
• Chikou Span confirmation
• Price vs Kijun acceptance
Only when ≥ 3 conditions align, signals are allowed.
🔹 Signal Logic
Cloud Matrix generates two validated signal types:
• TK Cross Signals – Tenkan/Kijun crosses filtered by matrix confirmation
• Kumo Break Signals – Breakouts confirmed by cloud structure and momentum context
All signals can be configured to trigger on candle close to reduce noise and repainting.
🔹 Trend Alignment (Optional)
An optional Higher Timeframe EMA200 filter is included:
• Long signals only in HTF uptrend
• Short signals only in HTF downtrend
This improves consistency by preventing counter-trend trades.
🔹 Presets
Built-in presets allow fast adaptation:
• Traditional Ichimoku
• Crypto Fast
• Crypto Medium
• Custom mode
🔹 Usage
Use Cloud Matrix as a decision filter, not a buy/sell machine:
identify trend → wait for TK cross or Kumo break → confirm matrix alignment → execute with price action and structure-based risk management...
Wick & Body % with upper wick thresholdA simple indicator to give the sizes of wicks and main body of the last candle as percentage of high - low. No negative figures. If the candle is red, the table will be red and vice versa. Table could be located as per user preference. Upper wick threshold is user defined and will be red beyond the threshold.
Plan Limit TimerA Pine Script library that helps developers monitor script execution time against TradingView's plan-specific timeout limits. Displays a visual debug table with runtime metrics, percentage of limit consumed, and color-coded status warnings.
WHAT THIS LIBRARY DOES
TradingView enforces different script timeout limits based on subscription tier:
• Basic : 20 seconds
• Essential / Plus / Premium : 40 seconds
• Ultimate : 100 seconds
This library measures your script's total execution time and displays it relative to these limits, helping you optimize indicators for users on different plans.
THE DEBUG TABLE
When enabled, a table appears on your chart showing:
• Plan : The selected TradingView subscription tier
• Limit : Maximum allowed execution time for that plan
• Runtime : Measured script execution time
• Per Bar : Average time spent per bar
• Bars : Number of bars processed
• % Used : Percentage of timeout limit consumed (color-coded)
• Status : OK (green), WARNING (yellow), DANGER (orange), or EXCEEDED (red)
HOW IT WORKS
The library captures a timestamp at the start of your script using timenow, then calculates the elapsed time at the end. It compares this against the selected plan's timeout limit to determine percentage used and status.
Technical Note : Pine Script's timenow variable has approximately 1-second precision. Scripts that execute in under 1 second may display 0ms. This is a platform limitation, not a library issue. For detailed per-function profiling, use TradingView's built-in Pine Profiler (More → Profiler mode in the Editor).
EXPORTED FUNCTIONS
startTimer()
Call at the very beginning of your script. Returns a timestamp.
getStats(startTime, plan)
Calculates timing statistics. Returns a TimingStats object with all metrics.
showTimingTable(stats, plan, tablePosition, showOnlyOnLast)
Renders the debug table on the chart.
debugTiming(startTime, plan, tablePosition)
Convenience function combining getStats() and showTimingTable() in one call.
isApproachingLimit(stats, threshold)
Returns true if execution time has reached the specified percentage of the limit.
getRemainingMs(stats)
Returns milliseconds remaining before timeout.
formatSummary(stats)
Returns a compact single-line string for labels or tooltips.
addTimingLabel(stats, barIdx, price, labelStyle, textSize)
Creates a color-coded chart label displaying timing statistics. Useful for visual debugging without the full table. Returns the label object for further customization.
EXPORTED CONSTANTS
• LIMIT_BASIC = 20
• LIMIT_ESSENTIAL = 40
• LIMIT_PLUS = 40
• LIMIT_PREMIUM = 40
• LIMIT_ULTIMATE = 100
EXPORTED TYPE: TimingStats
Object containing:
• totalTimeMs (float): Total execution time in milliseconds
• timePerBarMs (float): Average time per bar
• barsTimed (int): Number of bars measured
• barsSkipped (int): Bars excluded from measurement
• planLimitMs (int): Plan timeout in milliseconds
• percentUsed (float): Percentage of limit consumed
• status (string): "OK", "WARNING", "DANGER", or "EXCEEDED"
HOW TO USE IN YOUR INDICATOR
//@version=6
indicator("My Indicator", overlay = true)
import YourUsername/PlanLimitTimer/1 as timer
// User selects their TradingView plan
planInput = input.string("basic", "Your Plan", options = )
// START TIMING - must be first
startTime = timer.startTimer()
// Your indicator calculations here
sma20 = ta.sma(close, 20)
rsi14 = ta.rsi(close, 14)
plot(sma20)
// END TIMING - must be last
timer.debugTiming(startTime, planInput)
ADVANCED USAGE EXAMPLE
//@version=6
indicator("Advanced Example", overlay = true)
import YourUsername/PlanLimitTimer/1 as timer
planInput = input.string("basic", "Plan", options = )
startTime = timer.startTimer()
// Your calculations...
sma = ta.sma(close, 200)
plot(sma)
// Get stats for programmatic use
stats = timer.getStats(startTime, planInput)
// Option 1: Use addTimingLabel for a quick visual indicator
if barstate.islast
timer.addTimingLabel(stats, bar_index, high)
// Option 2: Show custom warning label if approaching limit
if timer.isApproachingLimit(stats, 70.0) and barstate.islast
label.new(bar_index, low, "Warning: " + timer.formatSummary(stats),
color = color.orange, textcolor = color.white, style = label.style_label_up)
// Display the debug table
timer.showTimingTable(stats, planInput, position.bottom_right)
IMPORTANT LIMITATIONS
1. Precision : Timing precision is approximately 1 second due to timenow behavior. Fast scripts show 0ms.
2. Variability : Results vary based on TradingView server load. The same script may show different times across runs.
3. Total Time Only : This library measures total script execution time, not individual function timing. For per-function analysis, use the Pine Profiler in the Editor.
4. Historical Bars : On historical bars, timenow reflects when the script loaded, not individual bar processing times.
USE CASES
• Optimization Debugging : See how close your script is to timeout limits
• Multi-Plan Support : Help users select appropriate settings for their subscription tier
• Performance Regression : Detect when changes increase execution time
• Documentation : Show users the performance characteristics of your indicator
Gold Profit Target SystemGOLD PROFIT TARGET SYSTEM
Track Real Profits, Exit With Confidence
Best on Daily or Weekly - copy and mod as you see fit. Have fun!
WHAT THIS INDICATOR DOES:
This indicator tracks your gold position from entry and shows color-coded profit targets as the price rises. Instead of guessing when to exit, you see exact profit levels in real-time: 1%, 2%, 3%, 4%, 5%, 10%, 15%, 20%, 25%, and 25%+.
Simple concept: BUY on the signal, SELL at YOUR chosen profit level.
HOW IT WORKS - 3 SIMPLE STEPS:
STEP 1: Wait for BUY Signal
• Green triangle (▲) appears below the composite line
• Triggered when inverse assets (DXY, rates, etc.) show strong correlation and are falling
• Entry price is automatically recorded
• Position tracking begins
STEP 2: Watch Profit Targets Appear
• As gold rises, color-coded symbols appear above the composite line
• Each symbol represents a profit milestone
• The info table shows your current profit
• You decide when to exit based on YOUR target
STEP 3: Exit at Your Chosen Level
• Conservative? Exit at 5-10%
• Moderate? Exit at 10-15%
• Aggressive? Hold for 20%+
• The indicator just shows the levels - YOU make the call
THE COMPOSITE LINE - WHAT IT MEANS:
The main line is a weighted composite of inverse-correlated assets:
• DXY (US Dollar Index)
• Real Interest Rates (10Y TIPS)
• US 10-Year Treasury Yield
• US 2-Year Treasury Yield
• Bitcoin (optional)
• Copper (optional)
Line Position:
• Below -30 (Bright Green): Very strong inverse correlation - excellent BUY conditions
• Below 0 (Green): Inverse correlation present - moderate BUY conditions
• Above 0 (Red): Inverse assets rising - neutral to bearish
• Above 30 (Bright Red): Strong inverse rally - bearish for gold
What Causes BUY Signals:
When the composite line is negative (inverse assets falling) AND shows strong correlation (>0.3), this suggests gold is likely to rise. The indicator records your entry and begins tracking profits.
COLOR-CODED PROFIT TARGETS:
EARLY PROFITS (Green Circles):
• 1% - Very Light Green (#c8e6c9) - First confirmation
• 2% - Light Green (#a5d6a7) - Building profit
• 3% - Green (#81c784) - Good profit
• 4% - Medium Green (#66bb6a) - Strong profit
• 5% - Dark Green (#4caf50) - Solid profit!
EXCELLENT PROFIT (Yellow Diamond):
• 10% - Yellow (#ffd54f) - Double digits, excellent trade!
OUTSTANDING PROFIT (Orange Diamonds):
• 15% - Orange (#ffb74d) - Exceptional profit, consider partial exit
EXCEPTIONAL PROFIT (Red Diamonds):
• 20% - Light Red (#ff8a65) - Rare territory, strong exit consideration
• 25% - Red (#f44336) - Extraordinary profit, very rare!
PEAK PROFIT (Purple Star):
• 25%+ - Purple (#9c27b0) - Once in a blue moon! The home run trade!
STOP LOSS (Red X):
• Default -5% - Protection against losses
• Position auto-resets if stop is hit
THE PROFIT BAR (Histogram):
Below the composite line, you'll see a colored histogram when in position:
Bar Color = Your Current Profit Tier
• Light green bar = 1-2% profit
• Green bar = 3-5% profit
• Yellow bar = 10% profit
• Orange bar = 15% profit
• Red bar = 20-25% profit
• Purple bar = 25%+ profit
• Red negative bar = Currently at a loss
Bar Height = Current Profit %
The taller the bar, the larger your profit. Negative bars extend downward when you're at a loss.
THE INFORMATION TABLE:
The table (top-right by default) shows everything at a glance:
Position: ✓ IN (green) or ✗ OUT (gray)
Shows whether you're currently holding a position
Entry Price: Your recorded buy price
Example: 2,100.50
Current Price: Gold's current price
Example: 2,142.75
Current P/L: YOUR PROFIT %
This is the most important metric - shows exactly how much you're up (or down)
Color matches your current profit tier
Example: +2.01% in light green
Profit Tier: Current milestone reached
Shows which profit level you've hit: "1%", "2%", "5%", "10%", etc.
Next Target: The next profit level to watch
Tells you what milestone is coming up next
Bars Held: How long you've been in the trade
Helps track holding time
Composite: Current correlation strength
Shows the underlying composite correlation value
REFERENCE LINES:
Zero Line (Gray):
The center line. Above = bearish for gold, Below = bullish for gold
Strong Bull Line (Green dashed at -30):
When composite crosses below -30, very strong BUY conditions
Strong Bear Line (Red dashed at +30):
When composite crosses above +30, strong bearish conditions
BACKGROUND SHADING:
Very Light Green Background:
You're in profit (position open and above entry price)
Very Light Red Background:
You're at a loss (position open and below entry price)
No Background:
No position currently open
SYMBOLS ON CHART:
▲ Green Triangle Below Line: BUY SIGNAL
Enter long position here. Entry price recorded.
● Small Green Circles Above Line: 1-5% Profits
Early profit targets. Light green to dark green progression.
◆ Diamonds Above Line: 10-25% Profits
Major profit milestones. Yellow → Orange → Red progression.
★ Purple Star Above Line: 25%+ Profit
The holy grail! Peak profit achieved.
✖ Red X Below Line: STOP LOSS HIT
Trade went against you. Position resets (if auto-reset enabled).
PROFIT-TAKING STRATEGIES:
Strategy 1: Fixed Target (Simple)
Pick one target (e.g., 10%) and always exit there.
Best for: Beginners, disciplined traders
Strategy 2: Scaled Exit (Advanced)
Exit in portions:
• 5% profit → Sell 25%
• 10% profit → Sell 25% (50% total out)
• 15% profit → Sell 25% (75% total out)
• 20%+ profit → Let final 25% ride
Best for: Risk management, maximizing upside
Strategy 3: Trailing Stop
• Hit 10%? Set stop at 5%
• Hit 15%? Set stop at 10%
• Lock in profits while letting winners run
Best for: Trend followers, bull markets
Strategy 4: Adaptive
• Strong uptrend → wait for 15-20%
• Choppy market → exit at 5-10%
• Weakening trend → exit at any profit
Best for: Experienced traders
SETTINGS YOU CAN CUSTOMIZE:
Profit Target Levels:
Change any profit % to match your strategy
• Conservative: Lower targets (0.5%, 1%, 2%, 3%, 5%)
• Aggressive: Higher targets (2%, 5%, 10%, 20%, 30%)
Assets to Include:
• Enable/disable Bitcoin
• Enable/disable Copper
• Toggle which inverse assets to track
Display Options:
• Show all targets or just current tier
• Show/hide profit bar
• Show/hide composite line
• Move table position
Stop Loss:
• Set your risk tolerance (default 5%)
• Enable/disable auto-reset on stop loss
Correlation Periods:
• Adjust for your timeframe
• Hourly: 14/30/60
• Daily: 20/50/100
• Weekly: 10/20/50
ALERTS AVAILABLE:
Set alerts for any profit milestone:
Critical Alerts:
• "BUY Signal" - Entry notification
• "5% Profit Target" - First major milestone
• "10% Profit Target" - Decision point
• "Stop Loss Hit" - Risk protection
Optional Alerts:
• 1%, 2%, 3%, 4% - Early confirmations
• 15%, 20%, 25% - Major milestones
• Individual levels for your strategy
BEST TIMEFRAMES:
Daily Chart (Recommended):
Best for swing traders holding 3-10 days
Use default settings (20/50/100 periods)
Target 5-15% profits
4-Hour Chart:
Good for active swing traders
Adjust periods to 14/30/60
Target 3-10% profits
Hourly Chart:
For day traders and scalpers
Use shorter periods (14/30/60)
Target 1-5% profits
Adjust profit levels lower (0.5%, 1%, 2%, 3%)
WHY THIS INDICATOR IS DIFFERENT:
Most indicators tell you WHEN to enter.
This one tells you WHEN TO EXIT with profit.
Most indicators use vague signals.
This one shows EXACT profit percentages.
Most indicators leave exit decisions to you.
This one gives CLEAR, COLOR-CODED milestones.
Most indicators don't track your P/L.
This one shows your profit in text you can't miss.
QUICK START GUIDE:
1. Add indicator to gold chart (XAUUSD, GLD, GC1!)
2. Wait for green triangle (▲) BUY signal
3. Watch your profit grow in the table
4. Exit when you hit YOUR target (5%, 10%, 15%, etc.)
5. Repeat
That's it. Simple. Effective. Profitable.
IMPORTANT NOTES:
• This is for LONG positions only - not for shorting gold
• Position tracking begins only after a BUY signal
• The indicator shows levels - YOU decide when to exit
• Always use stop losses (default 5% is reasonable)
• Past performance doesn't guarantee future results
• Not financial advice - use for educational purposes
PRO TIPS:
Tip 1: Don't get greedy - 10-15% is an excellent profit for most trades
Tip 2: Purple stars (25%+) are RARE - don't wait for them on every trade
Tip 3: The profit bar color change is your visual cue - green→yellow→orange→red
Tip 4: Combine with resistance levels - "10% profit + resistance = exit"
Tip 5: Set alerts for YOUR target level so you never miss it
Tip 6: The giant P/L number in the table removes emotion from decisions
EXAMPLE TRADE:
Day 1: ▲ BUY signal at $2,100
Table shows: Position ✓ IN | Entry: 2,100
Day 2: Current P/L: +1.8%
First green circle appears (1% target hit)
Table tier: "1%"
Day 4: Current P/L: +5.2%
Dark green circle appears (5% target hit)
Profit bar is dark green
Decision point: Exit 50% here?
Day 7: Current P/L: +10.5%
Yellow diamond appears (10% target hit!)
Table shows: +10.5% in yellow text
Decision point: Exit remaining 50%?
Result: Average exit ~7.5% over 7 days. Excellent swing trade!
WORKS ON:
• Gold Spot (XAUUSD)
• Gold Futures (GC1!)
• Gold ETFs (GLD, IAU)
• Any gold instrument
Inverse Assets Tracked:
• DXY (US Dollar Index)
• Real Interest Rates (TIPS)
• US Treasury Yields (2Y, 10Y)
• Bitcoin (optional)
• Copper (optional)
THE BOTTOM LINE:
Stop guessing when to take profits.
Start SEEING your profit levels in real-time.
The indicator shows you the targets.
YOU choose when to cash out.
That's YOUR edge.
Developed for traders who want clear, actionable profit targets instead of vague signals.
EEQI [Environment Quality Index] PyraTime The Problem: Why Good Strategies Fail
The number one reason traders lose capital is not a lack of strategy—it is forced execution in poor environments.
Most indicators (RSI, MACD, Stochastic) are continuously active, generating signals even when the market is dead, choppy, or chaotic. A breakout strategy that prints money in a trend will destroy your account in a consolidation range. A mean-reversion system that works in chop will fail during a parabolic expansion.
The Solution: PyraTime EEQI The Execution Environment Quality Index (EEQI) is a "Gatekeeper" layer for your trading. It does not tell you what to buy or sell; it tells you if you should be trading at all.
By aggregating Volatility, Price Structure, and Efficiency into a single composite score, the EEQI answers the most critical question in discretionary trading: "Is the market efficient enough to deploy capital right now?"
How It Works: The 3 Core Engines
The EEQI calculates a raw "Environment Score" (from -2 to +4) by analyzing three distinct dimensions of price action.
1. Volatility Engine (Usability)
The Logic: Measures the "Alive-ness" of the market using ATR Percentiles.
The Filter: It detects "Dead Zones" (where price is too flat to hit targets) and "Chaos Zones" (where volatility is too dangerous).
Smart Feature (Parabolic Override): If price moves significantly (>2x ATR) in a single candle, the engine recognizes this as "High Momentum" rather than chaos, unlocking Green signals during breakouts.
2. Structure Engine (Bar Quality)
The Logic: Analyzes the relationship between candle bodies, wicks, and overlap.
The Filter: It penalizes "Barbed Wire" price action—candles with long wicks and high overlap—which indicate indecision and algo-chop.
The Goal: We want to trade during "Clean Flow," where candle bodies are large and overlap is low.
3. Efficiency Engine (Directional Flow)
The Logic: Compares Net Displacement (start-to-finish distance) vs. Total Distance Traveled.
The Filter: Identifies "Whipsaw" conditions where price moves a lot but goes nowhere.
Smart Feature (Velocity Lock): If price travels a massive distance quickly, the efficiency requirement is relaxed to catch explosive moves that might otherwise look "messy."
The "Smart Gatekeepers"
Even if the Core Engines look good, the EEQI applies three final safety checks before granting a PRIME status.
Regime Persistence (Stability Check): The market must hold a high score for a set number of bars (default: 1) before the signal turns Green. This prevents "fake-outs" where a single anomaly candle tricks you into entering a bad trend.
Volume Validation (Liquidity Check): Price movement without participation is a trap. The EEQI checks Relative Volume (RVOL). If volume is below average (e.g., lunch hour, holidays, or late-night sessions), the score is capped at "Fair" or "Low Vol," preventing execution in thin liquidity.
Macro Context (HTF Filter): You cannot trade against the higher timeframe. The EEQI checks the trend and volatility of the Higher Timeframe (default: Weekly). If the macro view is compressed or dead, the local signal is vetoed.
How to Read the HUD
The Dashboard (Bottom Right) gives you an instant read on the market state.
🟢 PRIME (+4): Execution Optimal. The market is trending, efficient, and backed by volume. This is the "Green Light" for your strategy.
🔵 FAIR (+1 to +3): Tradeable. Conditions are decent, but one factor (e.g., volume or structure) is imperfect. Exercise caution.
⚪ NEUTRAL (0): Indecision. The market is transitioning. Stand aside.
🟡 BUILDING: Wait. The market is good, but hasn't proven itself yet (Persistence Check).
🟠 POOR / LOW VOL: Chop. Price is messy or lacking participation.
🔴 AVOID (-2): Danger Zone. The market is either dead flat or violently chaotic. Do not trade.
Settings & Customization
The indicator comes with calibrated presets for different asset classes:
Crypto: Tolerates higher volatility and requires stronger efficiency confirmation.
Forex: Stricter dead-zone filters to handle ranging sessions.
Indices: Balanced settings for standard equity hours.
Disclaimer
This tool is designed for environment analysis only. It does not provide buy or sell signals, entry prices, or stop-losses. It is intended to be used as a filter to improve the performance of your own discretionary strategies.
Levels With Touch Color (Dotted Touch)Engulfing Candles — Levels with Touch & Liquidity Sweep
This indicator detects bullish and bearish engulfing candlestick patterns and plots support/resistance levels based on these patterns. It also highlights touch points where price interacts with these levels and visualizes liquidity areas for potential buy and sell zones.
Features:
Detects bullish and bearish engulfing patterns
Plots fixed levels at the high or low of the engulfing candle
Pointed touch lines:
Level changes color when price touches the level without breaking it
Green for bullish touches, red for bearish touches
Liquidity visualization:
Buy-side liquidity displayed as a line below the touched bullish level
Sell-side liquidity displayed as a line above the touched bearish level
Clean visual design with no background boxes, keeping the chart uncluttered
Automatic management of historical lines to prevent chart overload
Fully customizable liquidity offset and max number of historical levels
How to use:
Look for engulfing candle levels forming on the chart.
Watch the touch lines (green/red) for potential price reaction areas.
Identify zones where stop-hunts or market liquidity might appear.
Combine with your strategy or price action tools to find entries or exits.
Inputs:
Max history lines — Limits how many historical levels are kept on the chart
Liquidity offset — Adjusts distance of liquidity lines from the original level
Notes:
Touch lines turn colored only when price interacts with the level but does not break it.
Liquidity lines extend a few bars forward for visual clarity.
Works on all timeframes.
AI Oversold Swing - Screener//@version=5
indicator("AI Oversold Swing - Screener", overlay=false)
// ─────────────────────────
// USER INPUTS
// ─────────────────────────
maxPrice = input.float(75.0, "Max Price ($)")
rsiLen = input.int(14, "RSI Length")
rsiOversold = input.float(35.0, "RSI Oversold Level")
bbLen = input.int(20, "BB Length")
bbMult = input.float(2.0, "BB StdDev")
supportLen = input.int(20, "Support Lookback (days)")
nearSupportPct = input.float(1.5, "Near Support %")
undercutPct = input.float(0.5, "Allowed Undercut %")
atrLen = input.int(14, "ATR Length")
maxATRfromSup = input.float(1.0, "Max ATR From Support")
minDollarVol = input.float(75000000.0, "Min Dollar Volume", step=1000000)
requireTrigger = input.bool(false, "Require Reversal Trigger")
// ─────────────────────────
// DAILY DATA (screener uses indicator outputs)
// ─────────────────────────
dClose = request.security(syminfo.tickerid, "D", close)
dLow = request.security(syminfo.tickerid, "D", low)
dVol = request.security(syminfo.tickerid, "D", volume)
dPrevC = request.security(syminfo.tickerid, "D", close )
// ─────────────────────────
// INDICATORS
// ─────────────────────────
rsi = ta.rsi(dClose, rsiLen)
basis = ta.sma(dClose, bbLen)
dev = bbMult * ta.stdev(dClose, bbLen)
bbLow = basis - dev
atr = request.security(syminfo.tickerid, "D", ta.atr(atrLen))
support = ta.lowest(dLow, supportLen)
distPct = support > 0 ? (dClose - support) / support * 100.0 : na
distATR = atr > 0 ? (dClose - support) / atr : na
dollarVol = dClose * dVol
// ─────────────────────────
// CONDITIONS
// ─────────────────────────
priceOK = dClose > 0 and dClose <= maxPrice
liqOK = dollarVol >= minDollarVol
oversold = (rsi <= rsiOversold) and (dClose <= bbLow)
nearSup =
support > 0 and
dClose <= support * (1 + nearSupportPct / 100.0) and
dClose >= support * (1 - undercutPct / 100.0) and
distATR <= maxATRfromSup
setup = priceOK and liqOK and oversold and nearSup
// Optional reversal confirmation
rsiReversal = ta.crossover(rsi, rsiOversold)
greenCandle = dClose > dPrevC
trigger = rsiReversal or greenCandle
signal = requireTrigger ? (setup and trigger) : setup
// ─────────────────────────
// SCREENER OUTPUTS
// ─────────────────────────
plot(signal ? 1 : 0, title="Signal (1 = YES)")
plot(rsi, title="RSI (Daily)")
plot(distPct, title="Dist to Support % (Daily)")
plot(distATR, title="Dist to Support ATR (Daily)")
plot(dollarVol, title="Dollar Volume (Daily)")
ACHT EMA Cross Pullback Strategy with HTF Filter, RSI SignalsADVANCED INDICATOR FOR TRADING USING EMA CROSS PULLBACK STRATEGY
✨ MAIN FEATURES:
• 📈 Signals on pullback after EMA9/EMA20 crossover
• 🔍 Multi-level signal filtering
• 🕒 Multi-timeframe analysis (HTF filter)
• 🛡️ Trend indicator protection
• 📊 Compact information panel
🎯 MAIN SIGNALS:
1️⃣ EMA CROSS + PULLBACK
• EMA9 crosses EMA20 up/down
• Price pullback to EMA9 after crossover
• EMA200 filter (bullish/bearish trend)
2️⃣ RSI SIGNALS IN HTF ZONES
• RSI crossing its SMA
• Works only in HTF zones
• "First signal only" option in zone
🛡️ INDICATOR FILTERS:
• ✅ SuperTrend - main trend identification
• ✅ MACD - additional trend confirmation
• ✅ RSI - overbought/oversold filter
• ✅ HTF filter - higher timeframe analysis
⚙️ CUSTOMIZATION OPTIONS:
• Adjustable periods for all indicators
• Enable/disable each filter
• RSI level settings
• HTF filter timeframe selection
• Signal visualization options
📱 INFORMATION PANEL:
• Compact table with key metrics
• Status of all filters and indicators
• Visual HTF zone indicators
• Emoji for quick perception
🚨 ALERT SYSTEM:
• Alerts on main signals
• Alerts on HTF zone entry
• Alerts on RSI signals
• Customizable trigger conditions
📈 USAGE RECOMMENDATIONS:
1. Wait for EMA9 and EMA20 crossover
2. Look for price pullback to EMA9
3. Check all filter compliance
4. Ensure HTF zone presence
5. Use RSI signals as supplement
⚠️ RISKS AND LIMITATIONS:
• Indicator doesn't guarantee profit
• Always use stop-losses
• Test strategy on demo account
• Adapt parameters to your trading style
Trader Checklist Panel EditableTrader Checklist Panel — Editable
Trader Checklist Panel is a lightweight visual checklist designed to help traders execute their edge with discipline and consistency.
This indicator provides a clean, non-intrusive panel where you can manually confirm each condition of your trading plan before entering a trade — without coloring the chart background or interfering with price action.
MFI/RSI Divergence Lower하단 지표 구성 및 활용법
MFI (Aqua Line): 거래량이 가중된 자금 흐름입니다. 지지선 근처에서 이 선이 저점을 높이면(다이버전스) 강력한 매수 신호입니다.
RSI (Yellow Line): 가격의 상대적 강도입니다. MFI와 함께 움직임을 비교하여 보조적으로 활용합니다.
리페인팅 방지 핵심: offset=-lb_r 설정을 통해, 지표가 확정되는 시점(피벗 완성 시점)에 정확히 신호가 표시되도록 구현했습니다. 이는 과거 백테스트 결과와 실시간 매매 결과가 일치하도록 보장합니다.
실전 응용
지지/저항 필터: 이 지표 단독으로 사용하기보다, 차트 상의 주요 지지선에 가격이 위치했을 때 발생하는 BULL DIV 신호만 골라 매수하면 승률이 극대화됩니다.
손절/익절 최적화: 현재 1.5% 손절, 3% 익절로 설정되어 있습니다. 종목의 변동성(ATR)에 따라 group_risk에서 수치를 조정하며 최적의 수익 곡선을 찾아보십시오.
//@version=6
strategy("Hybrid MFI/RSI Divergence Lower",
overlay=false, // 하단 지표 설정을 위해 false
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=10,
commission_type=strategy.commission.percent,
commission_value=0.05,
slippage=1)
// --- ---
group_date = "1. 백테스트 기간"
start_time = input.time(timestamp("2024-01-01 00:00:00"), "시작일", group=group_date)
end_time = input.time(timestamp("2026-12-31 23:59:59"), "종료일", group=group_date)
within_window() => time >= start_time and time <= end_time
group_osc = "2. 오실레이터 설정"
mfi_len = input.int(14, "MFI 기간", group=group_osc)
rsi_len = input.int(14, "RSI 기간", group=group_osc)
ob_level = input.int(80, "과매수 기준", group=group_osc)
os_level = input.int(20, "과매도 기준", group=group_osc)
group_div = "3. 다이버전스 감도"
lb_l = input.int(5, "피벗 왼쪽 범위", group=group_div)
lb_r = input.int(5, "피벗 오른쪽 범위", group=group_div)
group_risk = "4. 리스크 관리"
tp_pct = input.float(3.0, "익절 (%)", step=0.1, group=group_risk) / 100
sl_pct = input.float(1.5, "손절 (%)", step=0.1, group=group_risk) / 100
// --- ---
mfi_val = ta.mfi(close, mfi_len)
rsi_val = ta.rsi(close, rsi_len)
avg_val = (mfi_val + rsi_val) / 2 // MFI와 RSI의 평균값으로 부드러운 흐름 파악
// --- ---
// 저점 피벗 탐지 (MFI 기준)
pl = ta.pivotlow(mfi_val, lb_l, lb_r)
ph = ta.pivothigh(mfi_val, lb_l, lb_r)
// Bullish Divergence (상승 다이버전스)
var float last_pl_mfi = na
var float last_pl_price = na
bool is_bull_div = false
if not na(pl)
last_pl_mfi := mfi_val
last_pl_price := low
// 이전 저점 탐색
float prev_pl_mfi = ta.valuewhen(not na(pl), mfi_val , 1)
float prev_pl_price = ta.valuewhen(not na(pl), low , 1)
if low < prev_pl_price and mfi_val > prev_pl_mfi
is_bull_div := true
// Bearish Divergence (하락 다이버전스)
var float last_ph_mfi = na
var float last_ph_price = na
bool is_bear_div = false
if not na(ph)
last_ph_mfi := mfi_val
last_ph_price := high
float prev_ph_mfi = ta.valuewhen(not na(ph), mfi_val , 1)
float prev_ph_price = ta.valuewhen(not na(ph), high , 1)
if high > prev_ph_price and mfi_val < prev_ph_mfi
is_bear_div := true
// --- ---
if within_window()
if is_bull_div
strategy.entry("Bull", strategy.long, comment="Bull Div")
if is_bear_div
strategy.entry("Bear", strategy.short, comment="Bear Div")
strategy.exit("ExB", "Bull", limit=strategy.position_avg_price * (1 + tp_pct), stop=strategy.position_avg_price * (1 - sl_pct))
strategy.exit("ExS", "Bear", limit=strategy.position_avg_price * (1 - tp_pct), stop=strategy.position_avg_price * (1 + sl_pct))
// --- ---
// 배경 레이아웃
hline(ob_level, "Overbought", color=color.new(color.red, 50), linestyle=hline.style_dashed)
hline(50, "Middle", color=color.new(color.gray, 70))
hline(os_level, "Oversold", color=color.new(color.green, 50), linestyle=hline.style_dashed)
// 메인 지표 플롯
plot(mfi_val, "MFI (Money Flow)", color=color.new(color.aqua, 0), linewidth=2)
plot(rsi_val, "RSI (Momentum)", color=color.new(color.yellow, 50), linewidth=1)
// 다이버전스 발생 시 하단 지표 영역에 선 그리기
plotshape(is_bull_div ? mfi_val : na, "Bull Div Circle", shape.circle, location.absolute, color.green, size=size.tiny, offset=-lb_r)
plotshape(is_bear_div ? mfi_val : na, "Bear Div Circle", shape.circle, location.absolute, color.red, size=size.tiny, offset=-lb_r)
// 과매수/과매도 배경색
fill(hline(ob_level), hline(100), color.new(color.red, 90))
fill(hline(0), hline(os_level), color.new(color.green, 90))
Accumulation/Distribution Oscillator [MarkitTick]💡 This script presents a statistically normalized evolution of the classic Accumulation/Distribution (A/D) indicator, designed to transform unbounded volume flow into a bounded, actionable oscillator. By integrating Relative Volume (RVOL) weighting and Z-Score standardization, this tool isolates genuine institutional buying and selling pressure from market noise, offering a clear view of volume momentum regimes.
✨ Originality and Utility
The standard Accumulation/Distribution line is a cumulative total of volume flow, which often results in an unbounded line that drifts indefinitely with price trends. This makes it difficult for traders to identify overextended conditions or specific turning points.
This script solves that problem through a three-stage quantitative process:
Smart Volume Weighting: Instead of treating all volume equally, this indicator amplifies the impact of high-volume nodes using a Relative Volume (RVOL) filter. This ensures that significant institutional activity carries more weight than low-liquidity chopping.
Detrending: It subtracts a smoothed average (using ALMA, EMA, or others) from the raw A/D line to create a raw oscillator.
Normalization: Finally, it applies a Z-Score calculation to normalize the data. This bounds the oscillator around a zero mean, allowing for the application of Bollinger Bands to detect statistical extremes (2 or 3 standard deviations).
🔬 Methodology and Concepts
The calculation logic follows a strict quantitative pipeline:
● Money Flow Multiplier (MFM)
The core engine is the classic MFM calculation, which determines the location of the Close relative to the High-Low range. A Close near the High results in +1, while a Close near the Low results in -1.
● Advanced Volume Filtering
Before accumulation, the volume is processed through two filters:
RVOL Multiplier: If the current bar's volume exceeds its simple moving average (`rvol_len`), the volume is multiplied by a user-defined factor (`rvol_mult`). This emphasizes breakout candles.
Candle Strength (Optional): If enabled, weight is increased based on how close the price closes to the absolute high or low, rewarding decisive candle shapes.
● Z-Score Standardization
The script calculates the "Raw Oscillator" by subtracting a moving average (Signal Line) from the cumulative A/D Line. It then calculates the Z-Score of this raw value over a lookback period (`z_len`).
Formula: Z = (Value - Mean) / Standard Deviation
🎨 Visual Guide
The indicator renders a complex data set into an easy-to-read interface:
• The Oscillator (Line & Histogram)
The primary output is the Z-Score value.
Teal Histogram/Line: Represents Bullish momentum (Accumulation). Darker Teal indicates accelerating momentum (`osc > previous`), while lighter Teal indicates decaying momentum.
Red Histogram/Line: Represents Bearish momentum (Distribution). Darker Red indicates accelerating selling pressure, while lighter Red indicates exhaustion.
Gray: If the Trend Filter (200 EMA) or VWAP Filter is enabled and the signal opposes the trend, the histogram turns Gray to indicate a low-probability counter-trend signal.
• Bollinger Bands (Blue Bands)
These bands wrap around the oscillator line.
Upper Band: Usually set to +2 Standard Deviations. When the oscillator pierces this band, accumulation is statistically extreme (potential mean reversion or strong breakout).
Lower Band: Usually set to -2 Standard Deviations. Indicates statistically extreme distribution.
• Divergences
The script automatically detects and plots structural divergences:
Green Lines/Labels: Bullish Divergence. Price makes a Lower Low while the Oscillator makes a Higher Low.
Red Lines/Labels: Bearish Divergence. Price makes a Higher High while the Oscillator makes a Lower High.
• Multi-Timeframe (MTF) Dashboard
Located in the top right, this table displays the momentum status (BULL/BEAR) of the oscillator across three user-defined timeframes (default: 60min, 240min, Daily), allowing for fractal trend analysis.
📖 How to Use
This tool is best used for identifying trend exhaustion and hidden volume strength.
1. Trend Continuation
In a strong uptrend, look for the Histogram to remain Teal and above the Zero line. A pullback to the Zero line that bounces back up suggests buyers are stepping in to defend the trend.
2. Statistical Extremes
When the oscillator line breaks outside the Bollinger Bands, volume flow is significantly deviated from the norm.
If price is ranging, this often signals a reversal (Reversion to Mean).
If price is breaking out, this confirms strong impulse participation.
3. Divergence Reversals
A divergence is a leading signal. If price is pushing new highs but the A/D Oscillator fails to make a new high (Red Divergence Line), it indicates that the volume supporting the move is drying up, often preceding a correction.
⚙️ Inputs and Settings
● Oscillator Settings
Smoothing Type/Length: Choose between ALMA, EMA, SMA, etc., to smooth the A/D line. ALMA is default for its zero-lag properties.
ALMA Offset/Sigma: Fine-tune the responsiveness of the Arnaud Legoux Moving Average.
● Quant Filters
RVOL Lookback & Multiplier: Determines the threshold for "High Volume." Default is 1.5x average volume.
Z-Score Lookback: The period used to establish statistical significance (Default: 100).
Use VWAP/Trend Filter: Logical switches to gray out signals that contradict the macro trend (200 EMA) or the intraday mean (VWAP).
● Dashboard
Customize the three timeframes displayed in the MTF table to match your trading horizon (e.g., Scalpers might use 5m, 15m, 1h).
🔍 Deconstruction of the Underlying Scientific and Academic Framework
This indicator relies on the Law of Supply and Demand quantified through Standard Score (Z-Score) Statistics .
Standard Accumulation/Distribution is derived from the work of Marc Chaikin, positing that the proximity of the close to the high/low on high volume indicates the "smart money" flow. However, raw cumulative data suffers from heteroscedasticity (varying variance).
By applying Z-Score normalization:
Z = (x - μ) / σ
We transform the data into a standard normal distribution. This allows us to apply probability theory to volume analysis. A value of +2.0 is not merely "high"; it represents a volume flow intensity that falls within the top 2.2% of the data set (assuming normal distribution), providing a mathematically robust definition of "Overbought" or "Oversold" volume conditions.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion.
MFI-RSI Convergence Strategy거래량(Volume)과 가격 모멘텀을 동시에 고려하는 **MFI(Money Flow Index)**는 지지선에서의 '진짜 반등'을 포착하는 데 가장 강력한 도구입니다. 여기에 RSI를 결합하여 모멘텀의 강도까지 확인하는 'Hybrid Volume-Momentum Oscillator' 전략을 작성해 드립니다.
하이브리드 지표의 핵심 메커니즘
MFI(Money Flow Index)의 역할:
MFI는 단순히 가격이 낮아졌는가만 보는 것이 아니라, **'낮은 가격에서 거래량이 터졌는가'**를 계산합니다.
지지선에서 MFI가 20 이하로 떨어진다는 것은 "스마트 머니"가 매집을 준비하는 단계이거나, 투매가 정점에 달해 거래량이 실린 반등이 임박했음을 뜻합니다.
RSI와의 컨버전스(Convergence):
RSI는 가격의 속도를 측정합니다. MFI가 과매도인데 RSI가 아직 높다면, 거래량은 들어오지만 가격의 하락 관성이 여전히 강하다는 뜻입니다.
이 코드의 핵심은 mfi_val <= mfi_low와 rsi_val <= rsi_low가 동시에 만족될 때만 진입하는 것입니다. 이는 거래량 유입 + 하락 관성 둔화가 일치하는 고확률 타점입니다.
리페인팅 차단 및 현실적 시뮬레이션:
ta.mfi와 ta.rsi는 기본적으로 현재 봉의 종가를 기준으로 계산되므로 리페인팅이 발생하지 않습니다.
commission_value=0.05를 통해 거래소 수수료를 반영하여, 잦은 매매로 인한 손실 가능성을 미리 확인할 수 있게 설계했습니다.
//@version=6
strategy("MFI-RSI Convergence Strategy",
overlay=false, // 하단 지표 형태 확인을 위해 false 설정 (차트 위 신호는 별도 plotshape 사용)
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=10,
commission_type=strategy.commission.percent,
commission_value=0.05,
slippage=1)
// --- ---
group_date = "1. 백테스트 기간"
start_time = input.time(timestamp("2024-01-01 00:00:00"), "시작일", group=group_date)
end_time = input.time(timestamp("2026-12-31 23:59:59"), "종료일", group=group_date)
within_window() => time >= start_time and time <= end_time
group_mfi = "2. MFI (Volume) 설정"
mfi_length = input.int(14, "MFI 기간", minval=1, group=group_mfi)
mfi_low = input.int(20, "MFI 과매도 (매수세 유입 대기)", group=group_mfi)
mfi_high = input.int(80, "MFI 과매수 (매도세 유입 대기)", group=group_mfi)
group_rsi = "3. RSI (Momentum) 설정"
rsi_length = input.int(14, "RSI 기간", minval=1, group=group_rsi)
rsi_low = input.int(30, "RSI 과매도", group=group_rsi)
rsi_high = input.int(70, "RSI 과매수", group=group_rsi)
group_risk = "4. 리스크 관리"
tp_pct = input.float(3.0, "익절 (%)", step=0.1, group=group_risk) / 100
sl_pct = input.float(1.5, "손절 (%)", step=0.1, group=group_risk) / 100
// --- ---
// MFI (가격 + 거래량 가중)
mfi_val = ta.mfi(close, mfi_length)
// RSI (가격 변동 강도)
rsi_val = ta.rsi(close, rsi_length)
// --- ---
// 매수 조건: MFI와 RSI가 모두 과매도 구간일 때 (강력한 반등 예상 지점)
long_condition = (mfi_val <= mfi_low) and (rsi_val <= rsi_low)
// 매도 조건: MFI와 RSI가 모두 과매수 구간일 때
short_condition = (mfi_val >= mfi_high) and (rsi_val >= rsi_high)
// --- ---
if within_window()
if long_condition
strategy.entry("Long", strategy.long, comment="VLM+MOM Bottom")
if short_condition
strategy.entry("Short", strategy.short, comment="VLM+MOM Top")
// 익절 및 손절 설정
strategy.exit("Ex Long", "Long", limit=strategy.position_avg_price * (1 + tp_pct), stop=strategy.position_avg_price * (1 - sl_pct))
strategy.exit("Ex Short", "Short", limit=strategy.position_avg_price * (1 - tp_pct), stop=strategy.position_avg_price * (1 + sl_pct))
// --- ---
// 배경 가이드라인
hline(mfi_high, "Upper Boundary", color=color.gray, linestyle=hline.style_dashed)
hline(50, "Middle", color=color.new(color.gray, 50))
hline(mfi_low, "Lower Boundary", color=color.gray, linestyle=hline.style_dashed)
// 지표 플롯
plot(mfi_val, "MFI (Volume Flow)", color=color.aqua, linewidth=2)
plot(rsi_val, "RSI (Momentum)", color=color.yellow, linewidth=1)
// 중첩 구간 강조 (Convergence)
fill_color = (mfi_val <= mfi_low and rsi_val <= rsi_low) ? color.new(color.green, 70) :
(mfi_val >= mfi_high and rsi_val >= rsi_high) ? color.new(color.red, 70) : na
bgcolor(fill_color)
// 신호 발생 시 하단에 아이콘 표시
plotshape(long_condition, title="Buy Signal", location=location.bottom, color=color.green, style=shape.triangleup, size=size.small)
plotshape(short_condition, title="Sell Signal", location=location.top, color=color.red, style=shape.triangledown, size=size.small)






















