Cycles
FlowTrinity — Crypto Dominance Rotation IndexFlowTrinity — Crypto Dominance Rotation Index
(Tracks BTC / Stablecoin / Altcoin dominance flows with standardized oscillators)
⚪ Overview
FlowTrinity decomposes total crypto market structure into three capital-flow regimes — BTC dominance, Stablecoin dominance, and Altcoin dominance — each normalized into oscillator form. Additionally, a fourth histogram tracks Total Market Cap expansion/contraction relative to BTC+Stable capital, revealing underlying rotation pressure not visible in raw dominance charts.
Each component is standardized through SMA/STD normalization, producing smoothed 0–100 style oscillations that highlight overbought/oversold rotation extremes, risk-on/risk-off transitions, and capital cycle inflection zones.
⚪ Flow Components
Stablecoin Dominance Oscillator —White line
Measures the combined USDT + USDC share of market dominance.
High values indicate increased hedging behavior or sidelined capital.
Low values coincide with renewed risk appetite and capital deployment into crypto assets.
Altcoin Dominance Oscillator — Orange Line
Tracks the share of liquidity rotating into altcoins (Total – BTC – Stable).
Rising values indicate broad market expansion and speculative activity.
Falling values reflect flight-to-safety or concentration back into majors.
BTC Dominance Oscillator — Purple line(off by default
Normalized BTC dominance revealing transitions between Bitcoin-led markets and altcoin-led cycles. Useful for identifying BTC absorption phases vs. altcoins dispersion regimes.
Total–BTC–Stable MarketCap Difference Histogram — histogram
A normalized histogram of total market cap change minus BTC+Stable market cap change.
• Positive → altcoin segment expanding
• Negative → capital retreating into BTC or stables
Acts as a structural layer confirming or contradicting dominance-based signals.
Normalization Logic
All flows use SMA + standard deviation scaling (lookback 7 / smoothing 7), enabling consistent comparison across unrelated dominance and market-cap metrics.
⚪ Use Cases
• Identify shifts between BTC-led and alt-led markets
• Detect early signs of liquidity rotation
• If Stablecoin OSC is oversold, liquidity may soon rotate to BTC or Altcoins, signaling potential price moves.
• If Stablecoin OSC is overbought and Altcoin OSC is oversold, it can indicate an early buying opportunity in Altcoins.
• Watching these oscillator positions helps spot early market rotations and plan entries or exits.
snapshot
Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial advice or investment guidance. Cryptocurrency trading involves significant risk; you are solely responsible for your trading decisions, based on your financial objectives and risk tolerance. The author assumes no liability for any losses arising from the use of this tool.
RSI AND CHARTSTORYRsi value on chart with 4 levels 20,40,60,80 and also rsi value and price with current candle. All are plot on chart so one can find easy divergence on chart.
Credit Spread RegimeThe Credit Market as Economic Barometer
Credit spreads are among the most reliable leading indicators of economic stress. When corporations borrow money by issuing bonds, investors demand a premium above the risk-free Treasury rate to compensate for the possibility of default. This premium, known as the credit spread, fluctuates based on perceptions of economic health, corporate profitability, and systemic risk.
The relationship between credit spreads and economic activity has been studied extensively. Two papers form the foundation of this indicator. Pierre Collin-Dufresne, Robert Goldstein, and Spencer Martin published their influential 2001 paper in the Journal of Finance, documenting that credit spread changes are driven by factors beyond firm-specific credit quality. They found that a substantial portion of spread variation is explained by market-wide factors, suggesting credit spreads contain information about aggregate economic conditions.
Simon Gilchrist and Egon Zakrajsek extended this research in their 2012 American Economic Review paper, introducing the concept of the Excess Bond Premium. They demonstrated that the component of credit spreads not explained by default risk alone is a powerful predictor of future economic activity. Elevated excess spreads precede recessions with remarkable consistency.
What Credit Spreads Reveal
Credit spreads measure the difference in yield between corporate bonds and Treasury securities of similar maturity. High yield bonds, also called junk bonds, carry ratings below investment grade and offer higher yields to compensate for greater default risk. Investment grade bonds have lower yields because the probability of default is smaller.
The spread between high yield and investment grade bonds is particularly informative. When this spread widens, investors are demanding significantly more compensation for taking on credit risk. This typically indicates deteriorating economic expectations, tighter financial conditions, or increasing risk aversion. When the spread narrows, investors are comfortable accepting lower premiums, signaling confidence in corporate health.
The Gilchrist-Zakrajsek research showed that credit spreads contain two distinct components. The first is the expected default component, which reflects the probability-weighted cost of potential defaults based on corporate fundamentals. The second is the excess bond premium, which captures additional compensation demanded beyond expected defaults. This excess premium rises when investor risk appetite declines and financial conditions tighten.
The Implementation Approach
This indicator uses actual option-adjusted spread data from the Federal Reserve Economic Database (FRED), available directly in TradingView. The ICE BofA indices represent the industry standard for measuring corporate bond spreads.
The primary data sources are FRED:BAMLH0A0HYM2, the ICE BofA US High Yield Index Option-Adjusted Spread, and FRED:BAMLC0A0CM, the ICE BofA US Corporate Index Option-Adjusted Spread for investment grade bonds. These indices measure the spread of corporate bonds over Treasury securities of similar duration, expressed in basis points.
Option-adjusted spreads account for embedded options in corporate bonds, providing a cleaner measure of credit risk than simple yield spreads. The methodology developed by ICE BofA is widely used by institutional investors and central banks for monitoring credit conditions.
The indicator offers two modes. The HY-IG excess spread mode calculates the difference between high yield and investment grade spreads, isolating the pure compensation for below-investment-grade credit risk. This measure is less affected by broad interest rate movements. The HY-only mode tracks the absolute high yield spread, capturing both credit risk and the overall level of risk premiums in the market.
Interpreting the Regimes
Credit conditions are classified into four regimes based on Z-scores calculated from the spread proxy.
The Stress regime occurs when spreads reach extreme levels, typically above a Z-score of 2.0. At this point, credit markets are pricing in significant default risk and economic deterioration. Historically, stress regimes have coincided with recessions, financial crises, and major market dislocations. The 2008 financial crisis, the 2011 European debt crisis, the 2016 commodity collapse, and the 2020 pandemic all triggered credit stress regimes.
The Elevated regime, between Z-scores of 1.0 and 2.0, indicates above-normal risk premiums. Credit conditions are tightening. This often occurs in the build-up to stress events or during periods of uncertainty. Risk management should be heightened, and exposure to credit-sensitive assets may be reduced.
The Normal regime covers Z-scores between -1.0 and 1.0. This represents typical credit conditions where spreads fluctuate around historical averages. Standard investment approaches are appropriate.
The Low regime occurs when spreads are compressed below a Z-score of -1.0. Investors are accepting below-average compensation for credit risk. This can indicate complacency, strong economic confidence, or excessive risk-taking. While often associated with favorable conditions, extremely tight spreads sometimes precede sudden reversals.
Credit Cycle Dynamics
Beyond static regime classification, the indicator tracks the direction and acceleration of spread movements. This reveals where credit markets stand in the credit cycle.
The Deteriorating phase occurs when spreads are elevated and continuing to widen. Credit conditions are actively worsening. This phase often precedes or coincides with economic downturns.
The Recovering phase occurs when spreads are elevated but beginning to narrow. The worst may be over. Credit conditions are improving from stressed levels. This phase often accompanies the early stages of economic recovery.
The Tightening phase occurs when spreads are low and continuing to compress. Credit conditions are very favorable and improving further. This typically occurs during strong economic expansions but may signal building complacency.
The Loosening phase occurs when spreads are low but beginning to widen from compressed levels. The extremely favorable conditions may be normalizing. This can be an early warning of changing sentiment.
Relationship to Economic Activity
The predictive power of credit spreads for economic activity is well-documented. Gilchrist and Zakrajsek found that the excess bond premium predicts GDP growth, industrial production, and unemployment rates over horizons of one to four quarters.
When credit spreads spike, the cost of corporate borrowing increases. Companies may delay or cancel investment projects. Reduced investment leads to slower growth and eventually higher unemployment. The transmission mechanism runs from financial conditions to real economic activity.
Conversely, tight credit spreads lower borrowing costs and encourage investment. Easy credit conditions support economic expansion. However, excessively tight spreads may encourage over-leveraging, planting seeds for future stress.
Practical Application
For equity investors, credit spreads provide context for market risk. Equities and credit often move together because both reflect corporate health. Rising credit spreads typically accompany falling stock prices. Extremely wide spreads historically have coincided with equity market bottoms, though timing the reversal remains challenging.
For fixed income investors, spread regimes guide sector allocation decisions. During stress regimes, flight to quality favors Treasuries over corporates. During low regimes, spread compression may offer limited additional return for credit risk, suggesting caution on high yield.
For macro traders, credit spreads complement other indicators of financial conditions. Credit stress often leads equity volatility, providing an early warning signal. Cross-asset strategies may use credit regime as a filter for position sizing.
Limitations and Considerations
FRED data updates with a lag, typically one business day for the ICE BofA indices. For intraday trading decisions, more current proxies may be necessary. The data is most reliable on daily timeframes.
Credit spreads can remain at extreme levels for extended periods. Mean reversion signals indicate elevated probability of normalization but do not guarantee timing. The 2008 crisis saw spreads remain elevated for many months before normalizing.
The indicator is calibrated for US credit markets. Application to other regions would require different data sources such as European or Asian credit indices. The relationship between spreads and subsequent economic activity may vary across market cycles and structural regimes.
References
Collin-Dufresne, P., Goldstein, R.S., and Martin, J.S. (2001). The Determinants of Credit Spread Changes. Journal of Finance, 56(6), 2177-2207.
Gilchrist, S., and Zakrajsek, E. (2012). Credit Spreads and Business Cycle Fluctuations. American Economic Review, 102(4), 1692-1720.
Krishnamurthy, A., and Muir, T. (2017). How Credit Cycles across a Financial Crisis. Working Paper, Stanford University.
window//@version=5
indicator("Smart Money Time Windows (GMT+3:30)", overlay=true)
// ✅ Window 1 — 08:30 to 09:05 Tehran Time
w1 = time(timeframe.period, "0830-0905", "Asia/Tehran")
// ✅ Window 2 — 13:50 to 14:40 Tehran Time
w2 = time(timeframe.period, "1350-1440", "Asia/Tehran")
// ✅ Window 3 — 17:15 to 18:00 Tehran Time
w3 = time(timeframe.period, "1715-1800", "Asia/Tehran")
bgcolor(not na(w1) ? color.new(color.blue, 85) : na)
bgcolor(not na(w2) ? color.new(color.orange, 85) : na)
bgcolor(not na(w3) ? color.new(color.purple, 85) : na)
BTC - FRIC: Friction & Realized Intensity CompositeTitle: BTC - FRIC: Friction & Realized Intensity Composite
Data: IntoTheBlock
Overview & Philosophy
FRIC (Friction & Realized Intensity Composite) is a specialized on-chain oscillator designed to visualize the "psychological battlegrounds" of the Bitcoin network.
Most indicators focus on Price or Momentum. FRIC focuses on Cost Basis. It operates on the thesis that the market experiences maximum "Friction" when the price revisits the cost basis of a large number of holders. These are the zones where investors are emotionally triggered to react—either to exit "at breakeven" after a loss (creating resistance) or to defend their entry (creating support).
This indicator answers two questions simultaneously:
Intensity: Is the market hitting a Wall (High Friction) or a Vacuum (Low Friction)?
Valuation: Is this happening at a market bottom or a top?
The "Alpha" (Wall vs. Vacuum)
Why we visualize both extremes: This indicator filters out the "Noise" (the middle range) to show you only the statistically significant anomalies.
1. The "Wall" (Positive Z-Score Bars)
What it is : A statistically high number of addresses are at breakeven.
The Implication : Expect a grind. Price action often slows down or reverses here because "Bag Holders" are selling into strength to get out flat, or new buyers are establishing a floor.
2. The "Vacuum" (Negative Z-Score Bars)
What it is : A statistically low number of addresses are at breakeven.
The Implication : Expect acceleration. The price is moving through a zone where very few people have a cost basis. With no natural "breakeven supply" to block the path, price often enters Price Discovery or Free Fall.
Methodology
The indicator constructs a composite view using two premium metrics from IntoTheBlock:
1. The "Activity" (Friction Z-Score): We utilize the Breakeven Addresses Percentage. This measures the % of all addresses where the current price equals the average cost basis.
- Normalization: We apply a rolling Z-Score (Standard Deviation) to this data.
- The Filter: We hide the "Noise" (e.g., Z-Scores between -2.0 and +2.0) to isolate only the events where market structure is truly stretched.
2. The "Context" (Valuation Heatmap): We utilize the MVRV Ratio to color-code the friction.
Deep Value (< 1.0): Price is below the average "Fair Value" of the network.
Overheated (> 3.0): Price is significantly extended above the "Fair Value."
Credit: The MVRV Ratio was originally conceptualized by Murad Mahmudov and David Puell. It remains one of the gold standards for detecting Bitcoin's fair value deviations.
How to Read the Indicator
The chart is visualized as a Noise-Filtered Heatmap.
1. The Bars (Intensity)
Bars Above Zero: High Friction (Congestion). The market is fighting through a supply wall.
Bars Below Zero: Low Friction (Vacuum). The market is accelerating through thin air.
Gray/Ghosted: Noise. Routine market activity; no significant signal.
2. The Colors (Valuation Context) The color tells you why the friction is happening:
🟦 Deep Blue (The "Capitulation Buy"):
Signal: High Friction + Low MVRV.
Meaning : Investors are panic-selling at breakeven/loss, but the asset is fundamentally undervalued. Historically, these are high-conviction cycle bottoms.
🟥 Dark Red (The "FOMO Sell"):
Signal: High Friction + High MVRV.
Meaning : Investors are churning at high valuations. Smart money is often distributing to late retail arrivers. Historically marks cycle tops.
🟨 Yellow/Orange (The "Trend Battle"):
Signal: High Friction + Neutral MVRV.
Meaning : The market is contesting a level within a trend (e.g., a mid-cycle correction).
Visual Guide & Features
10-Zone Heatmap: A granular color gradient that shifts from Dark Blue (Deep Value) → Sky Blue → Grey (Neutral) → Orange → Dark Red (Top).
Noise Filter
A unique feature that "ghosts out" insignificant data, leaving only the statistically relevant signals visible.
Data Check Monitor
A diagnostic table in the bottom-right corner that confirms the live connection to IntoTheBlock data streams and displays the current regime in real-time.
Settings
Lookback Period (Default: 90): The rolling window used for the Z-Score calculation. Shortening this (e.g., to 30) makes the indicator more sensitive to local volatility; lengthening it (e.g., to 365) aligns it with macro cycles.
Noise Threshold (Default: 2.0): The strictness of the filter. Only friction events exceeding this Z-Score will be highlighted in full color.
Show Status Table : Toggles the on-screen dashboard.
Disclaimer
This script is for research and educational purposes only. It relies on third-party on-chain data which may be subject to latency or revision. Past performance of on-chain metrics does not guarantee future price action.
Tags
bitcoin, btc, on-chain, mvrv, intotheblock, friction, z-score, fundamental, valuation, cycle
Macro Timing Window Signal ⏱️ Macro Timing Window Signal – Check/X Indicator
This indicator displays a green check mark ✔️ or red X ✖️ in the top-right corner of the chart based on a repeating macro time cycle that divides every hour into active and inactive windows.
How it works:
• ✔️ Green Check (Active Macro Window):
Appears from xx:45 → xx:15 of the next hour (30-minute macro window).
• ✖️ Red X (Inactive Macro Window):
Appears from xx:16 → xx:44 (mid-hour cooldown window).
• Optional flash signal at the exact macro flip points (xx:45, xx:00, xx:15) to highlight transitions.
• Supports sound alerts so you never miss the start or end of a macro window.
This tool is designed for traders who incorporate macro-driven time cycles, liquidity sessions, or algorithmic delivery windows into their strategy.
The display is fixed on-screen, clean, and unobtrusive, ensuring instant recognition of the current macro state without cluttering the chart.
specific breakout FiFTOStrategy Description: 10:14 Breakout Only
Overview This is a time-based intraday trading strategy designed to capture momentum bursts that occur specifically after the 10:14 AM candle closes. It operates on the logic that if price breaks the high of this specific candle within a short window, a trend continuation is likely.
Core Logic & Rules
The Setup Candle (10:14 AM)
The strategy waits specifically for the minute candle at 10:14 to complete.
Once this candle closes, the strategy records its High price.
Defining the Entry Level
It calculates a trigger price by taking the 10:14 High and adding a user-defined Buffer (e.g., +1 point).
Formula: Entry Level = 10:14 High + Buffer
The "Active Window" (Expiry)
The trade setup does not remain open all day. It has a strict time limit.
By default, the setup is valid from 10:15 to 10:20.
If the price does not break the Entry Level by the expiry time (default 10:20), the setup is cancelled and no trade is taken for the day.
Entry Trigger
If a candle closes above the Entry Level while the window is open, a Long (Buy) position is opened immediately.
Exits (Risk Management)
Stop Loss: A fixed number of points below the entry price.
Target: A fixed number of points above the entry price.
Visual & Automation Features
Visual Boxes: Upon entry, the strategy draws a "Long Position" style visual on the chart. A green box highlights the profit zone, and a red box highlights the loss zone. These boxes extend automatically until the trade closes.
JSON Alerts: The strategy is pre-configured to send data-rich alerts for automation (e.g., Telegram bots).
Entry Alert: Includes Symbol, Entry Price, SL, and TP.
Exit Alerts: Specific messages for "Target Hit" or "SL Hit".
Summary of User Inputs
Entry Buffer: Extra points added to the high to filter false breaks.
Fixed Stop Loss: Risk per trade in points.
Fixed Target: Reward per trade in points.
Expiry Minute: The minute (10:xx) at which the setup becomes invalid if not triggered.
VIX/VXV Ratio (TitsNany)This script plots the VXV/VIX ratio, which compares medium-term volatility (90-day fear) to short-term volatility (30-day fear). When the ratio rises above key levels like 1.16 or 1.24, it signals that traders expect future stress, often preceding market pullbacks. When the ratio falls toward or below 1.0, short-term fear is spiking, which typically occurs during active selloffs or volatility events. In short, elevated readings warn of potential market drops ahead, while sharp declines in the ratio reflect panic already hitting the market.
5-Bar BreakoutThis indicator shows if the price is breaking out above the high or the low of the previous 5 bars
猛の掟・初動スクリーナー_完成版//@version=5
indicator("猛の掟・初動スクリーナー_完成版", overlay=true)
// =============================
// 入力パラメータ
// =============================
emaLenShort = input.int(5, "短期EMA", minval=1)
emaLenMid = input.int(13, "中期EMA", minval=1)
emaLenLong = input.int(26, "長期EMA", minval=1)
macdFastLen = input.int(12, "MACD Fast", minval=1)
macdSlowLen = input.int(26, "MACD Slow", minval=1)
macdSignalLen = input.int(9, "MACD Signal", minval=1)
macdZeroTh = input.float(0.2, "MACDゼロライン近辺とみなす許容値", step=0.05)
volMaLen = input.int(5, "出来高平均日数", minval=1)
volMinRatio = input.float(1.3, "出来高倍率(初動判定しきい値)", step=0.1)
volStrongRatio = input.float(1.5, "出来高倍率(本物/三点シグナル用)", step=0.1)
highLookback = input.int(60, "直近高値の参照本数", minval=10)
pullbackMin = input.float(5.0, "押し目最小 ", step=0.5)
pullbackMax = input.float(15.0, "押し目最大 ", step=0.5)
breakLookback = input.int(15, "レジブレ後とみなす本数", minval=1)
wickBodyMult = input.float(2.0, "ピンバー:下ヒゲが実体の何倍以上か", step=0.5)
// ★ シグナル表示 ON/OFF
showMou = input.bool(true, "猛シグナルを表示")
showKaku = input.bool(true, "確シグナルを表示")
// =============================
// 基本指標計算
// =============================
emaShort = ta.ema(close, emaLenShort)
emaMid = ta.ema(close, emaLenMid)
emaLong = ta.ema(close, emaLenLong)
= ta.macd(close, macdFastLen, macdSlowLen, macdSignalLen)
volMa = ta.sma(volume, volMaLen)
volRatio = volMa > 0 ? volume / volMa : 0.0
recentHigh = ta.highest(high, highLookback)
prevHigh = ta.highest(high , highLookback)
pullbackPct = recentHigh > 0 ? (recentHigh - close) / recentHigh * 100.0 : 0.0
// ローソク足
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
// =============================
// A:トレンド条件
// =============================
emaUp = emaShort > emaShort and emaMid > emaMid and emaLong > emaLong
goldenOrder = emaShort > emaMid and emaMid > emaLong
aboveEma2 = close > emaLong and close > emaLong
trendOK = emaUp and goldenOrder and aboveEma2
// =============================
// B:MACD条件
// =============================
macdGC = ta.crossover(macdLine, macdSignal)
macdNearZero = math.abs(macdLine) <= macdZeroTh
macdUp = macdLine > macdLine
macdOK = macdGC and macdNearZero and macdUp
// =============================
// C:出来高条件
// =============================
volInitOK = volRatio >= volMinRatio // 8条件用
volStrongOK = volRatio >= volStrongRatio // 三点シグナル用
volumeOK = volInitOK
// =============================
// D:ローソク足パターン
// =============================
isBullPinbar = lowerWick > wickBodyMult * body and lowerWick > upperWick and close >= open
isBullEngulf = close > open and open < close and close > open
isBigBullCross = close > emaShort and close > emaMid and open < emaShort and open < emaMid and close > open
candleOK = isBullPinbar or isBullEngulf or isBigBullCross
// =============================
// E:価格帯(押し目&レジブレ)
// =============================
pullbackOK = pullbackPct >= pullbackMin and pullbackPct <= pullbackMax
isBreakout = close > prevHigh and close <= prevHigh
barsSinceBreak = ta.barssince(isBreakout)
afterBreakZone = barsSinceBreak >= 0 and barsSinceBreak <= breakLookback
afterBreakPullbackOK = afterBreakZone and pullbackOK and close > emaShort
priceOK = pullbackOK and afterBreakPullbackOK
// =============================
// 8条件の統合
// =============================
allRulesOK = trendOK and macdOK and volumeOK and candleOK and priceOK
// =============================
// 最終三点シグナル
// =============================
longLowerWick = lowerWick > wickBodyMult * body and lowerWick > upperWick
macdGCAboveZero = ta.crossover(macdLine, macdSignal) and macdLine > 0
volumeSpike = volStrongOK
finalThreeSignal = longLowerWick and macdGCAboveZero and volumeSpike
buyConfirmed = allRulesOK and finalThreeSignal
// =============================
// 描画
// =============================
plot(emaShort, color=color.new(color.yellow, 0), title="EMA 短期(5)")
plot(emaMid, color=color.new(color.orange, 0), title="EMA 中期(13)")
plot(emaLong, color=color.new(color.blue, 0), title="EMA 長期(26)")
// シグナル表示(ON/OFF付き)
plotshape(showMou and allRulesOK, title="猛の掟 8条件クリア候補", location=location.belowbar, color=color.new(color.lime, 0), text="猛")
plotshape(showKaku and buyConfirmed, title="猛の掟 最終三点シグナル確定", location=location.belowbar, color=color.new(color.yellow, 0), text="確")
// =============================
// アラート条件
// =============================
alertcondition(allRulesOK, title="猛の掟 8条件クリア候補", message="猛の掟 8条件クリア候補シグナル発生")
alertcondition(buyConfirmed, title="猛の掟 最終三点シグナル確定", message="猛の掟 最終三点シグナル=買い確定")
Renko Scalp ScannerThis scanner is optimized for short term bursts for Renko.
DESCRIPTION: This indicator scans the 7 major forex pairs (EURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, USDCAD, NZDUSD) on 1-pip Renko charts. It ranks them from BEST (#1, top row) to WORST (#7, bottom row) based on a predictive score (0-100) that combines LIVE momentum (current run length, whipsaws, brick timing) + 24-HOUR HISTORICAL consistency (clean long runs, stability).
Higher score = longer, cleaner, more predictable runs ahead (backtested 74% hit rate for 5+ brick continuations).
HOW TO USE THE TABLE:
1. Add to a 1-second Renko chart (Traditional, Box Size: 0.0001 for non-JPY; 0.01 for JPY pairs).
2. RANK: Position 1–7 (green highlight on #1 = switch to this pair NOW).
3. PAIR: Symbol + direction arrow (↑=buy bias, ↓=sell bias).
4. SCORE: 0–100 total (≥85=monster run; ≥75=strong; ≥60=decent; <60=avoid).
5. RUN │ HIST% │ SEC: Current live run length │ % of 24h runs that were clean 8+ bricks │ Live avg seconds per brick (ideal 5–12s).
6. Trade the #1 pair in the arrow direction until whipsaw or score drops <75. Set alerts for score ≥83.
Backtested on 1-year data: Catches 84% of 10+ brick runners. Refreshes every second.
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
BTC DCA Risk Metric StrategyBTC DCA Risk Strategy - Automated Dollar Cost Averaging with 3Commas Integration
Overview
This strategy combines the proven Oakley Wood Risk Metric with an intelligent tiered Dollar Cost Averaging (DCA) system, designed to help traders systematically accumulate Bitcoin during periods of low risk and take profits during high-risk conditions.
Key Features
📊 Multi-Component Risk Assessment
4-Year SMA Deviation: Measures Bitcoin's distance from its long-term mean
20-Week MA Analysis: Tracks medium-term momentum shifts
50-Day/50-Week MA Ratio: Captures short-to-medium term trend strength
All metrics are normalized by time to account for Bitcoin's maturing market dynamics
💰 3-Tier DCA Buy System
Level 1 (Low Risk): Conservative entry with base allocation
Level 2 (Lower Risk): Increased allocation as opportunity improves
Level 3 (Extreme Low Risk): Maximum allocation during rare buying opportunities
Buys execute every bar while risk remains below thresholds, enabling true DCA accumulation
📈 Progressive Profit Taking
Sell Level 1: Take initial profits as risk increases
Sell Level 2: Scale out further positions during elevated risk
Sell Level 3: Final exit during extreme market conditions
Sell levels automatically reset when new buy signals occur, allowing flexible re-entry
🤖 3Commas Integration
Fully automated webhook alerts for Custom Signal Bots
JSON payloads formatted per 3Commas API specifications
Supports multiple exchanges (Binance, Coinbase, Kraken, Gemini, Bybit)
Configurable quote currency (USD, USDT, BUSD)
How It Works
The strategy calculates a composite risk metric (0-1 scale):
0.0-0.2: Extreme buying opportunity (green zone)
0.2-0.5: Favorable accumulation range (yellow zone)
0.5-0.8: Neutral to cautious territory (orange zone)
0.8-1.0+: High risk, profit-taking zone (red zone)
Buy Logic: As risk decreases, position sizes increase automatically. If risk drops from L1 to L3 threshold, the strategy combines all three tier allocations for maximum exposure.
Sell Logic: Sequential profit-taking ensures you capture gains progressively. The system won't advance to Sell L2 until L1 completes, preventing premature full exits.
Configuration
Risk Metric Parameters:
All calculations use Bitcoin price data (any BTC chart works)
Time-normalized formulas adapt to market maturity
No manual parameter tuning required
Buy Settings:
Set risk thresholds for each tier (default: 0.20, 0.10, 0.00)
Define dollar amounts per tier (default: $10, $15, $20)
Fully customizable to your risk tolerance and capital
Sell Settings:
Configure risk thresholds for profit-taking (default: 1.00, 1.50, 2.00)
Set percentage of position to sell at each level (default: 25%, 35%, 40%)
3Commas Setup:
Create a Custom Signal Bot in 3Commas
Copy Bot UUID and Secret Token into strategy inputs
Enable 3Commas Alerts checkbox
Create TradingView alert: Condition → "alert() function calls only", Webhook → api.3commas.io
Backtesting Results
Strengths:
Systematically buys dips without emotion
Averages down during extended bear markets
Captures explosive bull run profits through tiered exits
Pyramiding (1000 max orders) allows true DCA behavior
Considerations:
Requires sufficient capital for multiple buys during prolonged downtrends
Backtest on Daily timeframe for most reliable signals
Past performance does not guarantee future results
Visual Design
The indicator pane displays:
Color-coded risk metric line: Changes from white→red→orange→yellow→green as risk decreases
Background zones: Green (buy), yellow (hold), red (sell) areas
Dashed threshold lines: Clear visual markers for each buy/sell level
Entry/Exit labels: Green buy labels and orange/red sell labels mark all trades
Credits
Original Risk Metric: Oakley Wood
Strategy Development & 3Commas Integration: Claude AI (Anthropic)
Modifications: pommesUNDwurst
Disclaimer
This strategy is for educational and informational purposes only. Cryptocurrency trading carries substantial risk of loss. Always conduct your own research and never invest more than you can afford to lose. The authors are not financial advisors and assume no responsibility for trading decisions made using this tool.
Fortunato Lead-Lag Multi-Asset (POC) v5_fix2//@version=6
indicator("Fortunato Lead-Lag Multi-Asset (POC) v5_fix2", shorttitle="FLL Multi POC v5_fix2", overlay=false, max_lines_count=200, max_labels_count=200)
// ========== USER CONFIG ==========
res = input.timeframe("1", "Resolution for analysis (ex: 1, 5, 3)")
corr_length = input.int(60, "Rolling window (bars) for correlation", minval=10, maxval=500)
max_lag = input.int(5, "Max lag to test (bars)", minval=1, maxval=20)
corr_threshold = input.float(0.60, "Correlation threshold (abs)", step=0.01)
min_lag_for_signal = input.int(1, "Min lag to consider (bars)", minval=0)
plot_lag_as_columns = input.bool(true, "Plot lag as columns")
// --- symbols (change to the exact tickers your feed uses) ---
sym_ndx = input.symbol("NASDAQ:NDX", "NDX (leader candidate) - change if needed")
sym_spx = input.symbol("SPX:SPX", "SPX (follower candidate) - change if needed")
// Optional add-ons
sym_vix = input.symbol("CBOE:VIX", "VIX (volatility index) - optional")
sym_dxy = input.symbol("ICEUS:DXY", "DXY (Dollar Index) - optional")
sym_xau = input.symbol("OANDA:XAUUSD","Gold (XAU/USD) - optional")
sym_oil = input.symbol("NYMEX:CL1!", "Crude Oil (continuous) - optional")
sym_btc = input.symbol("BINANCE:BTCUSDT","Bitcoin (BTC) - optional")
// ========== DATA FETCH (selected resolution) ==========
ndx = request.security(sym_ndx, res, close)
spx = request.security(sym_spx, res, close)
vix = request.security(sym_vix, res, close)
dxy = request.security(sym_dxy, res, close)
xau = request.security(sym_xau, res, close)
oil = request.security(sym_oil, res, close)
btc = request.security(sym_btc, res, close)
// ========== HELPERS ==========
has_history(len) => bar_index >= len
// rolling Pearson correlation implemented with ta.cum differences (replaces ta.sum)
rolling_corr(a, b, n) =>
if not has_history(n)
na
else
// compute rolling sums via cumulative sums
// sum_ab = sum_{k=0..n-1} a *b
float cum_ab = ta.cum(a * b)
float cum_ab_lag = cum_ab
float sum_ab = cum_ab - cum_ab_lag
float cum_a = ta.cum(a)
float cum_a_lag = cum_a
float sum_a = cum_a - cum_a_lag
float cum_b = ta.cum(b)
float cum_b_lag = cum_b
float sum_b = cum_b - cum_b_lag
float cum_a2 = ta.cum(a * a)
float cum_a2_lag = cum_a2
float sum_a2 = cum_a2 - cum_a2_lag
float cum_b2 = ta.cum(b * b)
float cum_b2_lag = cum_b2
float sum_b2 = cum_b2 - cum_b2_lag
float nn = n * 1.0
float num = sum_ab - (sum_a * sum_b) / nn
float den_part_a = sum_a2 - (sum_a * sum_a) / nn
float den_part_b = sum_b2 - (sum_b * sum_b) / nn
float den = den_part_a * den_part_b
if den <= 0.0
na
else
num / math.sqrt(den)
// ========== COMPUTE CORRELATIONS FOR ALL LAGS (USING rolling_corr) ==========
var float corr_dir1 = array.new_float()
var float corr_dir2 = array.new_float()
// ensure arrays sized correctly each bar
if array.size(corr_dir1) != (max_lag + 1)
array.clear(corr_dir1)
for i = 0 to max_lag
array.push(corr_dir1, na)
if array.size(corr_dir2) != (max_lag + 1)
array.clear(corr_dir2)
for i = 0 to max_lag
array.push(corr_dir2, na)
// fill arrays with correlation values (call rolling_corr every bar for consistency)
for i = 0 to max_lag
float val1 = na
if has_history(corr_length + i) and not na(ndx) and not na(spx)
// ndx aligned with spx shifted by +i (ndx leads spx by i)
val1 := rolling_corr(ndx, spx , corr_length)
array.set(corr_dir1, i, val1)
float val2 = na
if i > 0 and has_history(corr_length + i) and not na(ndx) and not na(spx)
// spx leads ndx by i
val2 := rolling_corr(ndx , spx, corr_length)
array.set(corr_dir2, i, val2)
// ========== FIND BEST ABSOLUTE CORRELATION AND DIRECTION ==========
float best_corr = na
int best_lag = 0
int best_dir = 0 // 1 = ndx -> spx, -1 = spx -> ndx
// scan dir1 (i = 0..max_lag)
for i = 0 to max_lag
float c = array.get(corr_dir1, i)
if not na(c)
if na(best_corr) or math.abs(c) > math.abs(best_corr)
best_corr := c
best_lag := i
best_dir := 1
// scan dir2 (i = 1..max_lag)
for i = 1 to max_lag
float c = array.get(corr_dir2, i)
if not na(c)
if na(best_corr) or math.abs(c) > math.abs(best_corr)
best_corr := c
best_lag := i
best_dir := -1
// ========== MULTI-ASSET LIGHT CONFIRMATION (explicit calls with rolling_corr) ==========
float sum_corr = 0.0
int count_corr = 0
// VIX
float local_best_vix = na
if not na(vix)
for j = 0 to max_lag
if has_history(corr_length + j)
float cc = rolling_corr(ndx, vix , corr_length)
if not na(cc)
if na(local_best_vix) or math.abs(cc) > math.abs(local_best_vix)
local_best_vix := cc
if not na(local_best_vix)
sum_corr := sum_corr + local_best_vix
count_corr := count_corr + 1
// DXY
float local_best_dxy = na
if not na(dxy)
for j = 0 to max_lag
if has_history(corr_length + j)
float cc = rolling_corr(ndx, dxy , corr_length)
if not na(cc)
if na(local_best_dxy) or math.abs(cc) > math.abs(local_best_dxy)
local_best_dxy := cc
if not na(local_best_dxy)
sum_corr := sum_corr + local_best_dxy
count_corr := count_corr + 1
// XAU
float local_best_xau = na
if not na(xau)
for j = 0 to max_lag
if has_history(corr_length + j)
float cc = rolling_corr(ndx, xau , corr_length)
if not na(cc)
if na(local_best_xau) or math.abs(cc) > math.abs(local_best_xau)
local_best_xau := cc
if not na(local_best_xau)
sum_corr := sum_corr + local_best_xau
count_corr := count_corr + 1
// OIL
float local_best_oil = na
if not na(oil)
for j = 0 to max_lag
if has_history(corr_length + j)
float cc = rolling_corr(ndx, oil , corr_length)
if not na(cc)
if na(local_best_oil) or math.abs(cc) > math.abs(local_best_oil)
local_best_oil := cc
if not na(local_best_oil)
sum_corr := sum_corr + local_best_oil
count_corr := count_corr + 1
// BTC
float local_best_btc = na
if not na(btc)
for j = 0 to max_lag
if has_history(corr_length + j)
float cc = rolling_corr(ndx, btc , corr_length)
if not na(cc)
if na(local_best_btc) or math.abs(cc) > math.abs(local_best_btc)
local_best_btc := cc
if not na(local_best_btc)
sum_corr := sum_corr + local_best_btc
count_corr := count_corr + 1
float confirm_avg = na
if count_corr > 0
confirm_avg := sum_corr / count_corr
// ========== SIGNAL LOGIC ==========
bool lead_detected = false
string lead_direction_text = "NoLeader"
if not na(best_corr) and math.abs(best_corr) >= corr_threshold and best_lag >= min_lag_for_signal
lead_detected := true
lead_direction_text := best_dir == 1 ? "NDX -> SPX" : (best_dir == -1 ? "SPX -> NDX" : "NoLeader")
// ========== PLOTS (GLOBAL) ==========
plot_best_corr = best_corr
plot_best_lag = (lead_detected ? best_lag : na)
plot_confirm_avg = confirm_avg
plot(plot_best_corr, title="Best Corr (signed)", linewidth=2)
hline(0, "zero", linestyle=hline.style_dashed)
hline(corr_threshold, "threshold +", linestyle=hline.style_solid)
hline(-corr_threshold, "threshold -", linestyle=hline.style_solid)
plot(plot_lag_as_columns ? plot_best_lag : na, title="Best Lag (bars)", style=plot.style_columns, linewidth=2)
plot(not na(plot_confirm_avg) ? plot_confirm_avg : na, title="Multi-asset confirm (avg)", linewidth=1, style=plot.style_line)
// ========== LABEL MANAGEMENT ==========
var label lbl = na
if lead_detected and barstate.isconfirmed
if not na(lbl)
label.delete(lbl)
lbl := label.new(bar_index, plot_best_corr, text="Lead: " + lead_direction_text + " lag:" + str.tostring(best_lag) + " corr:" + str.tostring(best_corr, "#.##"),
style=label.style_label_left, color=color.new(color.green, 75), textcolor=color.white, size=size.small)
// ========== ALERTS ==========
alertcondition(lead_detected and best_dir == 1, title="NDX leads SPX detected", message="NDX leads SPX — lag: {{plot_1}} corr: {{plot_0}}")
alertcondition(lead_detected and best_dir == -1, title="SPX leads NDX detected", message="SPX leads NDX — lag: {{plot_1}} corr: {{plot_0}}")
// ========== INFORMATION TABLE ==========
var table t = table.new(position.top_right, 1, 5, border_width=1)
if barstate.islast
table.cell(t, 0, 0, "Resolution: " + res)
table.cell(t, 0, 1, "Best corr: " + (na(best_corr) ? "na" : str.tostring(best_corr, "#.##")))
table.cell(t, 0, 2, "Best lag: " + (na(best_lag) ? "na" : str.tostring(best_lag)))
table.cell(t, 0, 3, "Direction: " + lead_direction_text)
table.cell(t, 0, 4, "Confirm avg: " + (na(confirm_avg) ? "na" : str.tostring(confirm_avg, "#.##")))
X-ray📌 X-ray is a microstructure tool that analyzes price structure based on volume distribution.
This indicator does not predict future price movements or provide buy/sell signals.
Instead, its purpose is to visually show price ranges where trading is concentrated or sparse during a specific period.
The script calculates the following structural elements:
POC (Point of Control)
VAH/VAL (Value Area High/Low)
HVN (High Volume Node)
LVN (Low Volume Node)
Value Area Box and Summary Table
All calculations are performed within the last N bars selected by the user and do not use future data.
■ Description of Unique Logic and Components
Volume-Based Price Structure Analysis
It collects closing prices and volume from recent data for a specified number of bars and derives the following elements:
POC (Point of Control)
The price range with the highest trading volume within the selected period. Because this area is where market participation is most active,
the price tends to retest or remain within this area.
This is not intended as a future prediction or signal,
but rather to illustrate the characteristic phenomenon that high-volume points can structurally act as "balance zones" in the market.
(Some traders describe the POC as "tending to act like a magnet" due to this market structural tendency.)
Value Area (VAH / VAL)
This is the price range encompassing a set percentage of total trading volume (default 70%).
This indicates a equilibrium zone where market participation was relatively high.
HVN (High Volume Node)
This is an area of high volume concentration,
a structurally dense point likely to have experienced a long market stay.
LVN (Low Volume Node)
This is a thin structural point with sparse trading volume,
a point likely to have experienced rapid price movements.
All of these elements are analytical tools for exploring and comparing market structural characteristics, not trading signals.
■ Visual Components
The indicator visually displays the following elements on the chart:
POC Line and Label
VAH/VAL Level
Value Area Box
HVN/LVN Highlight
Summary Table (POC, VAH, VAL Display)
■ User Input Description
Bars to Analyze
Value Area %
POC Line Color
VAH/VAL Line Color
Value Area Transparency
Enable HVN/LVN Detection
Number of Nodes to Show
Show Summary Table
Table Position
Each option controls the indicator's visual presentation and analysis scope and is not related to signal generation.
■ Repaint
Does not use future data
Calculations are only performed within the specified historical interval
Past bar values remain unchanged
Therefore, no repaint is performed.
However, during real-time bar progress, values are updated normally as the analysis interval moves.
■ Indicator Purpose
This tool is used to explore market structure based on volume distribution.
It helps observe whether volume is concentrated or sparse in a specific price range,
and what the structure might mean in the current market context.
■ Indicator Limitations
The tool does not perform the following:
It does not predict future price movements.
It does not provide buy or sell timing.
It does not guarantee any trading results.
The indicator simply provides structural reference information.
■ Limitations and Cautions
The indicator does not guarantee specific trading results.
Past volume structures may be interpreted differently depending on the situation.
It is best used as a supplementary structural analysis tool, not as a sole decision-making tool.
It is recommended to use it in conjunction with other analytical techniques.
■ Technical supplementary explanation of the 'magnet effect' of POC
POC is the most heavily traded area in the market,
which indicates that the price range has been a point of equilibrium among market participants.
As a result,
■ Price movements that retest or converge to this area may be observed.
This is a structural trend that occurs because it's the price range where supply and demand intersect most actively.
■ However, this is a statistical trend or a characteristic of market structure and does not guarantee future direction.
Therefore, the expression Therefore, the expression "tends to move like a magnet" is a term used by some traders to describe the structural flow of the market, and should not be taken with absolute certainty.
Fair Value (FV)
The indicator name is Fair Value (FV) and it is designed to automatically detect institutional price areas, gaps, and structural points of interest.
The description must be formatted, professional, and suitable for public publishing.
Please cover the following sections clearly:
1. Overview of the Indicator
Explain that:
This tool automatically detects Fair Value Gaps (FVG), structural imbalances, reflection zones, and major market pivots.
The script visually highlights institutional discount/premium areas and liquidity imbalances.
2. How Fair Value Gap Detection Works
Describe:
The script identifies bullish FVG when price leaves an upside gap
It identifies bearish FVG when price leaves downside inefficiency
FVG zones are displayed as boxes with customizable colors
Users can choose to visualize:
All FVGs
Only structural FVGs
None
Explain that structural gaps are prioritized to reduce chart noise.
3. AOIs (Areas of Interest)
Cover the following points:
The indicator extends recent zones forward using user-selected count
Bullish AOIs appear when price leaves value below
Bearish AOIs appear when price leaves inefficiency above
Each zone has optional volume labeling
Mention that AOI shading visually identifies important reaction zones.
4. Reflection Levels
Explain that the indicator also draws reflection lines which represent:
Support levels
Resistance areas
These levels come from key pivots and are updated dynamically.
5. Market Structure System
Describe:
Detection of bullish and bearish structural pivots
Display using different line styles and color-coding
Ability to enable or disable structure individually
Used for identifying:
Trend shifts
Continuation setups
Liquidity sweeps
6. Session Tracking Feature
Explain:
The script highlights a chosen trading session
Displays session start and end markers
Includes line style and color customization
7. User Customization Options
Include that users can fully customize:
FVG filtering
Number of extended zones
Color of bullish/bearish AOIs
Market structure styling
Session display
Label text sizes and transparency
8. How Traders Can Use the Indicator
Provide a suggested workflow such as:
Identify direction using market structure
Look for AOI and FVG zones aligned with trend direction
Use reflection levels as entry confirmations
Monitor session open for intraday setups
Premarket Break 5m (Close Above/Below Prem High/Low)//@version=5
indicator("Premarket Break 5m (Close Above/Below Prem High/Low)", overlay = true)
// === SETTINGS ===
premarketSession = input.session("0400-0930", "Premarket Session (ET)")
regularSession = input.session("0930-1600", "Regular Session (ET)")
// === HELPERS ===
isNewDay = ta.change(time("D")) != 0
// Track premarket high/low each day
var float pmHigh = na
var float pmLow = na
// Reset at the start of each new day
if isNewDay
pmHigh := na
pmLow := na
// Are we inside premarket session?
inPremarket = not na(time(timeframe.period, premarketSession, "America/New_York"))
// Update premarket high/low during premarket
if inPremarket
pmHigh := na(pmHigh) ? high : math.max(pmHigh, high)
pmLow := na(pmLow) ? low : math.min(pmLow, low)
// Are we inside regular session?
inRegular = not na(time(timeframe.period, regularSession, "America/New_York"))
// === SIGNALS: 5m close above/below premarket high/low ===
// Require previous close to be on the other side to avoid spam
bullBreak = inRegular and not na(pmHigh) and close > pmHigh and close <= pmHigh
bearBreak = inRegular and not na(pmLow) and close < pmLow and close >= pmLow
// === PLOTS ===
plot(pmHigh, title = "Premarket High", color = color.new(color.green, 0), linewidth = 2)
plot(pmLow, title = "Premarket Low", color = color.new(color.red, 0), linewidth = 2)
plotshape(bullBreak, title = "Close Above Prem High", style = shape.labelup,
text = "Close > PM High", location = location.belowbar, size = size.tiny)
plotshape(bearBreak, title = "Close Below Prem Low", style = shape.labeldown,
text = "Close < PM Low", location = location.abovebar, size = size.tiny)
// === ALERTS ===
// These fire once per bar close when the condition is true
if bullBreak
alert("5m candle CLOSED above Premarket High.", alert.freq_once_per_bar_close)
if bearBreak
alert("5m candle CLOSED below Premarket Low.", alert.freq_once_per_bar_close)
WaveTrend with MFI and Auto/Manual HTFWaveTrend with MFI and Auto/Manual HTF
WaveTrend with MFI and Auto/Manual HTF
WaveTrend with MFI and Auto/Manual HTF
WaveTrend with MFI and Auto/Manual HTF
Fibonacci Vision ProFibonacci Precision Signals Pro | Smart Buy & Sell Alerts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OVERVIEW
This indicator combines Fibonacci mathematics with advanced signal filtering to deliver precise buy and sell signals. It automatically detects swing structure, calculates the key 0.618 retracement level, and generates signals only when multiple confirmation factors align.
Clean. Accurate. Professional.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW IT WORKS
The script identifies swing highs and lows, then calculates Fibonacci retracement levels automatically. When price interacts with the 0.618 zone and all filters confirm, a signal appears:
▲ buy — Long entry opportunity
▼ sell — Short entry opportunity
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6-LAYER CONFIRMATION SYSTEM
Every signal must pass through:
Trend Direction Analysis
Fibonacci Level Interaction
EMA Trend Filter (50-period default)
RSI Momentum Validation (14-period default)
Volume Spike Detection
Candlestick Pattern Recognition (Pin bars, Engulfing, Momentum candles)
This multi-layer approach significantly reduces false signals.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BUILT-IN RISK MANAGEMENT
Every trade includes automatic stop loss and take profit levels:
Stop Loss: 100 pips
Take Profit: 200 pips
Risk-Reward Ratio: 1:2
Adjust these values in settings to match your trading style.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
KEY FEATURES
✅ Automatic Fibonacci calculation — no manual drawing
✅ Multi-timeframe compatibility — M15 to Daily
✅ Universal market support — Forex, Crypto, Stocks, Indices
✅ Clean minimalist signals — white triangles with text
✅ Customizable filters — adjust sensitivity to your preference
✅ Built-in alerts — never miss a signal
✅ No repainting — signals remain fixed once confirmed
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Swing Detection:
Swing Length — Controls sensitivity to market structure (default: 10)
Confirmation Bars — Bars required to confirm signal (default: 1)
Signal Filters:
EMA Trend Filter — Toggle trend confirmation on/off
EMA Length — Adjust trend filter period (default: 50)
RSI Filter — Toggle momentum confirmation on/off
RSI Length — Adjust momentum period (default: 14)
Volume Filter — Toggle volume confirmation on/off
Volume Multiplier — Set volume threshold (default: 1.2x average)
Risk Management:
Stop Loss Pips — Set your stop loss distance (default: 100)
Take Profit Pips — Set your profit target (default: 200)
Pip Value — Adjust for your instrument (0.0001 for most Forex, 0.01 for JPY pairs)
Visuals:
Show Signals — Toggle signal visibility
Show Cloud — Toggle Fibonacci zone visibility
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BEST PRACTICES
Use on H1 or H4 timeframes for optimal results
Trade in direction of the higher timeframe trend
Avoid trading during major news events
Combine with proper position sizing
Always use the built-in stop loss
Be patient — quality signals over quantity
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MARKETS SUPPORTED
Forex — All major, minor, and exotic pairs
Crypto — BTC, ETH, and altcoins
Stocks — Any equity on TradingView
Indices — S&P500, NASDAQ, DAX, FTSE, etc.
Commodities — Gold, Silver, Oil, etc.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHY FIBONACCI?
The 0.618 ratio (Golden Ratio) is observed by traders worldwide. When price retraces to this level, it often:
Reverses direction
Finds support or resistance
Creates high-probability entry opportunities
This script automates the detection of these key moments.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ALERTS INCLUDED
Set up notifications to receive signals on:
Mobile push notifications
Desktop popups
Email alerts
Webhook integrations
Never miss a trading opportunity again.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT MAKES THIS DIFFERENT
Most indicators give too many signals. This one focuses on quality.
Most indicators clutter your chart. This one keeps it clean.
Most indicators ignore risk management. This one includes it.
Most indicators work on one market. This one works on all.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DISCLAIMER
This indicator is a trading tool, not financial advice. Trading involves substantial risk of loss. Past performance does not guarantee future results. Always use proper risk management and never trade with money you cannot afford to lose. Test on a demo account before trading live.
Ellipse Price Action Indicator v3Successful Trade Setup Using Ellipse Price Action Indicator (EPAI) 🔥
With the help of the Ellipse Price Action Indicator, this bearish trade setup played out perfectly.
EPAI generated a Sell Signal with a red arrow.
According to the EPAI method:
🔹 If price makes a new high on the next candle — add one more unit.
🔹 Every time a new high forms, add one more unit per candle.
🔹 Exit all units at the Moving Average (MA) — this is the core risk-controlled exit rule.
This is why EPAI consistently provides successful trade setups when followed with discipline.
⚠ Important Notice — Last Chance!
The Ellipse Price Action Indicator (EPAI) will soon become PRIVATE.
Access will be restricted only to Premium Members.
✅ First 25 subscribers can use this indicator absolutely FREE.
After that, it will not be available publicly.
Zero Lag EMA_BhavatThis is a test script for zelma. This is intended to cut down the lag from traditional ema indicators.
YSD RSIYSD RSI
This indicator is an enhanced version of the traditional Relative Strength Index (RSI), designed to provide deeper insight into market momentum and trend quality. While the classic RSI focuses primarily on the ratio of recent gains to losses, this strengthened variant incorporates additional layers of analysis to capture subtler shifts in price behavior. By applying refined smoothing techniques, integrating volatility awareness, and emphasizing the consistency of directional movement, the indicator aims to reduce noise and highlight more reliable momentum signals. As a result, it not only identifies overbought and oversold conditions with greater precision but also reacts more intelligently to changing market environments. Traders can use this improved RSI to detect early trend reversals, filter out false signals, and gain a more comprehensive understanding of underlying price dynamics compared to the standard RSI.






















