Correlation Screener + TF Heat map - V1.5[i]Correlation Screener + TF Heat Map V1.5
Correlation Screener + TF Heat Map V1.5 is a multi-symbol, multi-timeframe correlation analysis tool designed to measure how a main symbol behaves relative up to 7 different paired symbols, using progressive lookback layers.
Instead of relying on a single correlation value, this indicator constructs a 5-layer correlation framework per pair, enabling user to analyse correlation strength, stability, and structural changes across multiple time horizons.
Core Concept
One Main Symbol (e.g. BTC)
Up to 7 Paired Symbols
Example:
Pair 01: BTC / ETH
Pair 02: BTC / SOL
Pair 03: BTC / XRP
… up to Pair 07
Each pair is evaluated independently.
Multi-Layer Timeframe Correlation
For every Main–Pair combination, the indicator calculates 5 correlation layers using a base lookback period and a user-defined multiplier.
Example (BTC / ETH):
Timeframe: Daily
Base Lookback (L1): 30 Days
Multiplier: 2×
Layer Lookback Period
L1 30D correlation
L2 60D correlation
L3 120D correlation
L4 240D correlation
L5 480D correlation
This layered structure highlights whether correlation is:
Consistent across timeframes
Strengthening or weakening over time
Breaking down at specific horizons
Heat Map Visualisation
Correlation values are displayed using a heat map layout
Rows represent different symbol pairs
Columns represent correlation layers (L1 → L5)
Color intensity reflects correlation direction and strength
This allows fast visual screening of:
Strongly aligned pairs
Diverging or unstable correlations
Short-term vs long-term correlation conflict.
Screen for stable correlations before deploying:
Pair trading strategies
Hedging systems
Mean reversion models
Use as a filter and confirmation tool, not as a standalone signal generator
⚠️ Disclaimer
This indicator is provided for educational and informational purposes only.
It does not constitute financial advice, trading recommendations, or investment guidance.
Correlation is a historical statistical measure and does not guarantee future market behavior. Market conditions, volatility spikes, and macro or news events can cause correlations to change rapidly.
Users are solely responsible for their own trading decisions and risk management. Always conduct independent analysis and testing before using this indicator in live trading.
💬 Feedback & Updates
Feedback, bug reports, and improvement suggestions are welcome.
If you find unexpected behavior, visual issues, or have ideas for enhancement, please leave a comment or message so future versions can be improved.
This indicator will continue to evolve, and constructive feedback helps guide future updates.
Pairtrading
RunRox - Pairs Screener📊 Pairs Screener is part of our premium suite for pair trading.
This indicator is designed to scan and rank the most profitable and optimal pairs for the Pairs Strategy. The screener can backtest multiple metrics on deep historical data and display results for many pairs against one base asset at the same time.
This allows you to quickly detect market inefficiencies and select the most promising pairs for live trading.
HOW DOES THIS STRATEGY WORK⁉️
The core idea of the strategy is described in detail in our main indicator Pairs Strategy from the same product line.
There you can find a full explanation of the concept, the math behind pair trading, and the internal logic of the engine.
The Pairs Screener is built on top of the same core technology as the main indicator and uses the same internal logic and calculations.
It is designed as a key companion tool to the main strategy: it helps you find tradeable pairs, evaluate current deviations, sort and filter lists of candidates, and much more. All of these features will be described in this post.
✅ KEY FEATURES
More than 400+ assets available for scanning
Forex assets
Crypto assets
Lower Timeframe Backtester Strategy support
Invert signals mode
Hedge Coefficient (position size balancing between both legs)
6 hedge modes
Stop Loss support
Take Profit support
Whitelist with your own custom asset list
Blacklist to exclude unwanted assets
Custom filters
12 tracking metrics for pair evaluation
Customizable alerts
And many other tools for fine-tuning your search
The screener runs backtests simultaneously across a large number of assets and calculates metrics automatically.
This helps you very quickly find pairs with strong structural relationships or current inefficiencies that can be used as the basis for your pair trading strategies.
⚙️ MAIN SETTINGS
The first section controls the core parameters of the screener: Score, correlation, asset groups for scanning, and other base settings. All major crypto and forex symbols are embedded directly into the screener.
Since there are more than 400 assets, it is technically impossible to analyze everything at once, so we grouped them into batches of 40 assets per group.
The workflow is simple:
Open the chart of the asset you want to use as the base ticker.
In the screener settings choose the market (Crypto or Forex).
Select a Group (for example, Group 1) and the indicator will scan all assets inside that group against your base ticker.
Then you switch to Group 2, Group 3, etc., and repeat the scan.
Embedded universe:
400+ assets total
350+ Crypto – split into 10 groups
70+ Forex – split into 3 groups
Below is a description of each setting.
🔸 Exclude Dates
Allows you to specify a period that should be excluded from analysis.
Useful for removing abnormal spikes, news events, or any non-typical segments that distort the statistics for your pairs.
🔸 Market
Defines which universe will be used to build pairs with the current main asset:
Crypto – 350+ crypto symbols
Forex – 70+ FX symbols
Whitelist – your own custom list of assets
🔸 Group
Selects the asset group to scan.
As mentioned above, assets are split into groups of about 40 instruments:
350+ Crypto → 10 groups
70+ Forex → 3 groups
The screener will calculate all metrics only for the group you select.
🔸 Lower Timeframe
This option enables deep history analysis.
Each TradingView plan has a limit on the number of visible bars (for example, 5,000 bars on the basic plan). In standard mode you would only get statistics for the last 5,000 bars of your current timeframe.
If you want a deeper backtest on a lower timeframe, you can do the following:
Suppose your target timeframe for analysis is 5 minutes.
Switch your chart to a 30-minute timeframe.
Enable Lower Timeframe in the indicator.
Select 5 minutes as the lower timeframe inside the screener.
In this mode the screener can reconstruct and analyze up to 99,000 bars of data for your assets. This allows you to evaluate pairs on a much deeper history and see whether the results are stable over a larger sample.
🔸 Method
Here you choose the deviation model:
preferred Z-Score or S-Score for your analysis,
plus you can enable Invert to search for negatively correlated pairs and calculate their profit correctly.
🔸 Period
This is the lookback period for Z/S Score.
It defines how many bars are used to calculate the deviation metric for each pair.
🔸 Correlation Period
This is the number of bars used to calculate correlation between the base asset and each candidate in the group.
The resulting correlation value is also displayed in the results table.
🔀 HEDGE COEFFICIENT
The next block of settings is related to the hedge coefficient.
This defines how much margin is allocated to each leg of the pair.
The classic approach in pair trading is to split the position equally between both assets.
For example, if you allocate 100 USD to a trade , the standard model would open 50 USD long on one asset and 50 USD short on the other.
This works well for pairs with similar volatility , such as BTCUSDT / ETHUSDT
However, if you use a pair like BTCUSDT / DOGEUSDT , the volatility of these assets is very different.
They can still be correlated, but their amplitude is not the same. While Bitcoin might move 2% , Dogecoin can move 10% over the same period.
Because of that, for pairs with strongly different volatility, we can use a hedge coefficient and, for example, enter with 30 USD on one leg and 70 USD on the other, taking the volatility difference into account.
This is the main idea behind the Hedge Coefficient section and its primary use.
The indicator includes 6 methods of calculating the coefficient:
Cumulative RMA
Beta OLS
Beta TLS
Beta EMA
RMA Range
RMA Delta
Each method uses a different formula to compute the hedge coefficient and to size the position based on different metrics of the assets.
We leave it to the trader to decide which algorithm works best for their specific pair and style.
Below are the settings inside this section:
🔹 Method
When Auto Hedge is enabled, you can select which method to use from the list above.
The chosen method will automatically calculate the hedge coefficient between the two legs.
🔹 Hedge Coefficient
This is the manual hedge ratio per trade when Auto Hedge is disabled.
By default it is set to 1, which means the position is opened 50/50 between the two assets.
🔹 Min Allowed Hedge Coef.
This is the minimum allowed hedge coefficient.
By default it is 0.2, which means the model will not go below a 20% / 80% split between the legs.
🔹 MA Length
For methods that use moving averages (for example Beta EMA), this parameter sets the period used to calculate the hedge coefficient.
💰 STRATEGY SETTINGS
This section defines the base backtesting settings for all assets in the screener.
Here you configure entries, exits, Stop Loss, and other parameters used to find the most optimal pairs for your strategy. 🔸 Commission %
In this field you set your broker’s fee percentage per trade.
The indicator automatically calculates the correct commission for each leg of every trade. You only need to input the real commission rate that your broker charges for volume. No additional manual calculations are required.
🔸 Qty $
The margin amount used for backtesting across all assets in the screener.
This margin is split between both legs of the pair either equally or according to the selected hedge coefficient.
🔸 Entry
The Z/S Score deviation level at which the backtest opens a trade for each pair.
🔸 Exit
The Z/S Score level at which the backtest closes trades for the tested assets.
🔸 Stop Loss
PnL threshold at which a trade is force-closed during the historical test.
🔸 Cooldown
Number of bars the strategy will wait after a Stop Loss before opening the next trade.
This block gives you flexible control over how your strategy is tested on 400+ assets, helping you standardize the rules and compare pairs under the exact same conditions.
🗒️ WHITELIST
In this section you can define your own custom list of assets for monitoring and backtesting.
This is useful if you want to work with symbols that are not included in the built-in lists, such as exotic crypto from smaller exchanges, specific stocks, or any custom universe 🔹 Exchange Prefix
Enter the exchange prefix used for your tickers.
Example: BINANCE, OANDA, etc.
🔹 Ticker Postfix
Enable this option if the tickers require a postfix.
Example 1: .P for Binance Futures perpetual contracts.
Example 2: USDT if you only provide the base asset in the ticker list.
🔹 Ticker List
Enter a comma-separated list of tickers to analyze.
Example 1: BTCUSDT, ETHUSDT, BNBUSDT (when the exchange prefix is set).
Example 2: BTC, ETH, BNB (when using postfix USDT).
Example 3: BINANCE:BTCUSDT.P, OANDA:EURUSD (when different exchanges are used and the prefix option is disabled).
This gives you full flexibility to build a screener universe that matches exactly the assets you trade.
⛔ BLACKLIST
In this section you can enable a blacklist of unwanted assets that should be skipped during analysis. Enter a comma-separated list of tickers to exclude from the screener:
Example 1: BTCUSDT, ETHUSDT
Example 2: BTC, ETH (all tickers that contain these symbols will be excluded)
This helps you quickly remove illiquid, noisy, or unwanted instruments from the results without changing your main groups or whitelist.
📈 DASHBOARD
This section controls the results dashboard: table position, style, and sorting logic.
Here is what you can configure:
Result Table – position of the results table on the chart.
Background / Text – colors and opacity for the table background and text.
Table Size – overall size of the results table (from 0 to 30).
Show Results – how many rows (pairs) to display in the table.
Sort by (stat) – which metric to use for sorting the results.
Available options: Profit Factor, Profit, Winrate, Correlation, Score.
This lets you quickly focus on the most interesting pairs according to the exact metric that matters most for your strategy.
📎 FILTER SETTINGS
This section lets you filter the results table by metric values.
For example, you can show only pairs with a minimum correlation of 0.8 to focus on more stable relationships. 🔸 Min Correlation
Minimum allowed correlation between the two assets over the selected lookback period.
🔸 Min Score
Minimum absolute Score (Z-Score or S-Score) required to include a pair in the results.
For example, 2.0 means only pairs with Score >= 2.0 or <= -2.0 will be displayed.
🔸 Min Winrate
Minimum win rate percentage for a pair to be included in the table.
🔸 Min Profit Factor
Minimum profit factor required for a pair to stay in the results. These filters help you quickly narrow the list down to pairs that meet your quality criteria and match your risk profile.
📌 COLUMN SELECTION
This section lets you fully customize which metrics are displayed in the results table.
You can enable or hide any column to focus only on the data you need to identify the best pairs for trading. The screener allows you to show up to 12 metrics at the same time, which gives a detailed view of pair quality. Available columns:
🔹 Exchange Prefix
Show the exchange prefix in the ticker.
🔹 Correlation
Correlation between the two assets’ prices over the lookback period.
🔹 Score
Current Score value (Z-Score or S-Score).
On lower timeframe research, Score is not displayed.
🔹 Spread
Shows spread as % change since entry.
Positive value = profit on the main position.
🔹 Unrealized PnL
Shows unrealized PnL as a $ value based on current prices.
🔹 Profit
Total profit from all trades: Gross Profit − Gross Loss.
🔹 Winrate
Percentage of profitable trades out of all executed trades.
🔹 Profit Factor
Gross Profit / Gross Loss.
🔹 Trades
Total number of trades.
🔹 Max Drawdown
Maximum observed loss from peak to trough before a new peak is made.
🔹 Max Loss
Largest loss recorded on a single trade.
🔹 Long/Short Profit
Separate profit/loss for long trades and short trades.
🔹 Avg. Trade Time
Average duration of trades.
All these metrics are designed to help you quickly identify the strongest pairs for your strategy.
You can change colors, opacity, and hide any columns that are not relevant to your workflow.
🔔 ALERT
The alert system in this screener works in a specific way.
Alerts are tied directly to the filters you set in the Filter Settings section:
Minimum Correlation
Minimum Score
Minimum Winrate
Minimum Profit Factor
You can configure alerts to trigger when a new pair appears that matches all your filter conditions. 💡 Example
You set:
Minimum Score = 3
Then you create an alert based on the screener.
When any pair reaches a Score greater than +3 or less than −3, you will receive a notification.
This is how alerts work in this screener.
The idea is to deliver the most relevant information about the current market situation without forcing you to watch the screener all the time.
Supported placeholders for alert messages: {{ticker_1}} – main ticker (the one on the chart).
{{ticker_2}} – the paired ticker listed in the table.
{{corr}} – correlation value.
{{score}} – Score value (Z-Score or S-Score).
{{time}} – bar open time (UTC).
{{timenow}} – alert trigger time (UTC). You can use these placeholders to build alert text or JSON payloads in any format required by your tools.
The screener is designed to significantly enhance your pair trading workflow: it helps you quickly identify working pairs and current market inefficiencies, and with the alert system you can react to opportunities without constantly sitting in front of the screen.
Always remember that past performance does not guarantee future results.
Use the screener data within a risk-controlled trading system and adjust position sizing according to your own risk management rules.
RunRox - Pairs Strategy🧬 Pairs Strategy is a new indicator by RunRox included in our premium subscription.
It is a specialized tool for trading pairs, built around working with two correlated instruments at the same time.
The indicator is designed specifically for pair trading logic: it helps track the relationship between two assets, identify statistical deviations, and generate signals for opening and managing long/short combinations on both legs of the pair.
Below in this description I will go through the core functions of the indicator and the main concepts behind the strategy so you can clearly understand how to apply it in your trading.
📌 CONCEPT
The core idea of pair trading is to find and trade correlated instruments that usually move in a similar way.
When these two assets temporarily diverge from each other, a trading opportunity appears.
In such moments, the relatively overvalued asset is sold (short leg), and the relatively undervalued asset is bought (long leg).
When the spread between them narrows and both instruments revert back toward their typical relationship (mean), the position is closed and the trader captures the profit from this convergence.
In practice, one leg of the pair can end up in a loss while the other generates a larger profit.
Due to the difference in performance between the two assets, the combined result of the pair trade can still be positive.
✅ KEY FEATURES:
2 deviation types (Z-Score and S-Score)
Invert signals mode
Hedge Coefficient (position size balancing between both legs)
6 hedge modes
Entries based on Score or RSI
Extra entries based on Score or Spread
Stop Loss
Take Profit
RSI Filter
RSI Pivot Mode
Built-in Backtester Strategy
Lower Timeframe Backtester Strategy
Live trade panel for current position
Equity curve chart
21 performance metrics in the backtester
2 alert types
*And many more fine-tuning options for pair trading
🔗 SCORE
Score is the core deviation metric between the two assets in the pair.
For example, if you are trading ETHUSDT/BTCUSDT, the indicator analyzes the relationship ETH/BTC, and when one leg temporarily diverges from the other, this difference is reflected in the Score value.
In other words, Score shows how much the current spread between the two instruments deviates from its typical state and is used as the main signal source for pair entries and exits.
In the screenshot above you can see how Score looks in our indicator.
Depending on how large the difference is between the two assets, the Score value can move in a range from −N to +N
When Score is in the −N zone, this is a 🟢 long zone for the first asset and a short zone for the second.
Using the ETH/BTC example: when Score is deeply negative, you open a long on ETH and a short on BTC at the same time, then close both legs when Score returns back to the 0 zone (balance between the two assets).
When Score is in the +N zone, this is a 🔴 short zone for the first asset and a long zone for the second.
In the same ETH/BTC example: when Score is strongly positive, you short ETH and long BTC, and again close both positions when Score comes back to the neutral 0 zone.
☯️ Z/S SCORE
Inside the indicator we added two different formulas for calculating the spread between the two legs of the pair: Z-Score and S-Score.
These approaches measure deviation in different ways and can produce slightly different signals depending on the chosen pair and its behavior.
This allows you to switch between Z-Score and S-Score and choose the method that gives more stable and cleaner signals for your specific instruments.
As you can see in the screenshot above, we used the same pair but applied different Score types to measure the spread and deviation from the norm.
🟣 Z-Score – generated 9 entry signals .
It reacts to price fluctuations more smoothly and usually stays within a range of approximately −8 to +8 .
🟠 S-Score – generated 5 entry signals .
It reacts to price changes more aggressively and produces wider deviations, often reaching −15 to +15 .
This gives traders the choice between a more sensitive but smoother model (Z-Score) and a more selective, stronger-deviation model (S-Score)
⁉️ HOW DOES THE STRATEGY WORK
Here is a basic example of how you can trade this pair trading strategy using our indicator and its signals.
In the classic approach the trade consists of one initial entry and several scale-ins (averaging) if the spread continues to move against the position.
The first entry is opened when Score reaches a standard deviation of −2 or +2.
If price does not revert to the mean and moves further against the position so that Score expands to −3 or +3, the strategy performs the first scale-in.
If Score extends to −4 or +4, a second scale-in is added.
If the spread grows even more and Score reaches −5 or +5, a third scale-in is executed.
In our indicator the number of averaging steps can be up to 4 scale-ins .
After that the position waits until Score returns back to the 0 level , where the whole pair position is closed.
This is the standard model of classical pair trading.
However there are many variations:
using Stop Loss and Take Profit,
exiting earlier or later than the 0 zone,
scaling in not by Score but by Spread, since Score is not linear while Spread is linear,
entering when RSI on both tickers shows opposite extremes, for example RSI 20 on one asset and RSI 80 on the other, and so on.
The number of possible trading styles for this strategy is very large.
We designed the indicator to cover as many of these variations as possible and added flexible tools so you can build your own pair trading logic on top of it.
Below is an example of a classic pair trade with two entries: one main entry and one extra entry (scale-in) .
The pair SUIUSDT / PENGUUSDT shows a high correlation, and on one of the trades the sequence looked like this:
A −2 Score deviation occurred into the long zone and triggered the Main Entry .
🔹 Main Entry
Long SUIUSDT – Margin: 5,000 USD, Entry price: 1.5708
Short PENGUUSDT – Margin: 5,000 USD, Entry price: 0.011793
Price then moved further against the position, Score went deeper into deviation, and the strategy added one extra entry.
🔸 Extra Entry
Long SUIUSDT – Margin: 5,000 USD, Entry price: 1.5938
Short PENGUUSDT – Margin: 5,000 USD, Entry price: 0.012173
The trade was closed when Score reverted back toward the 0 zone (mean reversion of the spread):
❎ Exit
SUIUSDT P&L: −403.34 USD, Exit price: 1.5184
PENGUUSDT P&L: +743.73 USD, Exit price: 0.011089
✅ Total P&L: +340.39 USD
With a total margin of 10,000 USD used per side (20,000 USD combined), this trade yielded around +1.7% on the deployed margin.
On different assets the size and speed of the spread movement will vary, but the principle remains the same.
This is just one example to illustrate how the strategy works in practice using simplified theoretical balances.
⚙️ MAIN SETTINGS
After explaining how the strategy works, we can move to the indicator settings and their logic.
The first block is Main Settings, which controls how the pair is built, how the spread is calculated, and how the backtest is performed.
The core idea of the indicator is to backtest historical data, generate entry signals, show open-position parameters, and provide all necessary metrics for both discretionary and algorithmic trading.
This is a complete framework for analyzing a pair of assets and building a trading system around them. Below I will go through the main parameters one by one.
🔹 Exclude Dates
Allows you to exclude abnormal periods in the pair’s history to remove outlier trades from the backtest.
This is useful when the market experienced extreme news events, listing spikes, or other non-typical situations that distort statistics.
🔹 Pair
Here you select the second asset for your pair.
For example, if your main chart is BTCUSDT, in this field you choose a correlated asset such as ETHUSDT, and the working pair becomes BTCUSDT / ETHUSDT.
The indicator then calculates spread, Score, and all related metrics based on this asset combination.
🔹 Lower Timeframe
This is a special mode for backtesting on a lower timeframe while using a higher timeframe chart to extend the history limit.
For example, if your TradingView plan provides only 5,000 bars of history on the current timeframe, you can switch your chart to a higher timeframe and select a lower timeframe in this setting.
The indicator will then reconstruct the pair logic using up to 99,000 bars of lower timeframe data for backtesting.
This allows you to test the pair on a much longer historical period and find more stable combinations of assets.
🔹 Method
Here you choose which deviation model you want to use: Z-Score or S-Score.
Both methods calculate spread deviation but use different formulas, which can give different signal behavior depending on the pair.
Examples of these two methods are shown earlier in this description.
🔹 Period
This parameter defines how many bars are used to calculate the average deviation for the pair.
If you set Period = 300, the indicator looks back 300 bars and calculates the typical spread deviation over that window.
For example, if the average deviation over 300 bars is around 1%, then a move to 2% or more will push Z/S Score closer to its boundary levels, since such a deviation is considered abnormal for that lookback period.
A larger Period means that only bigger deviations will be treated as anomalies.
A smaller Period makes the model more sensitive and treats smaller deviations as anomalies.
This allows you to tune how aggressive or conservative your pair trading signals should be.
🔹 Invert
This setting is used for negatively correlated pairs.
Some instruments have a positive correlation in the range from +0.8 to +1.0 (strong positive correlation), while others show a negative correlation from −0.8 to −1.0, meaning they usually move in opposite directions.
A classic example is the pair EURUSD and DXY.
As shown in the screenshot above, these instruments often have strong negative correlation due to macro factors and typically move in opposite directions: when EURUSD is rising, DXY is falling, and vice versa.
Such pairs can also be traded with our indicator.
To do this, we use the Invert option, which effectively flips one of the assets (as shown in the screenshot below). After inversion, both instruments are brought to a “same-direction” behavior from the model’s point of view.
From there, you trade the pair in the same way as a positively correlated one:
you open both legs in the same direction (both long or both short) depending on the spread and Score, and then wait for the spread between the inverted pair to converge back toward its mean.
🔀 HEDGE COEFFICIENT
The next block of settings is related to the hedge coefficient.
This defines how much margin is allocated to each leg of the pair.
The classic approach in pair trading is to split the position equally between both assets.
For example, if you allocate 100 USD to a trade , the standard model would open 50 USD long on one asset and 50 USD short on the other.
This works well for pairs with similar volatility , such as BTCUSDT / ETHUSDT
However, if you use a pair like BTCUSDT / DOGEUSDT , the volatility of these assets is very different.
They can still be correlated, but their amplitude is not the same. While Bitcoin might move 2% , Dogecoin can move 10% over the same period.
Because of that, for pairs with strongly different volatility, we can use a hedge coefficient and, for example, enter with 30 USD on one leg and 70 USD on the other, taking the volatility difference into account.
This is the main idea behind the Hedge Coefficient section and its primary use.
The indicator includes 6 methods of calculating the coefficient:
Cumulative RMA
Beta OLS
Beta TLS
Beta EMA
RMA Range
RMA Delta
Each method uses a different formula to compute the hedge coefficient and to size the position based on different metrics of the assets.
We leave it to the trader to decide which algorithm works best for their specific pair and style.
Below are the settings inside this section:
🔹 Method
When Auto Hedge is enabled, you can select which method to use from the list above.
The chosen method will automatically calculate the hedge coefficient between the two legs.
🔹 Hedge Coefficient
This is the manual hedge ratio per trade when Auto Hedge is disabled.
By default it is set to 1, which means the position is opened 50/50 between the two assets.
🔹 Min Allowed Hedge Coef.
This is the minimum allowed hedge coefficient.
By default it is 0.2, which means the model will not go below a 20% / 80% split between the legs.
🔹 MA Length
For methods that use moving averages (for example Beta EMA), this parameter sets the period used to calculate the hedge coefficient.
🛠️ STRATEGY SETTINGS
The next important block is Strategy Settings .
Here you define the core parameters used for backtesting: trading commission, position size, entry / exit logic, Stop Loss, Take Profit, and other rules that describe how you want the strategy to operate.
Below are all parameters with a detailed explanation.
🔸 Commission %
In this field you set your broker’s fee percentage per trade .
The indicator automatically calculates the correct commission for each leg of every trade. You only need to input the real commission rate that your broker charges for volume. No additional manual calculations are required.
🔸 Main Entry Mode
There are two options for the main entry:
Score - This is the primary entry method based on Z/S Score.
When Score reaches the deviation level defined in the settings below, the strategy opens the first position.
For example, if you set “Entry at 2 deviations”, the trade will be opened when Score hits ±2.
RSI Only - Alternative entry method based on RSI divergence between the two assets.
The exact RSI levels are defined in the RSI settings section below.
For example, if you set the entry threshold at 30, then when one asset has RSI below 30 and the second one has RSI above 70, the first entry will be triggered.
🔸 Extra Entries Mode
This defines how scale-ins (averaging) are executed. There are two modes:
Score - Works the same way as the main entry, but for additional entries.
For example, the main entry can be at 2 deviations, the first scale-in at 3, the second at 4, etc.
Spread - This mode uses the Spread (difference between the two assets) starting from the main entry moment.
As the spread continues to widen, the strategy can add extra entries based on spread growth rather than Score.
Since Score is a non-linear metric and Spread is linear, in some configurations averaging by Spread can produce better results than averaging by Score. This is pair- and strategy-dependent. 🔸 Entry parameters
Deviation / Spread threshold
Entry size
Main Entry – first field (deviation / spread), second field (position size)
Entry 2 – first field (deviation / spread), second field (position size)
Entry 3 – first field (deviation / spread), second field (position size)
Entry 4 – first field (deviation / spread), second field (position size)
This allows you to define up to four scaling steps with different triggers and different sizing.
🔸 Exit Level
This parameter defines at what Score level you want to exit the trade.
By default it is 0, which means the backtester closes the position when Score returns to the neutral (0) zone.
You can also use positive or negative values. Example:
Assume your main entry is configured at a 3 deviation.
You can exit at the 0 level, or you can set Exit Level = 2.
If your initial entry was at −3, the position will be closed when Score reaches +2.
If your initial entry was at +3, the position will be closed when Score reaches −2.
This approach can increase the profit per trade due to a larger captured spread, but it may also increase the holding time of the position.
🔸 Stop Loss
Here you define the maximum loss per trade in PnL units.
If a trade reaches the negative PnL value specified in this field and the Stop Loss option is enabled, the indicator will close the trade at a loss.
The Cooldown parameter sets a pause after a losing trade:
the strategy will wait a specified number of bars before opening the next trade.
🔸 Take Profit
Works similar to Stop Loss but for profit targets.
You set the desired PnL value you want to reach.
The trade will be closed when either the Take Profit target is hit or when Score reaches the exit level defined in the settings, whichever occurs first (depending on your configuration).
🔸 Show Qty in currency
When enabled, trade size is displayed in currency (USD) instead of token quantity.
This is useful for quickly understanding position size in monetary terms.
You will see this in the Current Trade panel, which is described later.
🔸 Size Rounding
Controls how many decimal places are used when rounding position size (from 0 to 10 digits after the decimal).
This is also used for the Current Trade panel so you can adjust how detailed or compact the size display should be.
📊 RSI FILTERS
This section is used for additional trade filtering.
RSI can be used in two ways:
as a primary entry signal,
or as an extra filter for entries based on Z/S Score.
If in the Strategy Settings the Main Entry Mode is set to RSI, then RSI becomes the main trigger for opening a position.
In this case a trade is opened when the RSI of the two assets reaches opposite zones.
Example:
If the threshold is set to 30, then:
when one asset has RSI below 30, and
the second asset has RSI above 70 (100 − 30),
the strategy opens the first entry.
All extra entries after that will be executed either by Spread or by Z/S Score, depending on your Extra Entries Mode.
Below are the parameters in this block:
RSI Length – standard RSI period setting.
RSI Pivot Mode – when enabled, RSI is used as an additional filter together with Z/S Score. The indicator looks for a reversal pattern on RSI (pivot behavior). If RSI forms a reversal structure, the trade is allowed to open. If not, the signal is skipped until a proper RSI pivot is formed.
Entry RSI Filter – here you define the RSI thresholds used for RSI-based entries. These are the same boundary levels described in the example above.
Overall, this section helps filter out lower-quality trades using additional RSI conditions or lets you build RSI-only entry logic based on extreme levels.
🎨 MAIN CHART STYLING
This section controls the visual appearance of trades on the main chart.
You can customize how the second asset line is drawn, as well as the icons for entries, scale-ins, and exits, including their size and style.
▫️ Price Line
This is the line that shows the price of the second asset and the relative difference between the two instruments.
You can adjust the line thickness and color to make it more readable on your chart.
▫️ Adjust Price Line by Hedge Coefficient
When this option is enabled, the second asset’s line is normalized by the hedge coefficient.
If you turn it off, the hedge coefficient will not be applied to the second asset’s line, and it will be displayed in raw form.
▫️ Entry Label
Here you can customize how the entry markers look:
choose the color, icon style, and size of the label that marks each trade entry and scale-in on the chart.
▫️ Exit Label
Similarly, you can define the color, icon style, and size of the label used for exits.
This helps visually separate entries and exits and makes it easier to read the trade history directly from the chart.
🎯 INDICATOR PANEL
This section controls the settings of the indicator panel, which works like an oscillator and allows you to visualize multiple metrics in one place.
You can flexibly enable, style, and scale each parameter.
🔹 Score
Displays the main deviation metric between the two assets.
You can customize the color and line thickness of the Score plot.
🔹 Spread
Shows the spread between the two assets.
It starts calculating from the moment the trade is opened.
You can adjust its color and thickness for better visibility.
🔹 Total Profit
Displays the cumulative profit for this pair and strategy as a line that grows (or falls) over time.
Color, opacity, and line thickness can be customized.
🔹 Unrealized PNL
Once a trade is opened, this line shows the current PnL of the active position.
It also lets you see historical drawdowns on the pair.
Color and thickness can be adjusted.
🔹 Released PNL
Shows the realized PnL of each closed trade as bars.
Useful for quickly evaluating the result of every individual trade in the backtest.
🔹 Correlation
Plots the correlation coefficient between the two assets as a graph, so you can visually track how stable or unstable the relationship between them is over time.
🔹 Hedge Coefficient
Shows the hedge coefficient as a line, which helps understand how the model is rebalancing exposure between the two legs depending on their behavior.
For each metric there is also a 📎 Stretch option.
Stretch allows you to compress or expand the scale of a specific line to visually align metrics with different ranges on the same panel and make the chart easier to read.
📈 PROFIT CHART
Since TradingView does not natively support proper backtesting for pair trading, this indicator includes its own profit curve for the pair.
You can visually see how the strategy performed over historical data: whether there were deep drawdowns, abnormal profit spikes, or stable equity growth over time. This makes it much easier to evaluate the quality of the pair and the strategy on history.
In the settings of this section you can flexibly customize how the profit chart is displayed:
labels, position of the panel, padding, and other visual details.
Everything depends on your personal preferences, so we give full control over styling:
you can adjust the look of the profit chart to match your layout or completely hide it from the chart if you do not need it.
📌 CURRENT TRADE
This section controls the current trade table.
When there is an active trade on the chart, the panel displays all key information for the open position:
direction for each ticker (long or short),
required position size for each leg,
entry price for both assets,
and real-time PnL for each leg separately,
so you always have a clear view of the current situation.
The main thing you can do with this table is customize its appearance:
you can change the size, position on the chart, background and text colors, as well as separate coloring for positive / negative PnL and different colors for long and short positions.
📅 BACKTEST RESULTS
The next key block is Backtest Results.
This results table with detailed metrics gives you an extended view of how the pair and strategy perform: win rate, profit factor, long/short breakdown, and more than 20 additional stats that help you evaluate the potential of your setup.
⚠️ First of all, it is important to note ⚠️
past performance does not guarantee future results.
Every trader must keep this in mind and factor these risks into their strategy.
The table shows metrics in three cuts:
All Entries
Main Entries
Extra Entries (scale-ins)
Core metrics:
Profit – total profit for each entry type.
Winrate – win rate for this pair.
Profit Factor – ratio of gross profit to gross loss for the strategy.
Trades – number of trades in the backtest.
Wins – number of winning trades.
Losses – number of losing trades.
Long Profit – profit generated by long positions.
Short Profit – profit generated by short positions.
Longs – total number of long trades.
Shorts – total number of short trades.
Avg. Time – average time spent in a trade.
Additional metrics for a deeper evaluation of the pair:
Correlation – current correlation between the two assets in the pair.
Bars Processed – number of bars used in the analysis.
Max Drawdown – maximum historical drawdown of the strategy.
Biggest Loss – the largest single losing trade in the backtest.
Recommended Hedge – recommended hedge coefficient based on historical behavior.
Max Spread – maximum positive spread observed in history.
Min Spread – maximum negative spread observed in history.
Avg. Max Spread – average of positive extreme spread values (above 0).
Avg. Min Spread – average of negative extreme spread values (below 0).
Avg Positive Spread – average positive spread across all trades (only values above 0).
Avg Negative Spread – average negative spread across all trades (only values below 0).
Current Spread – current spread between the assets when a trade is open.
These metrics together allow you to quickly assess how stable the pair is, how the risk/return profile looks, and whether the strategy parameters are suitable for live trading. You can fully customize this results table to fit your workflow:
hide metrics you don’t need, change colors, opacity, and other visual styles, and reorder the focus of the stats according to your trading style.
This way the backtest block can show only the metrics that matter to you most and remain clean and readable during analysis.
📣 ALERTS
The next section is dedicated to alerts.
Here you can configure all signals you need, both for manual trading and for full automation of this pair trading strategy. This block is designed to cover most practical use cases. The indicator supports two alert modes:
Single Alert – one universal custom alert for all events.
Two Alerts – separate alerts for each ticker so you can receive different messages per asset.
Available alert events:
Main Entry – when the main entry is triggered.
Entry 2 – when the first scale-in is executed.
Entry 3 – when the second scale-in is executed.
Entry 4 – when the third scale-in is executed.
Exit Alert – when the position is closed.
StopLoss Alert – when Stop Loss is hit.
TakeProfit Alert – when Take Profit is hit.
All alerts are fully customizable and support a set of placeholders for building structured messages or JSON payloads.
🔹1 Alert Type
List of supported placeholders: {{event}} – trigger name ('Entry 1', 'Exit').
{{dir_1}} – 'Long' or 'Short' for the main ticker.
{{dir_2}} – 'Long' or 'Short' for the other ticker.
{{action_1}} – 'Buy', 'Sell' or 'Close' for the main ticker.
{{action_2}} – 'Buy', 'Sell' or 'Close' for the other ticker.
{{price_1}} – price for the main ticker.
{{price_2}} – price for the other ticker.
{{qty_1}} – order size for the main ticker.
{{qty_2}} – order size for the other ticker.
{{ticker_1}} – main ticker (e.g. 'BTCUSD').
{{ticker_2}} – other ticker (e.g. 'ETHUSD').
{{time}} – candle open time in UTC.
{{timenow}} – signal time in UTC.
🔹2 Alert Type
List of supported placeholders: {{event}} – trigger name ('Entry 1', 'Exit', 'SL', 'TP').
{{action}} – 'Buy', 'Sell' or 'Close'.
{{price}} – order price.
{{qty}} – order size.
{{ticker}} – ticker (e.g. 'BTCUSD').
{{time}} – candle open time in UTC.
{{timenow}} – signal time in UTC. You can use these placeholders to build any JSON structure or custom alert text required by your trading bot, exchange API, or automation service.
In this post I’ve explained how the indicator works, the core concept behind this pair trading strategy, and shown practical examples of trades together with a detailed breakdown of each unique feature inside the tool.
We have invested a lot of work into building this indicator and we truly hope it will help you trade pair strategies more efficiently and more profitably by giving you structured, strategy-specific information that is difficult to obtain in any other way.
⚠️ Please also remember that past performance does not guarantee future results.
Always evaluate the risks, the robustness of your setup, and your own risk tolerance before entering any position, and make independent, well-considered decisions when using this or any other strategy.
Static Beta for Pair and Quant Trading A beta coefficient shows the volatility of an individual stock compared to the systematic risk of the entire market. Beta represents the slope of the line through a regression of data points. In finance, each point represents an individual stock's returns against the market.
Beta effectively describes the activity of a security's returns as it responds to swings in the market. It is used in the capital asset pricing model (CAPM), which describes the relationship between systematic risk and expected return for assets. CAPM is used to price risky securities and to estimate the expected returns of assets, considering the risk of those assets and the cost of capital.
Calculating Beta
A security's beta is calculated by dividing the product of the covariance of the security's returns and the market's returns by the variance of the market's returns over a specified period. The calculation helps investors understand whether a stock moves in the same direction as the rest of the market. It also provides insights into how volatile—or how risky—a stock is relative to the rest of the market.
For beta to provide useful insight, the market used as a benchmark should be related to the stock. For example, a bond ETF's beta with the S&P 500 as the benchmark would not be helpful to an investor because bonds and stocks are too dissimilar.
Beta Values
Beta equal to 1: A stock with a beta of 1.0 means its price activity correlates with the market. Adding a stock to a portfolio with a beta of 1.0 doesn’t add any risk to the portfolio, but it doesn’t increase the likelihood that the portfolio will provide an excess return.
Beta less than 1: A beta value less than 1.0 means the security is less volatile than the market. Including this stock in a portfolio makes it less risky than the same portfolio without the stock. Utility stocks often have low betas because they move more slowly than market averages.
Beta greater than 1: A beta greater than 1.0 indicates that the security's price is theoretically more volatile than the market. If a stock's beta is 1.2, it is assumed to be 20% more volatile than the market. Technology stocks tend to have higher betas than the market benchmark. Adding the stock to a portfolio will increase the portfolio’s risk, but may also increase its return.
Negative beta: A beta of -1.0 means that the stock is inversely correlated to the market benchmark on a 1:1 basis. Put options and inverse ETFs are designed to have negative betas. There are also a few industry groups, like gold miners, where a negative beta is common.
LET'S START
Now I'll give my own definition.
Beta:
If we assume market caps are equal ,
it is an indicator that shows how much of the second instrument we should buy if we buy one of the first, taking into account the price volatility of two instruments.
But if the market caps are not equal:
For example, the ETF for A is $300.
The ETF for B is $600.
If static beta predicted by this script is 0.5:
300 * 1 * a = 600 * 0.5 * b
Then we should use 1 b for 1 a.
(Long a and short b or vice versa )
So, we can try pair trading for a/b or a-b.
However, these values are generally close to each other, such as 0.8 and 0.93. However, the closer we can adjust our lot purchases to bring the double beta to a value closer to 1, the higher the hedge ratio will be.
Large commercials use dynamic betas, which are updated periodically, in addition to static betas
However, scaling this is very difficult for individual investors with limited investment tools.
But a static beta of 5,000 bars is still much better than not considering any beta at all.
Note: The presence of a beta value for two instruments does not necessarily mean they can be included in pair trading.
It is also important (%99) to consider historically very high correlations and cointegration relationships, as well as the compatibility of security structures.
Note 2 : This script is designed for low timeframes.
Do not use betas from different timeframes.
Beta dynamics are different for each timeframe.
Note 3 : I created this script with the help of ChatGPT.
Source for beta definition ( ) :
www.investopedia.com
Regards.
Pair Trade Beta Calculator (WORKING VERSION)wrote by chatgpt5, calucate the beta for pair trading
Asset A: The asset you would like to long
Assest B: The asset you would like to short
Pairs Trading Scanner [BackQuant]Pairs Trading Scanner
What it is
This scanner analyzes the relationship between your chart symbol and a chosen pair symbol in real time. It builds a normalized “spread” between them, tracks how tightly they move together (correlation), converts the spread into a Z-Score (how far from typical it is), and then prints clear LONG / SHORT / EXIT prompts plus an at-a-glance dashboard with the numbers that matter.
Why pairs at all?
Markets co-move. When two assets are statistically related, their relationship (the spread) tends to oscillate around a mean.
Pairs trading doesn’t require calling overall market direction you trade the relative mispricing between two instruments.
This scanner gives you a robust, visual way to find those dislocations, size their significance, and structure the trade.
How it works (plain English)
Step 1 Pick a partner: Select the Pair Symbol to compare against your chart symbol. The tool fetches synchronized prices for both.
Step 2 Build a spread: Choose a Spread Method that defines “relative value” (e.g., Log Spread, Price Ratio, Return Difference, Price Difference). Each lens highlights a different flavor of divergence.
Step 3 Validate relationship: A rolling Correlation checks if the pair is moving together enough to be tradable. If correlation is weak, the scanner stands down.
Step 4 Standardize & score: The spread is normalized (mean & variability over a lookback) to form a Z-Score . Large absolute Z means “stretched,” small means “near fair.”
Step 5 Signals: When the Z-Score crosses user-defined thresholds with sufficient correlation , entries print:
LONG = long chart symbol / short pair symbol,
SHORT = short chart symbol / long pair symbol,
EXIT = mean reversion into the exit zone or correlation failure.
Core concepts (the three pillars)
Spread Method Your definition of “distance” between the two series.
Guidance:
Log Spread: Focuses on proportional differences; robust when prices live on different scales.
Price Ratio: Classic relative value; good when you care about “X per Y.”
Return Difference: Emphasizes recent performance gaps; nimble for momentum-to-mean plays.
Price Difference: Straight subtraction; intuitive for similar-scale assets (e.g., two ETFs).
Correlation A rolling score of co-movement. The scanner requires it to be above your Min Correlation before acting, so you’re not trading random divergence.
Z-Score “How abnormal is today’s spread?” Positive = chart richer than pair; negative = cheaper. Thresholds define entries/exits with transparent, statistical context.
What you’ll see on the chart
Correlation plot (blue line) with a dashed Min Correlation guide. Above the line = green zone for signals; below = hands off.
Z-Score plot (white line) with colored, dashed Entry bands and dotted Exit bands. Zero line for mean.
Normalized spread (yellow) for a quick “shape read” of recent divergence swings.
Signal markers :
LONG (green label) when Z < –Entry and corr OK,
SHORT (red label) when Z > +Entry and corr OK,
EXIT (gray label) when Z returns inside the Exit band or correlation drops below the floor.
Background tint for active state (faint green for long-spread stance, faint red for short-spread stance).
The two built-in dashboards
Statistics Table (top-right)
Pair Symbol Your chosen partner.
Correlation Live value vs. your minimum.
Z-Score How stretched the spread is now.
Current / Pair Prices Real-time anchors.
Signal State NEUTRAL / LONG / SHORT.
Price Ratio Context for ratio-style setups.
Analysis Table (bottom-right)
Avg Correlation Typical co-movement level over your window.
Max |Z| The recent extremes of dislocation.
Spread Volatility How “lively” the spread has been.
Trade Signal A human-readable prompt (e.g., “LONG A / SHORT B” or “NO TRADE” / “LOW CORRELATION”).
Risk Level LOW / MEDIUM / HIGH based on current stretch (absolute Z).
Signals logic (plain English)
Entry (LONG): The spread is unusually negative (chart cheaper vs pair) and correlation is healthy. Expect mean reversion upward in the spread: long chart, short pair.
Entry (SHORT): The spread is unusually positive (chart richer vs pair) and correlation is healthy. Expect mean reversion downward in the spread: short chart, long pair.
Exit: The spread relaxes back toward normal (inside your exit band), or correlation deteriorates (relationship no longer trusted).
A quick, repeatable workflow
1) Choose your pair in context (same sector/theme or known macro link). Think: “Do these two plausibly co-move?”
2) Pick a spread lens that matches your narrative (ratio for relative value, returns for short-term performance gaps, etc.).
3) Confirm correlation is above your floor no corr, no trade.
4) Wait for a stretch (Z beyond Entry band) and a printed LONG / SHORT .
5) Manage to the mean (EXIT band) or correlation failure; let the scanners’ state/labels keep you honest.
Settings that matter (and why)
Spread Method Defines the “mispricing” you care about.
Correlation Period Longer = steadier regime read, shorter = snappier to regime change.
Z-Score Period The window that defines “normal” for the spread; it sets the yardstick.
Use Percentage Returns Normalizes series when using return-based logic; keep on for mixed-scale assets.
Entry / Exit Thresholds Set your stretch and your target reversion zone. Wider entries = rarer but stronger signals.
Minimum Correlation The gatekeeper. Raising it favors quality over quantity.
Choosing pairs (practical cheat sheet)
Same family: two index ETFs, two oil-linked names, two gold miners, two L1 tokens.
Hedge & proxy: stock vs. sector ETF, BTC vs. BTC index, WTI vs. energy ETF.
Cross-venue or cross-listing: instruments that are functionally the same exposure but price differently intraday.
Reading the cues like a pro
Divergence shape: The yellow normalized spread helps you see rhythm fast spike and snap-back versus slow grind.
Corr-first discipline: Don’t fight the “Min Correlation” line. Good pairs trading starts with a relationship you can trust.
Exit humility: When Z re-centers, let the EXIT do its job. The edge is the journey to the mean, not overstaying it.
Frequently asked (quick answers)
“Long/Short means what exactly?”
LONG = long the chart symbol and short the pair symbol.
SHORT = short the chart symbol and long the pair symbol.
“Do I need same price scales?” No. The spread methods normalize in different ways; choose the one that fits your use case (log/ratio are great for mixed scales).
“What if correlation falls mid-trade?” The scanner will neutralize the state and print EXIT . Relationship first; trade second.
Field notes & patterns
Snap-back days: After a one-sided session, return-difference spreads often flag cleaner intraday mean reversions.
Macro rotations: Ratio spreads shine during sector re-weights (e.g., value vs. growth ETFs); look for steady corr + elevated |Z|.
Event bleed-through: If one symbol reacts to news and its partner lags, Z often flags a high-quality, short-horizon re-centering.
Display controls at a glance
Show Statistics Table Live state & key numbers, top-right.
Show Analysis Table Context/risk read, bottom-right.
Show Correlation / Spread / Z-Score Toggle the sub-charts you want visible.
Show Entry/Exit Signals Turn markers on/off as needed.
Coloring Adjust Long/Short/Neutral and correlation line colors to match your theme.
Alerts (ready to route to your workflow)
Pairs Long Entry Z falls through the long threshold with correlation above minimum.
Pairs Short Entry Z rises through the short threshold with correlation above minimum.
Pairs Trade Exit Z returns to neutral or the relationship fails your correlation floor.
Correlation Breakdown Rolling correlation crosses your minimum; relationship caution.
Final notes
The scanner is designed to keep you systematic: require relationship (correlation), quantify dislocation (Z-Score), act when stretched, stand down when it normalizes or the relationship degrades. It’s a full, visual loop for relative-value trading that stays out of your way when it should and gets loud only when the numbers line up.
Mean Reversion Trading With IV Metrics (By MC) - Mobile FriendlyThis script is a comprehensive toolkit for traders who want to combine price mean reversion analysis with advanced volatility metrics, including Implied Volatility Rank (IVR), Implied/“Fair” Volatility projections, and real-time market volatility indicators. It is optimized for both desktop and mobile use, providing a detailed statistics table directly on the chart, and is suitable for stocks, ETFs, indices, and even paired asset analysis.
Key Features & How They Work Together
1. Mean Reversion Probability & Z-Score
Mean Reversion Analysis: Calculates z-scores and statistical probabilities that the asset’s price will revert to its mean, using customizable lookback windows (e.g., 10-60 bars). This helps traders spot potentially overbought or oversold conditions.
Strong & Moderate Signals: Highlights strong and moderate reversion opportunities based on user-defined probability thresholds, providing clear visual cues for timing entries and exits.
2. Paired Asset Correlation
Pairs Trading Support: Allows comparison of two symbols (e.g., SPY vs TLT). It computes the ratio, rolling mean, standard deviation, and correlation, helping traders identify divergence/convergence opportunities in pairs trading.
3. Volatility Metrics & Projections
Historical & Implied Volatility: Estimates implied volatility (IV) using historical price data, calculates IVR (the asset’s IV relative to its own history), and provides user-customized percentile bands (e.g., 20th/80th percentiles).
Fair IV Calculation: Offers three methods to compute “fair” volatility:
Market-Aware (relative to VIX/SPX HV)
SMA of historical volatility
SMA of VIX Traders can choose the method that best fits current market conditions.
Future Projections: Projects IV, “Fair” IV, and IVR for a user-defined future period, giving insight into potential volatility trends.
4. Implied Move Range
Implied Move Calculation: Shows the expected price range (upper/lower bounds) for the forecast period based on the current IV, making risk management and target setting more objective.
Dynamic Labels: Automatically updates labels with the latest projected moves and bounds, keeping traders informed in real time.
5. Market Volatility Dashboard
Broad Market Indicators: Displays real-time values and daily changes for VIX, VIX1D, VVIX, MOVE (bond volatility), GVZ (gold volatility), and OVX (oil volatility). Color-coded thresholds help traders gauge market stress across asset classes.
Correlation to SPY: Shows how closely the asset moves with SPY, aiding in diversification and hedging decisions.
6. Performance Metrics
Daily Move Analysis: Tracks today’s price move (absolute and percentage), average rises/falls, and the percentage of green/red days over a custom period.
Trade Quality Assessment: Ranks trade opportunities (High/Moderate/Low/Very Low) based on mean reversion probability.
7. Highly Customizable Table
Mobile Friendly: The stats table can be placed anywhere on the chart, toggled between compact/full/extra modes, and resized for readability on any device.
Visual Cues: Color coding and dynamic labels make interpretation easy and fast.
8. Alert Conditions
Built-in alerts for strong/moderate mean reversion, IV crossing above/below “Fair” IV, allowing proactive trade management.
9. VIX-Based Expected Move Bands
Optionally plots ±1, 2, 3 standard deviation bands using VIX-based expected move, helping to visualize potential price extremes.
How These Features Help Traders
Unified Trading Dashboard: All key mean reversion and volatility insights are available at a glance, reducing the need to switch between multiple indicators or screens.
Informed Entries & Exits: By combining mean reversion probabilities, IV projections, and market volatility, traders can time trades more confidently and avoid false signals.
Risk Management: The implied move bounds and volatility levels support realistic stop-loss and target setting, adapting dynamically to market conditions.
Cross-Asset Awareness: Market-wide volatility metrics and asset correlation to SPY provide context, helping traders avoid surprises from macro shocks.
Pairs Trading: Direct support for ratio and correlation analysis streamlines pairs strategies.
Customization & Clarity: The flexible UI and color-coded stats make the tool accessible for both beginners and advanced users.
Mean Reversion, Correlation value & interpretation:
For Meant Reversion % Probability:
Lookback Period to use:
| Trading Horizon | Lookback Period (Length) | Rationale |
| 5–10 days | 10–20 bars | More sensitive, good for quick reversals |
| 10–20 days | 20–30 bars | Standard for short swing |
| 20–40 days | 40–60 bars | More stable mean for longer swing |
Interpretation Guide:
Only consider trades if Correlation ≥ 0.6 or Reversion % ≥ 75%.
Avoid trades with Reversion % < 20%.
Correlation and Reversion % together form a powerful trade quality filter.
| Reversion % | Correlation | Signal Strength | Action |
| ≥ 75% | ≥ 0.4 | High Probability | Consider full position |
| ≥ 50% | ≥ 0.6 | Moderate Probability | Trade with standard size |
| ≥ 75% | < 0.4 | Uncorrelated Edge | Trade small or hedge carefully |
| < 50% | Any | Weak | Avoid |
| Any | < 0.3 | Low Coherence | Avoid unless extreme Reversion |
| Correlation Value | Interpretation |
| +1.0 | Perfect positive correlation (price of both move in the same direction)|
| +0.7 to +0.9 | Strong positive correlation |
| +0.4 to +0.6 | Moderate positive correlation |
| 0 | No correlation (independent) |
| -0.4 to -0.6 | Moderate negative correlation |
| -0.7 to -0.9 | Strong negative correlation |
| -1.0 | Perfect negative correlation (price both move in the opposite direction)|
Summary:
This script empowers traders to navigate markets with a robust, data-driven approach, seamlessly blending mean reversion analytics with deep volatility insight—all in a mobile-friendly, customizable dashboard.
Disclaimer
This tool is for informational and educational purposes only. It does not provide financial advice or trading signals. Always do your own research and consult a professional before making investment decisions.
Market Strength Buy Sell Indicator [TradeDots]A specialized tool designed to assist traders in evaluating market conditions through a multifaceted analysis of relative performance, beta-adjusted returns, momentum, and volume—allowing you to identify optimal points for long or short trades. By integrating multiple benchmarks (default S&P 500) and percentile-based thresholds, the script provides clear, actionable insights suitable for both day trading and higher-level timeframe assessments.
📝 HOW IT WORKS
1. Multi-Factor Composite Score
Relative Performance (RS Ratio): Compares your asset’s performance to a chosen benchmark (default: SPY). Values above 1.0 indicate outperformance, while below 1.0 suggest underperformance.
Beta-Adjusted Returns: Checks the ticker’s excess movement relative to expected market-related moves. This helps distinguish pure “alpha” from broad market effects.
Volume & Correlation: Volume spikes often confirm the momentum behind a move, while correlation measures how closely the asset tracks or diverges from its benchmark.
These components merge into a 0–100 composite score. Scores above 50 frequently imply bullish strength; drops below 50 often point to underperformance—potentially flagging short opportunities.
2. Intraday & Day Trading Focus
Monitoring Below 50: During the trading day, the script calculates live data against the benchmark, offering an intraday-sensitive composite score. A dip under 50 may indicate a short bias for that session, especially when accompanied by high volume or momentum shifts.
3. Higher Timeframe Monitoring
Daily Strategies: On daily or weekly charts, the script reveals overall relative strength or weakness compared to the S&P 500. This higher-level perspective helps form broader trading biases—crucial for swing or position trades spanning multiple days.
Long/Short Thresholds: Persistent readings above 50 on a daily chart typically reinforce a long bias, while consistent dips below 50 can sustain a short or cautious outlook.
4. Pair Trading Applications
Custom Benchmark Selection: By setting a specific ticker pair as your benchmark instead of the default S&P 500, you can identify spread trading opportunities between two correlated assets. This allows you to go long the outperforming asset while shorting the underperforming one when the spread reaches extreme levels.
4. Color-Coded Signals & Alerts
Visual Zones (25–75): Color-coded bands highlight strong outperformance (above 75) or pronounced underperformance (below 25).
Alerts on Strong Shifts: Automatic alerts can notify you of sudden entries or exits from bullish or bearish zones, so you can potentially act on new market information without delay.
⚙️ HOW TO USE
1. Select Your Timeframe: For scalping or day trading, lower intervals (e.g., 5-minute) offer immediate data resets at the session’s start. For multi-day insight, daily or weekly charts reveal broader performance trends.
2. Watch Key Levels Around 50: Intraday dips under 50 may be a cue to consider short trades, while bounces above 50 can confirm renewed strength.
3. Assess Benchmark Relationships: Compare your asset’s score and signals to the broader market. A stock falling below its pair’s relative strength line might lag overall market momentum.
4. Combine Tools & Validate: This script excels when integrated with other technical analysis methods (e.g., support/resistance, chart patterns) and fundamental factors for a holistic market view.
❗ LIMITATIONS
No Direction Guarantee: The indicator identifies relative strength but does not guarantee directional price moves.
Delayed Updates: Since calculations update after each bar close, sudden intrabar changes may not immediately reflect.
Market-Specific Behaviors: Some assets or unusual market conditions may deviate from typical benchmarks, weakening signal reliability.
Past ≠ Future: High or low relative strength in the past may not predict continued performance.
RISK DISCLAIMER
All forms of trading and investing involve risk, including the possible loss of principal. This indicator analyzes relative performance but cannot assure profits or eliminate losses. Past performance of any strategy does not guarantee future results. Always combine analysis with proper risk management and your broader trading plan. Consult a licensed financial advisor if you are unsure of your individual risk tolerance or investment objectives.
Correlation Coefficient📊 Correlation Coefficient (CC)
This indicator measures the statistical correlation between two selected securities over a defined period, scaled from -100 to +100.
It helps you quickly assess whether assets are moving:
Together (positive correlation)
Opposite (negative correlation)
Independently (zero correlation)
🔧 Features:
Select any two symbols (default: NIFTY & BANKNIFTY)
Adjustable length parameter for short-term or long-term correlation analysis
Clean, color-coded plot with horizontal levels to easily identify key correlation zones
📈 Useful For:
Pair trading setups
Hedging strategies
Detecting market regime shifts or intermarket divergences
⚠️ Disclaimer: This is not trading or investment advice.
This indicator is intended for informational purposes only and is not recommended for making
direct trading decisions.
Statistical Pairs Trading IndicatorZ-Score Stat Trading — Statistical Pairs Trading Indicator
📊🔗
---
What is it?
Z-Score Stat Trading is a powerful indicator for statistical pairs trading and quantitative analysis of two correlated assets.
It calculates the Z-Score of the log-price spread between any two symbols you choose, providing both long-term and short-term Z-Score signals.
You’ll also see real-time correlation, volatility, spread, and the number of long/short signals in a handy on-chart table!
---
How to Use 🛠️
1. Add the indicator to your chart.
2. Select two assets (symbols) to analyze in the settings.
3. Watch the Z-Score plots (blue and orange lines) and threshold levels (+2, -2 by default).
4. Check the info table for:
- Correlation
- Volatility
- Spread
- Number of long (NL) and short (NS) signals in the last 1000 bars
5. Set up alerts for signal generation or threshold crossings if you want to be notified automatically.
---
Trading Strategy 💡
- This indicator is designed for statistical arbitrage (mean reversion) strategies.
- Long Signal (🟢):
When both Z-Scores drop below the negative threshold (e.g., -2), a long signal is generated.
→ Buy Symbol A, Sell Symbol B, expecting the spread to revert to the mean.
- Short Signal (🔴):
When both Z-Scores rise above the positive threshold (e.g., +2), a short signal is generated.
→ Sell Symbol A, Buy Symbol B, again expecting mean reversion.
- The info table helps you quickly assess the frequency of signals and the current statistical relationship between your chosen assets.
---
Best Practices & Warnings 🚦
- Avoid high leverage! Pairs trading can be risky, especially during periods of divergence. Use conservative position sizing.
- Check for cointegration: Before using this indicator, make sure both assets are cointegrated or have a strong historical relationship. This increases the reliability of mean reversion signals.
- Check correlation: Only use asset pairs with a high correlation (preferably 0.8–0.9 or higher) for best results. The correlation value is shown in the info table.
- Scale in and out gradually: When entering or exiting positions, consider doing so in parts rather than all at once. This helps manage slippage and risk, especially in volatile markets.
---
⚠️ Note on Performance:
This indicator may work a bit slowly, especially on large timeframes or long chart histories, because the calculation of NL and NS (number of long/short signals) is computationally intensive.
---
Disclaimer ⚠️
This script is provided for educational and informational purposes only .
It is not financial advice or a recommendation to buy or sell any asset.
Use at your own risk. The author assumes no responsibility for any trading decisions or losses.
Arbitrage Synthetic Spread Chart v2Powerful tool for analyzing market divergences and identifying arbitrage opportunities! It creates a synthetic spread chart between two assets, displaying it in a clear format and helping traders spot moments of maximum decorrelation.
How does it work?
The indicator takes the closing prices of two assets and calculates their difference (spread):
spread = price1 - price2
Then, it constructs a price channel based on the highest and lowest values of the spread over a given period:
-Upper boundary: The highest spread value over the period
- Lower boundary: The lowest spread value over the period
- Middle line: The average of the upper and lower boundaries
Additionally, the indicator calculates the **correlation** between the two assets, helping traders assess their relationship strength.
How to use it?
When the spread reaches the channel boundaries, it may indicate an abnormal divergence between the assets. This serves as a signal for arbitrage trading:
✅ At the upper boundary: Sell Asset 1 and buy Asset 2
✅ At the lower boundary: Buy Asset 1 and sell Asset 2
Statistical Arbitrage Pairs Trading - Long-Side OnlyThis strategy implements a simplified statistical arbitrage (" stat arb ") approach focused on mean reversion between two correlated instruments. It identifies opportunities where the spread between their normalized price series (Z-scores) deviates significantly from historical norms, then executes long-only trades anticipating reversion to the mean.
Key Mechanics:
1. Spread Calculation: The strategy computes Z-scores for both instruments to normalize price movements, then tracks the spread between these Z-scores.
2. Modified Z-Score: Uses a robust measure combining the median and Median Absolute Deviation (MAD) to reduce outlier sensitivity.
3. Entry Signal: A long position is triggered when the spread’s modified Z-score falls below a user-defined threshold (e.g., -1.0), indicating extreme undervaluation of the main instrument relative to its pair.
4. Exit Signal: The position closes automatically when the spread reverts to its historical mean (Z-score ≥ 0).
Risk management:
Trades are sized as a percentage of equity (default: 10%).
Includes commissions and slippage for realistic backtesting.
Symbols Correlation, built for pair tradingOverview:
This script is designed for pairs trading. If you are not familiar with pairs trading, I suggest learning about it, as it can be a profitable strategy in neutral markets (or neutral trends between two assets). The correlation between two assets is the foundation of pairs trading, and without it, the chances of making a profit are low.
Correlation can be described in two opposite ways:
1: Absolute positive correlation (meaning the asset prices move together).
-1: Absolute negative correlation (meaning the asset prices move in opposite directions).
Any value between 1 and -1 indicates some degree of correlation, but generally, values higher than 0.7 or lower than -0.7 are considered significant.
Features:
Typically, correlation is measured using the closing prices. This script adds three more correlation studies based on open, high, and low prices. By using all four lines, we can get a better understanding of the pair's correlation.
How to Read This Indicator:
To use this indicator effectively, you need to input your pair as a ratio. For example, if your pair is TSN and ZBH, enter it in the symbol search as: TSN/ZBH
Gray Area : This area indicates "no high correlation" (default is between -0.8 and 0.8, adjustable in the settings).
Gray Line : This represents the close correlation within the "no high correlation" range.
Green Line : This represents the close correlation within the "high correlation" range.
Dot Lines : These represent the open, high, and low correlations.
Example Interpretations:
A : All four lines are close together & the line is green – very good correlation!
B : The line is gray, and the dot lines are apart – not a strong correlation.
C : When the close correlation remains green for a long time, it signals a strong correlation.
Application in Pairs Trading:
In pairs trading, aim for the highest possible correlation, and it is important to have a sustained correlation over a long period. Pairs that correlate only part of the year but not consistently are less reliable for pairs trading.
This is an example for good correlation for pairs trading:
This is an example for bad correlation for pairs trading:
Here is a view of my full indicators when doing pairs trading:
Trend Momentum Strength Indicator, Built for Pairs TradingOverview:
This script combines multiple indicators to provide a comprehensive analysis of both trend strength and trend momentum. It is tailored specifically for pairs trading strategies but can also be used for other trading strategies.
Benefit of Comprehensive Analysis:
Having an indicator that evaluates both trend strength and trend momentum is crucial for traders looking to make informed decisions. It allows traders to not only identify the direction and intensity of a trend but also gauge the momentum behind it. This dual capability helps in confirming potential trade opportunities, whether for entering trades with strong trends or considering reversals during overbought or oversold conditions. By integrating both aspects into one tool, traders can gain a holistic view of market dynamics, enhancing their ability to time entries and manage risk effectively.
Features:
* Trend Strength:
Enhanced ADX Formula: The script includes modifications to the standard ADX formula along with DI+ and DI- to provide more responsive trend strength readings.
Directional Indicators: DI+ (green line) indicates positive directional movement, while DI- (red line) indicates negative directional movement.
Trend Momentum:
Modified Stochastic Indicators: The script uses %K and %D indicators, modified and combined with ADX to give a clear indication of trend momentum.
Momentum Strength: This helps determine the strength and direction of the momentum.
Trading Signals:
Combining Indicators: The script combines ADX, DI+, DI-, %K, and %D to generate comprehensive trading signals.
Optimal Entry Points: Designed to identify optimal entry points for trades, particularly in pairs trading.
Colored Area at Bottom:
This area provides two easy-to-read functions:
Color:
Green: Upward momentum (ratio above 1)
Red: Downward momentum (ratio below 1)
Height:
Higher in green: Stronger upward momentum
Lower in red: Stronger downward momentum
Legend:
Green Line: DI+ (Positive)
Red Line: DI- (Negative)
Black Line: ADX
How to Read This Indicator:
1) Trend Direction:
DI+ above DI-: Indicates an upward trend.
DI- above DI+: Indicates a downward trend.
2) Trend Strength:
ADX below 20: Indicates a neutral trend.
ADX between 20 and 25: Indicates a weak trend.
ADX above 25: Indicates a strong trend.
Trading Signals in Pairs Trading:
Neutral Trend: Ideal for pairs trading when no strong trend is detected.
Overbought/Oversold: Uses %K and %D to identify overbought/oversold conditions that support trade decisions.
Entry Signals: Green signals for long positions, red signals for short positions, based on combined criteria of neutral trend strength and supportive momentum.
Application in Pairs Trading:
Neutral trend: In pairs trading strategies, where neutral movement is often sought, this indicator provides signals that are especially relevant during periods of neutral trend strength and supportive momentum, aiding traders in identifying optimal entry
Risk Management: Combining signals from ADX, DI+, DI-, %K, and %D helps traders make more informed decisions regarding entry points, enhancing risk management.
Example Chart (The indicator is on the upper right corner):
Clean Presentation: The chart only includes the necessary elements to demonstrate the indicator’s functionality.
Demonstrates: Overbought/oversold conditions, upward/downward/no momentum, and trading signals with/without specific scenarios.
TTP Pair CipherPair Cipher can run your hedge pair trading strategy.
Pair cipher can use a spread chart (two assets ratio or difference) to manage a hedge position consisting of two assets: one long and one short position.
Event though the spread chart is used to determine the entries and exits each coin price action is used to calculate floating PNL.
It supports different bot platforms. It's backtestable and can run live.
Features:
- Internal and external entry signal
- In-chart realised PNL plot
- Hedge position floating PNL chart
- Individual floating PNL for each long and short ("show coins" toggle)
- Retracement exit strategy: determine at which retracement factor to exit your position while in profit
- PNL RSI exit strategy: determine at which RSI level crossunder you'd like to exit. RSI is applied to the floating PNL
- Static TP/SL levels
- ATR TP/SL levels with individual factors. When ATR is selected the TP or SL acts as a multiplier of ATR instead.
- On-chart debug labels for alerts
- Intra candle alert: signals can trigger intra candle in this mode, but this mode will cause repainting. Example: if the position goes below SL intra candle, the alert will be sent, but later if it goes in profit before closing the candle, the backtest will continue with the position open. The backtest does NOT have access to the intra candle data. Alert intra candle reduces the risk of not applying SL.
Example of setup:
1) Load an empty 1 hour timeframe chart with the spread BYBIT:REQUSDT.P / BYBIT:REEFUSDT.P
2) Select an investment amount
3) Select TP 1.2 and enable ATR
4) Select SL 1.1 and enable ATR
5) Select RSI profits of crossunder 70
6) Don't enable external signal (you can try with TTP PNR)
7) Select BYBIT:REQUSDT.P as symbol 1
8) Select BYBIT:REEFUSDT.P as symbol 2
Arbitrage SpreadThis indicator helps to find spreads between cryptocurrencies, assess their correlation, spread, z score and atr z score.
The graphs are plotted as a percentage. Because of the limitation in pine tradingview for 5000 bars a period was introduced (after which a new starting point of the graph construction will be started), if you want it can be disabled
The multiplier parameter affects only the construction of the joint diagram on which z score and atr z score are calculated (construction of the diagram is done by dividing one pair by another and multiplying by the multiplier parameter) is shown with a red line
To create a notification you have to specify the data for parameters other than zero which you want to monitor. For parameters z score and atr z score data are counted in both directions
The data can be tracked via the data window
Link to image of the data window prnt.sc
Cuban's Pair Trading IndexThe purpose of this indicator is to visually simplify the relationship between two assets when searching for pair trades or higher beta opportunities.
With highly correlated pairs, it can be a blessing or a curse during volatility when you're somehow stuck in the only lower beta pairs, or maybe you're market neutral and the wrong leg starts nuking.
This indicator was built as a visual way to track pair relationships.
Fundamentally, this script does the following:
Plots the relative performance of the relationship between two assets across multiple time horizons
Uses a consistent measurement of historical performance, regardless of asset -- currently standard deviations, may add log difference in the future
Plots a custom Average Directional Index on the current chart ticker for current asset contextual momentum
Plots the average 'rotation' of both the ADX and Pair Delta independently, over n numbers of rotations -- able to be specified using the 'Rotation Lookback' variable
If you've never pair traded crypto before (i.e. long $DYDX, short $ETH), you might not be aware that most highly correlated alt asset returns tend to oscillate on a low timeframe rolling basis around the performance of the majors -- and more recently, predominantly $ETH. With this in mind and using this oscillator, we can track that relationship.
Users are given the ability to adjust the following:
Comparison Asset
Fast and Slow Delta Lookbacks
Whether to wait for one bar delay during security calls
Rotation Lookback
Rotation Threshold for Pair Delta and ADX independently
ADX Lookback
Whether to utilize the ADX on the current chart ticker or also net that off against the ADX of the comparison asset
TO DO:
Aesthetic update to Pair Delta plot
Permanent fix for security call forced delay
Cuban's Asset ScreenerCuban's Asset Screener is a tool designed to view the health of the entire market in a single charting window, using a multi-timeframe, real-time heatmapped asset screener built natively within Tradingview.
You can use this tool to aggregate and display critical information required to identify your favorite trade ideas using other Cuban's Edge tools. Although the screener currently uses pre-built lists for over 200+ Binance and Bybit Futures pairs, the tool comes with custom watchlist support, allowing you to add as many additional assets as your screen and browser will support.
Currently tracking range positions and a custom cross asset delta function from Cuban's Pair Trading Index, the screener has an in-built sorting function which orders assets by similar market structure and colors them relative to their performance against the user's comparison asset -- their current chart ticker.
Cuban's Asset Screener is also valuable as a tool to monitor performance of your portfolio against any benchmark asset, by using the 'Asset Redenomination' option within the settings. This allows the user to redenominate the entire screener easily using their current chart ticker.
In order to setup the Asset Screener, the user will need to select an 'Asset List' and a 'Screen Location' value. This will load the screener into a set position on screen, from right to left. In order to add additional assets, multiple instances of the asset screener will need to be loaded on screen.
With this indicator, users get the option to adjust the following:
range positioning lookback
asset redenomination for range positioning
asset sorting order
screen location
multi-timeframe support
live pricing for PTI values
in-built asset lists for 200+ assets
TO DO:
add market filters to the coloring
add tradfi asset lists
Pair ViewerPair-Trading is a recognized and widely used trading method, this indicator is a tool that allows via several display interfaces (2 at the moment) to see relative performance ratios of two assets.
The inputs are pretty simple to understand but here is the list of them :
- Ticker #1 : The first Asset's ticker // numerator of the ratio
- Ticker #2 : The second Asset's ticker // denominator of the ratio
- View as : Display Method
- Up Color : Color of positive candle (when close > open)
- Down Color : Color of negative candle (when close < open)
Of course, this indicator only shows stuff at the chart, it does NOT provide any investment advice.
two_leg_spread_diffThis script helps you discern the relative change of each leg in a two-legged spread over a given period. The main plot is a difference in log return over the number of bars identified by the "lag" parameter. E.g. if "lag" is 10 and leg one has increased 3% over the past ten bars, while leg two has only increased 1%, the plot value is 2%. The main plot is also colored blue when leg one increases while leg two decreases on a given bar, and red if the opposite is true. This feature identifies periods where the correlation between the two legs diminishes. The one and two standard deviation of the main plot is also plotted in faint background lines. Additionally, a table indicates the percentage in which the main plot is within one standard deviation (acc 1) and two standard deviations (acc 2). Note that the standard deviation updates on each bar, so the current standard deviation is not the one used to calculate the accuracy. Rather, if there are N bars, N different standard deviation readings have been used to compute the accuracy statistics.
The inputs are:
- timeframe: the timeframe of the chart
- leg1_sym: the symbol of the first leg
- leg2_sym: the symbol of the second leg
- lag: the number of bars back to reference for computing the log return of each leg
- anchor_to_session_start: for intraday charts only, this overwrites the "lag" input so that the "lag" always sets the point of comparison to the session start. This setting is used to compute the relative change over a single session.
Bollinger Pair TradeNYSE:MA-1.6*NYSE:V
Revision: 1
Author: @ozdemirtrading
Revision 2 Considerations :
- Simplify and clean up plotting
Disclaimer: This strategy is currently working on the 5M chart. Change the length input to accommodate your needs.
For the backtesting of more than 3 months, you may need to upgrade your membership.
Description:
The general idea of the strategy is very straightforward: it takes positions according to the lower and upper Bollinger bands.
But I am mainly using this strategy for pair trading stocks. Do not forget that you will get better results if you trade with cointegrated pairs.
Bollinger band: Moving average & standard deviation are calculated based on 20 bars on the 1H chart (approx 240 bars on a 5m chart). X-day moving averages (20 days as default) are also used in the background in some of the exit strategy choices.
You can define position entry levels as the multipliers of standard deviation (for exp: mult2 as 2 * standard deviation).
There are 4 choices for the exit strategy:
SMA: Exit when touches simple moving average (SMA)
SKP: Skip SMA and do not stop if moving towards 20D SMA, and exit if it touches the other side of the band
SKPXDSMA: Skip SMA if moving towards 20D SMA, and exit if it touches 20D SMA
NoExit: Exit if it touches the upper & lower band only.
Options:
- Strategy hard stop: if trade loss reaches a point defined as a percent of the initial capital. Stop taking new positions. (not recommended for pair trade)
- Loss per trade: close position if the loss is at a defined level but keeps watching for new positions.
- Enable expected profit for trade (expected profit is calculated as the distance to SMA) (recommended for pair trade)
- Enable VIX threshold for the following options: (recommended for volatile periods)
- Stop trading if VIX for the previous day closes above the threshold
- Reverse active trade direction if VIX for the previous day is above the threshold
- Take reverse positions (assuming the Bollinger band is going to expand) for all trades
Backtesting:
Close positions after a defined interval: mark this if you want the close the final trade for backtesting purposes. Unmark it to get live signals.
Use custom interval: Backtest specific time periods.
Other Options:
- Use EMA: use an exponential moving average for the calculations instead of simple moving average
- Not against XDSMA: do not take a position against 20D SMA (if X is selected as 20) (recommended for pairs with a clear trend)
- Not in XDSMA 1 DEV: do not take a position in 20D SMA 1*standart deviation band (recommended if you need to decrease # of trades and increase profit for trade)
- Not in XDSMA 2 DEV: do not take a position in 20D SMA 2*standart deviation band
Session management:
- Not in session: Session start and end times can be defined here. If you do not want to trade in certain time intervals, mark that session.(helps to reduce slippage and get more realistic backtest results)
TASC 2022.07 Pairs Rotation With Ehlers Loops█ OVERVIEW
TASC's July 2022 edition of Traders' Tips includes an article by John Ehlers titled "Pairs Rotation With Ehlers Loops". This is the code that implements the Ehlers Loops applied to pairs rotation trading.
█ CONCEPTS
John Ehlers developed Ehlers loops as a tool to visualize the performance of one data stream versus another. Initially, he used this tool to chart price versus volume. However, Ehlers loops proved to be suitable for determining the timing of the pairs rotation strategy . This strategy works by having a long position in only one of two securities, depending on which one is considered stronger at a given time.
When the prices of two securities (filtered and scaled with a standard deviation for consistent presentation) are plotted against each other, the curvature and direction of rotation on the chart can help guide decisions on long positions. For example, when plotting a stock versus a referenced symbol, a vertical upward movement while rotating clockwise is a sign of going long the stock. Similarly, a horizontal movement to the right while rotating counterclockwise is the sign to go long the reference. A higher probability of a reversal is expected when the price moves more than one or two standard deviations.
█ CALCULATIONS
The script uses the following steps to calculate the Ehlers Loops:
The price data of both securities in the pair are individually filtered using identical high-pass and SuperSmoother filters. This results in two band-limited data streams, having a nominally zero mean. The input parameters Low-Pass Period and High-Pass Period control the filter bandwidth and thus can modify the shape of the Ehlers Loops.
Subsequently, the filtered data streams are scaled in terms of standard deviation by dividing each of them by their root-mean-square (RMS) values. These data streams are plotted as zero-mean oscillators.
Finally, the scaled data streams are displayed one against another for the selected time interval (defined by the input parameter Loop Segments ). In the resulting scatterplot, the thicker line corresponds to the later data points. The fluctuations of the filtered price data of the chart symbol are plotted along the y -axis, and the price changes of the referenced symbol are shown along the x -axis.






















