Market Extreme Zones IndexThe Market Extreme Zones Index is a new mean reversion (valuation) tool focused on catching long term oversold/overbought zones. Combining an enhanced RSI with a smoothed Z-score this indicator allows traders to find oppurtunities during highly oversold/overbought zones.
I will separate the explanation into the following parts:
1. How does it work?
2. Methodologies & Concepts
3. Use cases
How does it work?
The indicator attempts to catch highly unprobable events in either direction to capture reversal points over the long term. This is done by calculating the Z-Score of an enhanced RSI.
First we need to calculate the Enhanced RSI:
For this we need to calculate 2 additional lengths:
Length1 = user defined length
Length2 = Length1/2
Length3 = √Length
Now we need to calculate 3 different RSIs:
1st RSI => uses classic user defined source and classic user defined length.
2nd RSI => uses classic user defined source and Length 2.
3rd RSI => uses RSI 2 as source and Length 2
Now calculate the divergence:
RSI_base => 2nd RSI * 3 - 1st RSI - 3rd RSI
After this we need to calculate the median of the RSI_base over √Length and make a divergence of these 2:
RSI => RSI_base*2 - median
All that remains now is the Z-score calculations:
We need:
Average RSI value
Standard Deviation = a measure of how dispersed or spread out a set of data values are from their average
Z-score = (Current Value - Average Value) / Standard Deviation
After this we just smooth the Z-score with a Weighted Moving average with √Length
Methodology & Concepts
Mean Reversion Methodology:
The methodology behind mean reversion is the theory that asset prices will eventually return to their long-term average after deviating significantly, driven by the belief that extreme moves are temporary.
Z-Score Methodology:
A Z-score, or standard score, is a statistical measure that indicates how many standard deviations a data point is from the mean of a dataset. A positive z-score means the value is above the mean, a negative score means it's below, and a score of zero means the value is equal to the mean.
You might already be able to see where I am going with this:
Z-Score could be used for the extreme moves to capture reversal points.
By applying it to the RSI rather than the Price, we get a more accurate measurement that allow us to get a banger indicator.
Use Cases
Capturing reversal points
Trend Direction
- while the main use it for mean reversion, the values can indicate whether we are in an uptrend or a downtrend.
Advantages:
Visualization:
The indicator has many plots to ensure users can easily see what the indicator signals, such as highlighting extreme conditions with background colors.
Versatility:
This indicator works across multiple assets, including the S&P500 and more, so it is not only for crypto.
Final note:
No indicator alone is perfect.
Backtests are not indicative of future performance.
Hope you enjoy Gs!
Good luck!
Statistics
Long-term Reversal Signals [OI + CVD + Volume]Open Interest, CVD, Volume Delta 등을 활용해서 장기적 반전 구간을 측정하는 시그널 지표입니다.
It uses Open Interest, CVD, Volume Delta Indicators.
This is an indicator that quantitatively creates conditions and specifies them by comprehensively utilizing the characteristics of each data and combining them with the characteristics of the area where prices are reversed.
Thank you!
Checklist (D1 / H4 / M15/30 BoS / VP / Fibo / S/R) This is a simple, visual checklist indicator that allows you to quickly assess how many of your strategy conditions are met, without affecting the chart itself. It is ideal for multi-timeframe strategies and point-by-point setup monitoring.
Average Daily Range DashboardThis script displays a non-intrusive ADR (Average Daily Range) dashboard designed to assist traders in monitoring real-time range expansion throughout the trading session. It compares the current day's high-low range to the average daily range calculated over a user-defined number of previous completed days (default: 5).
The tool provides a numerical ADR score (0–5) based on how much of the average daily range has been filled. It also includes optional visual cues and narrative descriptions to help contextualize current price behavior.
📘 Key Features:
Calculates ADR using fully completed daily bars (excluding the current session)
Tracks the current session’s intraday range live (high to low)
Outputs a score from 0 (low range expansion) to 5 (ADR fully filled or exceeded)
Optional alerts when ADR thresholds are crossed (e.g., 60%, 100%)
Displays optional debug values: ADR value, today’s range, session high/low
Customizable table position, size, colors, and visibility settings
🧮 Formula Transparency:
ADR = Simple Moving Average of (Daily High - Low) over the last N completed days
Intraday Range = Real-time (Session High - Session Low)
ADR Score is derived by comparing current range to ADR:
score = floor((sessionRange / adr) * 5), capped at 5
⚠️ Disclaimer:
This tool does not provide buy/sell signals, trading advice, or predictive forecasts. It is intended for educational and informational purposes only. Users should independently verify all data and apply their own analysis. Past performance of any range behavior is not indicative of future results.
QED All-In-One(COM)-The yellow diamond and blue star are strong "Long" signals when the LF indicator's pink line crosses below 10.
-The pink star and yellow star are strong "short" signals when the LF indicator(NOT STUPID RSI) is above 90.
-The oversold (exclamation mark) signal indicates that a strong upward or downward trend could be imminent.
SUBSCRIPTION IS NEEDEED.
----------------------------------------------------------------------------------------------------------------
when pink line hits the bottom (close to 0). go for long. same as the short (opposite way)
DO NOT ENTER WHEN PINK LINE IS IN THE MIDDLE (close to YELLOW LINE). That's not the bottom or top you are looking for.
imgur.com
**************************
-노란색 다이아몬드와 파란색 별은 "Long" 시그널로 LF지표 핑크색 라인이 하단 10을 통과할때 강력합니다.
-핑크색과 노란색 별은 "short"시그널로 LF지표가 90이상일때 강력합니다.
-과매도(느낌표) 시그널은 곧 상승/하락의 추세가 될 수 있음을 의미합니다.
Screener (SSA) [AlgoAlpha]🟠 OVERVIEW
This script is a multi-symbol screener that serves as a dashboard companion to the "Smart Signals Assistant (SSA)" indicator. Its purpose is to monitor the entire suite of SSA components—from the core signals to all confluence tools—across a customizable watchlist of up to 18 assets. By displaying the real-time status of each indicator in a single table, it allows traders to get a bird's-eye view of the market, quickly identify assets with strong trend confluence, and filter for high-probability setups without needing to switch charts.
The screener is designed to mirror the modularity of the main SSA indicator, allowing you to enable or disable components in the table to match your preferred trading dashboard.
🟠 CONCEPTS
The screener is built directly on the analytical framework of the Smart Signals Assistant, applying its complex, proprietary algorithms to each symbol in your watchlist and summarizing the results. The combination of these different analytical concepts is what gives the screener its utility, as it helps traders find opportunities where multiple, distinct strategies align.
Each column in the table represents a core trading concept:
Smart Signals: This is the primary signal engine, designed to identify potential entry points. It operates in different modes to capture both long-term swings and faster scalping opportunities.
Fair Value Trail (FVT): This component provides a dynamic, volatility-adjusted baseline for the trend. It acts as a form of dynamic support or resistance, helping to confirm the validity of a trend shown by the Smart Signals.
Trend Spine: This tool is designed to identify the underlying "backbone" of the market's trend. It filters out short-term price noise to provide a more stable, clear indication of the dominant market direction.
Trend Bias: This measures the strength and conviction behind a trend. It helps distinguish between a strong, accelerating move and a weak, decelerating one, adding a layer of momentum analysis.
Firmament Clouds: These are volatility-based bands that create dynamic overbought and oversold zones. They help identify when price is potentially overextended and due for a pullback or consolidation.
Trend-Range Classifier (TRC): A machine-learning model that analyzes market characteristics to classify the current environment as either "Trending" or "Ranging." This is crucial for helping traders apply the right strategy for the current conditions.
🟠 FEATURES
This screener organizes the complex data from the SSA indicator into a simple, color-coded table. Here is a breakdown of each column and its possible values:
Asset: Displays the ticker symbol for the asset being analyzed.
Smart Signals: Shows the latest signal from the core engine.
▲: A standard bullish signal has been detected.
▼: A standard bearish signal has been detected.
▲+: A strong bullish signal with higher conviction has been detected.
▼+: A strong bearish signal with higher conviction has been detected.
Fair Value Trail: Indicates the trend direction based on the volatility trail.
▲: The FVT is in a bullish trend (acting as dynamic support).
▼: The FVT is in a bearish trend (acting as dynamic resistance).
Trend Spine: Shows the direction of the core underlying trend.
▲: The underlying trend backbone is bullish.
▼: The underlying trend backbone is bearish.
Trend Bias: Measures the current momentum strength.
Strong▲: Strong and accelerating bullish momentum.
Weak▲: Bullish momentum exists but is weakening.
Strong▼: Strong and accelerating bearish momentum.
Weak▼: Bearish momentum exists but is weakening.
Firmament Clouds: Identifies overbought/oversold conditions relative to volatility.
Very Overbought / Overbought: Price is significantly extended above its recent range.
Very Oversold / Oversold: Price is significantly extended below its recent range.
Neutral: Price is trading within its normal volatility range.
Trend-Range Classifier: Displays the market state as determined by the ML model.
Trend: The market is in a trending environment, suitable for trend-following strategies.
Range: The market is in a ranging or consolidating environment, suitable for mean-reversion strategies.
Exit Signal Count: Tracks the number of take-profit signals that have occurred since the last primary Smart Signal.
0, 1, 2, 3...: A numerical count of exit signals. A higher number suggests a trend may be maturing or exhausting.
🟠 USAGE
The main purpose of the screener is to quickly identify assets where multiple components of the SSA system are in alignment, indicating a high-confluence trading opportunity.
1. Setup and Configuration:
Add the screener to your chart.
Go into the settings and populate the "Watchlist" group with the symbols you wish to monitor.
Ensure the settings for the components (Time Horizon, Signal Mode, etc.) are synchronized with the settings on your main SSA indicator for consistency.
2. Interpreting the Columns for Trading Decisions:
Start with the Big Picture (TRC): First, look at the "Trend-Range Classifier" column. If it shows "Trend," you should be looking for trend-following setups. If it shows "Range," you might avoid taking strong trend signals.
Establish Directional Bias (Spine & Bias): For trend-following, look for assets where the "Trend Spine" and "Trend Bias" agree. A "▲" in the Spine column combined with a "Strong▲" in the Bias column indicates a healthy and robust uptrend.
Time Your Entry (Smart Signals): Once you have an asset with a clear bias, watch the "Smart Signals" column for a fresh signal that aligns with that bias. A "▲+" signal appearing in an asset with a strong bullish bias across other columns is a high-confluence entry point.
Add Context (FVT & Clouds): Use the "Fair Value Trail" and "Firmament Clouds" to refine your entry. A buy signal is generally stronger if the FVT is also bullish ("▲") and the price is not in a "Very Overbought" state according to the clouds.
Manage the Trade (Exit Count): After entering a trade, keep an eye on the "Exit Signal Count." As the number increases, it serves as a warning that the trend is becoming extended and it might be time to take partial profits or tighten your stop-loss.
סקריפט בתשלום
Triple Correlation Signal by COCOSTATriple Correlation Signal by COCOSTA
Concept
Bitcoin experiences violent swings driven by large liquidations and panic selling. During these chaotic market events, Bitcoin often decouples from its usual correlation patterns with traditional assets like gold, copper, and equity indices.
This indicator identifies these critical moments when an asset simultaneously loses correlation with three major reference assets—a phenomenon that typically signals oversold conditions and extreme market dislocations .
How It Works
The Triple Correlation Signal monitors the correlation coefficient between your primary asset and three customizable assets. Simply apply it to any chart—the signals will trigger based on that asset's correlation behavior.
Default Setup: Bitcoin (BTC1!)
Gold (GC1!) - Safe-haven asset correlation
Copper (HG1!) - Industrial/economic growth correlation
NASDAQ-100 (US100) - Technology/equity market correlation
When all three correlations fall below zero simultaneously , the indicator triggers a signal. This rare multi-asset decorrelation event suggests that the asset has decoupled far beyond normal trading ranges—often indicating extreme selling pressure that has pushed prices to unreasonable levels .
Signal Visualization
The indicator displays signals as vertical lines that span the full chart height when all three correlations drop below zero. A semi-transparent red background also highlights periods when the signal condition is active. This neutral visual representation avoids implying a specific directional bias.
Universal Application
This indicator works on any ticker or asset class . Simply change the chart to your desired asset and adjust the three correlation symbols to match different market combinations:
Stocks: Compare against sector indices, VIX, and bond futures
Commodities: Compare against currencies, equity indices, and related commodities
Forex: Compare against central bank proxies, commodity indices, and equity markets
Why Use BTC1! (CME Bitcoin Futures)
For Bitcoin specifically, use BTC1! (CME Bitcoin Futures) rather than spot BTCUSD. Since traditional assets like gold (GC1!) and copper (HG1!) trade on CME with market hours, using BTC1! ensures synchronized trading sessions and accurate correlation measurements . The 24/7 spot market can create timing mismatches that distort correlation readings.
Trading Application
Signal triggers = Potential capitulation events and oversold extremes
Best used with other confirmation indicators (support levels, RSI, volume analysis)
Customizable correlation length (default: 62 bars) and asset symbols to match any strategy
Finding Your Edge
Experiment with different asset combinations for your trading interest. If you discover particularly effective correlation combinations—especially for underexplored assets—feel free to reach out. Your insights help COCOSTA continuously improve market analysis tools.
Key Insight
When massive liquidations force panic selling, assets temporarily break their normal relationships with other markets. The Triple Correlation Signal catches these precise moments—your edge in identifying when any asset has been sold below reasonable value.
Created by COCOSTA | Advanced Market Analysis Tools
Volatility-Targeted Momentum Portfolio [BackQuant]Volatility-Targeted Momentum Portfolio
A complete momentum portfolio engine that ranks assets, targets a user-defined volatility, builds long, short, or delta-neutral books, and reports performance with metrics, attribution, Monte Carlo scenarios, allocation pie, and efficiency scatter plots. This description explains the theory and the mechanics so you can configure, validate, and deploy it with intent.
Table of contents
What the script does at a glance
Momentum, what it is, how to know if it is present
Volatility targeting, why and how it is done here
Portfolio construction modes: Long Only, Short Only, Delta Neutral
Regime filter and when the strategy goes to cash
Transaction cost modelling in this script
Backtest metrics and definitions
Performance attribution chart
Monte Carlo simulation
Scatter plot analysis modes
Asset allocation pie chart
Inputs, presets, and deployment checklist
Suggested workflow
1) What the script does at a glance
Pulls a list of up to 15 tickers, computes a simple momentum score on each over a configurable lookback, then volatility-scales their bar-to-bar return stream to a target annualized volatility.
Ranks assets by raw momentum, selects the top 3 and bottom 3, builds positions according to the chosen mode, and gates exposure with a fast regime filter.
Accumulates a portfolio equity curve with risk and performance metrics, optional benchmark buy-and-hold for comparison, and a full alert suite.
Adds visual diagnostics: performance attribution bars, Monte Carlo forward paths, an allocation pie, and scatter plots for risk-return and factor views.
2) Momentum: definition, detection, and validation
Momentum is the tendency of assets that have performed well to continue to perform well, and of underperformers to continue underperforming, over a specific horizon. You operationalize it by selecting a horizon, defining a signal, ranking assets, and trading the leaders versus laggards subject to risk constraints.
Signal choices . Common signals include cumulative return over a lookback window, regression slope on log-price, or normalized rate-of-change. This script uses cumulative return over lookback bars for ranking (variable cr = price/price - 1). It keeps the ranking simple and lets volatility targeting handle risk normalization.
How to know momentum is present .
Leaders and laggards persist across adjacent windows rather than flipping every bar.
Spread between average momentum of leaders and laggards is materially positive in sample.
Cross-sectional dispersion is non-trivial. If everything is flat or highly correlated with no separation, momentum selection will be weak.
Your validation should include a diagnostic that measures whether returns are explained by a momentum regression on the timeseries.
Recommended diagnostic tool . Before running any momentum portfolio, verify that a timeseries exhibits stable directional drift. Use this indicator as a pre-check: It fits a regression to price, exposes slope and goodness-of-fit style context, and helps confirm if there is usable momentum before you force a ranking into a flat regime.
3) Volatility targeting: purpose and implementation here
Purpose . Volatility targeting seeks a more stable risk footprint. High-vol assets get sized down, low-vol assets get sized up, so each contributes more evenly to total risk.
Computation in this script (per asset, rolling):
Return series ret = log(price/price ).
Annualized volatility estimate vol = stdev(ret, lookback) * sqrt(tradingdays).
Leverage multiplier volMult = clamp(targetVol / vol, 0.1, 5.0).
This caps sizing so extremely low-vol assets don’t explode weight and extremely high-vol assets don’t go to zero.
Scaled return stream sr = ret * volMult. This is the per-bar, risk-adjusted building block used in the portfolio combinations.
Interpretation . You are not levering your account on the exchange, you are rescaling the contribution each asset’s daily move has on the modeled equity. In live trading you would reflect this with position sizing or notional exposure.
4) Portfolio construction modes
Cross-sectional ranking . Assets are sorted by cr over the chosen lookback. Top and bottom indices are extracted without ties.
Long Only . Averages the volatility-scaled returns of the top 3 assets: avgRet = mean(sr_top1, sr_top2, sr_top3). Position table shows per-asset leverages and weights proportional to their current volMult.
Short Only . Averages the negative of the volatility-scaled returns of the bottom 3: avgRet = mean(-sr_bot1, -sr_bot2, -sr_bot3). Position table shows short legs.
Delta Neutral . Long the top 3 and short the bottom 3 in equal book sizes. Each side is sized to 50 percent notional internally, with weights within each side proportional to volMult. The return stream mixes the two sides: avgRet = mean(sr_top1,sr_top2,sr_top3, -sr_bot1,-sr_bot2,-sr_bot3).
Notes .
The selection metric is raw momentum, the execution stream is volatility-scaled returns. This separation is deliberate. It avoids letting volatility dominate ranking while still enforcing risk parity at the return contribution stage.
If everything rallies together and dispersion collapses, Long Only may behave like a single beta. Delta Neutral is designed to extract cross-sectional momentum with low net beta.
5) Regime filter
A fast EMA(12) vs EMA(21) filter gates exposure.
Long Only active when EMA12 > EMA21. Otherwise the book is set to cash.
Short Only active when EMA12 < EMA21. Otherwise cash.
Delta Neutral is always active.
This prevents taking long momentum entries during obvious local downtrends and vice versa for shorts. When the filter is false, equity is held flat for that bar.
6) Transaction cost modelling
There are two cost touchpoints in the script.
Per-bar drag . When the regime filter is active, the per-bar return is reduced by fee_rate * avgRet inside netRet = avgRet - (fee_rate * avgRet). This models proportional friction relative to traded impact on that bar.
Turnover-linked fee . The script tracks changes in membership of the top and bottom baskets (top1..top3, bot1..bot3). The intent is to charge fees when composition changes. The template counts changes and scales a fee by change count divided by 6 for the six slots.
Use case: increase fee_rate to reflect taker fees and slippage if you rebalance every bar or trade illiquid assets. Reduce it if you rebalance less often or use maker orders.
Practical advice .
If you rebalance daily, start with 5–20 bps round-trip per switch on liquid futures and adjust per venue.
For crypto perp microcaps, stress higher cost assumptions and add slippage buffers.
If you only rotate on lookback boundaries or at signals, use alert-driven rebalances and lower per-bar drag.
7) Backtest metrics and definitions
The script computes a standard set of portfolio statistics once the start date is reached.
Net Profit percent over the full test.
Max Drawdown percent, tracked from running peaks.
Annualized Mean and Stdev using the chosen trading day count.
Variance is the square of annualized stdev.
Sharpe uses daily mean adjusted by risk-free rate and annualized.
Sortino uses downside stdev only.
Omega ratio of sum of gains to sum of losses.
Gain-to-Pain total gains divided by total losses absolute.
CAGR compounded annual growth from start date to now.
Alpha, Beta versus a user-selected benchmark. Beta from covariance of daily returns, Alpha from CAPM.
Skewness of daily returns.
VaR 95 linear-interpolated 5th percentile of daily returns.
CVaR average of the worst 5 percent of daily returns.
Benchmark Buy-and-Hold equity path for comparison.
8) Performance attribution
Cumulative contribution per asset, adjusted for whether it was held long or short and for its volatility multiplier, aggregated across the backtest. You can filter to winners only or show both sides. The panel is sorted by contribution and includes percent labels.
9) Monte Carlo simulation
The panel draws forward equity paths from either a Normal model parameterized by recent mean and stdev, or non-parametric bootstrap of recent daily returns. You control the sample length, number of simulations, forecast horizon, visibility of individual paths, confidence bands, and a reproducible seed.
Normal uses Box-Muller with your seed. Good for quick, smooth envelopes.
Bootstrap resamples realized returns, preserving fat tails and volatility clustering better than a Gaussian assumption.
Bands show 10th, 25th, 75th, 90th percentiles and the path mean.
10) Scatter plot analysis
Four point-cloud modes, each plotting all assets and a star for the current portfolio position, with quadrant guides and labels.
Risk-Return Efficiency . X is risk proxy from leverage, Y is expected return from annualized momentum. The star shows the current book’s composite.
Momentum vs Volatility . Visualizes whether leaders are also high vol, a cue for turnover and cost expectations.
Beta vs Alpha . X is a beta proxy, Y is risk-adjusted excess return proxy. Useful to see if leaders are just beta.
Leverage vs Momentum . X is volMult, Y is momentum. Shows how volatility targeting is redistributing risk.
11) Asset allocation pie chart
Builds a wheel of current allocations.
Long Only, weights are proportional to each long asset’s current volMult and sum to 100 percent.
Short Only, weights show the short book as positive slices that sum to 100 percent.
Delta Neutral, 50 percent long and 50 percent short books, each side leverage-proportional.
Labels can show asset, percent, and current leverage.
12) Inputs and quick presets
Core
Portfolio Strategy . Long Only, Short Only, Delta Neutral.
Initial Capital . For equity scaling in the panel.
Trading Days/Year . 252 for stocks, 365 for crypto.
Target Volatility . Annualized, drives volMult.
Transaction Fees . Per-bar drag and composition change penalty, see the modelling notes above.
Momentum Lookback . Ranking horizon. Shorter is more reactive, longer is steadier.
Start Date . Ensure every symbol has data back to this date to avoid bias.
Benchmark . Used for alpha, beta, and B&H line.
Diagnostics
Metrics, Equity, B&H, Curve labels, Daily return line, Rolling drawdown fill.
Attribution panel. Toggle winners only to focus on what matters.
Monte Carlo mode with Normal or Bootstrap and confidence bands.
Scatter plot type and styling, labels, and portfolio star.
Pie chart and labels for current allocation.
Presets
Crypto Daily, Long Only . Lookback 25, Target Vol 50 percent, Fees 10 bps, Regime filter on, Metrics and Drawdown on. Monte Carlo Bootstrap with Recent 200 bars for bands.
Crypto Daily, Delta Neutral . Lookback 25, Target Vol 50 percent, Fees 15–25 bps, Regime filter always active for this mode. Use Scatter Risk-Return to monitor efficiency and keep the star near upper left quadrants without drifting rightward.
Equities Daily, Long Only . Lookback 60–120, Target Vol 15–20 percent, Fees 5–10 bps, Regime filter on. Use Benchmark SPX and watch Alpha and Beta to keep the book from becoming index beta.
13) Suggested workflow
Universe sanity check . Pick liquid tickers with stable data. Thin assets distort vol estimates and fees.
Check momentum existence . Run on your timeframe. If slope and fit are weak, widen lookback or avoid that asset or timeframe.
Set risk budget . Choose a target volatility that matches your drawdown tolerance. Higher target increases turnover and cost sensitivity.
Pick mode . Long Only for bull regimes, Short Only for sustained downtrends, Delta Neutral for cross-sectional harvesting when index direction is unclear.
Tune lookback . If leaders rotate too often, lengthen it. If entries lag, shorten it.
Validate cost assumptions . Increase fee_rate and stress Monte Carlo. If the edge vanishes with modest friction, refine selection or lengthen rebalance cadence.
Run attribution . Confirm the strategy’s winners align with intuition and not one unstable outlier.
Use alerts . Enable position change, drawdown, volatility breach, regime, momentum shift, and crash alerts to supervise live runs.
Important implementation details mapped to code
Momentum measure . cr = price / price - 1 per symbol for ranking. Simplicity helps avoid overfitting.
Volatility targeting . vol = stdev(log returns, lookback) * sqrt(tradingdays), volMult = clamp(targetVol / vol, 0.1, 5), sr = ret * volMult.
Selection . Extract indices for top1..top3 and bot1..bot3. The arrays rets, scRets, lev_vals, and ticks_arr track momentum, scaled returns, leverage multipliers, and display tickers respectively.
Regime filter . EMA12 vs EMA21 switch determines if the strategy takes risk for Long or Short modes. Delta Neutral ignores the gate.
Equity update . Equity multiplies by 1 + netRet only when the regime was active in the prior bar. Buy-and-hold benchmark is computed separately for comparison.
Tables . Position tables show current top or bottom assets with leverage and weights. Metric table prints all risk and performance figures.
Visualization panels . Attribution, Monte Carlo, scatter, and pie use the last bars to draw overlays that update as the backtest proceeds.
Final notes
Momentum is a portfolio effect. The edge comes from cross-sectional dispersion, adequate risk normalization, and disciplined turnover control, not from a single best asset call.
Volatility targeting stabilizes path but does not fix selection. Use the momentum regression link above to confirm structure exists before you size into it.
Always test higher lag costs and slippage, then recheck metrics, attribution, and Monte Carlo envelopes. If the edge persists under stress, you have something robust.
Algorithm Predator - ML-liteAlgorithm Predator - ML-lite
This indicator combines four specialized trading agents with an adaptive multi-armed bandit selection system to identify high-probability trade setups. It is designed for swing and intraday traders who want systematic signal generation based on institutional order flow patterns , momentum exhaustion , liquidity dynamics , and statistical mean reversion .
Core Architecture
Why These Components Are Combined:
The script addresses a fundamental challenge in algorithmic trading: no single detection method works consistently across all market conditions. By deploying four independent agents and using reinforcement learning algorithms to select or blend their outputs, the system adapts to changing market regimes without manual intervention.
The Four Trading Agents
1. Spoofing Detector Agent 🎭
Detects iceberg orders through persistent volume at similar price levels over 5 bars
Identifies spoofing patterns via asymmetric wick analysis (wicks exceeding 60% of bar range with volume >1.8× average)
Monitors order clustering using simplified Hawkes process intensity tracking (exponential decay model)
Signal Logic: Contrarian—fades false breakouts caused by institutional manipulation
Best Markets: Consolidations, institutional trading windows, low-liquidity hours
2. Exhaustion Detector Agent ⚡
Calculates RSI divergence between price movement and momentum indicator over 5-bar window
Detects VWAP exhaustion (price at 2σ bands with declining volume)
Uses VPIN reversals (volume-based toxic flow dissipation) to identify momentum failure
Signal Logic: Counter-trend—enters when momentum extreme shows weakness
Best Markets: Trending markets reaching climax points, over-extended moves
3. Liquidity Void Detector Agent 💧
Measures Bollinger Band squeeze (width <60% of 50-period average)
Identifies stop hunts via 20-bar high/low penetration with immediate reversal and volume spike
Detects hidden liquidity absorption (volume >2× average with range <0.3× ATR)
Signal Logic: Breakout anticipation—enters after liquidity grab but before main move
Best Markets: Range-bound pre-breakout, volatility compression zones
4. Mean Reversion Agent 📊
Calculates price z-scores relative to 50-period SMA and standard deviation (triggers at ±2σ)
Implements Ornstein-Uhlenbeck process scoring (mean-reverting stochastic model)
Uses entropy analysis to detect algorithmic trading patterns (low entropy <0.25 = high predictability)
Signal Logic: Statistical reversion—enters when price deviates significantly from statistical equilibrium
Best Markets: Range-bound, low-volatility, algorithmically-dominated instruments
Adaptive Selection: Multi-Armed Bandit System
The script implements four reinforcement learning algorithms to dynamically select or blend agents based on performance:
Thompson Sampling (Default - Recommended):
Uses Bayesian inference with beta distributions (tracks alpha/beta parameters per agent)
Balances exploration (trying underused agents) vs. exploitation (using proven winners)
Each agent's win/loss history informs its selection probability
Lite Approximation: Uses pseudo-random sampling from price/volume noise instead of true random number generation
UCB1 (Upper Confidence Bound):
Calculates confidence intervals using: average_reward + sqrt(2 × ln(total_pulls) / agent_pulls)
Deterministic algorithm favoring agents with high uncertainty (potential upside)
More conservative than Thompson Sampling
Epsilon-Greedy:
Exploits best-performing agent (1-ε)% of the time
Explores randomly ε% of the time (default 10%, configurable 1-50%)
Simple, transparent, easily tuned via epsilon parameter
Gradient Bandit:
Uses softmax probability distribution over agent preference weights
Updates weights via gradient ascent based on rewards
Best for Blend mode where all agents contribute
Selection Modes:
Switch Mode: Uses only the selected agent's signal (clean, decisive)
Blend Mode: Combines all agents using exponentially weighted confidence scores controlled by temperature parameter (smooth, diversified)
Lock Agent Feature:
Optional manual override to force one specific agent
Useful after identifying which agent dominates your specific instrument
Only applies in Switch mode
Four choices: Spoofing Detector, Exhaustion Detector, Liquidity Void, Mean Reversion
Memory System
Dual-Layer Architecture:
Short-Term Memory: Stores last 20 trade outcomes per agent (configurable 10-50)
Long-Term Memory: Stores episode averages when short-term reaches transfer threshold (configurable 5-20 bars)
Memory Boost Mechanism: Recent performance modulates agent scores by up to ±20%
Episode Transfer: When an agent accumulates sufficient results, averages are condensed into long-term storage
Persistence: Manual restoration of learned parameters via input fields (alpha, beta, weights, microstructure thresholds)
How Memory Works:
Agent generates signal → outcome tracked after 8 bars (performance horizon)
Result stored in short-term memory (win = 1.0, loss = 0.0)
Short-term average influences agent's future scores (positive feedback loop)
After threshold met (default 10 results), episode averaged into long-term storage
Long-term patterns (weighted 30%) + short-term patterns (weighted 70%) = total memory boost
Market Microstructure Analysis
These advanced metrics quantify institutional order flow dynamics:
Order Flow Toxicity (Simplified VPIN):
Measures buy/sell volume imbalance over 20 bars: |buy_vol - sell_vol| / (buy_vol + sell_vol)
Detects informed trading activity (institutional players with non-public information)
Values >0.4 indicate "toxic flow" (informed traders active)
Lite Approximation: Uses simple open/close heuristic instead of tick-by-tick trade classification
Price Impact Analysis (Simplified Kyle's Lambda):
Measures market impact efficiency: |price_change_10| / sqrt(volume_sum_10)
Low values = large orders with minimal price impact ( stealth accumulation )
High values = retail-dominated moves with high slippage
Lite Approximation: Uses simplified denominator instead of regression-based signed order flow
Market Randomness (Entropy Analysis):
Counts unique price changes over 20 bars / 20
Measures market predictability
High entropy (>0.6) = human-driven, chaotic price action
Low entropy (<0.25) = algorithmic trading dominance (predictable patterns)
Lite Approximation: Simple ratio instead of true Shannon entropy H(X) = -Σ p(x)·log₂(p(x))
Order Clustering (Simplified Hawkes Process):
Tracks self-exciting event intensity (coordinated order activity)
Decays at 0.9× per bar, spikes +1.0 when volume >1.5× average
High intensity (>0.7) indicates clustering (potential spoofing/accumulation)
Lite Approximation: Simple exponential decay instead of full λ(t) = μ + Σ α·exp(-β(t-tᵢ)) with MLE
Signal Generation Process
Multi-Stage Validation:
Stage 1: Agent Scoring
Each agent calculates internal score based on its detection criteria
Scores must exceed agent-specific threshold (adjusted by sensitivity multiplier)
Agent outputs: Signal direction (+1/-1/0) and Confidence level (0.0-1.0)
Stage 2: Memory Boost
Agent scores multiplied by memory boost factor (0.8-1.2 based on recent performance)
Successful agents get amplified, failing agents get dampened
Stage 3: Bandit Selection/Blending
If Adaptive Mode ON:
Switch: Bandit selects single best agent, uses only its signal
Blend: All agents combined using softmax-weighted confidence scores
If Adaptive Mode OFF:
Traditional consensus voting with confidence-squared weighting
Signal fires when consensus exceeds threshold (default 70%)
Stage 4: Confirmation Filter
Raw signal must repeat for consecutive bars (default 3, configurable 2-4)
Minimum confidence threshold: 0.25 (25%) enforced regardless of mode
Trend alignment check: Long signals require trend_score ≥ -2, Short signals require trend_score ≤ 2
Stage 5: Cooldown Enforcement
Minimum bars between signals (default 10, configurable 5-15)
Prevents over-trading during choppy conditions
Stage 6: Performance Tracking
After 8 bars (performance horizon), signal outcome evaluated
Win = price moved in signal direction, Loss = price moved against
Results fed back into memory and bandit statistics
Trading Modes (Presets)
Pre-configured parameter sets:
Conservative: 85% consensus, 4 confirmations, 15-bar cooldown
Expected: 60-70% win rate, 3-8 signals/week
Best for: Swing trading, capital preservation, beginners
Balanced: 70% consensus, 3 confirmations, 10-bar cooldown
Expected: 55-65% win rate, 8-15 signals/week
Best for: Day trading, most traders, general use
Aggressive: 60% consensus, 2 confirmations, 5-bar cooldown
Expected: 50-58% win rate, 15-30 signals/week
Best for: Scalping, high-frequency trading, active management
Elite: 75% consensus, 3 confirmations, 12-bar cooldown
Expected: 58-68% win rate, 5-12 signals/week
Best for: Selective trading, high-conviction setups
Adaptive: 65% consensus, 2 confirmations, 8-bar cooldown
Expected: Varies based on learning
Best for: Experienced users leveraging bandit system
How to Use
1. Initial Setup (5 Minutes):
Select Trading Mode matching your style (start with Balanced)
Enable Adaptive Learning (recommended for automatic agent selection)
Choose Thompson Sampling algorithm (best all-around performance)
Keep Microstructure Metrics enabled for liquid instruments (>100k daily volume)
2. Agent Tuning (Optional):
Adjust Agent Sensitivity multipliers (0.5-2.0):
<0.8 = Highly selective (fewer signals, higher quality)
0.9-1.2 = Balanced (recommended starting point)
1.3 = Aggressive (more signals, lower individual quality)
Monitor dashboard for 20-30 signals to identify dominant agent
If one agent consistently outperforms, consider using Lock Agent feature
3. Bandit Configuration (Advanced):
Blend Temperature (0.1-2.0):
0.3 = Sharp decisions (best agent dominates)
0.5 = Balanced (default)
1.0+ = Smooth (equal weighting, democratic)
Memory Decay (0.8-0.99):
0.90 = Fast adaptation (volatile markets)
0.95 = Balanced (most instruments)
0.97+ = Long memory (stable trends)
4. Signal Interpretation:
Green triangle (▲): Long signal confirmed
Red triangle (▼): Short signal confirmed
Dashboard shows:
Active agent (highlighted row with ► marker)
Win rate per agent (green >60%, yellow 40-60%, red <40%)
Confidence bars (█████ = maximum confidence)
Memory size (short-term buffer count)
Colored zones display:
Entry level (current close)
Stop-loss (1.5× ATR)
Take-profit 1 (2.0× ATR)
Take-profit 2 (3.5× ATR)
5. Risk Management:
Never risk >1-2% per signal (use ATR-based stops)
Signals are entry triggers, not complete strategies
Combine with your own market context analysis
Consider fundamental catalysts and news events
Use "Confirming" status to prepare entries (not to enter early)
6. Memory Persistence (Optional):
After 50-100 trades, check Memory Export Panel
Record displayed alpha/beta/weight values for each agent
Record VPIN and Kyle threshold values
Enable "Restore From Memory" and input saved values to continue learning
Useful when switching timeframes or restarting indicator
Visual Components
On-Chart Elements:
Spectral Layers: EMA8 ± 0.5 ATR bands (dynamic support/resistance, colored by trend)
Energy Radiance: Multi-layer glow boxes at signal points (intensity scales with confidence, configurable 1-5 layers)
Probability Cones: Projected price paths with uncertainty wedges (15-bar projection, width = confidence × ATR)
Connection Lines: Links sequential signals (solid = same direction continuation, dotted = reversal)
Kill Zones: Risk/reward boxes showing entry, stop-loss, and dual take-profit targets
Signal Markers: Triangle up/down at validated entry points
Dashboard (Configurable Position & Size):
Regime Indicator: 4-level trend classification (Strong Bull/Bear, Weak Bull/Bear)
Mode Status: Shows active system (Adaptive Blend, Locked Agent, or Consensus)
Agent Performance Table: Real-time win%, confidence, and memory stats
Order Flow Metrics: Toxicity and impact indicators (when microstructure enabled)
Signal Status: Current state (Long/Short/Confirming/Waiting) with confirmation progress
Memory Panel (Configurable Position & Size):
Live Parameter Export: Alpha, beta, and weight values per agent
Adaptive Thresholds: Current VPIN sensitivity and Kyle threshold
Save Reminder: Visual indicator if parameters should be recorded
What Makes This Original
This script's originality lies in three key innovations:
1. Genuine Meta-Learning Framework:
Unlike traditional indicator mashups that simply display multiple signals, this implements authentic reinforcement learning (multi-armed bandits) to learn which detection method works best in current conditions. The Thompson Sampling implementation with beta distribution tracking (alpha for successes, beta for failures) is statistically rigorous and adapts continuously. This is not post-hoc optimization—it's real-time learning.
2. Episodic Memory Architecture with Transfer Learning:
The dual-layer memory system mimics human learning patterns:
Short-term memory captures recent performance (recency bias)
Long-term memory preserves historical patterns (experience)
Automatic transfer mechanism consolidates knowledge
Memory boost creates positive feedback loops (successful strategies become stronger)
This architecture allows the system to adapt without retraining , unlike static ML models that require batch updates.
3. Institutional Microstructure Integration:
Combines retail-focused technical analysis (RSI, Bollinger Bands, VWAP) with institutional-grade microstructure metrics (VPIN, Kyle's Lambda, Hawkes processes) typically found in academic finance literature and professional trading systems, not standard retail platforms. While simplified for Pine Script constraints, these metrics provide insight into informed vs. uninformed trading , a dimension entirely absent from traditional technical analysis.
Mashup Justification:
The four agents are combined specifically for risk diversification across failure modes:
Spoofing Detector: Prevents false breakout losses from manipulation
Exhaustion Detector: Prevents chasing extended trends into reversals
Liquidity Void: Exploits volatility compression (different regime than trending)
Mean Reversion: Provides mathematical anchoring when patterns fail
The bandit system ensures the optimal tool is automatically selected for each market situation, rather than requiring manual interpretation of conflicting signals.
Why "ML-lite"? Simplifications and Approximations
This is the "lite" version due to necessary simplifications for Pine Script execution:
1. Simplified VPIN Calculation:
Academic Implementation: True VPIN uses volume bucketing (fixed-volume bars) and tick-by-tick buy/sell classification via Lee-Ready algorithm or exchange-provided trade direction flags
This Implementation: 20-bar rolling window with simple open/close heuristic (close > open = buy volume)
Impact: May misclassify volume during ranging/choppy markets; works best in directional moves
2. Pseudo-Random Sampling:
Academic Implementation: Thompson Sampling requires true random number generation from beta distributions using inverse transform sampling or acceptance-rejection methods
This Implementation: Deterministic pseudo-randomness derived from price and volume decimal digits: (close × 100 - floor(close × 100)) + (volume % 100) / 100
Impact: Not cryptographically random; may have subtle biases in specific price ranges; provides sufficient variation for agent selection
3. Hawkes Process Approximation:
Academic Implementation: Full Hawkes process uses maximum likelihood estimation with exponential kernels: λ(t) = μ + Σ α·exp(-β(t-tᵢ)) fitted via iterative optimization
This Implementation: Simple exponential decay (0.9 multiplier) with binary event triggers (volume spike = event)
Impact: Captures self-exciting property but lacks parameter optimization; fixed decay rate may not suit all instruments
4. Kyle's Lambda Simplification:
Academic Implementation: Estimated via regression of price impact on signed order flow over multiple time intervals: Δp = λ × Δv + ε
This Implementation: Simplified ratio: price_change / sqrt(volume_sum) without proper signed order flow or regression
Impact: Provides directional indicator of impact but not true market depth measurement; no statistical confidence intervals
5. Entropy Calculation:
Academic Implementation: True Shannon entropy requires probability distribution: H(X) = -Σ p(x)·log₂(p(x)) where p(x) is probability of each price change magnitude
This Implementation: Simple ratio of unique price changes to total observations (variety measure)
Impact: Measures diversity but not true information entropy with probability weighting; less sensitive to distribution shape
6. Memory System Constraints:
Full ML Implementation: Neural networks with backpropagation, experience replay buffers (storing state-action-reward tuples), gradient descent optimization, and eligibility traces
This Implementation: Fixed-size array queues with simple averaging; no gradient-based learning, no state representation beyond raw scores
Impact: Cannot learn complex non-linear patterns; limited to linear performance tracking
7. Limited Feature Engineering:
Advanced Implementation: Dozens of engineered features, polynomial interactions (x², x³), dimensionality reduction (PCA, autoencoders), feature selection algorithms
This Implementation: Raw agent scores and basic market metrics (RSI, ATR, volume ratio); minimal transformation
Impact: May miss subtle cross-feature interactions; relies on agent-level intelligence rather than feature combinations
8. Single-Instrument Data:
Full Implementation: Multi-asset correlation analysis (sector ETFs, currency pairs, volatility indices like VIX), lead-lag relationships, risk-on/risk-off regimes
This Implementation: Only OHLCV data from displayed instrument
Impact: Cannot incorporate broader market context; vulnerable to correlated moves across assets
9. Fixed Performance Horizon:
Full Implementation: Adaptive horizon based on trade duration, volatility regime, or profit target achievement
This Implementation: Fixed 8-bar evaluation window
Impact: May evaluate too early in slow markets or too late in fast markets; one-size-fits-all approach
Performance Impact Summary:
These simplifications make the script:
✅ Faster: Executes in milliseconds vs. seconds (or minutes) for full academic implementations
✅ More Accessible: Runs on any TradingView plan without external data feeds, APIs, or compute servers
✅ More Transparent: All calculations visible in Pine Script (no black-box compiled models)
✅ Lower Resource Usage: <500 bars lookback, minimal memory footprint
⚠️ Less Precise: Approximations may reduce statistical edge by 5-15% vs. academic implementations
⚠️ Limited Scope: Cannot capture tick-level dynamics, multi-order-book interactions, or cross-asset flows
⚠️ Fixed Parameters: Some thresholds hardcoded rather than dynamically optimized
When to Upgrade to Full Implementation:
Consider professional Python/C++ versions with institutional data feeds if:
Trading with >$100K capital where precision differences materially impact returns
Operating in microsecond-competitive environments (HFT, market making)
Requiring regulatory-grade audit trails and reproducibility
Backtesting with tick-level precision for strategy validation
Need true real-time adaptation with neural network-based learning
For retail swing/day trading and position management, these approximations provide sufficient signal quality while maintaining usability, transparency, and accessibility. The core logic—multi-agent detection with adaptive selection—remains intact.
Technical Notes
All calculations use standard Pine Script built-in functions ( ta.ema, ta.atr, ta.rsi, ta.bb, ta.sma, ta.stdev, ta.vwap )
VPIN and Kyle's Lambda use simplified formulas optimized for OHLCV data (see "Lite" section above)
Thompson Sampling uses pseudo-random noise from price/volume decimal digits for beta distribution sampling
No repainting: All calculations use confirmed bar data (no forward-looking)
Maximum lookback: 500 bars (set via max_bars_back parameter)
Performance evaluation: 8-bar forward-looking window for reward calculation (clearly disclosed)
Confidence threshold: Minimum 0.25 (25%) enforced on all signals
Memory arrays: Dynamic sizing with FIFO queue management
Limitations and Disclaimers
Not Predictive: This indicator identifies patterns in historical data. It cannot predict future price movements with certainty.
Requires Human Judgment: Signals are entry triggers, not complete trading strategies. Must be confirmed with your own analysis, risk management rules, and market context.
Learning Period Required: The adaptive system requires 50-100 bars minimum to build statistically meaningful performance data for bandit algorithms.
Overfitting Risk: Restoring memory parameters from one market regime to a drastically different regime (e.g., low volatility to high volatility) may cause poor initial performance until system re-adapts.
Approximation Limitations: Simplified calculations (see "Lite" section) may underperform academic implementations by 5-15% in highly efficient markets.
No Guarantee of Profit: Past performance, whether backtested or live-traded, does not guarantee future performance. All trading involves risk of loss.
Forward-Looking Bias: Performance evaluation uses 8-bar forward window—this creates slight look-ahead for learning (though not for signals). Real-time performance may differ from indicator's internal statistics.
Single-Instrument Limitation: Does not account for correlations with related assets or broader market regime changes.
Recommended Settings
Timeframe: 15-minute to 4-hour charts (sufficient volatility for ATR-based stops; adequate bar volume for learning)
Assets: Liquid instruments with >100k daily volume (forex majors, large-cap stocks, BTC/ETH, major indices)
Not Recommended: Illiquid small-caps, penny stocks, low-volume altcoins (microstructure metrics unreliable)
Complementary Tools: Volume profile, order book depth, market breadth indicators, fundamental catalysts
Position Sizing: Risk no more than 1-2% of capital per signal using ATR-based stop-loss
Signal Filtering: Consider external confluence (support/resistance, trendlines, round numbers, session opens)
Start With: Balanced mode, Thompson Sampling, Blend mode, default agent sensitivities (1.0)
After 30+ Signals: Review agent win rates, consider increasing sensitivity of top performers or locking to dominant agent
Alert Configuration
The script includes built-in alert conditions:
Long Signal: Fires when validated long entry confirmed
Short Signal: Fires when validated short entry confirmed
Alerts fire once per bar (after confirmation requirements met)
Set alert to "Once Per Bar Close" for reliability
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Market Profile Dominance Analyzer# Market Profile Dominance Analyzer
## 📊 OVERVIEW
**Market Profile Dominance Analyzer** is an advanced multi-factor indicator that combines Market Profile methodology with composite dominance scoring to identify buyer and seller strength across higher timeframes. Unlike traditional volume profile indicators that only show volume distribution, or simple buyer/seller indicators that only compare candle colors, this script integrates six distinct analytical components into a unified dominance measurement system.
This indicator helps traders understand **WHO controls the market** by analyzing price position relative to Market Profile key levels (POC, Value Area) combined with volume distribution, momentum, and trend characteristics.
## 🎯 WHAT MAKES THIS ORIGINAL
### **Hybrid Analytical Approach**
This indicator uniquely combines two separate methodologies that are typically analyzed independently:
1. **Market Profile Analysis** - Calculates Point of Control (POC) and Value Area (VA) using volume distribution across price channels on higher timeframes
2. **Multi-Factor Dominance Scoring** - Weights six independent factors to produce a composite dominance index
### **Six-Factor Composite Analysis**
The dominance score integrates:
- Price position relative to POC (equilibrium assessment)
- Price position relative to Value Area boundaries (acceptance/rejection zones)
- Volume imbalance within Value Area (institutional bias detection)
- Price momentum (directional strength)
- Volume trend comparison (participation analysis)
- Normalized Value Area position (precise location within fair value zone)
### **Adaptive Higher Timeframe Integration**
The script features an intelligent auto-selection system that automatically chooses appropriate higher timeframes based on the current chart period, ensuring optimal Market Profile structure regardless of the trading timeframe being analyzed.
## 💡 HOW IT WORKS
### **Market Profile Construction**
The indicator builds a Market Profile structure on a higher timeframe by:
1. **Session Identification** - Detects new higher timeframe sessions using `request.security()` to ensure accurate period boundaries
2. **Data Accumulation** - Stores high, low, and volume data for all bars within the current higher timeframe session
3. **Channel Distribution** - Divides the session's price range into configurable channels (default: 20 rows)
4. **Volume Mapping** - Distributes each bar's volume proportionally across all price channels it touched
### **Key Level Calculation**
**Point of Control (POC)**
- Identifies the price channel with the highest accumulated volume
- Represents the price level where the most trading activity occurred
- Serves as a magnetic level where price often returns
**Value Area (VA)**
- Starts at POC and expands both upward and downward
- Includes channels until reaching the specified percentage of total volume (default: 70%)
- Expansion algorithm compares adjacent volumes and prioritizes the direction with higher activity
- Defines the "fair value" zone where most market participants agreed to trade
### **Dominance Score Formula**
```
Dominance Score = (price_vs_poc × 10) +
(price_vs_va × 5) +
(volume_imbalance × 0.5) +
(price_momentum × 100) +
(volume_trend × 5) +
(va_position × 15)
```
**Component Breakdown:**
- **price_vs_poc**: +1 if above POC, -1 if below (shows which side of equilibrium)
- **price_vs_va**: +2 if above VAH, -2 if below VAL, 0 if inside VA
- **volume_imbalance**: Percentage difference between upper and lower VA volumes
- **price_momentum**: 5-period SMA of price change (directional acceleration)
- **volume_trend**: Compares 5-period vs 20-period volume averages
- **va_position**: Normalized position within Value Area (-1 to +1)
The composite score is then smoothed using EMA with configurable sensitivity to reduce noise while maintaining responsiveness.
### **Market State Determination**
- **BUYERS Dominant**: Smooth dominance > +10 (bullish control)
- **SELLERS Dominant**: Smooth dominance < -10 (bearish control)
- **NEUTRAL**: Between -10 and +10 (balanced market)
## 📈 HOW TO USE THIS INDICATOR
### **Trend Identification**
- **Green background** indicates buyers are in control - look for long opportunities
- **Red background** indicates sellers are in control - look for short opportunities
- **Gray background** indicates neutral market - consider range-bound strategies
### **Signal Interpretation**
**Buy Signals** (green triangle) appear when:
- Dominance crosses above -10 from oversold conditions
- Previous state was not already bullish
- Suggests shift from seller to buyer control
**Sell Signals** (red triangle) appear when:
- Dominance crosses below +10 from overbought conditions
- Previous state was not already bearish
- Suggests shift from buyer to seller control
### **Value Area Context**
Monitor the information table (top-right) to understand market structure:
- **Price vs POC**: Shows if trading above/below equilibrium
- **Volume Imbalance**: Positive values favor buyers, negative favors sellers
- **Market State**: Current dominant force (BUYERS/SELLERS/NEUTRAL)
### **Multi-Timeframe Strategy**
The auto-timeframe feature analyzes higher timeframe structure:
- On 1-minute charts → analyzes 2-hour structure
- On 5-minute charts → analyzes Daily structure
- On 15-minute charts → analyzes Weekly structure
- On Daily charts → analyzes Yearly structure
This higher timeframe context helps avoid counter-trend trades against the dominant force.
### **Confluence Trading**
Strongest signals occur when multiple factors align:
1. Price above VAH + positive volume imbalance + buyers dominant = Strong bullish setup
2. Price below VAL + negative volume imbalance + sellers dominant = Strong bearish setup
3. Price at POC + neutral state = Potential breakout/breakdown pivot
## ⚙️ INPUT PARAMETERS
- **Higher Time Frame**: Select specific HTF or use 'Auto' for intelligent selection
- **Value Area %**: Percentage of volume contained in VA (default: 70%)
- **Show Buy/Sell Signals**: Toggle signal triangles visibility
- **Show Dominance Histogram**: Toggle histogram display
- **Signal Sensitivity**: EMA period for dominance smoothing (1-20, default: 5)
- **Number of Channels**: Market Profile resolution (10-50, default: 20)
- **Color Settings**: Customize buyer, seller, and neutral colors
## 🎨 VISUAL ELEMENTS
- **Histogram**: Shows smoothed dominance score (green = buyers, red = sellers)
- **Zero Line**: Neutral equilibrium reference
- **Overbought/Oversold Lines**: ±50 levels marking extreme dominance
- **Background Color**: Highlights current market state
- **Information Table**: Displays key metrics (state, dominance, POC relationship, volume imbalance, timeframe, bars in session, total volume)
- **Signal Shapes**: Triangle markers for buy/sell signals
## 🔔 ALERTS
The indicator includes three alert conditions:
1. **Buyers Dominate** - Fires on buy signal crossovers
2. **Sellers Dominate** - Fires on sell signal crossovers
3. **Dominance Shift** - Fires when dominance crosses zero line
## 📊 BEST PRACTICES
### **Timeframe Selection**
- **Scalping (1-5min)**: Focus on 2H-4H dominance shifts
- **Day Trading (15-60min)**: Monitor Daily and Weekly structure
- **Swing Trading (4H-Daily)**: Track Weekly and Monthly dominance
### **Confirmation Strategies**
1. **Trend Following**: Enter in direction of dominance above/below ±20
2. **Reversal Trading**: Fade extreme readings beyond ±50 when diverging with price
3. **Breakout Trading**: Look for dominance expansion beyond ±30 with increasing volume
### **Risk Management**
- Avoid trading during NEUTRAL states (dominance between -10 and +10)
- Use POC levels as logical stop-loss placement
- Consider VAH/VAL as profit targets for mean reversion
## ⚠️ LIMITATIONS & WARNINGS
**Data Requirements**
- Requires sufficient historical data on current chart (minimum 100 bars recommended)
- Lower timeframes may show fewer bars per HTF session initially
- More accurate results after several complete HTF sessions have formed
**Not a Standalone System**
- This indicator analyzes market structure and participant control
- Should be combined with price action, support/resistance, and risk management
- Does not guarantee profitable trades - past dominance does not predict future results
**Repainting Characteristics**
- Higher timeframe levels (POC, VAH, VAL) update as new bars form within the session
- Dominance score recalculates with each new bar
- Historical signals remain fixed, but current session data is developing
**Volume Limitations**
- Uses exchange-provided volume data which varies by instrument type
- Forex and some CFDs use tick volume (not actual transaction volume)
- Most accurate on instruments with reliable volume data (stocks, futures, crypto)
## 🔍 TECHNICAL NOTES
**Performance Optimization**
- Uses `max_bars_back=5000` for extended historical analysis
- Efficient array management prevents memory issues
- Automatic cleanup of session data on new period
**Calculation Method**
- Market Profile uses actual volume distribution, not TPO (Time Price Opportunity)
- Value Area expansion follows traditional Market Profile auction theory
- All calculations occur on the chart's current symbol and timeframe
## 📚 EDUCATIONAL VALUE
This indicator helps traders understand:
- How institutional traders use Market Profile to identify fair value
- The relationship between price, volume, and market acceptance
- Multi-factor analysis techniques for assessing market conditions
- The importance of higher timeframe structure in trade planning
## 🎓 RECOMMENDED READING
To better understand the concepts behind this indicator:
- "Mind Over Markets" by James Dalton (Market Profile foundations)
- "Markets in Profile" by James Dalton (Value Area analysis)
- Volume Profile analysis in institutional trading
## 💬 USAGE TERMS
This indicator is provided as an educational and analytical tool. It does not constitute financial advice, investment recommendations, or trading signals. Users are responsible for their own trading decisions and should conduct their own research and due diligence.
Trading involves substantial risk of loss. Past performance does not guarantee future results. Always use proper risk management and never risk more than you can afford to lose.
Market Sessions [ApexFX]Unlock a clearer view of the market's 24-hour cycle with the Market Sessions indicator. This tool is designed to be clean, simple, and powerful, helping you track global market activity directly on your chart.
Core Features:
Four Pre-configured Sessions: Easily track the New York, London, Tokyo, and Sydney sessions. Each session is fully customizable, allowing you to change the name, time, and color.
Visual Session Ranges: The indicator automatically draws a colored box (or "range") highlighting the high and low of each active session, with a clear session name label on top.
Simple Timezone Control: Forget confusing GMT strings. A single integer input (e.g., -4 for NY, +1 for London) allows you to perfectly align the indicator with your local timezone or the exchange's time.
Dynamic Dashboard: Get an at-a-glance summary of all market sessions in a clean dashboard, locked to the top-right of your chart.
Live Market Status: The dashboard shows you:
Session: The custom name for each market, color-coded to match its range.
Status: See which markets are "Active" (green) or "Inactive" (red) in real-time.
Trend: A simple trend-following metric (based on a 50-SMA) for active sessions.
Volume: A basic volume average check (based on a 50-SMA) to gauge activity.
This indicator is perfect for traders who want to identify session overlaps, target specific market volatility, or simply understand the context of price action throughout the global trading day.
[Statistics] killzone SFPSFP Statistics (ICT Sessions)
This indicator automatically finds and draws the high and low of the Asia, London, and New York trading sessions. It then hunts for Swing Failure Patterns (SFPs) that sweep these key session levels.
The main purpose of this script is to gather statistics on when these high-probability SFPs occur, allowing you to map out and identify the times of day when they are most frequent.
How to Use This Indicator
Set Your SFP Timeframe: In the settings, choose the timeframe you want to hunt for SFPs on (e.g., 1H, 15m). Important: You must also set your main chart to this exact same timeframe for the statistics to be collected correctly.
Define Your Sessions: Go to the "Session Definitions" tab.
Set the Global Timezone to your preferred trading timezone (e.g., "America/New_York"). This controls all session times and table times.
Adjust the start and end times for Asia, London, and NY AM sessions.
You can turn off sessions you don't want to track (like NY Lunch or NY PM).
You can also change the colors and text style for the session boxes here.
Set Confirmation Bars: In "SFP Engine Settings," the "Confirmation Bars" (default is 2) defines how many bars must close after the SFP bar without invalidating the level. An SFP is only "confirmed" and drawn after this period.
0 = Confirms immediately on the SFP candle's close.
2 = Confirms 2 bars after the SFP candle's close.
Read the Statistics: The "Custom SFP Statistics" table will appear on your chart. This table logs every confirmed SFP and tells you:
Which time of day they happen most.
How many were Bearish (swept a high) vs. Bullish (swept a low).
It's set by default to show the "Top 20" most frequent times, sorted chronologically.
Filter Your Chart (Optional): If your chart feels cluttered, go to "Visual Time Filter" and turn it ON.
Set a time window (e.g., "09:30-11:00").
The indicator will now only draw SFP signals that occurred within that specific time window. This is perfect for focusing on a single killzone.
How to Set Up Alerts
You can set up server-side alerts to be notified every time a new SFP is confirmed.
Check the "Enable SFP Alerts" box at the top of the indicator's settings.
Click the "Alert" button (alarm clock icon) on the TradingView toolbar.
In the "Condition" dropdown, select "SFP Statistics (ICT Sessions)".
In the second dropdown, choose "Any alert() function call".
Most Important Step: In the "Message" box, delete any default text and type in this exact placeholder:
{{alert_message}}
Set the trigger to "Once Per Bar Close".
Click "Create".
How Alerts Work (Triggers & Filtering)
Trigger: Alerts are tied to the confirmed signal. An alert will only fire after your "Confirmation Bars" have passed and the SFP is locked in. This prevents you from getting alerts on fake-outs.
Alert Filtering: The alerts are linked to the "Visual Time Filter". If you turn on the Visual Time Filter (e.g., to 09:30-11:00), you will only receive alerts for SFPs that are confirmed within that time window. If an SFP happens at 14:00, the script will ignore it, it will not be drawn, and it will not send you an alert. This allows you to get alerts only for the session you are actively trading.
Note: This is a first draft of this indicator. I will continue to work on it and improve it over time, as it may still contain small bugs.
Acknowledgements:
A big thank you to TFO (tradeforopp). The session detection logic and the visual style for the session boxes were adapted from his excellent "ICT Killzones & Pivots " indicator.
Price Z-ScoreThe goal of this Pine Script is to visually represent how much price deviates from its rolling average via the Z-score statistic in TradingView's indicators section. This script first uses a user-definable "lookback" period (the default is 20 bars) to calculate a moving average and standard deviation. Then it displays the price as an amount of standard deviation greater than or less than the moving average. A moving Z-score is plotted along with three reference lines (+2, 0, -2) to indicate areas of unusual extremes statistically; also, it colors the chart green for when price is in the lower half of the Z-score range (oversold) and red for when price is in the upper half of the Z-score range (overbought). These can be used by traders to recognize price has moved out of normal ranges and is due to revert to its mean.
The Ultimate Smart Money AQP + Reversal + Risk-Reward DashboardKEY FEATURES
Add. Analyze. Execute.
The Smart Money Way.
#AQUNAT_PRICE
#AQUNAT_PRICE
#AQUNAT_PRICE
FeatureBenefit15 Buy + 13 Sell Conditions Institutional-grade signal engine Next Target Prediction Auto-calculates closest pivot level Risk-Reward Ratio (Long/Short)Filters trades ≥ 2.0:1Wick Reversal Detector Bull/Bear Wick, Extreme, Outside, Doji Hot Zone Detection DPZ (Red), GPZ (Green), MTZ Valuation Engine Over/Undervalued vs VPOC, TC, BC Multi-Timeframe Summary Daily, Weekly, Monthly bias Buy/Sell Quant Layers Shows support/resistance clusters Probability Table PP-Tested vs PP-Untested rules Novice Mode Simplified "Yes/No" signals Customizable Levels Show All, Key, or None Alerts Built-InL3/H3, R1/S1, VPOC breaks
USE CASES & TRADING STRATEGIES
1. Scalping with Wick + Hot Zone (5M–15M)
Rule: Trade only when "Wick Reversal = Yes" + Hot Zone = GPZ
text Example:
Wick: Yes - Bull Wick
Hot Zone: GPZ: VPOC+PP
Buy Count: 12/15
→ Enter long at pullback to VPOC
Target: Next R1
Stop: Below L3
RR: 2.8:1
2. Risk-Reward Filter Trading (15M–1H)
Rule: Enter only if RR ≥ 2.0
text Long RR: 2.5 (Green)
Short RR: 1.4 (Gray)
→ Only take longs
Entry: Current Open
Target: Avg of Buy Targets
Stop: Avg of Buy Layers
3. Reversal Trading at L3/H3
Rule: Reversal Signal + Wick + Camarilla = Lower/Higher
text Price < L3
Reversal Signal: Bull Reversal
Camarilla: Lower Value
Wick: Yes - Bull Wick
→ High-Probability Bottom Reversal
4. Trend Continuation (PP-Untested)
Rule: Day Expectation = Bullish Beyond R1 + No Reversal
text Price > R1
Expectation: Extended Move
No Wick Reversal
→ Trail stop below PP
Target: R2 or H3
5. Multi-Timeframe Confluence
Rule: Enter when ≥2 timeframes agree
TFBuySellBiasDaily114BullishWeekly103BullishSummaryStrong Buy
→ Wait for pullback to Buy Layer (S1 or L3)
HOW TO READ THE DASHBOARD
Column Meaning Timeframe D, W, M Open Price Session open PP, R1, S1, etc . Key levels (highlighted if in Hot Zone) Buy X/15 (≥10 = Strong)Sell X/13 (≥7 = Strong)Wick Reversal "Yes - Bull Wick" = Enter Next Target Closest pivot level Long/Short RR Green = Valid trade Reversal Signal Bull/Bear Reversal at extremes Valuation Over/Undervalued Hot Zone DPZ = Sell, GPZ = Buy Camarilla Higher/Lower Value Day Expectation Momentum direction
PROBABILITY TABLE (PP-Tested vs PP-Untested)
LevelTouch%Close%PP-TestedPP-UntestedPP63%N/A All rules Trending rulesL173.3%46.6%Fade reversions73.8% close >L1L2↓50%↓70%*Take partials61.9% touchedL3↓25%90.9%*Avoid extremes72.4% touchedL4+Rare80%*High risk77.8% touched
*PP-Tested = Price opened inside CPR
*PP-Untested = Price opened outside CPR
PRO TIPS
Best on 5M–1H charts
Use with volume profile for VPOC confirmation
Set alerts on L3/H3 crossover or RR ≥ 2.5
Novice Mode for beginners (Yes/No only)
Hide levels to declutter: Show Levels = Key
Combine with A Quant Price Institutional Matrix for macro view
IDEAL MARKETS
Forex (EURUSD, GBPUSD, USDJPY)
Indices (NAS100, SPX500)
Crypto (BTC, ETH – set 6–8 decimals)
Futures (ES, NQ, CL)
SETUP GUIDE
Open TradingView
Go to Indicators
Search: AQuantPrice Dashboard
Click Add to Chart
Customize:
Min Buy = 10, Min Sell = 7
Min RR = 2.0
Show Levels = Key
Novice Mode = On (for beginners)
AUTHOR
© @AQuant_Price
Professional Pine Script Developer | 12+ Years in Algo Trading
Trusted by 15,000+ traders worldwide.
Not financial advice. Trade at your own risk.
FINAL TAGLINE
"One Dashboard. All Decisions."
A Quant Price Dashboard – Small Timeframes ALL IN ONE
Your Edge. Live.
Aquantprice: Institutional Structure MatrixSETUP GUIDE
Open TradingView
Go to Indicators
Search: Aquantprice: Institutional Structure Matrix
Click Add to Chart
Customize:
Min Buy = 10, Min Sell = 7
Show only PP, R1, S1, TC, BC
Set Decimals = 5 (Forex) or 8 (Crypto)
USE CASES & TRADING STRATEGIES
1. CPR Confluence Trading (Most Popular)
Rule: Enter when ≥3 timeframes show Buy ≥10/15 or Sell ≥7/13
text Example:
Daily: 12/15 Buy
Weekly: 11/15 Buy
Monthly: 10/15 Buy
→ **STRONG LONG BIAS**
Enter on pullback to nearest **S1 or L3**
2. Hot Zone Scalping (Forex & Indices)
Rule: Trade only when price is in Hot Zone (closest 2 levels)
text Hot: S1-PP → Expect bounce or breakout
Action:
- Buy at S1 if Buy Count ↑
- Sell at PP if Sell Count ↑
3. Institutional Reversal Setup
Rule: Price at H3/L3 + Reversal Condition
text Scenario:
Price touches **Monthly L3**
L3 in **Hot Zone**
Buy Count = 13/15
→ **High-Probability Reversal Long**
4. CPR Width Filter (Avoid Choppy Markets)
Rule: Trade only if CPR Label = "Strong Trend"
text CPR Size < 0.25 → Trending
CPR Size > 0.75 → Sideways (Avoid)
5. Multi-Timeframe Bias Dashboard
Use "Buy" and "Sell" columns as a sentiment meter
TimeframeBuySellBiasDaily123BullishWeekly89BearishMonthly112Bullish
→ Wait for alignment before entering
HOW TO READ THE TABLE
Column Meaning Time frame D, W, M, 3M, 6M, 12MOpen Price Current session open PP, TC, BC, etc. Pivot levels (color-coded if in Hot Zone) Buy X/15 conditions met (≥10 = Strong Buy)Sell X/13 conditions met (≥7 = Strong Sell)CPR Size Histogram + Label (Trend vs Range)Zone Hot: PP-S1, Med: S2-L3, etc. + PP Distance
PRO TIPS
Best on 5M–1H charts for entries
Use with volume or order flow for confirmation
Set alerts on Buy ≥12/15 or Sell ≥10/13
Hide unused levels to reduce clutter
Combine with AQuantPrice Dashboard (Small TF) for full system
IDEAL MARKETS
Forex (EURUSD, GBPUSD, USDJPY)
Indices (NAS100, SPX500, DAX)
Crypto (BTC, ETH – use 6–8 decimals)
Commodities (Gold, Oil)
🚀 **NEW INDICATOR ALERT**
**Aquantprice: Institutional Structure Matrix**
The **ALL-IN-ONE CPR Dashboard** used by smart money traders.
✅ **6 Timeframes in 1 Table** (Daily → Yearly)
✅ **15 Buy + 13 Sell Conditions** (Institutional Logic)
✅ **Hot Zones, CPR Width, PP Distance**
✅ **Fully Customizable – Show/Hide Any Level**
✅ **Real-Time Zone Detection** (Hot, Med, Low)
✅ **Precision up to 8 Decimals**
**No more switching charts. No more confusion.**
See **where institutions are positioned** — instantly.
👉 **Add to Chart Now**: Search **"Aquantprice: Institutional Structure Matrix"**
🔥 **Free Access | Pro-Level Insights**
*By AQuant – Trusted by 10,000+ Traders*
#CPR #PivotTrading #SmartMoney #TradingView
FINAL TAGLINE
"See What Institutions See — Before They Move."
Aquantprice: Institutional Structure Matrix
Your Edge. One Dashboard.
[turpsy]ICT HTF&KZ-Mt&ADR[Combined]This script is useful in helping with plotting higher timeframe candles, identifying the killzones, as well as plotting the ADR that helps to know how far a candle has moved relative to stated time.
This script is a combination of some free scripts out there.
Both free and open source scripts from @ fadizeidan & @ tradeforopp resulted in this. I did the combination of the scripts, debugging, applying it to suit my purpose.
Special thanks to them.
Not for sale.
Performance (Improved + Position & Size) This indicator displays a performance heat-table on the chart, showing percentage returns for multiple timeframes such as 1W, 1M, 3M, 6M, 9M, 1Y and To-Date periods (MTD / QTD / YTD style).
The goal is to quickly visualize how the current symbol has performed across different timeframes in a compact and readable format.
Put Option Profits inspired by Travis Wilkerson; SPX BacktesterPut Option Profits — Travis Wilkerson inspired. This tester evaluates a simple monthly SPX at-the-money credit-spread timing idea: enter on a fixed calendar rule (e.g., 1st Friday or 8th day with business-day shifting) at Open or Close, then exit exactly N calendar days later (first tradable day >= target, at Close). A trade is marked WIN if price at exit is above the entry price (1:1 risk proxy).
The book suggests forward testing 60-day and 180-day expirations to prove the concept. This tool lets you backtest both (and more) to see what actually works best. In the book, profits are taken when the spread reaches ~80% of max credit; losers are left to expire and cash-settle. This backtester does not model early profit-taking—every trade is held to the configured hold period and evaluated on price vs entry at the exit close. Think of it as a pure “set it and forget it” stress test. In live trading, you can still follow Travis’s 80% take-profit rule; TradingView just doesn’t simulate that here. Happy trading!
Features:
Schedule: Day-of-Month (with Prev/Next business-day shift, optional “stay in month”) or Nth Weekday (e.g., 1st Friday).
Entry timing: Open or Close.
Exit: N calendar days later at Close (holiday/weekend aware).
Filters: Optional EMA-200 “risk-on” filter.
Scope: Date range limiter.
Visuals: Entry/exit bubbles (paired colors) or simple win/loss dots.
Table: Overall Win% and N (within range).
Alerts: Entry alert (static condition + dynamic alert() message).
How to use:
[* ]Choose Start Mode (NthWeekday or DayOfMonth) and parameters (e.g., 1st Friday or DOM=8, PrevBizDay).
Pick Entry Timing (Open or Close).
Set Days In Trade (e.g., 150).
(Optional) Enable EMA filter and set Date Range.
Turn Bubbles on/off and/or Dots on/off.
Create alert:
Simple ping: Condition = this indicator -> Monthly Entry Signal -> “Once per bar” (Open) or “Once per bar close” (Close).
Rich message: Condition = this indicator -> Any alert() function call.
Notes:
Keep DOM shift in same month: when a DOM falls on a weekend/holiday, PrevBizDay/NextBizDay shift will stay inside the month if enabled; otherwise it can spill into the prior/next month. (Ignored for NthWeekday.)
Credits: Concept sparked by “Put Option Profits – How to turn ten minutes of free time into consistent cash flow each month” by Travis Wilkerson; this script is a neutral research tool (not financial advice).
Slick Strategy Weekly PCS TesterInspired by the book “The Slick Strategy: A Unique Profitable Options Trading Method.” This indicator tests weekly SPX put-credit spreads set below Monday’s open and judged at Friday’s close.
WHAT IT DOES
• Sets weekly PCS level = Monday (or first trading day) OPEN − your offset; win/loss checked at Friday close.
• Optional core filter at entry: Price ≥ 200-SMA AND 10-SMA ≥ 20-SMA; pause if Price < both 10 & 20 while > 200.
• Reference modes: Strict = Mon OPEN vs Fri SMAs (no repaint); Mid = Mon OPEN vs Mon SMAs
KEY INPUTS
• Date range (Start/End) to limit backtest window.
• Offset mode/value (Points or Percent).
• Entry day (Monday only or first trading day).
• Core filters (On/Off) and Strict/Mid reference.
• SMA settings (source; 10/20/200 lengths).
• Table settings (position, size, padding, border).
VISUALS
• Active week line: Orange = trade taken; Gray = skipped.
• History: Green = win; Red = loss; Purple = skipped.
• Optional week bands highlight active/win/loss/skipped weeks (adjustable opacity).
TABLE
• Shows Date range, Trades, Wins, Losses, Win rate, and Active level (this week’s PCS price).
NOTES
• PCS level freezes at week open and persists through the week.
MarketCap + BVPSMarketCap + BVPS
Fundamental Summary Table Version 1 is currently being tested on the Israeli market and some stocks from the American market
Releasing a version after the data has been tested
And there is also interesting information that emerges from this indicator
עברית
טבלת סיכום פונדמנטלי גרסה 1 כרגע בדוקה על השוק הישראלי ועל כמה מניות מהשוק האמריקאי
משחרר גרסה לאחר שהנתונים נבדקו
וגם יש מידע מעניין שעולה מן האינדיקטור הזה! (מוזמנים לבדוק)
High/Low from Set Period with LabelsMark high and low from a set period.
I use it to mark Overnight Low and High of FDAX instrument, to achieve that :
- you need to use candle chart
- you need to use regular trading hours ( to include overnight trades )
- you need to set that on M2 timeframe
- you need to set time begin : 17:30
- you need to set time end : 08:58
- when it will be drawn in 09:02, then let extend it via a hand and then you can disable
Issues :
- it will be visible after finished miminum period time :
-- after 2 minutes on M2 ( 9:02 )
-- after 5 minutes on M5 ( 9:05 )
etc ...
DAX Sectors OverviewIt's a table with a realtime read of DAX sectors, their changes in the day, weight for the whole DAX index.
Weights are fixed values defined in the script - recommended to refresh them periodically.






















