90-Day Beta to BTCOverview:
The 90-Day Beta to BTC indicator measures the volatility of a specific token relative to Bitcoin (BTC) over the past 90 days. Beta is a widely used statistical measure in financial markets that indicates how much a token's price moves in relation to BTC. A higher beta means the token is more volatile compared to BTC, while a lower beta means it is less volatile or moves similarly to BTC.
How It Works:
This indicator calculates the daily logarithmic returns of both the token and Bitcoin, then computes the covariance between their returns and the variance of Bitcoin’s returns. The resulting Beta value reflects the degree to which the token’s price fluctuates relative to Bitcoin's price over the past 90 days.
Beta > 1: The token is more volatile than Bitcoin, showing higher price swings.
Beta = 1: The token moves in lockstep with Bitcoin, exhibiting similar volatility.
Beta < 1: The token is less volatile than Bitcoin, showing smaller price fluctuations.
Beta = 0: The token's price movement is uncorrelated with Bitcoin’s price.
Negative Beta: The token moves opposite to Bitcoin, indicating an inverse relationship.
Use Case:
This indicator is particularly useful for traders or investors looking to identify tokens with high speculative volatility. Tokens with Beta values above 1 are typically high-risk, high-reward assets, often driven by hype, social trends, or market speculation. Conversely, tokens with Beta values below 1 offer a more stable price relationship with Bitcoin, making them less volatile and potentially safer.
In the context of a Trash Token Tournament, tokens with a higher Beta (greater than 1) may be more attractive due to their heightened volatility and potential for larger price swings, making them the “wild cards” of the market.
Visual Representation:
The Beta value is plotted as a line chart beneath the main price chart, offering a visual representation of the token’s volatility relative to Bitcoin over the last 90 days. Spikes in Beta indicate periods of increased volatility, while drops suggest stability.
Search in scripts for "Cycle"
AI-123's BTC vs Gold (Lag Correlation)
DISCLAIMER
I made this indicator with the help of ChatGPT and using what I have learned so far from The Pine Script Mastery Course, LOTS of edits based on what I have learned so far had to be made as well as additions and modifications to my liking thanks to what I have learned so far. I am aware this already exists but I have done my best to make a first ever script/indicator while learning how to properly publish as well, so please bear that in mind.
Overview
This indicator analyzes the correlation between Bitcoin (BTC) and Gold (XAUUSD), with a customizable lag applied to the Gold price, providing insight into the macro relationship between these two assets.
It is designed for traders and investors who want to track how Bitcoin and Gold move in relation to each other, particularly when Gold is lagged by a specific number of days.
Key Features:
BTC and Gold (Lagged) Price Overlay: Display Bitcoin (BTC) and Gold (XAUUSD) prices on the chart, with an adjustable lag applied to the Gold price.
Rolling Correlation Calculation: Measures the correlation between Bitcoin and lagged Gold prices over a customizable lookback period.
Adjustable Lag: The number of days that Gold is lagged relative to Bitcoin is fully customizable (default: 20 days).
Customizable Correlation Length: Allows you to choose the lookback period for the correlation (default: 50 days), providing flexibility for short-term or long-term analysis.
Normalized Plotting: Prices of Bitcoin and Gold are normalized for better visual alignment with the correlation values. BTC is divided by 1000, and Gold by 100.
Correlation Scaling: The correlation value is amplified by 10 for better visual clarity and comparison with price data.
Zero Line: Horizontal line representing a correlation of 0, making it easier to identify positive or negative correlation shifts.
Maximum Correlation Lines: Horizontal lines at +10 and -10 values for extreme correlation scenarios.
Input Settings:
Gold Symbol: Customize the Gold ticker (default: OANDA:XAUUSD).
Bitcoin Symbol: Customize the Bitcoin ticker (default: BINANCE:BTCUSDT).
Lag (in trading days): Adjust the number of trading days to lag the Gold price relative to Bitcoin (default: 20).
Correlation Length (days): Set the number of days over which the rolling correlation is calculated (default: 50).
How to Use:
Price Comparison: The BTC (Spot) and Lagged Gold plots give you a side-by-side visual comparison of the two assets, normalized for clarity.
Correlation Line: The correlation line helps you gauge the strength and direction of the relationship between BTC and lagged Gold. Positive values indicate a strong positive correlation, while negative values indicate a negative correlation.
Visual Analysis: Watch how the correlation shifts with changes in lag and correlation length to identify potential market dynamics between Bitcoin and Gold.
Potential Applications:
Macro Trading: Track how Bitcoin and Gold behave in relation to each other during periods of economic uncertainty or inflation.
Sentiment Analysis: Use the correlation data to understand the sentiment between digital and traditional assets.
Strategic Timing: Identify potential opportunities where Bitcoin and Gold show a strong correlation or diverge based on the lag adjustment.
Understanding Macro Trends/Correlations.
Disclaimer:
This indicator is for informational purposes only. The correlation between Bitcoin and Gold does not guarantee future performance, and users should conduct their own research and use risk management strategies when making trading decisions.
Notes: This script uses historical data, so results may vary across different timeframes.
Customization options allow users to adjust the lag and correlation length to better fit their trading strategy.
Future Enhancements: Additional Correlation Line: A second correlation line for different lengths of lag or different assets.
Color-Coding of Correlation: Future updates may include color-coded correlation strength, visually indicating positive or negative correlation more effectively.
[itradesize] ICT Opening range
This indicator automatically annotates the opening ranges of the AM and PM sessions. It should be used on the 1-minute timeframe , although you can check and build a further models when using a 2-3-4 or even 5-minute timeframe. You can customize this under the settings tab.
Additionally, it includes features such as standard deviations and the initial fair value gap presented. Everything is based on what ICT said in his algorithmic timing video.
The algorithm will continue to adjust prices higher or lower until it reaches a predetermined target price. This process will occur within specific time frames: the last 10 minutes before the hour and the first 10 minutes after a new hour begins.
For the AM session opening range, this is from 9:30 to 10:00 , and for the PM session, it's from 13:30 to 14:00 . Defining these ranges allows us to identify the first presented fair value gaps there, as the algorithm is designed to leave these signatures for smart money. This process of time-based delivery precision repeats every day. You can build a whole New York model on this.
It's important to journal and backtest your results results. If the market breaks the opening range on either side and there is evident liquidity, it is highly likely that it will pursue that liquidity.
However, before doing so, the market should retrace back to the first fair value gap if it hasn’t already occurred or back to the 0.75 or 0.5 level of the range at maximum.
When does this happen? Typically, when a macro event occurs— for example, during the lunch macro from 11:30 to 12:00 . In most cases, you can expect a retracement during lunch macro. If the market retraces beyond these levels, there is a higher probability that the expected scenario will not play out.
The algorithm primarily refers to the 30-minute opening range each time. The standard deviation levels can be used to establish algorithmic delivery targets and anticipate another run after the PM session opening range has occurred. The AM session often helps determine the likely direction of movement after the PM session range concludes.
The PM macro runs from 15:15 to 15:45 . At this time, the market will typically operate within the narrative that is currently underway.
Global M2 Money+ Supply Input Lead (USD)Global M2 Money Supply + INR+CAD Input Lead (USD)
This indicator calculates the global M2 money supply in USD by aggregating M2 data from multiple economies, converted to USD using their respective exchange rates. It overlays the scaled M2 data on the chart with a user-defined time shift to analyze potential correlations with asset prices, such as Bitcoin. The indicator is designed to help traders assess global liquidity trends with a customizable lead or lag.
Countries Included:
Eurozone (EUM2)
North America: United States (USM2), Canada (CAM2)
Non-EU Europe: Switzerland (CHM2), United Kingdom (GBM2), Finland (FIM2), Russia (RUM2)
Pacific: New Zealand (NZM2)
Asia: China (CNM2), Taiwan (TWM2), Hong Kong (HKM2), India (INM2), Japan (JPM2), Philippines (PHM2), Singapore (SGM2)
Latin America: Brazil (BRM2), Colombia (COM2), Mexico (MXM2)
Middle East: United Arab Emirates (AEM2), Turkey (TRM2)
Africa: South Africa (ZAM2)
Input for Lead/Lag:
Time Shift (days): Adjust this input to shift the M2 data forward (positive values) or backward (negative values) on the chart. For example, setting a lead of 85 days shifts the M2 data 85 days into the future, helping traders analyze potential leading indicators for price movements.
Webby's Market OrderThis is visual representation of Webby's Market Order.
When three consecutive lows are above 21 EMA, Uptrend expectation is natural.
When three highs are below 21 EMA, Downtrend expectation is natural.
Alert Conditions can be set when uptrend and down trend are expected.
Use this indicator with IXIC or SPY or major indices.
This is set at three lows/Highs above 21 EMA as looked by Mike Webster.
Intraday Macro & Flow Indicator# IntraMacroFlow Indicator
## Introduction
IntraMacroFlow is a volume and delta-based indicator that identifies significant price movements within trading sessions. It generates signals when volume spikes coincide with quality price movement, filtered by RSI to avoid overbought/oversold conditions.
> **Note:** This indicator provides multiple signals and should be combined with additional analysis methods such as support/resistance, trend direction, and price action patterns.
## Inputs
### Volume Settings
* **Volume Lookback Period** (14) - Number of bars for volume moving average calculation
* **Volume Threshold Multiplier** (1.5) - Required volume increase over average to generate signals
* **Delta Threshold** (0.3) - Required close-to-open movement relative to bar range (higher = stronger movement)
### Session Configuration
* **Use Dynamic Session Detection** (true) - Automatically determine session times
* **Highlight Market Open Period** (true) - Highlight first third of trading session
* **Highlight Mid-Session Period** (true) - Highlight middle portion of trading session
* **Detect Signals Throughout Whole Session** (true) - Find signals in entire session
* **Session Time** ("0930-1600") - Trading hours in HHMM-HHMM format
* **Session Type** ("Regular") - Select Regular, Extended, or Custom session
### Manual Session Settings
Used when dynamic detection is disabled:
* **Manual Session Open Hour** (9)
* **Manual Session Open Minute** (30)
* **Manual Session Open Duration** (60)
* **Manual Mid-Session Start Hour** (12)
* **Manual Mid-Session End Hour** (14)
## How It Works
The indicator analyzes each bar using three primary conditions:
1. **Volume Condition**: Current volume > Average volume × Threshold
2. **Delta Condition**: |Close-Open|/Range > Delta threshold
3. **Time Condition**: Bar falls within configured session times
When all conditions are met:
* Bullish signals appear when close > open and RSI < 70
* Bearish signals appear when close < open and RSI > 30
## Display Elements
### Shapes and Colors
* Green triangles below bars - Bullish signals
* Red triangles above bars - Bearish signals
* Blue background - Market open period
* Purple background - Mid-session period
* Bar coloring - Green (bullish), Red (bearish), or unchanged
### Information Panel
A dynamic label shows:
* Current volume relative to average (Vol)
* Delta value for current bar (Delta)
* RSI value (RSI)
* Session status (Active/Closed)
## Calculation Method
```
// Volume Condition
volumeMA = ta.sma(volume, lookbackPeriod)
volumeCondition = volume > volumeMA * volumeThreshold
// Delta Calculation (price movement quality)
priceRange = high - low
delta = math.abs(close - open) / priceRange
deltaCondition = delta > deltaThreshold
// Direction and RSI Filter
bullishBias = close > open and entrySignal and not (rsi > 70)
bearishBias = close < open and entrySignal and not (rsi < 30)
```
## Usage Recommendations
### Suitable Markets
* Equities during regular trading hours
* Futures markets
* Forex during active sessions
* Cryptocurrencies with defined volume patterns
### Recommended Timeframes
* 1-minute to 1-hour (optimal: 5 or 15-minute)
### Parameter Adjustments
* For fewer but stronger signals: increase Volume Threshold (2.0+) and Delta Threshold (0.4-0.6)
* For more signals: decrease Volume Threshold (1.2-1.5) and Delta Threshold (0.2-0.3)
### Usage Tips
* Combine with trend analysis for higher-probability entries
* Focus on signals occurring at session boundaries and mid-session
* Use opposite signals as potential exit points
* Configure alerts to receive notifications when signals occur
## Additional Notes
* RSI parameters are fixed at 14 periods with 70/30 thresholds
* The indicator handles overnight sessions correctly
* Fully compatible with TradingView alerts
* Customizable visual elements
## Release Notes
Initial release: This is a template indicator that should be customized to suit your specific trading strategies and preferences.
BySq - Market PsychologyThe script I provided is a Market Psychology Index indicator for TradingView, which focuses on three key psychological market phases:
FOMO (Fear of Missing Out)
Panic Selling
Reversal
This indicator uses volume, price changes, and specific time periods to gauge market sentiment. Let me break it down:
1. Input Parameters:
FOMO Period: Defines how many bars (candles) the FOMO index will consider for its calculation.
Panic Period: Defines the period to evaluate Panic Selling.
Reversal Period: Defines the period to evaluate potential price reversals.
You can adjust these periods based on your analysis preferences. The default for each period is 14.
2. FOMO Index:
The FOMO Index aims to capture the "fear of missing out" behavior in the market.
It uses volume and price change:
Volume is compared to the Simple Moving Average (SMA) of volume over the specified period.
Price change is calculated as the percentage change in price compared to the previous bar.
If both volume and price change indicate strong upward movement, the FOMO index spikes.
3. Panic Selling Index:
The Panic Selling Index captures when traders are selling out of fear, often in a rapid or irrational way.
Similar to the FOMO Index, it considers volume and price change:
It uses volume and compares it to the SMA of volume for the panic period.
Price change is negative, meaning it considers only price drops.
When there is high volume coupled with significant price drops, it signals panic selling.
4. Reversal Index:
The Reversal Index aims to detect potential trend reversals in the market.
This index also considers volume and price change:
It focuses on upward price movement and compares volume to its SMA.
If there’s strong upward price movement along with increasing volume, it signals the possibility of a price reversal.
5. Graphical Output:
Histograms are drawn on the chart for each of the three indices:
FOMO is shown in green (indicating the presence of FOMO) and red (when the index is low).
Panic Selling is shown in orange.
Reversal is shown in purple.
The Zero Line (horizontal dotted line) helps identify when any of the indices is positive or negative.
6. Labels:
Labels for each index are shown on the chart at the relevant bar when the index spikes.
FOMO is labeled "FOMO" in green when it spikes.
Panic Selling is labeled "Panic Selling" in orange when it spikes.
Reversal is labeled "Reversal" in purple when it spikes.
Additionally, period labels show above the chart, indicating the specific periods (FOMO, Panic, and Reversal periods) currently being applied. This provides clarity on what time frame each index is analyzing.
7. How to Use:
FOMO: High values may indicate that traders are buying out of fear of missing out on a rally, suggesting a potentially overheated market.
Panic Selling: High values could suggest irrational selling behavior or capitulation, potentially marking the bottom of a downtrend.
Reversal: High values signal the potential for a market reversal, where the price could change direction due to increased volume and upward movement.
8. Visual Appearance:
The indicator’s histograms change colors based on the level of market sentiment detected. The color-coded approach provides an easy-to-read visual representation of different psychological phases in the market.
The horizontal zero line allows easy differentiation between positive and negative values.
Summary:
This script combines the psychology of the market (FOMO, Panic Selling, and Reversal) into a set of indicators that help traders identify potential turning points or emotional states in the market. By focusing on volume and price change, the script attempts to give a clear picture of market sentiment and possible future movements.
Day and Session Highlighter (UTC)Day and Session Highlighter (UTC Forced)", is designed to overlay your chart and display both session background colors and informative labels at the start of each trading session—all calculated in UTC. The script targets four distinct sessions: AU (Australia), Asia (Singapore/Hong Kong/JP), Europe, and New York. In addition to session highlighting, it displays labels that combine the UTC day-of‑week and the session’s starting time. All elements are configurable via on-screen toggles.
StonkGame Major Market Open/ClosePlots vertical lines for Tokyo, London, and New York session opens and closes — auto-adjusted to your chart's timezone.
Open lines = lighter, dashed style.
Close lines = solid, full-color style.
Helps identify key liquidity windows, session-driven volatility, and clean market structure — without chart clutter.
Fully customizable colors and line styles for a professional, minimal look.
Vwap Vision #WhiteRabbitVWAP Vision #WhiteRabbit
This Pine Script (version 5) script implements a comprehensive trading indicator called "VWAP Vision #WhiteRabbit," designed for analyzing price movements using the Volume-Weighted Average Price (VWAP) along with multiple customizable features, including adjustable color themes for better visual appeal.
Features:
Customizable Color Themes:
Choose from four distinct themes: Classic, Dark Mode, Fluo, and Phil, enhancing the visual layout to match user preferences.
VWAP Calculation:
Uses standard VWAP calculations based on selected anchor periods (Session, Week, Month, etc.) to help identify price trends.
Band Settings:
Multiple bands are calculated based on standard deviations or percentages, with customization options to configure buy/sell zones and liquidity levels.
Buy/Sell Signals:
Generates clear buy and sell signals based on price interactions with the calculated bands and the exponential moving average (EMA).
Real-time Data Display:
Displays real-time signals and VWAP values for selected trading instruments, including XAUUSD, NAS100, and BTCUSDT, along with related alerts for trading opportunities.
Volatility Analysis:
Incorporates volatility metrics using the Average True Range (ATR) to assess market conditions and inform trading decisions.
Enhanced Table Displays:
Provides tables for clear visualization of trading signals, real-time data, and performance metrics.
This script is perfect for traders looking to enhance their analysis and gain insights for making informed trading decisions across various market conditions.
Liquidity Stress Index SOFR - IORBLiquidity Stress Index (SOFR - IORB)
This indicator tracks the spread between the Secured Overnight Financing Rate (SOFR) and the Interest on Reserve Balances (IORB) set by the Federal Reserve.
A persistently positive spread may indicate funding stress or liquidity shortages in the repo market, as it suggests overnight lending rates exceed the risk-free rate banks earn at the Fed.
Useful for monitoring monetary policy transmission or market/liquidity stress.
Stoch_RSIStochastic RSI – Advanced Divergence Indicator
This custom indicator is an advanced version of the Stochastic RSI that not only smooths and refines the classic RSI input but also automatically detects both regular and hidden divergences using two powerful methods: fractal-based and pivot-based detection. Originally inspired by contributions from @fskrypt, @RicardoSantos, and later improved by developers like @NeoButane and @FYMD, this script has been fully refined for clarity and ease-of-use.
Key Features:
Dual Divergence Detection:
Fractal-Based Divergence: Uses a four-candle pattern to confirm top and bottom fractals for bullish and bearish divergences.
Pivot-Based Divergence: Employs TradingView’s built-in pivot functions for an alternate view of divergence conditions.
Customizable Settings:
The inputs are organized into logical groups (Stoch RSI settings, Divergence Options, Labels, and Market Open Settings) allowing you to adjust smoothing periods, RSI and Stochastic lengths, and divergence thresholds with a user-friendly interface.
Visual Enhancements:
Plots & Fills: The indicator plots both the K and D lines with corresponding fills and horizontal bands for quick visual reference.
Divergence Markers: Diamond shapes and labeled markers indicate regular and hidden divergences on the chart.
Market Open Highlighting: Optional histogram plots highlight the market open candle based on different timeframes for stocks versus non-forex symbols.
Rotation Phase TriggerHow to Use the Full Rotation Phase Trigger Tool (non-floating version)
This version is ideal for macro-level market context, helping you decide when to rotate between growth, income, and defensive positions using visual cues directly on the chart.
🧱 Components Recap (Non-Floating Version)
ROC Histograms:
SPY:TLT ROC (green bars): Measures equity strength vs. bonds
QQQ:XLU ROC (blue bars): Measures growth vs. defensive rotation
EMA Trend Filter:
Uses a fast/slow EMA crossover on both ratios to confirm the trend
When both are rising → confirms GROWTH phase
Phase Background Colors:
🟩 Green = GROWTH
🟧 Orange = INCOME
🟥 Red = DEFENSIVE
No color = NEUTRAL
Instruction Labels:
Show what sectors to add and what to sell (with ETF tickers)
Alert Conditions:
Can be linked to email, SMS, or app notifications
Triggered when phase changes
✅ Weekly Workflow
Every Monday (or Weekend Prep)
1. Open SPY on a Weekly Chart
This tool is designed around the U.S. equity vs bond regime
Always keep SPY as the main chart for best alignment
2. Check the Background Color
Instantly tells you what regime you're in:
Green → rotate into growth ETFs
Orange → stick to or buy income-generating ETFs
Red → get defensive, raise cash, or buy bond/hedge ETFs
3. Read the Labels
Top label = phase status (e.g., GROWTH)
Bottom label = action instructions:
What ETFs to accumulate (MTUM, VUN, HYLD, etc.)
What sectors or funds to rotate out of
4. Look at Momentum Histograms
Confirms whether the regime shift is gaining strength
Larger bars = stronger conviction
Diverging directions? Wait for confirmation
🔁 Tactical Rotation Plan
Phase Add Trim/Sell
GROWTH MTUM, VUN, XMTM, HXS, VTI HYLD, HHIS, HPYT
INCOME HYLD, HHIS, QQQY, DFN, DGS MTUM, VUN
DEFENSIVE HPYT, HPYT.U, ZGLD, GDE All equities
NEUTRAL Nothing new, rebalance if needed Excess risk positions
🔔 Alert Setup (Optional)
You can create alerts in TradingView using:
Right-click chart → "Add Alert"
Use condition: "Rotation Phase Trigger" → "GROWTH" / "INCOME" / "DEFENSIVE"
Choose notification method (popup, app, email, etc.)
💡 Pro Tips
Use this version on SPY weekly only — for best signal clarity
Stochastic Order Flow Momentum [ScorsoneEnterprises]This indicator implements a stochastic model of order flow using the Ornstein-Uhlenbeck (OU) process, combined with a Kalman filter to smooth momentum signals. It is designed to capture the dynamic momentum of volume delta, representing the net buying or selling pressure per bar, and highlight potential shifts in market direction. The volume delta data is sourced from TradingView’s built-in functionality:
www.tradingview.com
For a deeper dive into stochastic processes like the Ornstein-Uhlenbeck model in financial contexts, see these research articles: arxiv.org and arxiv.org
The SOFM tool aims to reveal the momentum and acceleration of order flow, modeled as a mean-reverting stochastic process. In markets, order flow often oscillates around a baseline, with bursts of buying or selling pressure that eventually fade—similar to how physical systems return to equilibrium. The OU process captures this behavior, while the Kalman filter refines the signal by filtering noise. Parameters theta (mean reversion rate), mu (mean level), and sigma (volatility) are estimated by minimizing a squared-error objective function using gradient descent, ensuring adaptability to real-time market conditions.
How It Works
The script combines a stochastic model with signal processing. Here’s a breakdown of the key components, including the OU equation and supporting functions.
// Ornstein-Uhlenbeck model for volume delta
ou_model(params, v_t, lkb) =>
theta = clamp(array.get(params, 0), 0.01, 1.0)
mu = clamp(array.get(params, 1), -100.0, 100.0)
sigma = clamp(array.get(params, 2), 0.01, 100.0)
error = 0.0
v_pred = array.new(lkb, 0.0)
array.set(v_pred, 0, array.get(v_t, 0))
for i = 1 to lkb - 1
v_prev = array.get(v_pred, i - 1)
v_curr = array.get(v_t, i)
// Discretized OU: v_t = v_{t-1} + theta * (mu - v_{t-1}) + sigma * noise
v_next = v_prev + theta * (mu - v_prev)
array.set(v_pred, i, v_next)
v_curr_clean = na(v_curr) ? 0 : v_curr
v_pred_clean = na(v_next) ? 0 : v_next
error := error + math.pow(v_curr_clean - v_pred_clean, 2)
error
The ou_model function implements a discretized Ornstein-Uhlenbeck process:
v_t = v_{t-1} + theta (mu - v_{t-1})
The model predicts volume delta (v_t) based on its previous value, adjusted by the mean-reverting term theta (mu - v_{t-1}), with sigma representing the volatility of random shocks (approximated in the Kalman filter).
Parameters Explained
The parameters theta, mu, and sigma represent distinct aspects of order flow dynamics:
Theta:
Definition: The mean reversion rate, controlling how quickly volume delta returns to its mean (mu). Constrained between 0.01 and 1.0 (e.g., clamp(array.get(params, 0), 0.01, 1.0)).
Interpretation: A higher theta indicates faster reversion (short-lived momentum), while a lower theta suggests persistent trends. Initial value is 0.1 in init_params.
In the Code: In ou_model, theta scales the pull toward \mu, influencing the predicted v_t.
Mu:
Definition: The long-term mean of volume delta, representing the equilibrium level of net buying/selling pressure. Constrained between -100.0 and 100.0 (e.g., clamp(array.get(params, 1), -100.0, 100.0)).
Interpretation: A positive mu suggests a bullish bias, while a negative mu indicates bearish pressure. Initial value is 0.0 in init_params.
In the Code: In ou_model, mu is the target level that v_t reverts to over time.
Sigma:
Definition: The volatility of volume delta, capturing the magnitude of random fluctuations. Constrained between 0.01 and 100.0 (e.g., clamp(array.get(params, 2), 0.01, 100.0)).
Interpretation: A higher sigma reflects choppier, noisier order flow, while a lower sigma indicates smoother behavior. Initial value is 0.1 in init_params.
In the Code: In the Kalman filter, sigma contributes to the error term, adjusting the smoothing process.
Summary:
theta: Speed of mean reversion (how fast momentum fades).
mu: Baseline order flow level (bullish or bearish bias).
sigma: Noise level (variability in order flow).
Other Parts of the Script
Clamp
A utility function to constrain parameters, preventing extreme values that could destabilize the model.
ObjectiveFunc
Defines the objective function (sum of squared errors) to minimize during parameter optimization. It compares the OU model’s predicted volume delta to observed data, returning a float to be minimized.
How It Works: Calls ou_model to generate predictions, computes the squared error for each timestep, and sums it. Used in optimization to assess parameter fit.
FiniteDifferenceGradient
Calculates the gradient of the objective function using finite differences. Think of it as finding the "slope" of the error surface for each parameter. It nudges each parameter (theta, mu, sigma) by a small amount (epsilon) and measures the change in error, returning an array of gradients.
Minimize
Performs gradient descent to optimize parameters. It iteratively adjusts theta, mu, and sigma by stepping down the "hill" of the error surface, using the gradients from FiniteDifferenceGradient. Stops when the gradient norm falls below a tolerance (0.001) or after 20 iterations.
Kalman Filter
Smooths the OU-modeled volume delta to extract momentum. It uses the optimized theta, mu, and sigma to predict the next state, then corrects it with observed data via the Kalman gain. The result is a cleaner momentum signal.
Applied
After initializing parameters (theta = 0.1, mu = 0.0, sigma = 0.1), the script optimizes them using volume delta data over the lookback period. The optimized parameters feed into the Kalman filter, producing a smoothed momentum array. The average momentum and its rate of change (acceleration) are calculated, though only momentum is plotted by default.
A rising momentum suggests increasing buying or selling pressure, while a flattening or reversing momentum indicates fading activity. Acceleration (not plotted here) could highlight rapid shifts.
Tool Examples
The SOFM indicator provides a dynamic view of order flow momentum, useful for spotting directional shifts or consolidation.
Low Time Frame Example: On a 5-minute chart of SEED_ALEXDRAYM_SHORTINTEREST2:NQ , a rising momentum above zero with a lookback of 5 might signal building buying pressure, while a drop below zero suggests selling dominance. Crossings of the zero line can mark transitions, though the focus is on trend strength rather than frequent crossovers.
High Time Frame Example: On a daily chart of NYSE:VST , a sustained positive momentum could confirm a bullish trend, while a sharp decline might warn of exhaustion. The mean-reverting nature of the OU process helps filter out noise on longer scales. It doesn’t make the most sense to use this on a high timeframe with what our data is.
Choppy Markets: When momentum oscillates near zero, it signals indecision or low conviction, helping traders avoid whipsaws. Larger deviations from zero suggest stronger directional moves to act on, this is on $STT.
Inputs
Lookback: Users can set the lookback period (default 5) to adjust the sensitivity of the OU model and Kalman filter. Shorter lookbacks react faster but may be noisier; longer lookbacks smooth more but lag slightly.
The user can also specify the timeframe they want the volume delta from. There is a default way to lower and expand the time frame based on the one we are looking at, but users have the flexibility.
No indicator is 100% accurate, and SOFM is no exception. It’s an estimation tool, blending stochastic modeling with signal processing to provide a leading view of order flow momentum. Use it alongside price action, support/resistance, and your own discretion for best results. I encourage comments and constructive criticism.
Half Causal EstimatorOverview
The Half Causal Estimator is a specialized filtering method that provides responsive averages of market variables (volume, true range, or price change) with significantly reduced time delay compared to traditional moving averages. It employs a hybrid approach that leverages both historical data and time-of-day patterns to create a timely representation of market activity while maintaining smooth output.
Core Concept
Traditional moving averages suffer from time lag, which can delay signals and reduce their effectiveness for real-time decision making. The Half Causal Estimator addresses this limitation by using a non-causal filtering method that incorporates recent historical data (the causal component) alongside expected future behavior based on time-of-day patterns (the non-causal component).
This dual approach allows the filter to respond more quickly to changing market conditions while maintaining smoothness. The name "Half Causal" refers to this hybrid methodology—half of the data window comes from actual historical observations, while the other half is derived from time-of-day patterns observed over multiple days. By incorporating these "future" values from past patterns, the estimator can reduce the inherent lag present in traditional moving averages.
How It Works
The indicator operates through several coordinated steps. First, it stores and organizes market data by specific times of day (minutes/hours). Then it builds a profile of typical behavior for each time period. For calculations, it creates a filtering window where half consists of recent actual data and half consists of expected future values based on historical time-of-day patterns. Finally, it applies a kernel-based smoothing function to weight the values in this composite window.
This approach is particularly effective because market variables like volume, true range, and price changes tend to follow recognizable intraday patterns (they are positive values without DC components). By leveraging these patterns, the indicator doesn't try to predict future values in the traditional sense, but rather incorporates the average historical behavior at those future times into the current estimate.
The benefit of using this "average future data" approach is that it counteracts the lag inherent in traditional moving averages. In a standard moving average, recent price action is underweighted because older data points hold equal influence. By incorporating time-of-day averages for future periods, the Half Causal Estimator essentially shifts the center of the filter window closer to the current bar, resulting in more timely outputs while maintaining smoothing benefits.
Understanding Kernel Smoothing
At the heart of the Half Causal Estimator is kernel smoothing, a statistical technique that creates weighted averages where points closer to the center receive higher weights. This approach offers several advantages over simple moving averages. Unlike simple moving averages that weight all points equally, kernel smoothing applies a mathematically defined weight distribution. The weighting function helps minimize the impact of outliers and random fluctuations. Additionally, by adjusting the kernel width parameter, users can fine-tune the balance between responsiveness and smoothness.
The indicator supports three kernel types. The Gaussian kernel uses a bell-shaped distribution that weights central points heavily while still considering distant points. The Epanechnikov kernel employs a parabolic function that provides efficient noise reduction with a finite support range. The Triangular kernel applies a linear weighting that decreases uniformly from center to edges. These kernel functions provide the mathematical foundation for how the filter processes the combined window of past and "future" data points.
Applicable Data Sources
The indicator can be applied to three different data sources: volume (the trading volume of the security), true range (expressed as a percentage, measuring volatility), and change (the absolute percentage change from one closing price to the next).
Each of these variables shares the characteristic of being consistently positive and exhibiting cyclical intraday patterns, making them ideal candidates for this filtering approach.
Practical Applications
The Half Causal Estimator excels in scenarios where timely information is crucial. It helps in identifying volume climaxes or diminishing volume trends earlier than conventional indicators. It can detect changes in volatility patterns with reduced lag. The indicator is also useful for recognizing shifts in price momentum before they become obvious in price action, and providing smoother data for algorithmic trading systems that require reduced noise without sacrificing timeliness.
When volatility or volume spikes occur, conventional moving averages typically lag behind, potentially causing missed opportunities or delayed responses. The Half Causal Estimator produces signals that align more closely with actual market turns.
Technical Implementation
The implementation of the Half Causal Estimator involves several technical components working together. Data collection and organization is the first step—the indicator maintains a data structure that organizes market data by specific times of day. This creates a historical record of how volume, true range, or price change typically behaves at each minute/hour of the trading day.
For each calculation, the indicator constructs a composite window consisting of recent actual data points from the current session (the causal half) and historical averages for upcoming time periods from previous sessions (the non-causal half). The selected kernel function is then applied to this composite window, creating a weighted average where points closer to the center receive higher weights according to the mathematical properties of the chosen kernel. Finally, the kernel weights are normalized to ensure the output maintains proper scaling regardless of the kernel type or width parameter.
This framework enables the indicator to leverage the predictable time-of-day components in market data without trying to predict specific future values. Instead, it uses average historical patterns to reduce lag while maintaining the statistical benefits of smoothing techniques.
Configuration Options
The indicator provides several customization options. The data period setting determines the number of days of observations to store (0 uses all available data). Filter length controls the number of historical data points for the filter (total window size is length × 2 - 1). Filter width adjusts the width of the kernel function. Users can also select between Gaussian, Epanechnikov, and Triangular kernel functions, and customize visual settings such as colors and line width.
These parameters allow for fine-tuning the balance between responsiveness and smoothness based on individual trading preferences and the specific characteristics of the traded instrument.
Limitations
The indicator requires minute-based intraday timeframes, securities with volume data (when using volume as the source), and sufficient historical data to establish time-of-day patterns.
Conclusion
The Half Causal Estimator represents an innovative approach to technical analysis that addresses one of the fundamental limitations of traditional indicators: time lag. By incorporating time-of-day patterns into its calculations, it provides a more timely representation of market variables while maintaining the noise-reduction benefits of smoothing. This makes it a valuable tool for traders who need to make decisions based on real-time information about volume, volatility, or price changes.
Gold Opening 15-Min ORB INDICATOR by AdéThis indicator is designed for trading Gold (XAUUSD) during the first 15 minutes of major market openings: Asian, European, and US sessions. It highlights these key time windows, plots the high and low ranges of each session, and generates breakout-based buy/sell signals. Ideal for traders focusing on volatility at market opens.
Features:Session Windows:
Asian: 1:00–1:15 AM Barcelona time (23:00–23:15 UTC, CEST-adjusted).
European: 9:00–9:15 AM Barcelona time (07:00–07:15 UTC).
US: 3:30–3:45 PM Barcelona time (13:30–13:45 UTC).
Marked with yellow (Asian), green (Europe), and blue (US) triangles below bars.
High/Low Ranges:Plots horizontal lines showing the highest high and lowest low of each session’s first 15 minutes.Lines appear after each session ends and persist until the next day, color-coded to match the sessions.Breakout Signals:Buy (Long): Triggers when the closing price breaks above the highest high of the previous 5 bars during a session window (lime triangle above bar).Sell (Short): Triggers when the closing price breaks below the lowest low of the previous 5 bars during a session window (red triangle below bar).
Signals are restricted to the 15-minute session periods for focused trading.Usage:Timeframe: Optimized for 1-minute XAUUSD charts.Timezone: Set your chart to UTC for accurate session timing (script uses UTC internally, based on Barcelona CEST, UTC+2 in April).Strategy:
Use buy/sell signals for breakout trades during volatile market opens, with session ranges as support/resistance levels.Customization: Adjust the lookback variable (default: 5) to tweak signal sensitivity.Notes:Tested for April 2025 (CEST, UTC+2).
Adjust timestamp values if using outside daylight saving time (CET, UTC+1) or for different broker timezones.Best for scalping or short-term trades during high-volatility periods. Combine with other indicators for confirmation if desired.How to Use:Apply to a 1-minute XAUUSD chart.Watch for session markers (triangles) and breakout signals during the 15-minute windows.Use the high/low lines to gauge potential breakout targets or reversals.
Fibonacci Levels with SMA SignalsThis strategy leverages Fibonacci retracement levels along with the 100-period and 200-period Simple Moving Averages (SMAs) to generate robust entry and exit signals for long-term swing trades, particularly on the daily timeframe. The combination of Fibonacci levels and SMAs provides a powerful way to capitalize on major trend reversals and market retracements, especially in stocks and major crypto assets.
The core of this strategy involves calculating key Fibonacci retracement levels (23.6%, 38.2%, 61.8%, and 78.6%) based on the highest high and lowest low over a 365-day lookback period. These Fibonacci levels act as potential support and resistance zones, indicating areas where price may retrace before continuing its trend. The 100-period SMA and 200-period SMA are used to define the broader market trend, with the strategy favoring uptrend conditions for buying and downtrend conditions for selling.
This indicator highlights high-probability zones for long or short swing setups based on Fibonacci retracements and the broader trend, using the 100 and 200 SMAs.
In addition, this strategy integrates alert conditions to notify the trader when these key conditions are met, providing real-time notifications for optimal entry and exit points. These alerts ensure that the trader does not miss significant trade opportunities.
Key Features:
Fibonacci Retracement Levels: The Fibonacci levels provide natural price zones that traders often watch for potential reversals, making them highly relevant in the context of swing trading.
100 and 200 SMAs: These moving averages help define the overall market trend, ensuring that the strategy operates in line with broader price action.
Buy and Sell Signals: The strategy generates buy signals when the price is above the 200 SMA and retraces to the 61.8% Fibonacci level. Sell signals are triggered when the price is below the 200 SMA and retraces to the 38.2% Fibonacci level.
Alert Conditions: The alert conditions notify traders when the price is at the key Fibonacci levels in the context of an uptrend or downtrend, allowing for efficient monitoring of trade opportunities.
Application:
This strategy is ideal for long-term swing trades in both stocks and major cryptocurrencies (such as BTC and ETH), particularly on the daily timeframe. The daily timeframe allows for capturing broader, more sustained trends, making it suitable for identifying high-quality entries and exits. By using the 100 and 200 SMAs, the strategy filters out noise and focuses on larger, more meaningful trends, which is especially useful for longer-term positions.
This script is optimized for swing traders looking to capitalize on retracements and trends in markets like stocks and crypto. By combining Fibonacci levels with SMAs, the strategy ensures that traders are not only entering at optimal levels but also trading in the direction of the prevailing trend.
RSI Support & Resistance Breakouts with OrderblocksThis tool is an overly simplified method of finding market squeeze and breakout completely based on a dynamic RSI calculation. It is designed to draw out areas of price levels where the market is pushing back against price action leaving behind instances of short term support and resistance levels you otherwise wouldn't see with the common RSI.
It uses the changes in market momentum to determine support and resistance levels in real time while offering price zone where order blocks exist in the short term.
In ranging markets we need to know a couple things.
1. External Zone - It's important to know where the highs and lows were left behind as they hold liquidity. Here you will have later price swings and more false breakouts.
2. Internal Zone - It's important to know where the highest and lowest closing values were so we can see the limitations of that squeeze. Here you will find the stronger cluster of orders often seen as orderblocks.
In this tool I've added a 200 period Smoothed Moving Average as a trend filter which causes the RSI calculation to change dynamically.
Regular Zones - without extending
The Zones draw out automatically but are often too small to work with.
To solve this problem, you can extend the zones into the future up to 40 bars.
This allows for more visibility against future price action.
--------------------------------------------
Two Types of Zones
External Zones - These zones give you positioning of the highest and lowest price traded within the ranging market. This is where liquidity will be swept and often is an ultimate breaking point for new price swings.
How to use them :
External Zones - External zones form at the top of a pullback. After this price should move back into its impulsive wave.
During the next corrective way, if price breaches the top of the previous External Zone, this is a sign of trend weakness. Expect a divergence and trend reversal.
Internal Zones - (OrderBlocks) Current price will move in relation to previous internal zones. The internal zone is where a majority of price action and trading took place. It's a stronger SQUEEZE area. Current price action will often have a hard time closing beyond the previous Internal Zones high or low. You can expect these zones to show you where the market will flip over. In these same internal zones you'll find large rejection candles.
**Important Note** Size Doesn't Matter
The size of the internal zone does not matter. It can be very small and still very powerful.
Once an internal zone has been hit a few times, its often not relevant any longer.
Order Block Zone Examples
In this image you can see the Internal Zone that was untouched had a STRONG price reaction later on.
Internal Zones that were touched multiple times had weak reactions later as price respected them less over time.
Zone Overlay Breakdown
The Zones form and update in real time until momentum has picked up and price begins to trend. However it leaves behind the elements of the inducement area and all the key levels you need to know about for future price action.
Resistance Fakeout : Later on after the zone has formed, price will return to this upper zone of price levels and cause fakeouts. A close above this zone implies the market moves long again.
Midline Equilibrium : This is simply the center of the strongest traded area. We can call this the Point of Control within the orderblock. If price expands through both extremes of this zone multiple times in the future, it eliminates the orderblock.
Support Fakeout : Just like its opposing brother, price will wick through this zone and rip back causing inducement to trap traders. You would need a clear close below this zone to be in a bearish trend.
BARCOLOR or Candle Color: (Optional)
Bars are colored under three conditions
Bullish Color = A confirmed bullish breakout of the range.
Bearish Color = A confirmed bearish breakout of the range.
Squeeze Color = Even if no box is formed a candle or candles can have a squeeze color. This means the ranging market happened within the high and low of that singular candle.
(US) Historical Trade WarsHistorical U.S. Trade Wars Indicator
Overview
This indicator visualizes major U.S. trade wars and disputes throughout modern economic history, from the McKinley Tariff of 1890 to recent U.S.-China tensions. This U.S.-focused timeline is perfect for macro traders, economic historians, and anyone looking to understand how America's trade conflicts correlate with market movements.
Features
Comprehensive U.S. Timeline: Covers 130+ years of U.S.-centered trade disputes with historically accurate dates.
Color-Coded Events:
🔴 Red: Marks the beginning of a U.S. trade war or major dispute.
🟡 Yellow: Highlights significant events within a trade conflict.
🟢 Green: Shows resolutions or ends of trade disputes.
Global Partners/Rivals: Tracks U.S. trade relations with China, Japan, EU, Canada, Mexico, Brazil, Argentina, and others.
Country Flags: Uses emoji flags for easy visual identification of nations in trade relations with the U.S.
Major Trade Wars Covered:
McKinley Tariff (1890-1894)
Smoot-Hawley Tariff Act (1930-1934)
U.S.-Europe Chicken War (1962-1974)
Multifiber Arrangement Quotas (1974-2005)
Japan-U.S. Trade Disputes (1981-1989)
NAFTA and Softwood Lumber Disputes
Clinton and Bush-Era Steel Tariffs
Obama-Era China Tire Tariffs
Rare Earth Minerals Dispute (2012-2014)
Solar Panel Dispute (2012-2015)
TPP and TTIP Negotiations
U.S.-China Trade War (2018-present)
Airbus-Boeing Dispute
Usage
Analyze how markets historically responded to trade war initiations and resolutions.
Identify patterns in market behavior during periods of trade tensions.
Use as an overlay with price action to examine correlations.
Perfect companion for macro analysis on daily, weekly, or monthly charts.
About
This indicator is designed as a historical reference tool for traders and economic analysts focusing on U.S. trade policy and its global impact. The dates and events have been thoroughly researched for accuracy. Each label includes emojis to indicate the U.S. and its trade partners/rivals, making it easy to track America's evolving trade relationships across time.
Note: This indicator works best on larger timeframes (daily, weekly, monthly) due to the historical span covered.
Custom Daily % Levels Table📘 Indicator Description
"Custom Daily % Levels – table" is a dynamic and customizable tool designed to help traders visualize daily percentage-based price ranges and key metrics in a compact, table-style format.
🧩 Key Features:
📐 Custom Percent Levels: Automatically calculates upper and lower price levels based on a user-defined base percentage and number of levels, relative to the previous daily close.
🟢🔴 Color Gradient Highlighting: Positive levels are shown with a green gradient, negative levels with red, and the level labels with a neutral tone for easy reference.
📊 Live Asset Info: Displays the current symbol, percentage change from the previous daily close, and 14-period RSI, all color-coded for quick interpretation.
⚙️ Header Control: Toggle the visibility of the main info headers and level headers independently.
📌 Position Customization: Choose where the table appears on your chart (top/bottom, left/right, center).
📈 Clean Layout: Makes it easy to visually track price movement relative to daily expected ranges.
This indicator is especially useful for intraday traders, scalpers, or anyone needing a clear visual of short-term price expansion and contraction based on predefined volatility zones.
High and Low DayHigh and Low Day
This indicator automatically tracks and displays the daily high and low of the current trading session directly on your chart.
Each new day, it resets the levels and plots horizontal lines:
Green Line for the daily high
Red Line for the daily low
It also adds labels (“High Day” and “Low Day”) for easy visual reference.
The levels update in real time as new highs or lows are formed throughout the day.
You can toggle the visibility of these lines and labels using the "Mostrar Linhas do Dia Atual" (Show Current Day Lines) setting.
Perfect for intraday traders looking to keep track of key support and resistance levels during the trading day.
DB - CME Gap [Multi Asset Auto Detection: BTC,SOL, etc]DB - CME Gap is a pro-grade, zero-maintenance CME gap tracker designed for serious traders.
This script automatically detects unfilled CME futures gaps across a wide range of assets—crypto, equities, bonds, commodities, FX, and agriculture—by pulling the official Friday close from CME’s daily futures data. It visually highlights unfilled weekend gaps and keeps them active on the chart until the price fully crosses through the gap level, offering a reliable view of market inefficiencies that often attract future liquidity.
Whether you're trading BTC, ES, CL, ZN, 6E, or ZC... this tool auto-detects and adjusts to the asset you're charting, so you don’t need to change any settings.
🧠 Key Benefits
Fully Automated – No symbol selection required; works instantly across asset classes
Professional Grade – Clean, minimal visuals with dynamic gap tracking
Always Accurate – Uses CME official daily closes to identify true weekend gaps
Cross-Market Versatility – Supports a broad range of assets without editing code
✅ Features
🔍 Auto Symbol Detection
Automatically identifies whether you're viewing BTC, ETH, SOL, ES, NQ, CL, ZN, 6E, GC, ZC, and more—no input required.
📅 CME Friday Close Logic
Pulls the actual Friday close from CME's daily data to detect accurate gap reference points.
🚨 Weekend Gap Detection
Monitors Friday after-hours, Saturday, and Sunday to detect gaps between CME close and weekend price action.
🧠 Persistent Gap Tracking
Gaps remain active until price fully crosses the gap level—no false closures.
📈 Dynamic Line Drawing
Draws a horizontal line at the gap price and extends it to the point of fill.
🌈 Custom Gradient Shading
Fills the area between the current price and the CME gap with directional color gradients based on price movement.
🎨 User-Configurable Colors
Adjust bull and bear fill color themes to suit your personal style.
🧩 Compatible with All Major Asset Classes
Works with:
Crypto: BTC, ETH, SOL
Equities: ES, NQ, YM, MES, MNQ
Bonds & Rates: ZN, ZB, ZF, ZT, GE
Commodities: CL, GC, NG, BZ, SI
FX: 6E, 6J, 6B
Ags: ZC (Corn), ZS (Soybeans)
J Weighted Average Price📘 How to Use the OBV VWAP Reentry Signal Effectively
This indicator plots a VWAP based on OBV (On-Balance Volume), along with dynamic bands to identify overbought and oversold conditions in volume flow.
🔺 Red Triangle Up: Appears when OBV crosses back below the upper band → Potential reversal from overbought → Watch for short opportunities.
🔻 Blue Triangle Down: Appears when OBV crosses back above the lower band → Potential reversal from oversold → Watch for long opportunities.
📌 Tip: Use these signals in confluence with price action or trend confirmation to filter false signals. For example:
Enter short after a reentry from upper band and a lower high in price.
Enter long after a reentry from lower band and a bullish candle structure.
This setup helps you catch mean reversion moves based on volume flow, not just price.
50-Line Oscillator // (\_/)
// ( •.•)
// (")_(")
25-Line Oscillator
Description:
The 25-Line Oscillator is a sophisticated technical analysis tool designed to visualize market trends through the use of multiple Simple Moving Averages (SMAs). This indicator computes a series of 26 SMAs, incrementally increasing the base length, providing traders with a comprehensive view of price dynamics.
Features:
Customizable Base Length: Adjust the base length of the SMAs according to trading preferences, enhancing versatility for different market conditions.
Rainbow Effect: The indicator employs a visually appealing rainbow color scheme to differentiate between the various trend lines, making it easy to identify crossovers and momentum shifts.
Crossovers Detection: The script includes logic to detect crossover events between consecutive trend lines, which can serve as signals for potential entry or exit points in trading.
Clear Visualization: Suitable for both novice and seasoned traders, the plots enable quick interpretation of trends and market behavior.
How to Use:
Add the indicator to your chart and customize the base length as desired.
Observe the rainbow-colored lines for trend direction.
Look for crossover events between the SMAs as potential trading signals.
Application: This indicator is particularly useful for swing traders and trend followers who aim to capitalize on market momentum and identify reversals. By monitoring the behavior of multiple SMAs, traders can gain insights into the strength and direction of price movements over various time frames.