HH/HL/LH/LL - Bigger Letter MArkingAlam's Money
//@version=6
indicator("HH/HL/LH/LL - Clean Letters Only", overlay = true, max_labels_count = 500)
// Pivot confirmation bars (fixed)
L = 2
R = 2
// Confirmed pivots (appear R bars after turn)
sh = ta.pivothigh(high, L, R)
sl = ta.pivotlow(low, L, R)
// Keep last confirmed swing values
var float lastHigh = na
var float lastLow = na
// Swing highs → HH / LH
if not na(sh)
if na(lastHigh)
lastHigh := sh
else
string txtH = sh > lastHigh ? "HH" : "LH"
label.new(bar_index - R, sh, txtH, xloc.bar_index, yloc.price, color.new(color.white, 100), label.style_label_down, color.red, size.large)
lastHigh := sh
// Swing lows → HL / LL
if not na(sl)
if na(lastLow)
lastLow := sl
else
string txtL = sl > lastLow ? "HL" : "LL"
label.new(bar_index - R, sl, txtL, xloc.bar_index, yloc.price, color.new(color.white, 100), label.style_label_up, color.green, size.large)
lastLow := sl
In den Scripts nach "美股标普500" suchen
Static Beta for Pair and Quant Trading A beta coefficient shows the volatility of an individual stock compared to the systematic risk of the entire market. Beta represents the slope of the line through a regression of data points. In finance, each point represents an individual stock's returns against the market.
Beta effectively describes the activity of a security's returns as it responds to swings in the market. It is used in the capital asset pricing model (CAPM), which describes the relationship between systematic risk and expected return for assets. CAPM is used to price risky securities and to estimate the expected returns of assets, considering the risk of those assets and the cost of capital.
Calculating Beta
A security's beta is calculated by dividing the product of the covariance of the security's returns and the market's returns by the variance of the market's returns over a specified period. The calculation helps investors understand whether a stock moves in the same direction as the rest of the market. It also provides insights into how volatile—or how risky—a stock is relative to the rest of the market.
For beta to provide useful insight, the market used as a benchmark should be related to the stock. For example, a bond ETF's beta with the S&P 500 as the benchmark would not be helpful to an investor because bonds and stocks are too dissimilar.
Beta Values
Beta equal to 1: A stock with a beta of 1.0 means its price activity correlates with the market. Adding a stock to a portfolio with a beta of 1.0 doesn’t add any risk to the portfolio, but it doesn’t increase the likelihood that the portfolio will provide an excess return.
Beta less than 1: A beta value less than 1.0 means the security is less volatile than the market. Including this stock in a portfolio makes it less risky than the same portfolio without the stock. Utility stocks often have low betas because they move more slowly than market averages.
Beta greater than 1: A beta greater than 1.0 indicates that the security's price is theoretically more volatile than the market. If a stock's beta is 1.2, it is assumed to be 20% more volatile than the market. Technology stocks tend to have higher betas than the market benchmark. Adding the stock to a portfolio will increase the portfolio’s risk, but may also increase its return.
Negative beta: A beta of -1.0 means that the stock is inversely correlated to the market benchmark on a 1:1 basis. Put options and inverse ETFs are designed to have negative betas. There are also a few industry groups, like gold miners, where a negative beta is common.
LET'S START
Now I'll give my own definition.
Beta:
If we assume market caps are equal ,
it is an indicator that shows how much of the second instrument we should buy if we buy one of the first, taking into account the price volatility of two instruments.
But if the market caps are not equal:
For example, the ETF for A is $300.
The ETF for B is $600.
If static beta predicted by this script is 0.5:
300 * 1 * a = 600 * 0.5 * b
Then we should use 1 b for 1 a.
(Long a and short b or vice versa )
So, we can try pair trading for a/b or a-b.
However, these values are generally close to each other, such as 0.8 and 0.93. However, the closer we can adjust our lot purchases to bring the double beta to a value closer to 1, the higher the hedge ratio will be.
Large commercials use dynamic betas, which are updated periodically, in addition to static betas
However, scaling this is very difficult for individual investors with limited investment tools.
But a static beta of 5,000 bars is still much better than not considering any beta at all.
Note: The presence of a beta value for two instruments does not necessarily mean they can be included in pair trading.
It is also important (%99) to consider historically very high correlations and cointegration relationships, as well as the compatibility of security structures.
Note 2 : This script is designed for low timeframes.
Do not use betas from different timeframes.
Beta dynamics are different for each timeframe.
Note 3 : I created this script with the help of ChatGPT.
Source for beta definition ( ) :
www.investopedia.com
Regards.
Relative Performance Areas [LuxAlgo]The Relative Performance Areas tool enables traders to analyze the relative performance of any asset against a user-selected benchmark directly on the chart, session by session.
The tool features three display modes for rescaled benchmark prices, as well as a statistics panel providing relevant information about overperforming and underperforming streaks.
🔶 USAGE
Usage is straightforward. Each session is highlighted with an area displaying the asset price range. By default, a green background is displayed when the asset outperforms the benchmark for the session. A red background is displayed if the asset underperforms the benchmark.
The benchmark is displayed as a green or red line. An extended price area is displayed when the benchmark exceeds the asset price and is set to SPX by default, but traders can choose any ticker from the settings panel.
Using benchmarks to compare performance is a common practice in trading and investing. Using indexes such as the S&P 500 (SPX) or the NASDAQ 100 (NDX) to measure our portfolio's performance provides a clear indication of whether our returns are above or below the broad market.
As the previous chart shows, if we have a long position in the NASDAQ 100 and buy an ETF like QQQ, we can clearly see how this position performs against BTSUSD and GOLD in each session.
Over the last 15 sessions, the NASDAQ 100 outperformed the BTSUSD in eight sessions and the GOLD in six sessions. Conversely, it underperformed the BTCUSD in seven sessions and the GOLD in nine sessions.
🔹 Display Mode
The display mode options in the Settings panel determine how benchmark performance is calculated. There are three display modes for the benchmark:
Net Returns: Uses the raw net returns of the benchmark from the start of the session.
Rescaled Returns: Uses the benchmark net returns multiplied by the ratio of the benchmark net returns standard deviation to the asset net returns standard deviation.
Standardized Returns: Uses the z-score of the benchmark returns multiplied by the standard deviation of the asset returns.
Comparing net returns between an asset and a benchmark provides traders with a broad view of relative performance and is straightforward.
When traders want a better comparison, they can use rescaled returns. This option scales the benchmark performance using the asset's volatility, providing a fairer comparison.
Standardized returns are the most sophisticated approach. They calculate the z-score of the benchmark returns to determine how many standard deviations they are from the mean. Then, they scale that number using the asset volatility, which is measured by the asset returns standard deviation.
As the chart above shows, different display modes produce different results. All of these methods are useful for making comparisons and accounting for different factors.
🔹 Dashboard
The statistics dashboard is a great addition that allows traders to gain a deep understanding of the relationship between assets and benchmarks.
First, we have raw data on overperforming and underperforming sessions. This shows how many sessions the asset performance at the end of the session was above or below the benchmark.
Next, we have the streaks statistics. We define a streak as two or more consecutive sessions where the asset overperformed or underperformed the benchmark.
Here, we have the number of winning and losing streaks (winning means overperforming and losing means underperforming), the median duration of each streak in sessions, the mode (the number of sessions that occurs most frequently), and the percentages of streaks with durations equal to or greater than three, four, five, and six sessions.
As the image shows, these statistics are useful for traders to better understand the relative behavior of different assets.
🔶 SETTINGS
Benchmark: Benchmark for comparison
Display Mode: Choose how to display the benchmark; Net Returns: Uses the raw net returns of the benchmark. Rescaled Returns: Uses the benchmark net returns multiplied by the ratio of the benchmark and asset standard deviations. Standardized Returns: Uses the benchmark z-score multiplied by the asset standard deviation.
🔹 Dashboard
Dashboard: Enable or disable the dashboard.
Position: Select the location of the dashboard.
Size: Select the dashboard size.
🔹 Style
Overperforming: Enable or disable displaying overperforming sessions and choose a color.
Underperforming: Enable or disable displaying underperforming sessions and choose a color.
Benchmark: Enable or disable displaying the benchmark and choose colors.
Bitcoin vs M2 Global Liquidity (Lead 3M) - Table Ticker═══════════════════════════════════════════════════════════════
Bitcoin vs M2 Global Liquidity - Regression Indicator
═══════════════════════════════════════════════════════════════
TECHNICAL SPECS
• Pine Script v6
• Overlay: false (separate pane)
• Data sources: 5 M2 series + 4 FX pairs (request.security)
• Calculation: Rolling OLS linear regression with configurable lead
• Output: Regression line + ±1σ/±2σ confidence bands + R² ticker
CORE FUNCTIONALITY
Aggregates M2 money supply from 5 central banks (CN, US, EU, JP, GB),
converts to USD, applies time-lead, runs rolling linear regression
vs Bitcoin price, plots predicted value with confidence intervals.
CONFIGURABLE PARAMETERS
Input Controls:
• Lead Period: 0-365 days (default: 90)
• Lookback Window: 50-2000 bars (default: 750)
• Bands: Toggle ±1σ and ±2σ visibility
• Colors: BTC, M2, regression line, confidence zones
• Ticker: Position, size, colors, transparency
Advanced Settings:
• Table display: R², lead, M2 total, country breakdown (%)
• Ticker customization: 9 position options, 6 text sizes
• Border: Width 0-10px, color, outline-only mode
DATA AGGREGATION
Sources (via request.security):
• ECONOMICS:CNM2, USM2, EUM2, JPM2, GBM2
• FX_IDC:CNYUSD, JPYUSD (others: FX:EURUSD, GBPUSD)
• Conversion: All M2 → USD → Sum / 1e12 (trillions)
REGRESSION ENGINE
• Arrays: m2Array, btcArray (dynamic sizing, auto-trim)
• Window: Rolling (lookbackPeriod bars)
• Lead: Time-shift via array indexing (i + leadPeriodDays)
• Calc: Manual OLS (covariance/variance), no built-in ta functions
• Outputs: slope, intercept, r2, stdResiduals
CONFIDENCE BANDS
±1σ and ±2σ calculated from standard deviation of residuals.
Fill zones between upper/lower bounds with configurable transparency.
ALERTS
5 pre-configured alertcondition():
• Divergence > 15%
• Price crosses ±1σ bands (up/down)
• Price crosses ±2σ bands (up/down)
TICKER TABLE
Dynamic table.new() with 9 rows:
• R² value (4 decimals)
• Lead period (days + months)
• M2 Global total (trillions USD)
• Country breakdown: CN, US, EU, JP, GB (absolute + %)
• Optional: Hide/show M2 details
VISUAL CUSTOMIZATION
All plot() elements support:
• Color picker inputs (group="Couleurs")
• Line width: 1-3px
• Transparency: 0-100% for zones
• Offset: M2 plot has +leadPeriodDays offset option
PERFORMANCE
• Max arrays size: lookbackPeriod + leadPeriodDays + 200
• Calculations: Only when array.size >= lookbackPeriod + leadPeriodDays
• Table update: barstate.islast (once per bar)
• Request.security: gaps_off mode
CODE STRUCTURE
1. Inputs (lines 7-54)
2. Data fetch (lines 56-76)
3. M2 aggregation (line 78)
4. Array management (lines 84-95)
5. Regression calc (lines 97-172)
6. Prediction + bands (lines 174-183)
7. Plots (lines 185-199)
8. Ticker table (lines 201-236)
9. Alerts (lines 238-246)
DEPENDENCIES
None. Pure Pine Script v6. No external libraries.
LIMITATIONS
• Daily timeframe recommended (1D)
• Requires 750+ bars history for optimal calculation
• M2 data availability: TradingView ECONOMICS feed
• Max lines: 500 (declared in indicator())
CUSTOMIZATION EXAMPLES
• Shorter lookback (200d): More reactive, lower R²
• Longer lookback (1500d): More stable, regime mixing
• No bands: Set showBands=false for clean view
• Different lead: Test 60d, 120d for sensitivity analysis
TECHNICAL NOTES
• Manual OLS implementation (no ta.linreg)
• Array-based lead application (not plot offset)
• M2 values stored in trillions (/ 1e12) for readability
• Residuals array cleared/rebuilt each calculation
OPEN SOURCE
Code fully visible. Modify, fork, analyze freely.
No hidden calculations. No proprietary data.
VERSION
1.0 | November 2025 | Pine Script v6
═══════════════════════════════════════════════════════════════
Match Finder [theUltimator5]Match Finder is the dating app of indicators. It takes your current ticker and finds the most compatible match over a recent time period. The match may not be Mr. right, but it is Mr. right now. It doesn't forecast future connection, but it tells you current compatibility for today.
Jokes aside, it is a pattern–comparison tool that was designed to find the ticker that tracks most closely to the one you are currently looking at. It scans a user-defined list of 40 tickers (pre-set to a bunch of liquid ETFs) and finds which one most closely matches the recent price action of the current chart over a fixed lookback window.
LOGIC BEHIND THE SCENES
For each bar, the script:
Takes the last N bars (Correlation Window Length) of the current symbol.
Takes the last N bars of each selected comparison ticker.
Calculates the Pearson correlation between the current symbol and each comparison ticker.
Identifies the single best-matching ticker (highest positive correlation, excluding the current symbol itself).
Rescales and overlays that matched segment on the chart so you can visually compare shapes.
Optionally shows a correlation table with all tickers and their correlation values.
The use case of this indicator is to help you see which symbol has recently moved most similarly to your current chart, and how that shape looks when overlaid in the same panel. It helps you see which sectors it may be following most closely to.
Here is an image with arrows showing the elements of this indicator that will be mostly explained later.
USER INPUTS
1. Correlation Window Length
Default: 30
Range: 10–500
This is the number of bars used to compare the current symbol against each ticker.
Important - Larger values produce more “global” shape comparison but increase computational load and may cause the indicator to timeout if the length is too long
2. Drawing Mode
Options:
Scale Only - Adjusts min and max of the plotted line segment to match the chart over the range
Scale & Rotate - Scales as above, but matches the first and last point to the close of the chart over the range. This effectively rotates the pattern to force it to track the chart to an extent.
3. Show Correlation Table
When enabled (disabled by default), shows a table in the bottom-right of the chart that displays the correlation values over the lookback range for all 40 tickers. The best fit ticker is highlighted.
4. Best Fit Line Color
Color used to draw the overlaid best-match segment (yellow by default).
5. Ticker inputs (1–40)
Default set to a broad universe of major ETFs (e.g., SPY, QQQ, IWM, sector and bond ETFs, commodities, etc.).
You can replace these with any symbols supported by your data feed (stocks, ETFs, indexes, etc.).
The script always excludes the current chart’s symbol from being considered as its own best match.
NOTE: THIS INDICATOR IS EXTREMELY MEMORY INTENSIVE AND MAY TAKE SEVERAL SECONDS TO LOAD. PLEASE BE PATIENT AND GIVE THE INDICATOR UP TO 20 SECONDS FOR THE DATA TO DISPLAY
Global M2 Money Supply Growth (GDP-Weighted)📊 Global M2 Money Supply Growth (GDP-Weighted)
This indicator tracks the weighted aggregate M2 money supply growth across the world's four largest economies: United States, China, Eurozone, and Japan. These economies represent approximately 69.3 trillion USD in combined GDP and account for the majority of global liquidity, making this a comprehensive macro indicator for analyzing worldwide monetary conditions.
════════════════════════════════════════════
🔧 KEY FEATURES:
📈 GDP-Weighted Aggregation
Each economy is weighted proportionally by its nominal GDP using 2025 IMF World Economic Outlook data:
• United States: 44.2% (30.62 trillion USD)
• China: 28.0% (19.40 trillion USD)
• Eurozone: 21.6% (15.0 trillion USD)
• Japan: 6.2% (4.28 trillion USD)
The weights are fully adjustable through the indicator settings, allowing you to update them annually as new IMF forecasts are released (typically April and October).
⏱️ Multiple Time Period Options
Choose between three calculation methods to analyze different timeframes:
• YoY (Year-over-Year): 12-month growth rate for identifying long-term liquidity trends and cycles
• MoM (Month-over-Month): 1-month growth rate for detecting short-term monetary policy shifts
• QoQ (Quarter-over-Quarter): 3-month growth rate for medium-term trend analysis
🔄 Advanced Offset Function
Shift the entire indicator forward by 0-365 days to test lead/lag relationships between global liquidity and asset prices. Research suggests a 56-70 day lag between M2 changes and Bitcoin price movements, but you can experiment with different offsets for various assets (equities, gold, commodities, etc.).
🌍 Individual Country Breakdown
Real-time display of each economy's M2 growth rate with:
• Current percentage change (YoY/MoM/QoQ)
• GDP weight contribution
• Color-coded values (green = monetary expansion, red = contraction)
📊 Smart Overlay Capability
Displays directly on your main price chart with an independent left-side scale, allowing you to visually correlate global liquidity trends with any asset's price action without cluttering the chart.
🔧 Customizable GDP Weights
All GDP values can be adjusted through the indicator settings without editing code, making annual updates simple and accessible for all users.
════════════════════════════════════════════
📡 DATA SOURCES:
All M2 money supply data is sourced from ECONOMICS (Trading Economics) for consistency and reliability:
• ECONOMICS:USM2 (United States)
• ECONOMICS:CNM2 (China)
• ECONOMICS:EUM2 (Eurozone)
• ECONOMICS:JPM2 (Japan)
All values are normalized to USD using current daily exchange rates (USDCNY, EURUSD, USDJPY) before GDP-weighted aggregation, ensuring accurate cross-country comparisons.
══════════════════════════════════════════════
💡 USE CASES & APPLICATIONS:
🔹 Liquidity Cycle Analysis
Track global monetary expansion/contraction cycles to identify when central banks are coordinating loose or tight monetary policies.
🔹 Market Timing & Risk Assessment
High M2 growth (>10%) historically correlates with risk-on environments and rising asset prices across crypto, equities, and commodities. Negative M2 growth signals monetary tightening and potential market corrections.
🔹 Bitcoin & Crypto Correlation
Compare with Bitcoin price using the offset feature to identify the optimal lag period. Many traders use 60-70 day offsets to predict crypto market movements based on liquidity changes.
🔹 Macro Portfolio Allocation
Use as a regime filter to adjust portfolio exposure: increase risk assets during liquidity expansion, reduce during contraction.
🔹 Central Bank Policy Divergence
Monitor individual country metrics to identify when major central banks are pursuing divergent policies (e.g., Fed tightening while China eases).
🔹 Inflation & Economic Forecasting
Rapid M2 growth often leads inflation by 12-18 months, making this a leading indicator for future inflation trends.
🔹 Recession Early Warning
Negative M2 growth is extremely rare and has preceded major recessions, making this a valuable risk management tool.
════════════════════════════════════════════
📊 INTERPRETATION GUIDE:
🟢 +10% or Higher
Aggressive monetary expansion, typically during crises (2001, 2008, 2020). The COVID-19 period saw M2 growth reach 20-27%, which preceded significant inflation and asset price surges. Strong bullish signal for risk assets.
🟢 +6% to +10%
Above-average liquidity growth. Central banks are providing stimulus beyond normal levels. Generally favorable for equities, crypto, and commodities.
🟡 +3% to +6%
Normal/healthy growth rate, roughly in line with GDP growth plus 2% inflation targets. Neutral environment with moderate support for risk assets.
🟠 0% to +3%
Slowing liquidity, potential tightening phase beginning. Central banks may be raising rates or reducing balance sheets. Caution warranted for high-beta assets.
🔴 Negative Growth
Monetary contraction - extremely rare. Only occurred during aggressive Fed tightening in 2022-2023. Strong warning signal for risk assets, often precedes recessions or major market corrections.
════════════════════════════════════════════
🎯 OPTIMAL USAGE:
📅 Recommended Timeframes:
• Daily or Weekly charts for macro analysis
• Monthly charts for very long-term trends
💹 Compatible Asset Classes:
• Cryptocurrencies (especially Bitcoin, Ethereum)
• Equity indices (S&P 500, NASDAQ, global markets)
• Commodities (Gold, Silver, Oil)
• Forex majors (DXY correlation analysis)
⚙️ Suggested Settings:
• Default: YoY calculation with 0 offset for current liquidity conditions
• Bitcoin traders: YoY with 60-70 day offset for predictive analysis
• Short-term traders: MoM with 0 offset for recent policy changes
• Quarterly rebalancers: QoQ with 0 offset for medium-term trends
════════════════════════════════════════════
📋 VISUAL DISPLAY:
The indicator plots a blue line showing the selected growth metric (YoY/MoM/QoQ), with a dashed reference line at 0% to clearly identify expansion vs. contraction regimes.
A comprehensive table in the top-right corner displays:
• Current global M2 growth rate (large, prominent display)
• Individual country breakdowns with their GDP weights
• Color-coded growth rates (green for positive, red for negative)
════════════════════════════════════════════
🔄 MAINTENANCE & UPDATES:
GDP weights should be updated annually (ideally in April or October) when the IMF releases new World Economic Outlook forecasts. Simply adjust the four GDP input parameters in the indicator settings - no code editing required.
The relative GDP proportions between the Big 4 economies change very gradually (typically <1-2% per year), so even if you update weights once every 1-2 years, the impact on the indicator's accuracy is minimal.
════════════════════════════════════════════
💭 TRADING PHILOSOPHY:
This indicator embodies the principle that "liquidity drives markets." By tracking the combined M2 money supply of the world's largest economies, weighted by their economic size, you gain insight into the fundamental liquidity conditions that underpin all asset prices.
Unlike single-country M2 indicators, this GDP-weighted approach captures the true global picture, accounting for the fact that US monetary policy has 2x the impact of Japanese policy due to economic size differences.
Perfect for macro-focused traders, long-term investors, and anyone seeking to understand the "tide that lifts all boats" in financial markets.
════════════════════════════════════════════
Created for traders and investors who incorporate global liquidity trends into their decision-making process. Best used alongside other technical and fundamental analysis tools for comprehensive market assessment.
⚠️ Disclaimer: M2 money supply is a lagging macroeconomic indicator. Past correlations do not guarantee future results. Always use proper risk management and combine with other analysis methods.
EMA Cross Strategy v5 (30 lots) (15 min candle only)- safe flip🚀 EMA Cross Strategy v5 (30 Lots) (15 min candle only)— Safe Flip Edition
Fully Automated | Fast | Reliable | Battle-tested
Welcome to a clean, powerful, and automation-friendly EMA crossover system.
This strategy is built for traders who want consistent trend-based entries without the risk of unwanted pyramiding or doubled positions.
🔥 How It Works
This strategy uses a fast EMA (10) crossing a slow EMA (20) to detect trend shifts:
Bullish Crossover → LONG (30 lots)
Bearish Crossover → SHORT (30 lots)
Every opposite signal safely flips the position by first closing the current trade, then opening a fresh position of exactly 30 lots.
No doubling.
No runaway position size.
No surprises.
Just clean, mechanical trend-following.
📈 Why This Strategy Stands Out
Unlike basic EMA crossbots, this version:
✔ Prevents unintended pyramiding
✔ Never over-allocates capital
✔ Works perfectly with webhook-based automation
✔ Produces stable, systematic entries
✔ Executes directional flips with precision
🔍 Backtest Highlights (1-Year)
(Backtests will vary by instrument/timeframe)
1,500+ trades executed
Profit factor above 1.27
Strong trend performance
Balanced long/short behavior
No margin calls
Consistent trade execution
This strategy thrives in trending markets and maintains strict discipline even in choppy conditions.
⚙️ Automation Ready
Designed for automated execution via webhook and API setups on supported platforms.
Just connect, run, and let the bot follow the rules without hesitation.
No emotions.
No overtrading.
No fear or greed.
Pure logic.
BS by bigmmBS by bigmm is a powerful tool designed to track and display cumulative trading volumes for bullish (green) and bearish (red) bars over a user-defined period. This indicator provides valuable insights into market sentiment by quantifying buying and selling pressure through volume analysis.
Adjustable lookback period from 20 to 10,000 bars
Default setting of 500 bars for balanced analysis
Real-time calculation updates on each new bar
BUY Volume: Total volume of green bars (close > open)
SELL Volume: Total volume of red bars (close < open)
Interpretation:
Higher BUY Volume: Indicates stronger buying pressure
Higher SELL Volume: Suggests stronger selling pressure
Balanced Volumes: Shows equilibrium between buyers and sellers
Ideal For:
Swing traders analyzing medium-term trends
Position traders evaluating long-term market sentiment
Volume-based trading strategies
Market structure analysis
🎯 Wyckoff Order Block Entry System🎯 Wyckoff Order Block Entry System
📝 INDICATOR DESCRIPTION
🎯 Wyckoff Order Block Entry System Short Description:
Professional institutional zone trading combined with Wyckoff methodology. Identifies high-probability entries where smart money meets classic price action patterns.
Full Description:
Wyckoff Order Block Entry System is a precision trading tool that combines two powerful concepts:
Order Blocks - Institutional zones where large players place their orders
Wyckoff Method - Classic price action patterns revealing smart money behavior
🎯 What Makes This Different?
Unlike traditional indicators that flood your chart with signals, this system only triggers entries when BOTH conditions are met:
Price enters an institutional Order Block zone (current timeframe OR higher timeframe)
A Wyckoff pattern occurs (Spring, SOS, Upthrust, or SOW)
This dual-confirmation approach ensures you're trading with institutional flow at optimal entry points.
📊 Key Features:
✅ Order Block Detection
Automatically identifies institutional buying/selling zones
Current timeframe order blocks (solid lines)
Higher timeframe order blocks (dashed lines) for stronger zones
Customizable strength and extension settings
✅ 4 Wyckoff Entry Patterns
SPRING (Bullish Reversal): Fake breakdown below support → Quick recovery
SOS (Sign of Strength): Strong bullish candle after accumulation
UPTHRUST (Bearish Reversal): Fake breakout above resistance → Quick rejection
SOW (Sign of Weakness): Strong bearish candle after distribution
✅ Clean Visual Design
Minimalist approach - only essential information
Color-coded zones (Green = Bullish, Red = Bearish, Cyan/Magenta = HTF)
Clear entry signals with pattern type labels
No chart clutter - focus on what matters
✅ Multi-Timeframe Analysis
Integrates higher timeframe order blocks
HTF signals marked with "+HTF" tag for extra confidence
Fully customizable HTF selection (H1, H4, Daily, etc.)
✅ Smart Alerts
Entry signal alerts (Long/Short)
Order block formation alerts
HTF order block alerts
Customizable alert messages
💡 How To Use:
Setup: Add indicator to your chart, configure HTF timeframe (default H1)
Wait: Let order blocks form (green/red boxes appear)
Watch: Price returns to order block zone
Entry: Signal appears when Wyckoff pattern confirms
Trade: Enter with the signal, stop below/above order block
📈 Best For:
Forex pairs (all majors and crosses)
Gold (XAUUSD)
Crypto (BTC, ETH, etc.)
Indices (SPX, NAS100, etc.)
Stocks
Commodities
⏱️ Recommended Timeframes:
M15 for scalping
M30 for day trading
H1 for swing trading
H4 for position trading
🎯 Win Rate Expectations:
Current TF signals: 60-70%
HTF signals (+HTF tag): 70-80%
Spring/Upthrust patterns: Highest probability
Works on ALL liquid markets
⚙️ Customizable Settings:
Order block detection parameters
HTF timeframe selection
Wyckoff sensitivity (swing length, volume threshold)
Zone extension duration
Color schemes
📚 Trading Strategy:
This indicator works best when:
Trading in the direction of higher timeframe trend
Using proper risk management (1-2% per trade)
Placing stops just outside order block zones
Taking profits at opposite order blocks
Focusing on HTF signals for higher quality
🔒 Risk Management:
Always use stop losses! Recommended placement:
LONG: 10-20 pips below order block
SHORT: 10-20 pips above order block
Target: Minimum 1:2 risk/reward ratio
💎 Why Traders Love This System:
"Finally, an indicator that doesn't spam my chart with useless signals!" - The quality-over-quantity approach means you only get high-probability setups.
"The HTF order blocks changed my trading!" - Multi-timeframe analysis built-in removes the need for manual higher timeframe checks.
"Wyckoff + Order Blocks = Perfect combination!" - Two proven concepts working together create powerful confluence.
📊 Universal Application:
This system works on ANY liquid market with sufficient volume:
✅ Forex (EUR/USD, GBP/USD, USD/JPY, etc.)
✅ Commodities (Gold, Silver, Oil, etc.)
✅ Indices (S&P 500, NASDAQ, DAX, etc.)
✅ Cryptocurrencies (Bitcoin, Ethereum, etc.)
✅ Stocks (Large cap with good liquidity)
🎓 Educational Value:
Beyond just signals, this indicator teaches you:
How institutional traders think
Where smart money places orders
Classic Wyckoff accumulation/distribution patterns
Multi-timeframe analysis techniques
⚡ Performance:
Lightning-fast calculations
No repainting
Real-time signal generation
Clean code, optimized for speed
🚀 Get Started:
Add to your favorite chart
Adjust HTF timeframe to match your trading style
Wait for high-quality signals
Trade with confidence
Remember: Quality beats quantity. This system prioritizes precision over frequency. You might see 2-5 signals per day on M30 - and that's exactly the point. Each signal is carefully filtered for maximum probability.
Ready to trade like institutions?
👉 Add this indicator to your chart now
👉 Configure your preferred HTF timeframe
👉 Start catching high-probability setups
👉 Trade smarter, not harder
Questions or feedback? Drop a comment below!
Found this useful? Hit that ⭐ button and share with fellow traders!
Happy Trading! 🚀📈
Auto Fibonacci RetraceNOTE: This script is for educational purposes only.
This Pine Script v6 indicator automates the drawing of Fibonacci retracement levels on a TradingView chart based on detected pivot highs and lows. It's designed to identify the most recent swing points in a price trend and plot horizontal lines at standard Fibonacci ratios (0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, 100%), along with optional labels for each level. The script is useful for traders who want dynamic, hands-free Fib retracements that update as new pivots form, helping to spot potential support/resistance zones without manual intervention.
Key Features
Automatic Pivot Detection: Uses TradingView's built-in ta.pivothigh and ta.pivotlow functions to find recent swing highs and lows. The sensitivity is adjustable via user inputs for "Left Bars" and "Right Bars" (default: 5 each), which define how many bars are checked on either side to confirm a pivot.
Trend Direction Awareness: Determines if the current swing is an uptrend (recent high after low) or downtrend (recent low after high) and orients the Fib levels accordingly—starting from the low in uptrends or high in downtrends.
Dynamic Drawing:
Plots dashed horizontal lines extending to the right of the chart for each Fib level.
Colors are predefined for visual distinction (e.g., blue for 23.6%, orange for 61.8%).
Lines and labels are cleared and redrawn only when a new pivot is detected or on initial load to prevent chart clutter.
Customizable Labels: Optional labels show the percentage (e.g., "61.8%") and can be positioned on the "Left" (at the swing start) or "Right" (pinned to the current bar, updating dynamically). Labels use semi-transparent backgrounds for readability.
Performance Optimizations: Uses arrays to manage lines and labels efficiently, with reverse-indexed loops for safe deletion. The max_bars_back=500 ensures it handles historical data without excessive computation.
User Inputs:
Left/Right Bars: Tune pivot detection (higher values for major trends, lower for shorter swings).
Show Fib Levels/Labels: Toggle visibility.
Label Position: "Left" or "Right" for placement flexibility.
Usage Instructions
Adding to Chart: Copy-paste into TradingView's Pine Editor, save as a new indicator, and add it to your chart via the "Indicators" menu.
Customization: Adjust inputs in the indicator settings panel. For example, set Left/Right Bars to 10 for daily charts in strong trends.
Best Practices:
Use on trending markets (e.g., stocks, forex, crypto like BTC/USD); avoid choppy sideways action.
Combine with other indicators (e.g., RSI for overbought/oversold confirmation) for better trade signals.
Test on historical data—zoom out to see how it redraws on past swings.
Limitations: Relies on pivot functions, so it may lag slightly (pivots confirm after "Right Bars"). Not a trading strategy—use for analysis only. No alerts built-in, but you can add alertcondition if extending it.
Potential Enhancements: Add extensions (e.g., 161.8%), user-defined levels, or alerts on price touches via simple modifications.
This script provides a clean, efficient way to visualize Fib retracements automatically, saving time compared to manual drawing. If you need further tweaks or integration into a full strategy, let me know!
EMA Cross + RSI + ADX - Autotrade Strategy V2Overview
A versatile trend-following strategy combining EMA 9/21 crossovers with RSI momentum filtering and optional ADX trend strength confirmation. Designed for both cryptocurrency and traditional futures/options markets with built-in stop loss management and automated position reversals.
Key Features
Multi-Market Compatibility: Works on both crypto futures (Bitcoin, Ethereum) and traditional markets (NIFTY, Bank NIFTY, S&P 500 futures, equity options)
Triple Confirmation System: EMA crossover + RSI filter + ADX strength (optional)
Automated Risk Management: 2% stop loss with wick-touch detection
Position Auto-Reversal: Opposite signals automatically close and reverse positions
Webhook Ready: Six distinct alert messages for automation (Entry Buy/Sell, Close Long/Short, SL Hit Long/Short)
Performance Metrics
NIFTY Futures (15min): 50%+ win rate with ADX filter OFF
Crypto Markets: Requires extensive backtesting before live deployment
Optimal Timeframes: 15-minute to 1-hour charts (patience required for higher timeframes)
Strategy Logic
Entry Signals:
LONG: EMA 9 crosses above EMA 21 + RSI > 55 + ADX > 20 (if enabled)
SHORT: EMA 9 crosses below EMA 21 + RSI < 45 + ADX > 20 (if enabled)
Exit Signals:
Opposite EMA crossover (auto-closes current position)
Stop loss hit at 2% from entry price (tracks candle wicks)
Technical Indicators:
Fast EMA: 9-period (short-term trend)
Slow EMA: 21-period (primary trend)
RSI: 14-period with 55/45 thresholds (momentum confirmation)
ADX: 14-period with 20 threshold (trend strength filter - optional)
Market-Specific Settings
Traditional Markets (NIFTY, Bank NIFTY, S&P Futures, Options)
Recommended Settings:
ADX Filter: Turn OFF (less choppy, cleaner trends)
Timeframe: 15-minute chart
Win Rate: 50%+ on NIFTY Futures
Why No ADX: Traditional markets have more institutional participation and smoother price action, making ADX unnecessary
Cryptocurrency Markets (BTC, ETH, Altcoins)
Recommended Settings:
ADX Filter: Turn ON (ADX > 20)
Timeframe: 15-minute to 1-hour
Extensive backtesting required before live trading
Why ADX: Crypto markets are highly volatile and prone to false breakouts; ADX filters low-quality chop
Best Practices
✅ Backtest thoroughly on your specific instrument and timeframe
✅ Use larger timeframes (1H, 4H) for higher quality signals and better risk/reward
✅ Adjust RSI thresholds based on market volatility (try 52/48 for more signals, 60/40 for fewer but stronger)
✅ Monitor ADX effectiveness - disable for traditional markets, enable for crypto
✅ Proper position sizing - adjust default_qty_value based on your capital and instrument price
✅ Paper trade first - test for 2-4 weeks before risking real capital
Risk Management
Fixed 2% stop loss per trade (adjustable)
Stop loss tracks candle wicks for accurate execution
Positions auto-reverse on opposite signals (no manual intervention needed)
0.075% commission built into backtest (adjust for your broker)
Customization Options
All parameters are adjustable via inputs:
EMA periods (default: 9/21)
RSI length and thresholds (default: 14-period, 55/45 levels)
ADX length and threshold (default: 14-period, 20 threshold)
Stop loss percentage (default: 2%)
Webhook Automation
This strategy includes six distinct alert messages for automated trading:
"Entry Buy" - Long position opened
"Entry Sell" - Short position opened
"Close Long" - Long position closed on opposite crossover
"Close Short" - Short position closed on opposite crossover
"SL Hit Long" - Long stop loss triggered
"SL Hit Short" - Short stop loss triggered
Compatible with Delta Exchange, Binance Futures, 3Commas, Alertatron, and other webhook platforms.
Important Notes
⚠️ Crypto markets require extensive backtesting - volatility patterns differ significantly from traditional markets
⚠️ Higher timeframes = better results - 15min works but 1H/4H provide cleaner signals
⚠️ ADX toggle is critical - OFF for traditional markets, ON for crypto
⚠️ Not financial advice - always conduct your own research and use proper risk management
⚠️ Past performance ≠ future results - backtest results may not reflect live trading conditions
Disclaimer
This strategy is for educational and informational purposes only. Trading futures and options involves substantial risk of loss. Always backtest thoroughly, start with paper trading, and never risk more than you can afford to lose. The author assumes no responsibility for any trading losses incurred using this strategy.
FVG ATRFVG ATR — Fair Value Gap Size Measured in ATR Units
This Pine Script v6 indicator detects Fair Value Gaps and displays their size as a ratio of the Average True Range, providing traders with a normalized measurement of gap significance across different market conditions and timeframes.
Key Features
Automatic FVG Detection
The indicator identifies bullish and bearish Fair Value Gaps using the standard three-candle pattern. Bullish FVGs occur when the current low exceeds the high from two bars ago, while bearish FVGs occur when the current high falls below the low from two bars ago.
ATR Ratio Calculation
Each detected FVG is measured against the current Average True Range at the moment of detection. The ratio is displayed as a compact label next to the gap, showing values like "ATR: 0.75" or "ATR: 1.41". This normalization allows comparison of gap significance across volatile and calm market periods.
Minimal Visual Footprint
Labels are displayed directly on the chart without boxes or lines, using customizable text sizes from tiny to large. The default tiny size ensures the chart remains uncluttered while providing essential information at a glance.
Highly Customizable Display
All visual aspects are configurable through input parameters, including label position (top, middle, or bottom of gap), text size, text color, optional background, and horizontal offset from the detection candle.
Customizable Parameters
Detection Settings
Detect Bullish FVG: Enable or disable detection of bullish gaps. Default is enabled.
Detect Bearish FVG: Enable or disable detection of bearish gaps. Default is enabled.
Min Size (pips): Filter out small gaps below the specified threshold. One pip equals 10 ticks for most Forex pairs. Default is 10 pips.
ATR Calculation
ATR Period: Period length for Average True Range calculation. Default is 14, adjustable to match your trading strategy.
Label Settings
Label Position: Vertical placement of the text label relative to the FVG zone. Options are Top, Middle, or Bottom. Default is Middle.
Label Size: Text size from Tiny (smallest), Small, Normal, to Large. Default is Tiny for minimal chart clutter.
Text Color: Custom color for label text. Default is white for visibility on dark themes.
Show Background: Toggle to display labels with a colored background box or as transparent text only. Default is disabled for cleaner appearance.
Background Color: Custom color for label background when enabled. Default is semi-transparent gray.
Label Offset (bars): Horizontal distance in bars between the detection candle and the label. Set to 0 for labels directly on the candle, or increase for separation. Default is 0.
Recommended Use Cases
Multi-Timeframe Analysis
Compare FVG significance across different timeframes by observing ATR ratios. A 1.5 ATR gap on the 1-hour chart may indicate different significance than the same ratio on the daily chart.
Volatility-Adjusted Trading
Use ATR ratios to filter for only the most significant gaps. For example, only trade FVGs with ratios above 1.0 to focus on gaps larger than typical price movement.
Risk Management
Size positions based on gap magnitude relative to current volatility. Larger ATR ratios may warrant tighter stops or smaller position sizes.
Market Efficiency Analysis
Track how quickly and completely different-sized gaps get filled. Gaps with higher ATR ratios may take longer to fill or act as stronger support and resistance zones.
Technical Details
This indicator is written in Pine Script v6 and follows all recommended coding standards including strict 4-space indentation, lazy boolean evaluation, and proper type declarations. The script uses array-based storage to maintain up to 500 labels simultaneously.
The ATR ratio is calculated at the moment of FVG detection and remains fixed, never repainting. The calculation divides the FVG height (distance between gap boundaries) by the current ATR value using the specified period. Division by zero is protected with conditional logic.
Label positioning uses the xloc.bar_index and yloc.price system for precise placement. The horizontal offset parameter allows traders to adjust label spacing based on chart zoom level and personal preference. Text formatting uses str.tostring with two decimal places for clear ratio display.
Important Notes
The indicator never repaints as all FVG detections and ATR calculations are fixed upon bar confirmation. Labels persist on the chart until the maximum label count is reached, at which point the oldest labels are automatically removed by TradingView.
For optimal performance on charts with many FVGs, consider increasing the minimum pip size filter or using smaller label sizes. The tiny size option provides the smallest possible text for maximum chart clarity.
Installation and Usage
Copy the source code into the TradingView Pine Editor and add the indicator to your chart. The overlay parameter is set to true, allowing labels to display directly on price candles. Configure all parameters through the indicator settings panel to match your trading style and visual preferences.
100% Pine Script v6 indicator — No repaint — Open source
ES VIX on MNQ🧭 ES + VIX Overlay on MNQ
This indicator overlays the ES (S&P 500 futures) and VIX (Volatility Index) directly on the MNQ (Micro Nasdaq Futures) chart, allowing traders to visualize in real time the correlation, divergence, and volatility influence between the three instruments.
⸻
⚙️ How It Works
• The VIX is dynamically rescaled to the MNQ’s daily open, so its moves appear on the same price scale.
• The ES line is projected based on its percentage move relative to the session open (18:00 NY).
• Both are plotted in sync with MNQ to expose relative strength and divergence zones that often precede strong directional moves.
⸻
🧩 Inputs
• VIX Symbol: choose between VIX, CBOE:VIX, TVC:VIX
• Invert VIX Correlation: flips the VIX line for inverse-correlation setups
• VIX Step: controls how sensitively the VIX moves on the MNQ scale
• ES Symbol: defines the ES contract (e.g. ES1!)
• Show Signals: toggles on/off buy & sell markers
• Step (points): minimum distance between MNQ and VIX for a valid signal
• Block Signals: disables signals between 16:15 – 03:15 (illiquid hours)
⸻
💡 Signal Logic
The system tracks crossings between MNQ and the projected VIX line:
• Buy signal → when MNQ crosses above the VIX and expands upward by ≥ X points.
• Sell signal → when MNQ crosses below the VIX and expands downward by ≥ X points.
A time filter avoids noise during low-volume sessions.
⸻
📊 Visual Guide
• Cyan line = VIX on MNQ scale
• Orange line = ES on MNQ scale
• Labels on the right = current VIX / ES values
• BUY/SELL markers = potential volatility-based reversals
⸻
🚀 Practical Use
Perfect for traders who monitor:
• VIX–price divergence
• ES vs MNQ momentum confirmation
• Early volatility expansions before trend moves
⸻
💬 Core Idea:
“Volatility leads — price confirms.”
QQQ TimingThis is a trend-following position trading strategy designed for the QQQ and the leveraged ETF QLD (ProShares Ultra QQQ). The primary goal is to capture multi-month holds for maximal profit.
Key Instruments & Performance
The strategy performs best with QLD, which yields far superior results compared to QQQ.
TQQQ (triple-leveraged) results in higher drawdowns and is not the optimal choice.
Important: The system is not intended for use with other indexes, individual stocks, or investments (like crypto or gold), as performance can vary widely.
Buy Signals
The strategy's signals are rooted in the S&P 500 Index (SPX), as testing showed it provides more reliable triggers than using QQQ itself.
Primary Buy Signal (Credit to IBD/Mike Webster): The SPX triggers a buy when its low closes above the 21-day Exponential Moving Average (EMA) for three consecutive days.
Refinement with Downtrend Lines: During corrective or bear periods, results and drawdowns can be significantly improved by incorporating downtrend lines. These lines connect lower highs. The strategy waits for the price to close above a drawn downtrend line before executing a buy. This refinement can modify the primary signal, either by allowing for an earlier entry or, in some cases, completely nullifying a false signal until the trend change proves itself.
Risk Management & Exit Strategy
Initial Buy Risk: A 3.7% stop loss is applied immediately upon the initial entry.
Initial Exit Rule: An exit is required if the QQQ's low drops below the 50-day Simple Moving Average (SMA).
Note: The 3.7% stop often provides protection when the initial buy occurs below the 50-day SMA. However, if QQQ is already trading above its 50-day SMA at the time of the SPX signal (indicating relative strength), historically, it has been better to use the 50-day SMA rule to give the position more room to run.
Trend Exit (Profit-Taking): To stay in a strong trend for the optimal amount of time, the long position is exited when a moving average crossover to the downside is triggered, based around the 107-day Simple Moving Average (SMA).
Anchored ATH Drawdown LevelsThe Anchored ATH Drawdown Levels plots horizontal lines from a chosen anchor price (ATH), showing potential pullback zones at set percentage drops below it.
This indicator's use lies in its anchored ATH framework, which rapidly visualizes precise drawdown levels as dynamic levels of interest or price targets enabling traders to anticipate pullback depths and potential reversal levels without manual calculations.
Pick "True ATH" for the all-time high or "Period ATH" for anchored highs reset weekly, monthly, or quarterly. Lines stretch right for a cleaner visual.
Key Features
Anchoring: True ATH (lifetime max) or Period ATH (resets on 1W/1M/3M intervals).
Drawdown Levels: 8 adjustable levels (defaults: -5%, -10%, -15%, -20% on; -25% to -50% off). Toggle each, set drop % (0.1-99.9), pick color, style (solid/dashed/dotted), width (1-3).
ATH Line: Optional ATH line with custom color, style, width.
Unified Look: Global overrides for all levels' color, style, width.
Labels: Show % drops (with/without prices) via text boxes or full tags; sizes from tiny to large.
Projection: Lines extend 5-100 bars right (default 20).
Settings
Anchor: Mode and timeframe.
Display: Toggle levels/ATH, set extension.
Labels: Style (text/full/none), size, price display.
Global/ATH/Levels: Colors, styles, widths (per-level or shared).
How to Use
Load on chart (overlays prices; handles up to 500 lines).
Choose anchor for your high.
Tune levels for key pullbacks (e.g., -5% minor, -20% major).
Customize visuals where the lines update on new peaks.
Relative Strength vs Benchmark SPYRelative Strength vs Benchmark (SPY)
This indicator compares the performance of the charted symbol (stock or ETF) against a benchmark index — by default, SPY (S&P 500). It plots a Relative Strength (RS) ratio line (Symbol / SPY) and its EMA(50) to visualize when the asset is outperforming or underperforming the market.
Key Features
📈 RS Line (blue): Shows how the asset performs relative to SPY.
🟠 EMA(50): Smooths the RS trend to highlight sustained leadership.
🟩 Green background: Symbol is outperforming SPY (RS > EMA).
🟥 Red background: Symbol is underperforming SPY (RS < EMA).
🔔 Alerts: Automatic notifications when RS crosses above/below its EMA — signaling new leadership or weakness.
How to Use
Apply to any stock or ETF chart.
Keep benchmark = SPY, or switch to another index (e.g., QQQ, IWM, XLK).
Watch for RS crossovers and trends:
Rising RS → money flowing into the asset.
Falling RS → rotation away from the asset.
Perfect for sector rotation, ETF comparison, and momentum analysis workflows.
Ben's BTC Macro Fair Value OscillatorBen's BTC Macro Fair Value Oscillator
Overview
The **BTC Macro Fair Value Oscillator** is a non-crypto fair value framework that uses macro asset relationships (equities, dollar, gold) to estimate Bitcoin's "macro-driven fair value" and identify mean-reversion opportunities.
"Is BTC cheap or expensive right now?" on the 4 Hour Timeframe ONLY
### Key Features
✅ **Macro-driven**: Uses QQQ, DXY, XAUUSD instead of on-chain or crypto metrics
✅ **Dynamic weighting**: Assets weighted by rolling correlation strength
✅ **Mean-reversion signals**: Identifies when BTC is cheap/expensive vs macro
✅ **Validated parameters**: Optimized through 5-year backtest (Sharpe 6.7-9.9)
✅ **Visual transparency**: Live correlation panel, fair value bands, statistics
✅ **Non-repainting**: All calculations use confirmed historical data only
### What This Indicator Does
- Builds a **synthetic macro composite** from traditional assets
- Runs a **rolling regression** to predict BTC price from macro
- Calculates **deviation z-score** (how far BTC is from macro fair value)
- Generates **entry signals** when BTC is extremely cheap vs macro (dev < -2)
- Generates **exit signals** when BTC returns to fair value (dev > 0)
### What This Indicator Is NOT
❌ Not a high-frequency trading system (sparse signals by design)
❌ Not optimized for absolute returns (optimized for Sharpe ratio)
❌ Not suitable as standalone trading system (best as overlay/confirmation)
❌ Not predictive of short-term price movements (mean-reversion timeframe: days to weeks)
---
## Core Concept
### The Premise
Bitcoin doesn't trade in a vacuum. It's influenced by:
- **Risk appetite** (equities: QQQ, SPX)
- **Dollar strength** (DXY - inverse to risk assets)
- **Safe haven flows** (Gold: XAUUSD)
When macro conditions are "good for BTC" (risk-on, weak dollar, strong equities), BTC should trade higher. When macro conditions turn against it, BTC should trade lower.
### The Innovation
Instead of looking at BTC in isolation, this indicator:
1. **Measures how strongly** BTC currently correlates with each macro asset
2. **Builds a weighted composite** of those macro returns (the "D" driver)
3. **Regresses BTC price on D** to estimate "macro fair value"
4. **Tracks the deviation** between actual price and fair value
5. **Signals mean reversion** when deviation becomes extreme
### The Edge
The validated edge comes from:
- **Extreme deviations predict future returns** (dev < -2 → +1.67% over 12 bars)
- **Monotonic relationship** (more negative dev → higher forward returns)
- **Works out-of-sample** (test Sharpe +83-87% better than training)
- **Low correlation with buy & hold** (provides diversification value)
---
## Methodology
### Step 1: Macro Composite Driver D(t)
The indicator builds a weighted composite of macro asset returns:
**Process:**
1. Calculate **log returns** for BTC and each macro reference (QQQ, DXY, XAUUSD)
2. Compute **rolling correlation** between BTC and each reference over `corrLen` bars
3. **Weight each asset** by `|correlation|` if above `minCorrAbs` threshold, else 0
4. **Sign-adjust** weights (+1 for positive corr, -1 for negative) to handle inverse relationships
5. **Z-score normalize** each reference's returns over `fvWindow`
6. **Composite D(t)** = weighted sum of sign-adjusted z-scores
**Formula:**
```
For each reference i:
corr_i = correlation(BTC_returns, ref_i_returns, corrLen)
weight_i = |corr_i| if |corr_i| >= minCorrAbs else 0
sign_i = +1 if corr_i >= 0 else -1
z_i = (ref_i_returns - mean) / std
contrib_i = sign_i * z_i * weight_i
D(t) = sum(contrib_i) / sum(weight_i)
```
**Key Insight:** D(t) represents "how good macro conditions are for BTC right now" in a normalized, correlation-weighted way.
---
### Step 2: Fair Value Regression
Uses rolling linear regression to predict BTC price from D(t):
**Model:**
```
BTC_price(t) = α + β * D(t)
```
**Calculation (Pine Script approach):**
```
corr_CD = correlation(BTC_price, D, fvWindow)
sd_price = stdev(BTC_price, fvWindow)
sd_D = stdev(D, fvWindow)
cov = corr_CD * sd_price * sd_D
var_D = variance(D, fvWindow)
β = cov / var_D
α = mean(BTC_price) - β * mean(D)
fair_value(t) = α + β * D(t)
```
**Result:** A time-varying "macro fair value" line that adapts as correlations change.
---
### Step 3: Deviation Oscillator
Measures how far BTC price has deviated from fair value:
**Calculation:**
```
residual(t) = BTC_price(t) - fair_value(t)
residual_std = stdev(residual, normWindow)
deviation(t) = residual(t) / residual_std
```
**Interpretation:**
- `dev = 0` → BTC at fair value
- `dev = -2` → BTC is 2 standard deviations **cheap** vs macro
- `dev = +2` → BTC is 2 standard deviations **rich** vs macro
---
### Step 4: Signal Generation
**Long Entry:** `dev` crosses below `-2.0` (BTC extremely cheap vs macro)
**Long Exit:** `dev` crosses above `0.0` (BTC returns to fair value)
**No shorting** in default config (risk management choice - crypto volatility)
---
## How It Works
### Visual Components
#### 1. Price Chart (Main Panel)
**Fair Value Line (Orange):**
- The estimated "macro-driven fair value" for BTC
- Calculated from rolling regression on macro composite
**Fair Value Bands:**
- **±1σ** (light): 68% confidence zone
- **±2σ** (medium): 95% confidence zone
- **±3σ** (dark, dots): 99.7% confidence zone
**Entry/Exit Markers:**
- **Green "LONG" label** below bar: Entry signal (dev < -2)
- **Red "EXIT" label** above bar: Exit signal (dev > 0)
#### 2. Deviation Oscillator (Separate Pane)
**Line plot:**
- Shows current deviation z-score
- **Green** when dev < -2 (cheap)
- **Red** when dev > +2 (rich)
- **Gray** when neutral
**Histogram:**
- Visual representation of deviation magnitude
- Green bars = negative deviation (cheap)
- Red bars = positive deviation (rich)
**Threshold lines:**
- **Green dashed at -2.0**: Entry threshold
- **Red dashed at 0.0**: Exit threshold
- **Gray solid at 0**: Fair value line
#### 3. Correlation Panel (Top-Right)
Shows live correlation and weighting for each macro asset:
| Asset | Corr | Weight |
|-------|------|--------|
| QQQ | +0.45 | 0.45 |
| DXY | -0.32 | 0.32 |
| XAUUSD | +0.15 | 0.00 |
| Avg \|Corr\| | 0.31 | 0.77 |
**Reading:**
- **Corr**: Current rolling correlation with BTC (-1 to +1)
- **Weight**: How much this asset contributes to fair value (0 = excluded)
- **Avg |Corr|**: Average correlation strength (should be > 0.2 for reliable signals)
**Colors:**
- Green/Red corr = positive/negative correlation
- White weight = asset included, Gray = excluded (below minCorrAbs)
#### 4. Statistics Label (Bottom-Right)
```
━━━ BTC Macro FV ━━━
Dev: -2.34
Price: $103,192
FV: $110,500
Status: CHEAP ⬇
β: 103.52
```
**Fields:**
- **Dev**: Current deviation z-score
- **Price**: Current BTC close price
- **FV**: Current macro fair value estimate
- **Status**: CHEAP (< -2), RICH (> +2), or FAIR
- **β**: Current regression beta (sensitivity to macro)
---
## Installation & Setup
### TradingView Setup
1. Open TradingView and navigate to any **BTC chart** (BTCUSD, BTCUSDT, etc.)
2. Open **Pine Editor** (bottom panel)
3. Click **"+ New"** → **"Blank indicator"**
4. **Delete** all default code
5. **Copy** the entire Pine Script from `GHPT_optimized.pine`
6. **Paste** into the editor
7. Click **"Save"** and name it "BTC Macro Fair Value Oscillator"
8. Click **"Add to Chart"**
### Recommended Chart Settings
**Timeframe:** 4h (validated timeframe)
**Chart Type:** Candlestick or Heikin Ashi
**Overlay:** Yes (indicator plots on price chart + separate pane)
**Alternative Timeframes:**
- Daily: Works but slower signals
- 1h-2h: May work but not validated
- < 1h: Not recommended (too noisy)
### Symbol Requirements
**Primary:** BTC/USD or BTC/USDT on any exchange
**Macro References:** Automatically fetched
- QQQ (Nasdaq 100 ETF)
- DXY (US Dollar Index)
- XAUUSD (Gold spot)
**Data Requirements:**
- At least **90 bars** of history (warmup period)
- Premium TradingView recommended for full historical data
---
## Reading the Indicator
### Identifying Signals
#### Strong Long Signal (High Conviction)
- ✅ Deviation < -2.0 (extreme undervaluation)
- ✅ Avg |Corr| > 0.3 (strong macro relationships)
- ✅ Price touching or below -2σ band
- ✅ "LONG" label appears below bar
**Interpretation:** BTC is extremely cheap relative to macro conditions. Historical data shows +1.67% average return over next 12 bars (48 hours at 4h timeframe).
#### Moderate Long Signal (Lower Conviction)
- ⚠️ Deviation between -1.5 and -2.0
- ⚠️ Avg |Corr| between 0.2-0.3
- ⚠️ Price approaching -2σ band
**Interpretation:** BTC is cheap but not extreme. Consider as confirmation for other signals.
#### Exit Signal
- 🔴 Deviation crosses above 0 (returns to fair value)
- 🔴 "EXIT" label appears above bar
**Interpretation:** Mean reversion complete. Close long positions.
#### Strong Short/Avoid Signal
- 🔴 Deviation > +2.0 (extreme overvaluation)
- 🔴 Avg |Corr| > 0.3
- 🔴 Price touching or above +2σ band
**Interpretation:** BTC is expensive vs macro. Historical data shows -1.79% average return over next 12 bars. Consider exiting longs or reducing exposure.
### Regime Detection
**Strong Regime (Reliable Signals):**
- Avg |Corr| > 0.3
- Multiple assets weighted > 0
- Fair value line tracking price reasonably well
**Weak Regime (Unreliable Signals):**
- Avg |Corr| < 0.2
- Most weights = 0 (grayed out)
- Fair value line diverging wildly from price
- **Action:** Ignore signals until correlations strengthen
ROC & Momentum FusionROC & Momentum Fusion
(by HabibiTrades ©)
Purpose:
“ROC & Momentum Fusion” combines the Rate of Change (ROC) with a MACD-style signal engine to identify early momentum reversals, confirmed trend shifts, and low-volatility choppy zones.
It’s built for traders who want early momentum detection with the clarity of trend persistence — adaptable to any instrument and timeframe.
⚙️ How It Works
Rate of Change (ROC):
Measures the percentage speed of price change over time, showing the raw momentum strength.
Signal Line (EMA):
A short EMA of the ROC — responds faster to new directional shifts, similar to a MACD signal line.
Histogram:
Displays acceleration and deceleration between the ROC and its signal line.
Persistent Trend States:
When the ROC crosses the signal line or zero, the indicator enters a new momentum regime
(bullish or bearish) and stays in that color until another flip occurs.
Dynamic Choppy Zone:
When ROC momentum fades within the zero buffer zone, the indicator turns orange, signaling a sideways or indecisive market.
🟢 Visual Regimes
Regime Description Color
Bullish Momentum ROC above zero or signal line 🟢 Neon Green
Bearish Momentum ROC below zero or signal line 🔴 Neon Red
Choppy / Neutral ROC hovering within ±threshold range 🟠 Neon Orange
This color system makes it visually effortless to see whether the market is trending, reversing, or consolidating.
🧭 Adaptive Intelligence
The script automatically adjusts to market type and session for consistent accuracy:
Session Adaptive: Adjusts smoothing based on global sessions (Asian, London, New York, Sydney).
Instrument Adaptive: Fine-tunes sensitivity automatically for major assets — NASDAQ (NQ), S&P 500 (ES), Gold (GC), Oil (CL), Bitcoin (BTC).
Volatility Normalization: Optionally divides ROC by its own standard deviation to stabilize noisy assets and maintain consistent scaling.
🔔 Signals & Alerts
Bullish Reversal:
ROC crosses above its signal or zero line — early momentum flip.
Bearish Reversal:
ROC crosses below its signal or zero line — downward momentum flip.
Alerts:
Both reversal conditions include built-in alert triggers for automation and notifications.
🎨 Visual Features
Main ROC Line: Adaptive EMA of ROC, color-coded by trend regime.
Signal Line: Optional white EMA overlay for MACD-style crossovers.
Histogram: Visual burst display of acceleration (green/red).
Reversal Markers: Optional triangles marking exact crossover points.
Threshold Lines: Highlight the zero and buffer zones for visual clarity.
🧩 Best Use Cases
Identify early momentum shifts before price confirms them.
Confirm trend continuation or exhaustion with color persistence.
Detect choppy / low-volatility periods instantly.
Works across all timeframes — from 1-minute scalping to weekly swings.
Combine with structure, EMAs, or volume for confirmation.
⚙️ Recommended Settings
Setting Default Description
ROC Period 6 Core momentum length (lower = faster response).
Signal EMA Length 3 MACD-style responsiveness (lower = more reactive).
Zero Buffer Threshold 0.15 Defines the width of the neutral zone around zero.
Choppy Zone Multiplier 1.0 Expands or tightens the orange zone sensitivity.
These defaults have been optimized through real-market testing to balance responsiveness and smoothness across different asset classes.
⚠️ Notes
The color regime is persistent, meaning once the line turns bullish or bearish, it remains in that state until momentum structurally flips.
The orange zone represents momentum uncertainty and helps avoid false entries in range-bound markets.
Works seamlessly on any timeframe and with any asset.
Hindenburg OmenThe Hindenburg Omen highlights periods of internal market stress — when both new 52-week highs and new lows expand while the NYSE remains in an uptrend.
This condition often precedes major corrections or volatility spikes by revealing divergence beneath the surface of an advancing market.
The indicator triggers when four classic breadth rules align: elevated highs and lows, a positive trend, a negative McClellan Oscillator, and a highs-to-lows ratio under 2:1.
Use it on broad indices (NYSE, S&P 500) as an early-warning context tool, NOT a standalone sell signal.
Henry's MA & RSProviding 10 21 50 200 MA and RS rating based on S&P 500, basically for US stocks. Enjoy!
Market Structure Trailing Stop MTF [Inspired by LuxAlgo]# Market Structure Trailing Stop MTF
**OPEN-SOURCE SCRIPT**
*208k+ views on original · Modified for MTF Support*
This indicator is a direct adaptation of the renowned **Market Structure Trailing Stop** by **LuxAlgo** (original script: [Market Structure Trailing Stop ]()). The core logic remains untouched, providing dynamic trailing stops based on market structure breaks (CHoCH/BOS). The **only modification** is the addition of **Multi-Timeframe (MTF) support**, allowing users to apply the trailing stops and structures from **higher timeframes (HTF)** directly on their current chart. This enhances usability for traders analyzing cross-timeframe confluence without switching charts.
**Special thanks to LuxAlgo** for releasing this powerful open-source tool under CC BY-NC-SA 4.0. Your contributions to the TradingView community have inspired countless traders—grateful for the solid foundation!
## 🔶 How the Script Works: A Deep Dive
At its heart, this indicator detects **market structure shifts** (bullish or bearish breaks of swing highs/lows) and uses them to generate **adaptive trailing stops**. These stops trail the price while protecting profits and acting as dynamic support/resistance levels. The MTF enhancement pulls this logic from user-specified higher timeframes, overlaying HTF structures and stops on the lower timeframe chart for seamless multi-timeframe analysis.
### Core Logic (Unchanged from LuxAlgo's Original)
1. **Pivot Detection**:
- Uses `ta.pivothigh()` and `ta.pivotlow()` with a user-defined lookback (`length`) to identify swing highs (PH) and lows (PL).
- Coordinates (price `y` and bar index/time `x`) are stored in persistent variables (`var`) for tracking recent pivots.
2. **Market Structure Detection**:
- **Bullish Structure (BOS/CHoCH)**: Triggers when `close > recent PH` (break above swing high).
- If `resetOn = 'CHoCH'`, resets only on major shifts (Change of Character); otherwise, on all breaks.
- Sets trend state `os = 1` (bullish) and highlights the break with a horizontal line (dashed for CHoCH, dotted for BOS).
- Initializes trailing stop at the local minimum (lowest low since the pivot) using a backward loop: `btm = math.min(low , btm)`.
- **Bearish Structure**: Triggers when `close < recent PL`, mirroring the bullish logic (`os = -1`, local maximum for stop).
- Structure state `ms` tracks the break type (1 for bull, -1 for bear, 0 neutral), resetting based on user settings.
3. **Trailing Stop Calculation**:
- Tracks **trailing max/min**:
- On new bull structure: Reset `max = close`.
- On new bear: Reset `min = close`.
- Otherwise: `max = math.max(close, max)` / `min = math.min(close, min)`.
- **Stop Adjustment** (the "trailing" magic):
- On fresh structure: `ts = btm` (bull) or `top` (bear).
- In ongoing trend: Increment/decrement by a percentage of the max/min change:
- Bull: `ts += (max - max ) * (incr / 100)`
- Bear: `ts += (min - min ) * (incr / 100)`
- This creates a **ratcheting effect**: Stops move favorably with the trend but never against it, converging toward price at a controlled rate.
- **Visuals**:
- Plots `ts` line colored by trend (teal for bull, red for bear).
- Fills area between `close` and `ts` (orange on retracements).
- Draws structure lines from pivot to break point.
4. **Edge Cases**:
- Variables like `ph_cross`/`pl_cross` prevent multiple triggers on the same pivot.
- Neutral state (`ms = 0`) preserves prior `max/min` until a new structure.
### MTF Enhancement (Our Addition)
- **request.security() Integration**:
- Wraps the entire core function `f()` in a security call for each timeframe (`tf1`, `tf2`).
- Returns HTF values (e.g., `ts1`, `os1`, structure times/prices) to the chart's context.
- Uses `lookahead=barmerge.lookahead_off` for accurate historical repainting-free data.
- Structures are drawn using `xloc.bar_time` to align HTF lines precisely on the LTF chart.
- **Multi-Output Handling**:
- Separate plots/fills/lines for each TF (e.g., `plot_ts1`, `plot_ts2`).
- Colors and toggles per TF to distinguish HTF1 (e.g., teal/red) from HTF2 (e.g., blue/maroon).
- **Benefits**: Spot HTF bias on LTF entries, e.g., enter longs only if both TF1 (1H) and TF2 (4H) show bullish `os=1`.
This keeps the script lightweight—**no repainting, max 500 lines**, and fully compatible with LuxAlgo's original behavior when TFs are set to the chart's timeframe.
## 🔶 SETTINGS
### Core Parameters
- **Pivot Lookback** (`length = 14`): Bars left/right for pivot detection. Higher = smoother structures, fewer signals; lower = more noise.
- **Increment Factor %** (`incr = 100`): Speed of stop convergence (0-∞). 100% = full ratchet (mirrors max/min exactly); <100% = slower trail, reduces whipsaws.
- **Reset Stop On** (`'CHoCH'`): `'CHoCH'` = Reset only on major reversals (dashed lines); `'All'` = Reset on every BOS/CHoCH (tighter stops).
### MTF Support
- **Timeframe 1** (`tf1 = ""`): HTF for first set (e.g., "1H"). Empty = current chart.
- **Timeframe 2** (`tf2 = ""`): Second HTF (e.g., "4H"). Enables dual confluence.
### Display Toggles
- **Show Structures** (`true`): Draws horizontal lines for breaks (per TF colors).
- **Show Trailing Stop TF1/TF2** (`true`): Plots the stop line.
- **Show Fill TF1/TF2** (`true`): Area fill between close and stop.
### Candle Coloring (Optional)
- **Color Candles** (`false`): Enables custom `plotcandle` for body/wick/border.
- **Candle Color Based On TF** (`"None"`): `"TF1"`, `"TF2"`, or none. Colors bull trend green, bear red.
- **Candle Colors**: Separate inputs for bull/bear body, wick, border (e.g., solid green body, transparent wick).
### Alerts
- **Enable MS Break Alerts** (`false`): Notifies on structure breaks (bull/bear per TF) **only on bar close** (`barstate.isconfirmed` + `alert.freq_once_per_bar_close`).
- **Enable Stop Hit Alerts** (`false`): Triggers on stop breaches (long/short per TF), using `ta.crossunder/crossover`.
### Colors
- **TF1 Colors**: Bullish (teal), Bearish (red), Retracement (orange).
- **TF2 Colors**: Bullish (blue), Bearish (maroon), Retracement (orange).
- **Area Transparency** (`80`): Fill opacity (0-100).
## 🔶 USAGE
Trailing stops shine in **trend-following strategies**:
- **Entries**: Use structure breaks as signals (e.g., long on bullish BOS from HTF1).
- **Exits**: Trail stops for profit-locking; alert on hits for automation.
- **Confluence**: Overlay HTF1 (e.g., 1H) for bias, HTF2 (e.g., Daily) for major levels—enter LTF only on alignment.
- **Risk Management**: Lower `incr` avoids early stops in chop; reset on `'All'` for aggressive trailing.
! (i.imgur.com)
*HTF1 shows bullish structure (teal line), trailing stop ratchets up—long entry confirmed on LTF pullback.*
! (i.imgur.com)
*TF1 (blue) bearish, TF2 (red) neutral—avoid shorts until alignment.*
! (i.imgur.com)
*Colored based on TF1 trend: Green bodies on bull `os=1`.*
Pro Tip: Test on demo—pair with LuxAlgo's other tools like Smart Money Concepts for full structure ecosystem.
## 🔶 DETAILS: Mathematical Breakdown
On bullish break:
- Local min: `btm = ta.lowest(n - ph_x)` (optimized loop equivalent).
- Stop init: `ts = btm`.
- Update: `Δmax = max - max `, `ts_new = ts + Δmax * (incr/100)`.
Bearish mirrors with `Δmin` (negative, so decrements `ts`).
In MTF: HTF `time` aligns lines via `line.new(htf_time, level, current_time, level, xloc.bar_time)`.
No logs/math libs needed—pure Pine v5 efficiency.
## Disclaimer
This is for educational purposes. Not financial advice. Backtest thoroughly. Original by LuxAlgo—modify at your risk. See TradingView's (www.tradingview.com). Licensed under CC BY-NC-SA 4.0 (attribution to LuxAlgo required).
X Tail that Wagsintraday session-framework and ETH-anchored VWAP tool for TradingView. It draws today’s OVN (ETH) high/mid/low, today’s RTH-day open, previous day open/high/low, and a carried ETH VWAP handle (yesterday’s 4:00 PM NY VWAP, projected forward) to give you a clean, non-repainting scaffold for bias, structure, and execution. All timestamps are New York–local with DST handled explicitly, so historical sessions align correctly across time changes.
Key Capabilities
ETH OVN Range (18:00 → 09:30 NY)
Captures the rolling overnight high/low and computes the mid; at 09:30 NY it locks those levels and extends them to 16:00 NY (same day).
Optional labels (size/color configurable) placed slightly to the right of the 4 PM timestamp for readability.
Daily Handles (Today & Previous Day)
Today’s open line starts at the ETH open (anchor preserved) and extends toward 4 PM NY (or up to the “current bar + 5 bars” cap), with label control.
Previous day open/high/low plotted as discrete reference lines for carry-over structure.
ETH-Anchored VWAP (Live) + Bands
ETH-anchored VWAP runs only during the active ETH session (DST-aware).
Optional VWAP bands (0.5×, 1.0×, 2.0× multipliers) plotted as line-break series.
Carried ETH VWAP Handle (PD 4 PM Snapshot)
At 16:00 NY, the script snapshots the final ETH VWAP value.
On the next ETH open, it projects that value as a static dashed line through the session (non-mutating, non-repainting), with optional label.
Labeling & Styling
Single-toggle label system with color and five sizes.
Per-line color/width controls for quick visual hierarchy.
Internal “tail” logic keeps right endpoints near price (open-anchored lines extend to min(4 PM, now + 5 bars)), avoiding chart-wide overdraw.
Robust Session Logic
All session boundaries computed in NY local time; DST rules applied for historical bars.
Cross-midnight windows handled safely (no gaps or misalignment around day rolls).
Primary Use Cases
Session Bias & Context
Use OVN H/M/L and today’s open to define structural bias zones before RTH begins. A break-and-hold above OVN mid, for example, can filter long ideas; conversely, rejection at OVN high can warn of mean reversion.
Carry-Forward Mean/Value Reference
The carried ETH VWAP (PD 4 PM) acts as a “value memory” line for the next day. Traders can:
Fade tests away from it in balanced conditions,
Use it as a pullback/acceptance gauge during trends,
Track liquidity grabs when price spikes through and reclaims.
Execution Planning & Risk
Anchor stops/targets around PD H/L and OVN H/M/L for well-defined invalidation.
Combine with your entry model (order-flow, momentum, or pattern) to time fades at range extremes or momentum breaks from OVN mid.
Confluence Mapping
Layer the tool with opening range tools, HTF zones, or profile/VWAPs (weekly/daily) to spot high-quality confluence where multiple references cluster.
Regime & Day-Type Read
Quickly see whether RTH accepts/rejects the OVN range or gravitates to PD VWAP handle, helping classify the day (trend, balanced, double-distribution, etc.).
Quick Start
Apply to your intraday chart (any instrument supported by TradingView; best on ≤15m for live intraday context).
In Current Day group, keep Open and OVN HL on; optionally display the mid.
In Previous Day group, enable PD Open/HL for carry-over levels.
Enable AVWAP if you want live ETH-anchored VWAP and its Bands for distance context.
Keep PD VWAP on to project yesterday’s 4 PM ETH VWAP as a static dashed line into today.
Use the Label group to size/color the on-chart tags.
Settings Overview (Plain-English)
Label: Toggle labels on/off; choose label text color and size.
Current Day:
Open (color/width) — daily open line anchored at ETH open.
OVN HL (and Mid) — overnight high/low and midpoint, locked at 09:30 and extended to 16:00.
AVWAP + Bands — ETH-anchored VWAP with optional 0.5×/1×/2× bands.
Previous Day:
PD Open/HL — yesterday’s daily handles.
PD VWAP — the carried snapshot of yesterday’s 4 PM ETH VWAP projected forward (dashed).
Notes & Best Practices
Time Zone: All session logic is hard-coded to America/New_York and DST-robust. No manual DST tweaks required.
Non-Repainting: The carried PD VWAP line is a snapshot; once drawn, it does not back-fill or mutate.
Intraday Use: Designed for intraday execution. It will display on higher TFs, but the session granularity is most informative at ≤15m.
Performance: Script caps lines/labels (500) and uses short “tails” to keep charts responsive.
Compatibility: Uses request.security(..., "D", series, lookahead_on) intentionally to lock daily handles early for planning; this is by design.
Typical Playbook Examples
Fade Extremes in Balance: As RTH opens inside OVN, look for rejection wicks at OVN High with confluence from PD VWAP handle overhead; risk above OVN High.
Trend Continuation: In directional sessions, acceptances above OVN Mid with price pulling back to the live ETH VWAP can offer continuation entries.
Reversion to Value: Sharp extensions away from the carried PD VWAP that quickly stall often revert to that handle; use it as a target or as an acceptance test.
Risk & Position DashboardRisk & Position Dashboard
Overview
The Risk & Position Dashboard is a comprehensive trading tool designed to help traders calculate optimal position sizes, manage risk, and visualize potential profit/loss scenarios before entering trades. This indicator provides real-time calculations for position sizing based on account size, risk percentage, and stop-loss levels, while displaying multiple take-profit targets with customizable risk-reward ratios.
Key Features
Position Sizing & Risk Management:
Automatic position size calculation based on account size and risk percentage
Support for leveraged trading with maximum leverage limits
Fractional shares support for brokers that allow partial share trading
Real-time fee calculation including entry, stop-loss, and take-profit fees
Break-even price calculation including trading fees
Multi-Target Profit Management:
Support for up to 3 take-profit levels with individual portion allocations
Customizable risk-reward ratios for each take-profit target
Visual profit/loss zones displayed as colored boxes on the chart
Individual profit calculations for each take-profit level
Visual Dashboard:
Clean, customizable table display showing all key metrics
Configurable label positioning and styling options
Real-time tracking of whether stop-loss or take-profit levels have been reached
Color-coded visual zones for easy identification of risk and reward areas
Advanced Configuration:
Comprehensive input validation and error handling
Support for different chart timeframes and symbols
Customizable colors, fonts, and display options
Hide/show individual data fields for personalized dashboard views
How to Use
Set Account Parameters: Configure your account size, maximum risk percentage per trade, and trading fees in the "Account Settings" section.
Define Trade Setup: Use the "Entry" time picker to select your entry point on the chart, then input your entry price and stop-loss level.
Configure Take Profits: Set your desired risk-reward ratios and portion allocations for each take-profit level. The script supports 1-3 take-profit targets.
Analyze Results: The dashboard will automatically calculate and display position size, number of shares, potential profits/losses, fees, and break-even levels.
Visual Confirmation: Colored boxes on the chart show profit zones (green) and loss zones (red), with lines extending to current price levels.
Reset Entry and SL:
You can easily reset the entry and stop-loss by clicking the "Reset points..." button from the script's "More" menu.
This is useful if you want to quickly clear your current trade setup and start fresh without manually adjusting the points on the chart.
Calculations
The script performs sophisticated calculations including:
Position size based on risk amount and price difference between entry and stop-loss
Leverage requirements and position amount calculations
Fee-adjusted risk-reward ratios for realistic profit expectations
Break-even price including all trading costs
Individual profit calculations for partial position closures
Detailed Take-Profit Calculation Formula:
The take-profit prices are calculated using the following mathematical formula:
// Core variables:
// risk_amount = account_size * (risk_percentage / 100)
// total_risk_per_share = |entry_price - sl_price| + (entry_price * fee%) + (sl_price * fee%)
// shares = risk_amount / total_risk_per_share
// direction_factor = 1 for long positions, -1 for short positions
// Take-profit calculation:
net_win = total_risk_per_share * shares * RR_ratio
tp_price = (net_win + (direction_factor * entry_price * shares) + (entry_price * fee% * shares)) / (direction_factor * shares - fee% * shares)
Step-by-step example for a long position (based on screenshot):
Account Size: 2,000 USDT, Risk: 2% = 40 USDT
Entry: 102,062.9 USDT, Stop Loss: 102,178.4 USDT, Fee: 0.06%
Risk per share: |102,062.9 - 102,178.4| + (102,062.9 × 0.0006) + (102,178.4 × 0.0006) = 115.5 + 61.24 + 61.31 = 238.05 USDT
Shares: 40 ÷ 238.05 = 0.168 shares (rounded to 0.17 in display)
Position Size: 0.17 × 102,062.9 = 17,350.69 USDT
Position Amount (with 9x leverage): 17,350.69 ÷ 9 = 1,927.85 USDT
For 2:1 RR: Net win = 238.05 × 0.17 × 2 = 80.94 USDT
TP1 price = (80.94 + (1 × 102,062.9 × 0.17) + (102,062.9 × 0.0006 × 0.17)) ÷ (1 × 0.17 - 0.0006 × 0.17) = 101,464.7 USDT
For 3:1 RR: TP2 price = 101,226.7 USDT (following same formula with RR=3)
This ensures that after accounting for all fees, the actual risk-reward ratio matches the specified target ratio.
Risk Management Features
Maximum Trade Amount: Optional setting to limit position size regardless of account size
Leverage Limits: Built-in maximum leverage protection
Fee Integration: All calculations include realistic trading fees for accurate expectations
Validation: Automatic checking that take-profit portions sum to 100%
Historical Tracking: Visual indication when stop-loss or take-profit levels are reached (within last 5000 bars)
Understanding Max Trade Amount - Multiple Simultaneous Trades:
The "Max Trade Amount" feature is designed for traders who want to open multiple positions simultaneously while maintaining proper risk management. Here's how it works:
Key Concept:
- Risk percentage (2%) always applies to your full Account Size
- Max Trade Amount limits the capital allocated per individual trade
- This allows multiple trades with full risk on each trade
Example from Screenshot:
Account Size: 2,000 USDT
Max Trade Amount: 500 USDT
Risk per Trade: 2% × 2,000 = 40 USDT per trade
Stop Loss Distance: 0.11% from entry
Result: Position Size = 17,350.69 USDT with 35x leverage
Total Risk (including fees): 40.46 USDT
Multiple Trades Strategy:
With this setup, you can open:
Trade 1: 40 USDT risk, 495.73 USDT position amount (35x leverage)
Trade 2: 40 USDT risk, 495.73 USDT position amount (35x leverage)
Trade 3: 40 USDT risk, 495.73 USDT position amount (35x leverage)
Trade 4: 40 USDT risk, 495.73 USDT position amount (35x leverage)
Total Portfolio Exposure:
- 4 simultaneous trades = 4 × 495.73 = 1,982.92 USDT position amount
- Total risk exposure = 4 × 40 = 160 USDT (8% of account)






















