SIP Evaluator and Screener [Trendoscope®]The SIP Evaluator and Screener is a Pine Script indicator designed for TradingView to calculate and visualize Systematic Investment Plan (SIP) returns across multiple investment instruments. It is tailored for use in TradingView's screener, enabling users to evaluate SIP performance for various assets efficiently.
🎲 How SIP Works
A Systematic Investment Plan (SIP) is an investment strategy where a fixed amount is invested at regular intervals (e.g., monthly or weekly) into a financial instrument, such as stocks, mutual funds, or ETFs. The goal is to build wealth over time by leveraging the power of compounding and mitigating the impact of market volatility through disciplined, consistent investing. Here’s a breakdown of how SIPs function:
Regular Investments : In an SIP, an investor commits to investing a fixed sum at predefined intervals, regardless of market conditions. This consistency helps inculcate a habit of saving and investing.
Cost Averaging : By investing a fixed amount regularly, investors purchase more units when prices are low and fewer units when prices are high. This approach, known as dollar-cost averaging, reduces the average cost per unit over time and mitigates the risk of investing a large amount at a peak price.
Compounding Benefits : Returns generated from the invested amount (e.g., capital gains or dividends) are reinvested, leading to exponential growth over the long term. The longer the investment horizon, the greater the potential for compounding to amplify returns.
Dividend Reinvestment : In some SIPs, dividends received from the underlying asset can be reinvested to purchase additional units, further enhancing returns. Taxes on dividends, if applicable, may reduce the reinvested amount.
Flexibility and Accessibility : SIPs allow investors to start with small amounts, making them accessible to a wide range of individuals. They also offer flexibility in terms of investment frequency and the ability to adjust or pause contributions.
In the context of the SIP Evaluator and Screener , the script simulates an SIP by calculating the number of units purchased with each fixed investment, factoring in commissions, dividends, taxes and the chosen price reference (e.g., open, close, or average prices). It tracks the cumulative investment, equity value, and dividends over time, providing a clear picture of how an SIP would perform for a given instrument. This helps users understand the impact of regular investing and make informed decisions when comparing different assets in TradingView’s screener. It offers insights into key metrics such as total invested amount, dividends received, equity value, and the number of installments, making it a valuable resource for investors and traders interested in understanding long-term investment outcomes.
🎲 Key Features
Customizable Investment Parameters: Users can define the recurring investment amount, price reference (e.g., open, close, HL2, HLC3, OHLC4), and whether fractional quantities are allowed.
Commission Handling: Supports both fixed and percentage-based commission types, adjusting calculations accordingly.
Dividend Reinvestment: Optionally reinvests dividends after a user-specified period, with the ability to apply tax on dividends.
Time-Bound Analysis: Allows users to set a start year for the analysis, enabling historical performance evaluation.
Flexible Dividend Periods: Dividends can be evaluated based on bars, days, weeks, or months.
Visual Outputs: Plots key metrics like total invested amount, dividends, equity value, and remainder, with customizable display options for clarity in the data window and chart.
🎲 Using the script as an indicator on Tradingview Supercharts
In order to use the indicator on charts, do the following.
Load the instrument of your choice - Preferably a stable stocks, ETFs.
Chose monthly timeframe as lower timeframes are insignificant in this type of investment strategy
Load the indicator SIP Evaluator and Screener and set the input parameters as per your preference.
Indicator plots, investment value, dividends and equity on the chart.
🎲 Visualizations
Installments : Displays the number of SIP installments (gray line, visible in the data window).
Invested Amount : Shows the cumulative amount invested, excluding reinvested dividends (blue area plot).
Dividends : Tracks total dividends received (green area plot).
Equity : Represents the current market value of the investment based on the closing price (purple area plot).
Remainder : Indicates any uninvested cash after each installment (gray line, visible in the data window).
🎲 Deep dive into the settings
The SIP Evaluator and Screener offers a range of customizable settings to tailor the Systematic Investment Plan (SIP) simulation to your preferences. Below is an explanation of each setting, its purpose, and how it impacts the analysis:
🎯 Duration
Start Year (Default: 2020) : Specifies the year from which the SIP calculations begin. When Start Year is enabled via the timebound option, the script only considers data from the specified year onward. This is useful for analyzing historical SIP performance over a defined period. If disabled, the script uses all available data.
Timebound (Default: False) : A toggle to enable or disable the Start Year restriction. When set to False, the SIP calculation starts from the earliest available data for the instrument.
🎯 Investment
Recurring Investment (Default: 1000.0) : The fixed amount invested in each SIP installment (e.g., $1000 per period). This represents the regular contribution to the SIP and directly influences the total invested amount and quantity purchased.
Allow Fractional Qty (Default: True) : When enabled, the script allows the purchase of fractional units (e.g., 2.35 shares). If disabled, only whole units are purchased (e.g., 2 shares), with any remaining funds carried forward as Remainder. This setting impacts the precision of investment allocation.
Price Reference (Default: OPEN): Determines the price used for purchasing units in each SIP installment. Options include:
OPEN : Uses the opening price of the bar.
CLOSE : Uses the closing price of the bar.
HL2 : Uses the average of the high and low prices.
HLC3 : Uses the average of the high, low, and close prices.
OHLC4 : Uses the average of the open, high, low, and close prices. This setting affects the cost basis of each purchase and, consequently, the total quantity and equity value.
🎯 Commission
Commission (Default: 3) : The commission charged per SIP installment, expressed as either a fixed amount (e.g., $3) or a percentage (e.g., 3% of the investment). This reduces the amount available for purchasing units.
Commission Type (Default: Fixed) : Specifies how the commission is calculated:
Fixed ($) : A flat fee is deducted per installment (e.g., $3).
Percentage (%) : A percentage of the investment amount is deducted as commission (e.g., 3% of $1000 = $30). This setting affects the net amount invested and the overall cost of the SIP.
🎯 Dividends
Apply Tax On Dividends (Default: False) : When enabled, a tax is applied to dividends before they are reinvested or recorded. The tax rate is set via the Dividend Tax setting.
Dividend Tax (Default: 47) : The percentage of tax deducted from dividends if Apply Tax On Dividends is enabled (e.g., 47% tax reduces a $100 dividend to $53). This reduces the amount available for reinvestment or accumulation.
Reinvest Dividends After (Default: True, 2) : When enabled, dividends received are reinvested to purchase additional units after a specified period (e.g., 2 units of time, defined by Dividends Availability). If disabled, dividends are tracked but not reinvested. Reinvestment increases the total quantity and equity over time.
Dividends Availability (Default: Bars) : Defines the time unit for evaluating when dividends are available for reinvestment. Options include:
Bars : Based on the number of chart bars.
Weeks : Based on weeks.
Months : Based on months (approximated as 30.5 days). This setting determines the timing of dividend reinvestment relative to the Reinvest Dividends After period.
🎯 How Settings Interact
These settings work together to simulate a realistic SIP. For example, a $1000 recurring investment with a 3% commission and fractional quantities enabled will calculate the number of units purchased at the chosen price reference after deducting the commission. If dividends are reinvested after 2 months with a 47% tax, the script fetches dividend data, applies the tax, and adds the net dividend to the investment amount for that period. The Start Year and Timebound settings ensure the analysis aligns with the desired timeframe, while the Dividends Availability setting fine-tunes dividend reinvestment timing.
By adjusting these settings, users can model different SIP scenarios, compare performance across instruments in TradingView’s screener, and gain insights into how commissions, dividends, and price references impact long-term returns.
🎲 Using the script with Pine Screener
The main purpose of developing this script is to use it with Tradingview Pine Screener so that multiple ETFs/Funds can be compared.
In order to use this as a screener, the following things needs to be done.
Add SIP Evaluator and Screener to your favourites (Required for it to be added in pine screener)
Create a watch list containing required instruments to compare
Open pine screener from Tradingview main menu Products -> Screeners -> Pine or simply load the URL - www.tradingview.com
Select the watchlist created from Watchlist dropdown.
Chose the SIP Evaluator and Screener from the "Choose Indicator" dropdown
Set timeframe to 1 month and update settings as required.
Press scan to display collected data on the screener.
🎲 Use Case
This indicator is ideal for educational purposes, allowing users to experiment with SIP strategies across different instruments. It can be applied in TradingView’s screener to compare SIP performance for stocks, ETFs, or other assets, helping users understand how factors like commissions, dividends, and price references impact returns over time.
Statistics
QQQ NQ NDX SPY SPX ES Price Convert Overlay
_____________________________________________________________________
QQQ NQ NDX SPY SPX ES Price Convert Overlay Indicator
____________________
This 'Prices Overlay' indicator is a minimalist tool for traders who want to track and compare Nasdaq and S&P 500 instruments quickly and clearly, boosting efficiency and decision-making with minimal distraction.
How to Use It
____________________
Add the indicator onto your TradingView chart.
Adjust your Right Margin in TradingView Settings > Canvas to show as much or as little of the line as you want, based on the "Price Buffer" indicator setting.
Select which instruments to overlay (e.g., QQQ, SPX).
Adjust levels, buffer, font, transparency, and update interval.
Features and Functions
____________________
1. Automatic Ticker Detection:
The indicator identifies the ticker of your current chart (e.g., NQ, ES, SPY).
It then shows price levels for related instruments, eg:
On an NQ or MNQ chart, it can display QQQ or NDX levels.
On an ES or MES chart, it can display SPY or SPX levels.
...and vice versa
2. Adjustable Number of Levels
You can choose how many price levels to show, from 10 to 100.
This lets you decide how much detail you want based on your trading needs.
3. Visual Customization
Price Buffer: Move the lines and labels horizontally closer/further price action.
Font Size: Pick from "Tiny," "Small," or "Normal" for label text size.
Line Transparency: Adjust the opacity of the lines (0% = solid, 100% = invisible) to blend them with your chart.
4. Support for Micro Futures
Works with both regular futures (NQ, ES) and micro futures (MNQ, MES), perfect for traders using smaller contract sizes.
5. Update Frequency
Set how often the price levels refresh, from every 5 seconds to every 60 seconds.
This keeps the data current without slowing down your chart.
6. Accurate Price Conversion
Uses specific multipliers for each instrument (e.g., 100.0 for NDX and SPX, 1.0 for QQQ and SPY) to calculate and display price levels correctly.
Fetches real-time prices and converts them to match your chart’s scale.
Price conversions courtesy of PtGambler.
Benefits
____________________
Easier Analysis: See how prices from different instruments line up on one chart—no need for multiple screens or math.
Customizable: Turn on/off instruments and tweak visuals to fit your trading style.
Time-Saving: Automates price conversions, letting you focus on trading decisions.
Thanks!
____________________
Thank you for your interest in my work. This is something I use every day for my trading and wanted to share it with the public. If you have any comments, bugs, or suggestions, please leave them here, or you can find me on Twitter or Discord.
@ ContrarianIRL
Open-source developer for over 25 years
Long/Short/Exit/Risk management Strategy # LongShortExit Strategy Documentation
## Overview
The LongShortExit strategy is a versatile trading system for TradingView that provides complete control over entry, exit, and risk management parameters. It features a sophisticated framework for managing long and short positions with customizable profit targets, stop-loss mechanisms, partial profit-taking, and trailing stops. The strategy can be enhanced with continuous position signals for visual feedback on the current trading state.
## Key Features
### General Settings
- **Trading Direction**: Choose to trade long positions only, short positions only, or both.
- **Max Trades Per Day**: Limit the number of trades per day to prevent overtrading.
- **Bars Between Trades**: Enforce a minimum number of bars between consecutive trades.
### Session Management
- **Session Control**: Restrict trading to specific times of the day.
- **Time Zone**: Specify the time zone for session calculations.
- **Expiration**: Optionally set a date when the strategy should stop executing.
### Contract Settings
- **Contract Type**: Select from common futures contracts (MNQ, MES, NQ, ES) or custom values.
- **Point Value**: Define the dollar value per point movement.
- **Tick Size**: Set the minimum price movement for accurate calculations.
### Visual Signals
- **Continuous Position Signals**: Implement 0 to 1 visual signals to track position states.
- **Signal Plotting**: Customize color and appearance of position signals.
- **Clear Visual Feedback**: Instantly see when entry conditions are triggered.
### Risk Management
#### Stop Loss and Take Profit
- **Risk Type**: Choose between percentage-based, ATR-based, or points-based risk management.
- **Percentage Mode**: Set SL/TP as a percentage of entry price.
- **ATR Mode**: Set SL/TP as a multiple of the Average True Range.
- **Points Mode**: Set SL/TP as a fixed number of points from entry.
#### Advanced Exit Features
- **Break-Even**: Automatically move stop-loss to break-even after reaching specified profit threshold.
- **Trailing Stop**: Implement a trailing stop-loss that follows price movement at a defined distance.
- **Partial Profit Taking**: Take partial profits at predetermined price levels:
- Set first partial exit point and percentage of position to close
- Set second partial exit point and percentage of position to close
- **Time-Based Exit**: Automatically exit a position after a specified number of bars.
#### Win/Loss Streak Management
- **Streak Cutoff**: Automatically pause trading after a series of consecutive wins or losses.
- **Daily Reset**: Option to reset streak counters at the start of each day.
### Entry Conditions
- **Source and Value**: Define the exact price source and value that triggers entries.
- **Equals Condition**: Entry signals occur when the source exactly matches the specified value.
### Performance Analytics
- **Real-Time Stats**: Track important performance metrics like win rate, P&L, and largest wins/losses.
- **Visual Feedback**: On-chart markers for entries, exits, and important events.
### External Integration
- **Webhook Support**: Compatible with TradingView's webhook alerts for automated trading.
- **Cross-Platform**: Connect to external trading systems and notification platforms.
- **Custom Order Execution**: Implement advanced order flows through external services.
## How to Use
### Setup Instructions
1. Add the script to your TradingView chart.
2. Configure the general settings based on your trading preferences.
3. Set session trading hours if you only want to trade specific times.
4. Select your contract specifications or customize for your instrument.
5. Configure risk parameters:
- Choose your preferred risk management approach
- Set appropriate stop-loss and take-profit levels
- Enable advanced features like break-even, trailing stops, or partial profit taking as needed
6. Define entry conditions:
- Select the price source (such as close, open, high, or an indicator)
- Set the specific value that should trigger entries
### Entry Condition Examples
- **Example 1**: To enter when price closes exactly at a whole number:
- Long Source: close
- Long Value: 4200 (for instance, to enter when price closes exactly at 4200)
- **Example 2**: To enter when an indicator reaches a specific value:
- Long Source: ta.rsi(close, 14)
- Long Value: 30 (triggers when RSI equals exactly 30)
### Best Practices
1. **Always backtest thoroughly** before using in live trading.
2. **Start with conservative risk settings**:
- Small position sizes
- Reasonable stop-loss distances
- Limited trades per day
3. **Monitor and adjust**:
- Use the performance table to track results
- Adjust parameters based on how the strategy performs
4. **Consider market volatility**:
- Use ATR-based stops during volatile periods
- Use fixed points during stable markets
## Continuous Position Signals Implementation
The LongShortExit strategy can be enhanced with continuous position signals to provide visual feedback about the current position state. These signals can help you track when the strategy is in a long or short position.
### Adding Continuous Position Signals
Add the following code to implement continuous position signals (0 to 1):
```pine
// Continuous position signals (0 to 1)
var float longSignal = 0.0
var float shortSignal = 0.0
// Update position signals based on your indicator's conditions
longSignal := longCondition ? 1.0 : 0.0
shortSignal := shortCondition ? 1.0 : 0.0
// Plot continuous signals
plot(longSignal, title="Long Signal", color=#00FF00, linewidth=2, transp=0, style=plot.style_line)
plot(shortSignal, title="Short Signal", color=#FF0000, linewidth=2, transp=0, style=plot.style_line)
```
### Benefits of Continuous Position Signals
- Provides clear visual feedback of current position state (long/short)
- Signal values stay consistent (0 or 1) until condition changes
- Can be used for additional calculations or alert conditions
- Makes it easier to track when entry conditions are triggered
### Using with Custom Indicators
You can adapt the continuous position signals to work with any custom indicator by replacing the condition with your indicator's logic:
```pine
// Example with moving average crossover
longSignal := fastMA > slowMA ? 1.0 : 0.0
shortSignal := fastMA < slowMA ? 1.0 : 0.0
```
## Webhook Integration
The LongShortExit strategy is fully compatible with TradingView's webhook alerts, allowing you to connect your strategy to external trading platforms, brokers, or custom applications for automated trading execution.
### Setting Up Webhooks
1. Create an alert on your chart with the LongShortExit strategy
2. Enable the "Webhook URL" option in the alert dialog
3. Enter your webhook endpoint URL (from your broker or custom trading system)
4. Customize the alert message with relevant information using TradingView variables
### Webhook Message Format Example
```json
{
"strategy": "LongShortExit",
"action": "{{strategy.order.action}}",
"price": "{{strategy.order.price}}",
"quantity": "{{strategy.position_size}}",
"time": "{{time}}",
"ticker": "{{ticker}}",
"position_size": "{{strategy.position_size}}",
"position_value": "{{strategy.position_value}}",
"order_id": "{{strategy.order.id}}",
"order_comment": "{{strategy.order.comment}}"
}
```
### TradingView Alert Condition Examples
For effective webhook automation, set up these alert conditions:
#### Entry Alert
```
{{strategy.position_size}} != {{strategy.position_size}}
```
#### Exit Alert
```
{{strategy.position_size}} < {{strategy.position_size}} or {{strategy.position_size}} > {{strategy.position_size}}
```
#### Partial Take Profit Alert
```
strategy.order.comment contains "Partial TP"
```
### Benefits of Webhook Integration
- **Automated Trading**: Execute trades automatically through supported brokers
- **Cross-Platform**: Connect to custom trading bots and applications
- **Real-Time Notifications**: Receive trade signals on external platforms
- **Data Collection**: Log trade data for further analysis
- **Custom Order Management**: Implement advanced order types not available in TradingView
### Compatible External Applications
- Trading bots and algorithmic trading software
- Custom order execution systems
- Discord, Telegram, or Slack notification systems
- Trade journaling applications
- Risk management platforms
### Implementation Recommendations
- Test webhook delivery using a free service like webhook.site before connecting to your actual trading system
- Include authentication tokens or API keys in your webhook URL or payload when required by your external service
- Consider implementing confirmation mechanisms to verify trade execution
- Log all webhook activities for troubleshooting and performance tracking
## Strategy Customization Tips
### For Scalping
- Set smaller profit targets (1-3 points)
- Use tighter stop-losses
- Enable break-even feature after small profit
- Set higher max trades per day
### For Day Trading
- Use moderate profit targets
- Implement partial profit taking
- Enable trailing stops
- Set reasonable session trading hours
### For Swing Trading
- Use longer-term charts
- Set wider stops (ATR-based often works well)
- Use higher profit targets
- Disable daily streak reset
## Common Troubleshooting
### Low Win Rate
- Consider widening stop-losses
- Verify that entry conditions aren't triggering too frequently
- Check if the equals condition is too restrictive; consider small tolerances
### Missing Obvious Trades
- The equals condition is extremely precise. Price must exactly match the specified value.
- Consider using floating-point precision for more reliable triggers
### Frequent Stop-Outs
- Try ATR-based stops instead of fixed points
- Increase the stop-loss distance
- Enable break-even feature to protect profits
## Important Notes
- The exact equals condition is strict and may result in fewer trade signals compared to other conditions.
- For instruments with decimal prices, exact equality might be rare. Consider the precision of your value.
- Break-even and trailing stop calculations are based on points, not percentage.
- Partial take-profit levels are defined in points distance from entry.
- The continuous position signals (0 to 1) provide valuable visual feedback but don't affect the strategy's trading logic directly.
- When implementing continuous signals, ensure they're aligned with the actual entry conditions used by the strategy.
---
*This strategy is for educational and informational purposes only. Always test thoroughly before using with real funds.*
M2 Liquidity Divergence ModelM2 Liquidity Divergence Model
The M2 Liquidity Divergence Model is a macro-aware visualization tool designed to compare shifts in global liquidity (M2) against the performance of a benchmark asset (default: Bitcoin). This script captures liquidity flows across major global economies and highlights whether price action is aligned ("Agreement") or diverging ("Divergence") from macro trends.
🔍 Core Features
M2 Global Liquidity Index (GLI):
Aggregates M2 money supply from major global economies, FX-adjusted, including extended contributors like India, Brazil, and South Africa. The slope of this composite is used to infer macro liquidity trends.
Lag Offset Control:
Allows the M2 signal to lead benchmark asset price by a configurable number of days (Lag Offset), useful for modeling the forward-looking nature of macro flows.
Gradient Macro Context (Background):
Displays a color-gradient background—aqua for expansionary liquidity, fuchsia for contraction—based on the slope and volatility of M2. This contextual backdrop helps users visually anchor price action within macro shifts.
Divergence Histogram (Optional):
Plots a histogram showing dynamic correlation or divergence between the liquidity index and the selected benchmark.
Agreement Mode: M2 and asset are moving together.
Divergence Mode: Highlights break in expected macro-asset alignment.
Adaptive Transparency Scaling:
Histogram and background gradients scale their visual intensity based on statistical deviation to emphasize stronger signals.
Toggle Options:
Show/hide the M2 Liquidity Index line.
Show/hide divergence histogram.
Enable/disable visual offset of M2 to benchmark.
🧠 Suggested Usage
Macro Positioning: Use the background context to align directional trades with macro liquidity flows.
Disagreement as Signal: Use divergence plots to identify when price moves against macro expectations—potential reversal or exhaustion zones.
Time-Based Alignment: Adjust Lag Offset to synchronize M2 signals with asset price behavior across different market conditions.
⚠️ Disclaimer
This indicator is designed for educational and analytical purposes only. It does not constitute financial advice or an investment recommendation. Always conduct your own research and consult a licensed financial advisor before making trading decisions.
LMAsLibrary "LMAs"
Credits
Thank you to @QuantraSystems for dynamic calculations.
Introduction
This lightweight library offers dynamic implementations of popular moving averages that adapt their length automatically as new bars are added to the chart.
Each function is built on a dynamic length formula:
len = math.min(maxLength, bar_index + 1)
This approach ensures that calculations begin as early as the first bar, allowing for smoother initialization and more consistent behavior across all timeframes. It’s especially useful in custom scripts that run from bar 0 or when historical data is limited.
Usage
You can use this library as a drop-in replacement for standard moving averages. It provides more flexibility and stability in live or backtesting environments where fixed-length indicators may delay or fail to initialize properly.
Why Use This?
• Works from the very first bar
• Avoids na values during early bars
• Great for real-time indicators, strategies, and bar-replay
• Clean and efficient code with dynamic behavior
How to Use
Import the library into your script and call any of the included functions just like you would with their native counterparts.
Summary
A lightweight Pine Script™ library offering dynamic moving averages that work seamlessly from the very first bar. Ideal for strategies and indicators requiring robust initialization and adaptive behavior.
SMA(sourceData, maxLength)
Dynamic SMA
Parameters:
sourceData (float)
maxLength (int)
EMA(src, length)
Dynamic EMA
Parameters:
src (float)
length (int)
DEMA(src, length)
Dynamic DEMA
Parameters:
src (float)
length (int)
TEMA(src, length)
Dynamic TEMA
Parameters:
src (float)
length (int)
WMA(src, length)
Dynamic WMA
Parameters:
src (float)
length (int)
HMA(src, length)
Dynamic HMA
Parameters:
src (float)
length (int)
VWMA(src, volsrc, length)
Dynamic VWMA
Parameters:
src (float)
volsrc (float)
length (int)
SMMA(src, length)
Dynamic SMMA
Parameters:
src (float)
length (int)
LSMA(src, length, offset)
Dynamic LSMA
Parameters:
src (float)
length (int)
offset (int)
RMA(src, length)
Dynamic RMA
Parameters:
src (float)
length (int)
ALMA(src, length, offset_sigma, sigma)
Dynamic ALMA
Parameters:
src (float)
length (int)
offset_sigma (float)
sigma (float)
ZLSMA(src, length)
Dynamic ZLSMA
Parameters:
src (float)
length (int)
FRAMA(src, length)
Parameters:
src (float)
length (int)
KAMA(src, length)
Dynamic KAMA
Parameters:
src (float)
length (int)
JMA(src, length, phase)
Dynamic JMA
Parameters:
src (float)
length (int)
phase (float)
T3(src, length, volumeFactor)
Dynamic T3
Parameters:
src (float)
length (int)
volumeFactor (float)
Intraweek Highs & Lows🔎 Track and analyze intraweek price extremes with full flexibility.
The indicator detects weekly highs or lows for any selected weekday and monitors when other days break those levels.
⚙️ Inputs
Select day
Pick which weekday’s extreme you want to monitor.
Find Low/High
Select whether you want to track Lows or Highs.
Use candle Wick/Body
Choose if extremes are calculated by full wick or candle body.
Cutoff date
Toggle the date-based filter and choose the starting date for event display.
MC Geopolitical Tension Events📌 Script Title: Geopolitical Tension Events
📖 Description:
This script highlights key geopolitical and military tension events from 1914 to 2024 that have historically impacted global markets.
It automatically plots vertical dashed lines and labels on the chart at the time of each major event. This allows traders and analysts to visually assess how markets have responded to global crises, wars, and significant political instability over time.
🧠 Use Cases:
Historical backtesting: Understand how market responded to past geopolitical shocks.
Contextual analysis: Add macro context to technical setups.
🗓️ List of Geopolitical Tension Events in the Script
Date Event Title Description
1914-07-28 WWI Begins Outbreak of World War I following the assassination of Archduke Franz Ferdinand.
1929-10-24 Wall Street Crash Black Thursday, the start of the 1929 stock market crash.
1939-09-01 WWII Begins Germany invades Poland, starting World War II.
1941-12-07 Pearl Harbor Japanese attack on Pearl Harbor; U.S. enters WWII.
1945-08-06 Hiroshima Bombing First atomic bomb dropped on Hiroshima by the U.S.
1950-06-25 Korean War Begins North Korea invades South Korea.
1962-10-16 Cuban Missile Crisis 13-day standoff between the U.S. and USSR over missiles in Cuba.
1973-10-06 Yom Kippur War Egypt and Syria launch surprise attack on Israel.
1979-11-04 Iran Hostage Crisis U.S. Embassy in Tehran seized; 52 hostages taken.
1990-08-02 Gulf War Begins Iraq invades Kuwait, triggering U.S. intervention.
2001-09-11 9/11 Attacks Coordinated terrorist attacks on the U.S.
2003-03-20 Iraq War Begins U.S.-led invasion of Iraq to remove Saddam Hussein.
2008-09-15 Lehman Collapse Bankruptcy of Lehman Brothers; peak of global financial crisis.
2014-03-01 Crimea Crisis Russia annexes Crimea from Ukraine.
2020-01-03 Soleimani Strike U.S. drone strike kills Iranian General Qasem Soleimani.
2022-02-24 Ukraine Invasion Russia launches full-scale invasion of Ukraine.
2023-10-07 Hamas-Israel War Hamas launches attack on Israel, sparking war in Gaza.
2024-01-12 Red Sea Crisis Houthis attack ships in Red Sea, prompting Western naval response.
TAIndicatorsThis library offers a comprehensive suite of enhanced technical indicator functions, building upon TradingView's built-in indicators. The primary advantage of this library is its expanded flexibility, allowing you to select from a wider range of moving average types for calculations and smoothing across various indicators.
The core difference between these functions and TradingView's standard ones is the ability to specify different moving average types beyond the default. While a standard ta.rsi() is fixed, the rsi() in this library, for example, can be smoothed by an 'SMMA (RMA)', 'WMA', 'VWMA', or others, giving you greater control over your analysis.
█ FEATURES
This library provides enhanced versions of the following popular indicators:
Moving Average (ma): A versatile MA function that includes optional secondary smoothing and Bollinger Bands.
RSI (rsi): Calculate RSI with an optional smoothed signal line using various MA types, plus built-in divergence detection.
MACD (macd): A MACD function where you can define the MA type for both the main calculation and the signal line.
ATR (atr): An ATR function that allows for different smoothing types.
VWAP (vwap): A comprehensive anchored VWAP with multiple configurable bands.
ADX (adx): A standard ADX calculation.
Cumulative Volume Delta (cvd): Provides CVD data based on a lower timeframe.
Bollinger Bands (bb): Create Bollinger Bands with a customizable MA type for the basis line.
Keltner Channels (kc): Keltner Channels with selectable MA types and band styles.
On-Balance Volume (obv): An OBV indicator with an optional smoothed signal line using various MA types.
... and more to come! This library will be actively maintained, with new useful indicator functions added over time.
█ HOW TO USE
To use this library in your scripts, import it using its publishing link. You can then call the functions directly.
For example, to calculate a Weighted Moving Average (WMA) and then smooth it with a Simple Moving Average (SMA) :
import ActiveQuants/TAIndicators/1 as tai
// Calculate a 20-period WMA of the close
// Then, smooth the result with a 10-period SMA
= tai.ma("WMA", close, 20, "SMA", 10)
plot(myWma, color = color.blue)
plot(smoothedWma, color = color.orange)
█ Why Choose This Library?
If you're looking for more control and customization than what's offered by the standard built-in functions, this library is for you. By allowing for a variety of smoothing methods across multiple indicators, it enables a more nuanced and personalized approach to technical analysis. Fine-tune your indicators to better fit your trading style and strategies.
Deviation Trend Profile [BigBeluga]🔵 OVERVIEW
A statistical trend analysis tool that combines moving average dynamics with standard deviation zones and trend-specific price distribution.
This is an experimental indicator designed for educational and learning purposes only.
🔵 CONCEPTS
Trend Detection via SMA Slope: Detects trend shifts when the slope of the SMA exceeds a ±0.1 threshold.
Standard Deviation Zones: Calculates ±1, ±2, and ±3 levels from the SMA using ATR, forming dynamic envelopes around the mean.
Trend Distribution Profile: Builds a histogram that shows how often price closed within each deviation zone during the active trend phase.
🔵 FEATURES
Trend Signals: Immediate shift markers using colored circles at trend reversals.
SMA Gradient Coloring: The SMA line dynamically changes color based on its directional slope.
Trend Duration Label: A label above the histogram shows how many bars the current trend has lasted.
Trend Distribution Histogram: Visual bin-based profile showing frequency of price closes within deviation bands during trend lookback period.
Adjustable Bin Count: Set the granularity of the distribution using the “Bins Amount” input.
Deviation Labels and Zones: Clearly marked ±1, ±2, ±3 lines with consistent color scheme.
Trend Strength Insight:
• Wide profile skewed to ±2/3 = strong directional trend.
• Profile clustered near SMA = potential trend exhaustion or range.
🔵 HOW TO USE
Use trend shift dots as entry signals:
• 🔵 = Bullish start
• 🔴 = Bearish start
Trade with the trend when price clusters in outer zones (±2 or ±3).
Be cautious or fade the trend when price distribution contracts toward the SMA.
View across multiple timeframes for trend confluence or divergence.
🔵 CONCLUSION
Deviation Trend Profile visualizes how price distributes during trends relative to statistical deviation zones.
It’s a powerful confluence tool for identifying strength, exhaustion, and the rhythm of price behavior—ideal for swing traders and volatility analysts alike.
Luma DCA Simulator (BTC only)Luma DCA Simulator – Guide
What is the Luma DCA Simulator?
The Luma DCA Tracker shows how regular Bitcoin investments (Dollar Cost Averaging) would have developed over a freely selectable period – directly in the chart, transparent and easy to follow.
Settings Overview
1. Investment amount per interval
Specifies how much capital is invested at each purchase (e.g. 100).
2. Start date
Defines the point in time from which the simulation begins – e.g. 01.01.2020.
3. Investment interval
Determines how frequently investments are made:
– Daily
– Weekly
– Every 14 days
– Monthly
4. Language
Switches the info box display between English and German.
5. Show investment data (optional)
If activated, the chart will display additional values such as total invested capital, BTC amount, current value, and profit/loss.
What the Chart Displays
Entry points: Each DCA purchase is marked as a point in the price chart.
Average entry price: An orange line visualizes the evolving DCA average.
Info box (bottom left) with a live summary of:
– Total invested capital
– Total BTC acquired
– Average entry price
– Current portfolio value
– Profit/loss in absolute terms and percentage
Note on Accuracy
This simulation is for illustrative purposes only.
Spreads, slippage, fees, and tax effects are not included.
Actual results may vary.
Technical Note
For daily or weekly intervals, the chart timeframe should be set to 1 day or lower to ensure all purchases are accurately included.
Larger timeframes (e.g. weekly or monthly charts) may result in missed investments.
Currency Handling
All calculations are based on the selected chart symbol (e.g. BTCUSD, BTCEUR, BTCUSDT).
The displayed currency is automatically determined by the chart used.
Adaptive Multi-MA OptimizerAdaptive Multi-MA Optimizer
This indicator provides a powerful, customizable solution for traders seeking dynamically optimized moving averages with precision and control. It integrates multiple custom-built moving average types, applies real-time volatility-based optimization, and includes an optional composite smoothing engine.
🧠 Key Features
Dynamic Optimization:
Automatically selects the optimal lookback length based on market volatility stability using a custom standard deviation differential model.
Multiple Custom MA Types:
Includes fully custom implementations of:
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
WMA (Weighted Moving Average)
VWMA (Volume Weighted MA)
DEMA (Double EMA)
TEMA (Triple EMA)
Hull MA
ALMA (Arnaud Legoux MA)
Composite MA Option:
A unique "Composite" mode blends all supported MAs into a single average, then applies optional smoothing for enhanced signal clarity.
Dynamic Smoothing:
The composite mode supports volatility-adjusted smoothing (based on optimized lookback), making it adaptable to different market regimes.
Fully Custom Logic:
No built-in MA functions are used — every moving average is hand-coded for transparency and educational value.
⚙️ How It Works
Optimization:
The script evaluates a range of lengths (minLen to maxLen) using the standard deviation of price returns. It selects the length with the most stable recent volatility profile.
Calculation:
The selected MA type is calculated using that optimized length. If "Composite" is chosen, all MA types are averaged and smoothed dynamically.
Visualization:
The adaptive MA is plotted on the chart, changing color based on its position relative to price.
📌 Use Cases
Trend-following strategies that adapt to different market conditions.
Traders wanting a high-fidelity composite of multiple MAs.
Analysts interested in visualizing market smoothness without lag-heavy signals.
Coders looking to learn how to build custom indicators from scratch.
🧪 Inputs
MA Type: Choose from 8 MA types or a blended Composite.
Lookback Range: Control min/max and step size for optimization.
Source: Choose any price series (e.g., close, hl2).
⚠️ Disclaimer
This indicator is for educational and informational purposes only and does not constitute financial advice, trading advice, or investment recommendations. Use of this script is at your own risk. Past performance does not guarantee future results. Always perform your own analysis and consult with a qualified financial advisor before making trading decisions.
Adaptive Normalized Global Liquidity OscillatorAdaptive Normalized Global Liquidity Oscillator
A dynamic, non-repainting oscillator built on real central bank balance sheet data. This tool visualizes global liquidity shifts by aggregating monetary asset flows from the world’s most influential central banks.
🔍 What This Script Does:
Aggregates Global Liquidity:
Includes Federal Reserve (FED) assets and subtracts liabilities like the Treasury General Account (TGA) and Reverse Repo Facility (RRP), combined with asset positions from the ECB, BOJ, PBC, BOE, and over 10 other central banks. All data is normalized into USD using FX rates.
Adaptive Normalization:
Optimizes the lookback period dynamically based on rate-of-change stability—no fixed lengths, enabling adaptation across macro conditions.
Self-Optimizing Weighting:
Applies inverse standard deviation to balance raw liquidity, smoothed momentum (HMA), and standardized deviation from the mean.
Percentile-Ranked Highlights:
Liquidity readings are ranked relative to history—extremes are visually emphasized using gradient color and adaptive transparency.
Non-Repainting Design:
Data is anchored with bar index awareness and offset techniques, ensuring no forward-looking bias. What you see is what was known at that time.
⚠️ Important Interpretation Note:
This is not a zero-centered oscillator like RSI or MACD. The signal line does not represent neutrality at zero.
Instead, a dynamic baseline is calculated using a rolling mean of scaled liquidity.
0 is irrelevant on its own—true directional signals come from crosses above or below this adaptive baseline.
Even negative values may signal strength if they are rising above the moving average of past liquidity conditions.
✅ What to Watch For:
Crossover Above Dynamic Baseline:
Indicates liquidity is expanding relative to recent conditions—supports a risk-on interpretation.
Crossover Below Dynamic Baseline:
Suggests deteriorating liquidity conditions—may align with risk-off shifts.
Percentile Extremes:
Readings near the top or bottom historical percentiles can act as contrarian or confirmation signals, depending on momentum.
⚙️ How It Works:
Bounded Normalization:
The final oscillator is passed through a tanh function, keeping values within and reducing distortion.
Adaptive Transparency:
The strength of deviations dynamically adjusts plot intensity—visually highlighting stronger liquidity shifts.
Fully Customizable:
Toggle which banks are included, adjust dynamic optimization ranges, and control visual display options for plot and background layers.
🧠 How to Use:
Trend Confirmation:
Sustained rises in the oscillator above baseline suggest underlying monetary support for asset prices.
Macro Turning Points:
Reversals or divergences, especially near OB/OS zones, can foreshadow broader risk regime changes.
Visual Context:
Use the dynamic baseline to see if liquidity is supportive or suppressive relative to its own adaptive history.
📌 Disclaimer:
This indicator is for educational and informational purposes only. It does not constitute financial advice. Past performance is not indicative of future results. Always consult a qualified financial advisor before making trading or investment decisions.
Luma DCA Tracker (BTC)Luma DCA Tracker (BTC) – User Guide
Function
This indicator simulates a regular Bitcoin investment strategy (Dollar Cost Averaging). It calculates and visualizes:
Accumulated BTC amount
Average entry price
Total amount invested
Current portfolio value
Profit/loss in absolute and percentage terms
Settings
Investment per interval
Fixed amount to be invested at each interval (e.g., 100 USD)
Start date
The date when DCA simulation begins
Investment interval
Choose between:
daily, weekly, every 14 days, or monthly
Show investment data
Displays additional chart lines (total invested, value, profit, etc.)
Chart Elements
Orange line: Average DCA entry price
Grey dots: Entry points based on selected interval
Info box (bottom left): Live summary of all key values
Notes
Purchases are simulated at the closing price of each interval
No fees, slippage, or taxes are included
The indicator is a simulation only and not linked to an actual portfolio
GCM Price Based ColorIndicator Name:
GCM Price Based Color Indicator
Detailed Description:
The GCM Price Based Color Indicator is a unique tool designed to help traders spot potential "pump" events in the market. Unlike traditional Volume Rate of Change (VROC) indicators, this script is conditional: it calculates a VROC value only when both the average volume and the price are increasing. This focus helps filter out volume surges that don't accompany immediate price appreciation, highlighting more relevant "pump" signals.
Key Features & Calculation Logic:
Conditional Volume Rate of Change (VROC):
It first calculates a Simple Moving Average (SMA) of the volume over a user-defined length (lookback period).
It then checks two conditions:
Is the current SMA volume greater than the previous bar's SMA volume (i.e., volumeIncreasing)?
Is the current close price greater than the previous bar's close price (i.e., valueIncreasing)?
Only if both volume Increasing AND value Increasing are true, a VROC value is calculated as (current _ MA _ volume - previous _ MA _ volume) * (100 / previous _ MA _ volume). Otherwise, the VROC for that bar is 0.
Historical Normalization:
The raw VROC value is then normalized against its own historical maximum value observed since the indicator was applied. This scaling brings all VROC values into a common 0-100 range.
Why is this important? Normalization makes the indicator's readings comparable across different assets (e.g., high-volume vs. low-volume stocks/cryptos) and different timeframes, making it easier to interpret the strength of a "pump" relative to its own past.
Dynamic Plot Color (Price-Based):
The plot line's color itself provides an immediate visual cue about the current bar's price action:
Green: close is greater than close (price is up for the current bar).
Red: close is less than close (price is down for the current bar).
Grey: close is equal to close (price is flat for the current bar).
Important Note: The plot color reflects the price movement of the current bar, not the magnitude of the VROC Normalized value itself. This means you can have a high vrocNormalized value (indicating a strong conditional volume surge) but a red plot color if the very next bar's price closes lower, providing a multi-faceted view.
Thresholds & Alerts:
Two horizontal lines (small Pump Threshold and big Pump Threshold) are plotted to visually mark significant levels of normalized pump strength.
Customizable alerts can be set up to notify you when VROC Normalized reaches or exceeds these thresholds, helping you catch potential pump events in real-time.
How to Use It:
Identify Potential Pumps: Look for upward spikes in the VROC Normalized line. Higher spikes indicate stronger pump signals (i.e., a larger increase in average volume coinciding with an increasing price).
Monitor Thresholds: Pay attention when the VROC Normalized line crosses above your small Pump Threshold or big Pump Threshold. These are configurable levels to suit different assets and trading styles.
Observe Plot Color: The line color provides crucial context. A high VROC Normalized (strong pump signal) with a green line indicates current price momentum is still positive. If VROC Normalized is high but the line turns red, it might suggest the initial pump is losing steam or experiencing a pullback.
Combine with Other Tools: This indicator is best used in conjunction with other technical analysis tools (e.g., support/resistance, trend lines, other momentum indicators) for confirmation and a more holistic trading strategy.
Indicator Inputs:
Lookback period (1 - 4999) (default: 420): This length determines the period for the Simple Moving Average (SMA) of volume. A higher value will smooth the volume average more, reacting slower, while a lower value will make it more reactive. Adjust based on the timeframe and asset volatility.
Big Pump Threshold (0.01 - 99.99) (default: 10.0): The normalized VROC Normalized level that signifies a "Big Pump." When VROC Normalized reaches or exceeds this level, an alert can be triggered.
Small Pump Threshold (0.01 - 99.99) (default: 0.5): The normalized VROC Normalized level that signifies a "Small Pump." This is a lower threshold for earlier or less significant pump activity.
Alerts:
Small Pump: Triggers when VROC Normalized crosses above or equals the small Pump Threshold.
Big Pump: Triggers when VROC Normalized crosses above or equals the big Pump Threshold.
Best Practices & Considerations:
Timeframes: The indicator can be used on various timeframes, but its effectiveness may vary. Experiment to find what works best for your chosen asset and trading style.
Volatility: Highly volatile assets might require different threshold settings compared to less volatile ones.
Lag: Due to the use of a Simple Moving Average (SMA) for volume, there will be some inherent lag in the calculation.
Normalization Start: The historic Max for normalization starts with a default value of 10.0. For the very first bars, or if there hasn't been a significant VROC yet, the VROC Normalized might behave differently until a true historical maximum VROC establishes itself.
Not Financial Advice: This indicator is a tool for analysis and does not constitute financial advice. Always perform your own research and manage your risk.
Adaptive Signal Oscillator (ASO)📘 Adaptive Signal Oscillator (ASO)
A fully dynamic, self-calibrating oscillator that adapts to any asset or timeframe by optimizing for real-time signal stability and volatility structure — without relying on static parameters or hardcoded thresholds.
🔍 Overview
The Adaptive Signal Oscillator (ASO) is a next-generation technical analysis tool designed to provide context-aware long/short signals across crypto, equities, or forex markets. Unlike traditional oscillators (RSI, Stochastics, MACD), ASO requires no manual tuning of lookback periods or overbought/oversold zones — it self-optimizes based on current market behavior.
🧠 How It Works
✅ 1. Dynamic Lookback Optimization
ASO evaluates a range of lookback lengths between user-defined minLen and maxLen. For each length, it calculates the standard deviation of returns and finds the one with the least volatility change (i.e., the most stable structure). This length is dynamically assigned as bestLen, recalculated on every bar.
✅ 2. Multi-Layer Signal Composition
Four independent signal layers are computed using bestLen:
RSI Layer: Measures relative price strength via a custom dynamic RSI.
Z-Score Layer: Standardized deviation of price from its mean.
Volatility Layer: Standard deviation of log or percent returns.
Price Position Layer: Current price percentile within the lookback window.
Each of these layers is transformed into a percentile score scaled to the range .
✅ 3. Volatility-Based Weighting
The standard deviation (volatility) of each signal layer is computed. Less volatile layers are weighted more heavily, ensuring the final composite signal prioritizes stable, consistent inputs.
Weights are normalized and combined to form a composite score, representing a dynamically blended, noise-weighted signal across the four layers.
✅ 4. Optional Adaptive Smoothing
A boolean toggle lets users apply smoothing to the final score. The smoothing window scales proportionally to bestLen, preserving adaptiveness even during trend transitions.
✅ 5. Percentile-Based Thresholding
Rather than using arbitrary fixed thresholds, ASO converts the composite score into a ranked percentile. Long/short signals are then generated based on user-defined percentile bands, adapting naturally to each asset’s behavior.
📈 Interpreting ASO
Score > Threshold → Strong long signal (highlighted in aqua).
Score < Threshold → Strong short signal (highlighted in fuchsia).
Crossing h_thresh (e.g., 0) → Neutral-to-bias change; useful for early trend cues.
The background and label update in real time to reflect the current regime and bestLen.
⚙️ Inputs
minLen, maxLen, step: Define the search range for optimal lookback length.
retMethod: Choose between log or percent return calculations.
threshHigh, threshLow: Define signal zones using percentiles.
smooth: Enable dynamic score smoothing.
h_thresh: Midline crossover zone for directional context.
⚠️ Disclaimer
This tool is designed for exploratory and educational purposes only. It does not offer financial advice or trading recommendations. Past performance is not indicative of future results.
Always consult a licensed financial advisor before making investment decisions.
Flux Capacitor (FC)# Flux Capacitor
**A volume-weighted, outlier-resistant momentum oscillator designed to expose hidden directional pressure from institutional participants.**
---
### Why "Flux Capacitor"?
The name pays homage to the fictional energy core in *Back to the Future* — an invisible engine that powers movement. Similarly, this indicator detects whether price movement is being powered by real market participation (volume) or if it's coasting without conviction.
---
### Methodology
The Flux Capacitor fuses three statistical layers:
- **Normalized Momentum**: `(Close – Open) / ATR`
Controls for raw price size and volatility.
- **Volume Scaling**:
Amplifies the effect of price moves that occur with elevated volume.
- **Robust Normalization**:
- *Winsorization* caps outlier spikes.
- *MAD-Z scoring* normalizes the signal across assets (crypto, futures, stocks).
- This produces consistent scaling across timeframes and symbols.
The result is a smooth oscillator that reliably indicates **liquidity-backed momentum** — not just price movement.
---
### Signal Events
- **Divergence (D)**: Price makes higher highs or lower lows, but Flux does not.
- **Absorption (A)**: Candle shows high volume and small body, while Flux opposes the candle direction — indicates smart money stepping in.
- **Compression (◆)**: High volume with low momentum — potential breakout zone.
- **Zero-Cross**: Indicates directional regime flip.
- **Flux Acceleration**: Histogram shows pressure rate of change.
- **Regime Background**: Color fades with weakening trend conviction.
All signals are color-coded and visually compact for easy pattern recognition.
---
### Interpreting Divergence & Absorption Correctly
Signal strength improves significantly when it appears **in the correct zone**:
#### Divergence:
| Signal | Zone | Meaning | Strength |
|--------|------------|------------------------------------------|--------------|
| Green D | Below 0 | Bullish reversal forming in weakness | **Strong** |
| Green D | Above 0 | Bullish, but less convincing | Moderate |
| Red D | Above 0 | Bearish reversal forming in strength | **Strong** |
| Red D | Below 0 | Bearish continuation — low warning value | Weak |
#### Absorption:
| Signal | Zone | Meaning | Strength |
|--------|------------|-----------------------------------------|--------------|
| Green A | Below 0 | Buyers absorbing panic-selling | **Strong** |
| Green A | Above 0 | Support continuation | Moderate |
| Red A | Above 0 | Sellers absorbing FOMO buying | **Strong** |
| Red A | Below 0 | Trend continuation — not actionable | Weak |
Look for **absorption or divergence signals in “enemy territory”** for the most actionable entries.
---
### Reducing Visual Footprint
If your chart shows a long line of numbers across the top of the Flux Capacitor pane (e.g. "FC 14 20 9 ... Bottom Right"), it’s due to TradingView’s *status line input display*.
**To fix this**:
Right-click the indicator pane → **Settings** → **Status Line** tab → uncheck “Show Indicator Arguments”.
This frees up vertical space so top-edge signals (like red `D` or yellow `◆`) remain visible and unobstructed.
---
### Features
- Original MAD-Z based momentum design
- True volume-based divergence and absorption logic
- Built-in alerts for all signal types
- Works across timeframes (1-min to weekly)
- Minimalist, responsive layout
- 25+ customizable parameters
- No future leaks, no repainting
---
### Usage Scenarios
- **Trend confirmation**: Flux > 0 confirms bullish trend strength
- **Reversal detection**: Divergence or absorption in opposite territory = high-probability reversal
- **Breakout anticipation**: Compression signal inside range often precedes directional move
- **Momentum shifts**: Watch for zero-crosses + flux acceleration spikes
---
### ⚠ Visual Note for BTC, ETH, Crude Oil & Futures
These high-priced or rapidly accelerating instruments can visually compress any linear oscillator. You may notice the Flux Capacitor’s line appears "flat" or muted on these assets — especially over long lookbacks.
> **This does not affect signal validity.** Divergence, absorption, and compression triggers still fire based on underlying logic — only the line’s amplitude appears reduced due to scaling constraints.
---
### Disclaimer
This indicator is for educational purposes only. It is not trading advice. Past results do not guarantee future performance. Use in combination with your own risk management and analysis.
Normalized Volume & True RangeThis indicator solves a fundamental challenge that traders face when trying to analyze volume and volatility together on their charts. Traditionally, volume and price volatility exist on completely different scales, making direct comparison nearly impossible. Volume might range from thousands to millions of shares, while volatility percentages typically stay within single digits. This indicator brings both measurements onto a unified scale from 0 to 100 percent, allowing you to see their relationship clearly for the first time.
The core innovation lies in the normalization process, which automatically calculates appropriate scaling factors for both volume and volatility based on their historical statistical properties. Rather than using arbitrary fixed scales that might work for one stock but fail for another, this system adapts to each instrument's unique characteristics. The indicator establishes baseline averages for both measurements and then uses statistical analysis to determine reasonable maximum values, ensuring that extreme outliers don't distort the overall picture.
You can choose from three different volatility calculation methods depending on your analytical preferences. The "Body" option measures the distance between opening and closing prices, focusing on the actual trading range that matters most for price action. The "High/Low" method captures the full daily range including wicks and shadows, giving you a complete picture of intraday volatility. The "Close/Close" approach compares consecutive closing prices, which can be particularly useful for identifying gaps and overnight price movements.
The indicator displays volume as colored columns that match your candlestick colors, making it intuitive to see whether high volume occurred during up moves or down moves. Volatility appears as a gray histogram, providing a clean background reference that doesn't interfere with volume interpretation. Both measurements are clipped at 100 percent, which represents their calculated maximum normal values, so any readings near this level indicate unusually high activity in either volume or volatility.
The baseline reference line shows you what "normal" volume looks like for the current instrument, helping you quickly identify when trading activity is above or below average. Optional moving averages for both volume and volatility are available if you prefer smoothed trend analysis over raw daily values. The entire system updates in real-time as new data arrives, continuously refining its statistical calculations to maintain accuracy as market conditions evolve.
This two-in-one indicator provides a straightforward way to examine how price movements relate to trading volume by presenting both measurements on the same normalized scale, making it easier to spot patterns and relationships that might otherwise remain hidden when analyzing these metrics separately.
Technical Strength Index (TSI)📘 TSI with Dynamic Bands – Technical Strength Index
The TSI with Dynamic Bands is a multi-factor indicator designed to measure the statistical strength and structure of a trend. It combines several quantitative metrics into a single, normalized score between 0 and 1, allowing traders to assess the technical quality of market moves and detect overbought/oversold conditions with adaptive precision.
🧠 Core Components
This indicator draws from the StatMetrics library, blending:
📈 Trend Persistence: via the Hurst exponent, indicating whether price action is mean-reverting or trending.
📉 Risk-Adjusted Volatility: via the inverted , rewarding smoother, less erratic price movement.
🚀 Momentum Strength: using a combination of directional momentum and Z-score–normalized returns.
These components are normalized and averaged into the TSI line.
🎯 Features
TSI Line: Composite score of trend quality (0 = weak/noise, 1 = strong/structured).
Dynamic Bands: Mean ± 1 standard deviation envelopes provide adaptive context.
Overbought/Oversold Detection: Based on a rolling quantile (e.g. 90th/10th percentile of TSI history).
Signal Strength Bar (optional): Measures how statistically extreme the current TSI value is, helping validate confidence in trade setups.
Dynamic Color Cues: Background and bar gradients help visually identify statistically significant zones.
📈 How to Use
Look for overbought (red background) or oversold (green background) conditions as potential reversal zones.
Confirm trend strength with the optional signal strength bar — stronger values suggest higher signal confidence.
Use the TSI line and context bands to filter out noisy ranges and focus on structured price moves.
⚙️ Inputs
Lookback Period: Controls the smoothing and window size for statistical calculations.
Overbought/Oversold Quantiles: Adjust the thresholds for signal zones.
Plot Signal Strength: Enable or disable the signal confidence bar.
Overlay Signal Strength: Show signal strength in the same panel (compact) or not (cleaner TSI-only view).
🛠 Example Use Cases
Mean reversion traders identifying reversal zones with statistical backing
Momentum/Trend traders confirming structure before entries
Quantitative dashboards or multi-asset screening tools
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instrument.
This AI is not a financial advisor; please consult your financial advisor for personalized advice.
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.
Multi Asset Comparative📊 Multi Asset Comparative – Compare Baskets of Cryptos Visually
This indicator allows you to compare the performance of two groups of cryptocurrencies (or any assets) over time, using a clean and intuitive chart.
Instead of looking at each asset separately, this tool gives you a global view by showing how one group performs relative to another — all displayed in the form of candlesticks.
🧠 What This Tool Is For
Markets constantly shift, and capital rotates between sectors or tokens. This script helps you visually track those shifts by answering a key question:
"Is this group of assets getting stronger or weaker compared to another group?"
For example:
Compare altcoins vs Bitcoin
Track the DeFi sector vs Ethereum
Analyze your custom portfolio vs the market
Spot moments when money flows from majors to smaller caps, or vice versa
🧩 How It Works (Simplified)
You select two groups of assets:
Group 1 (up to 20 assets) — the one you want to analyze
Group 2 (up to 5 assets) — your comparison baseline
The indicator then creates a single line of candles that represents the performance of Group 1 compared to Group 2. If the candles go up, it means Group 1 is gaining strength over Group 2. If the candles go down, it's losing ground.
This lets you see market dynamics in one glance, instead of switching charts or running calculations manually.
🚀 Why It's Unique
Unlike many indicators that just show data from one asset, this one provides a bird's-eye view of multiple assets at once — condensed into a simple visual ratio.
It’s:
Customizable (you choose the assets)
Visual and intuitive (no need to interpret tables or formulas)
Actionable (helps with trend confirmation, macro views, and market rotation)
Whether you're a swing trader, a macro analyst, or building your own strategy, this tool can help you spot opportunities hidden in plain sight.
✅ How to Use It
Choose your two groups of assets (e.g., altcoins vs BTC/ETH)
Watch the direction of the candles:
Uptrend = Group 1 gaining strength over Group 2
Downtrend = Group 1 weakening
Use it to confirm market shifts, anticipate rotations, or analyze sector strength
Approximate Entropy Zones [PhenLabs]Version: PineScript™ v6
Description
This indicator identifies periods of market complexity and randomness by calculating the Approximate Entropy (ApEn) of price action. As the movement of the market becomes complex, it means the current trend is losing steam and a reversal or consolidation is likely near. The indicator plots high-entropy periods as zones on your chart, providing a graphical suggestion to anticipate a potential market direction change. This indicator is designed to help traders identify favorable times to get in or out of a trade by highlighting when the market is in a state of disarray.
Points of Innovation
Advanced Complexity Analysis: Instead of relying on traditional momentum or trend indicators, this tool uses Approximate Entropy to quantify the unpredictability of price movements.
Dynamic Zone Creation: It automatically plots zones on the chart during periods of high entropy, providing a clear and intuitive visual guide.
Customizable Sensitivity: Users can fine-tune the ‘Entropy Threshold’ to adjust how frequently zones appear, allowing for calibration to different assets and timeframes.
Time-Based Zone Expiration: Zones can be set to expire after a specific time, keeping the chart clean and relevant.
Built-in Zone Size Filter: Excludes zones that form on excessively large candles, filtering out noise from extreme volatility events.
On-Chart Calibration Guide: A persistent note on the chart provides simple instructions for adjusting the entropy threshold, making it easy for users to optimize the indicator’s performance.
Core Components
Approximate Entropy (ApEn) Calculation: The core of the indicator, which measures the complexity or randomness of the price data.
Zone Plotting: Creates visual boxes on the chart when the calculated ApEn value exceeds a user-defined threshold.
Dynamic Zone Management: Manages the lifecycle of the zones, from creation to expiration, ensuring the chart remains uncluttered.
Customizable Settings: A comprehensive set of inputs that allow users to control the indicator’s sensitivity, appearance, and time-based behavior.
Key Features
Identifies Potential Reversals: The high-entropy zones can signal that a trend is nearing its end, giving traders an early warning.
Works on Any Timeframe: The indicator can be applied to any chart timeframe, from minutes to days.
Customizable Appearance: Users can change the color and transparency of the zones to match their chart’s theme.
Informative Labels: Each zone can display the calculated entropy value and the direction of the candle on which it formed.
Visualization
Entropy Zones: Shaded boxes that appear on the chart, highlighting candles with high complexity.
Zone Labels: Text within each zone that displays the ApEn value and a directional arrow (e.g., “0.525 ↑”).
Calibration Note: A small table in the top-right corner of the chart with instructions for adjusting the indicator’s sensitivity.
Usage Guidelines
Entropy Analysis
Source: The price data used for the ApEn calculation. (Default: close)
Lookback Length: The number of bars used in the ApEn calculation. (Default: 20, Range: 10-50)
Embedding Dimension (m): The length of patterns to be compared; a standard value for financial data. (Default: 2)
Tolerance Multiplier (r): Adjusts the tolerance for pattern matching; a larger value makes matching more lenient. (Default: 0.2)
Entropy Threshold: The ApEn value that must be exceeded to plot a zone. Increase this if too many zones appear; decrease it if too few appear. (Default: 0.525)
Time Settings
Analysis Timeframe: How long a zone remains on the chart after it forms. (Default: 1D)
Custom Period (Bars): The zone’s lifespan in bars if “Analysis Timeframe” is set to “Custom”. (Default: 1000)
Zone Settings
Zone Fill Color: The color of the entropy zones. (Default: #21f38a with 80% transparency)
Maximum Zone Size %: Filters out zones on candles that are larger than this percentage of their low price. (Default: 0.5)
Display Options
Show Entropy Label: Toggles the visibility of the text label inside each zone. (Default: true)
Label Text Position: The horizontal alignment of the text label. (Default: Right)
Show Calibration Note: Toggles the visibility of the calibration note in the corner of the chart. (Default: true)
Best Use Cases
Trend Reversal Trading: Identifying when a strong trend is likely to reverse or pause.
Breakout Confirmation: Using the absence of high entropy to confirm the strength of a breakout.
Ranging Market Identification: Periods of high entropy can indicate that a market is transitioning into a sideways or choppy phase.
Limitations
Not a Standalone Signal: This indicator should be used in conjunction with other forms of analysis to confirm trading signals.
Lagging Nature: Like all indicators based on historical data, ApEn is a lagging measure and does not predict future price movements with certainty.
Calibration Required: The effectiveness of the indicator is highly dependent on the “Entropy Threshold” setting, which needs to be adjusted for different assets and timeframes.
What Makes This Unique
Quantifies Complexity: It provides a numerical measure of market complexity, offering a different perspective than traditional indicators.
Clear Visual Cues: The zones make it easy to see when the market is in a state of high unpredictability.
User-Friendly Design: With features like the on-chart calibration note, the indicator is designed to be easy to use and optimize.
How It Works
Calculate Standard Deviation: The indicator first calculates the standard deviation of the source price data over a specified lookback period.
Calculate Phi: It then calculates a value called “phi” for two different pattern lengths (embedding dimensions ‘m’ and ‘m+1’). This involves comparing sequences of data points to see how many are “similar” within a certain tolerance (determined by the standard deviation and the ‘r’ multiplier).
Calculate ApEn: The Approximate Entropy is the difference between the two phi values. A higher ApEn value indicates greater irregularity and unpredictability in the data.
Plot Zones: If the calculated ApEn exceeds the user-defined ‘Entropy Threshold’, a zone is plotted on the chart.
Note: The “Entropy Threshold” is the most important setting to adjust. If you see too many zones, increase the threshold. If you see too few, decrease it.
SmartPhase Analyzer📝 SmartPhase Analyzer – Composite Market Regime Classifier
SmartPhase Analyzer is an adaptive regime classification tool that scores market conditions using a customizable set of statistical indicators. It blends multiple normalized metrics into a composite score, which is dynamically evaluated against rolling statistical thresholds to determine the current market regime.
✅ Features:
Composite score calculated from 13+ toggleable statistical indicators:
Sharpe, Sortino, Omega, Alpha, Beta, CV, R², Entropy, Drawdown, Z-Score, PLF, SRI, and Momentum Rank
Uses dynamic thresholds (mean ± std deviation) to classify regime states:
🟢 BULL – Strongly bullish
🟩 ACCUM – Mildly bullish
⚪ NEUTRAL – Sideways
🟧 DISTRIB – Mildly bearish
🔴 BEAR – Strongly bearish
Color-coded histogram for composite score clarity
Real-time regime label plotted on chart
Benchmark-aware metrics (Alpha, Beta, etc.)
Modular design using the StatMetrics library by RWCS_LTD
🧠 How to Use:
Enable/disable metrics in the settings panel to customize your composite model
Use the composite histogram and regime background for discretionary or systematic analysis
⚠️ Disclaimer:
This indicator is for educational and informational purposes only. It does not constitute financial advice or a trading recommendation. Always consult your financial advisor before making investment decisions.
StatMetricsLibrary "StatMetrics"
A utility library for common statistical indicators and ratios used in technical analysis.
Includes Z-Score, correlation, PLF, SRI, Sharpe, Sortino, Omega ratios, and normalization tools.
zscore(src, len)
Calculates the Z-score of a series
Parameters:
src (float) : The input price or series (e.g., close)
len (simple int) : The lookback period for mean and standard deviation
Returns: Z-score: number of standard deviations the input is from the mean
corr(x, y, len)
Computes Pearson correlation coefficient between two series
Parameters:
x (float) : First series
y (float) : Second series
len (simple int) : Lookback period
Returns: Correlation coefficient between -1 and 1
plf(src, longLen, shortLen, smoothLen)
Calculates the Price Lag Factor (PLF) as the difference between long and short Z-scores, normalized and smoothed
Parameters:
src (float) : Source series (e.g., close)
longLen (simple int) : Long Z-score period
shortLen (simple int) : Short Z-score period
smoothLen (simple int) : Hull MA smoothing length
Returns: Smoothed and normalized PLF oscillator
sri(signal, len)
Computes the Statistical Reliability Index (SRI) based on trend persistence
Parameters:
signal (float) : A price or signal series (e.g., smoothed PLF)
len (simple int) : Lookback period for smoothing and deviation
Returns: Normalized trend reliability score
sharpe(src, len)
Calculates the Sharpe Ratio over a period
Parameters:
src (float) : Price series (e.g., close)
len (simple int) : Lookback period
Returns: Sharpe ratio value
sortino(src, len)
Calculates the Sortino Ratio over a period, using only downside volatility
Parameters:
src (float) : Price series
len (simple int) : Lookback period
Returns: Sortino ratio value
omega(src, len)
Calculates the Omega Ratio as the ratio of upside to downside return area
Parameters:
src (float) : Price series
len (simple int) : Lookback period
Returns: Omega ratio value
beta(asset, benchmark, len)
Calculates beta coefficient of asset vs benchmark using rolling covariance
Parameters:
asset (float) : Series of the asset (e.g., close)
benchmark (float) : Series of the benchmark (e.g., SPX close)
len (simple int) : Lookback window
Returns: Beta value (slope of linear regression)
alpha(asset, benchmark, len)
Calculates rolling alpha of an asset relative to a benchmark
Parameters:
asset (float) : Series of the asset (e.g., close)
benchmark (float) : Series of the benchmark (e.g., SPX close)
len (simple int) : Lookback window
Returns: Alpha value (excess return not explained by Beta exposure)
skew(x, len)
Computes skewness of a return series
Parameters:
x (float) : Input series (e.g., returns)
len (simple int) : Lookback period
Returns: Skewness value
kurtosis(x, len)
Computes kurtosis of a return series
Parameters:
x (float) : Input series (e.g., returns)
len (simple int) : Lookback period
Returns: Kurtosis value
cv(x, len)
Calculates Coefficient of Variation
Parameters:
x (float) : Input series (e.g., returns or prices)
len (simple int) : Lookback period
Returns: CV value
autocorr(x, len)
Calculates autocorrelation with 1-lag
Parameters:
x (float) : Series to test
len (simple int) : Lookback window
Returns: Autocorrelation at lag 1
stderr(x, len)
Calculates rolling standard error of a series
Parameters:
x (float) : Input series
len (simple int) : Lookback window
Returns: Standard error (std dev / sqrt(n))
info_ratio(asset, benchmark, len)
Calculates the Information Ratio
Parameters:
asset (float) : Asset price series
benchmark (float) : Benchmark price series
len (simple int) : Lookback period
Returns: Information ratio (alpha / tracking error)
tracking_error(asset, benchmark, len)
Measures deviation from benchmark (Tracking Error)
Parameters:
asset (float) : Asset return series
benchmark (float) : Benchmark return series
len (simple int) : Lookback window
Returns: Tracking error value
max_drawdown(x, len)
Computes maximum drawdown over a rolling window
Parameters:
x (float) : Price series
len (simple int) : Lookback window
Returns: Rolling max drawdown percentage (as a negative value)
zscore_signal(z, ob, os)
Converts Z-score into a 3-level signal
Parameters:
z (float) : Z-score series
ob (float) : Overbought threshold
os (float) : Oversold threshold
Returns: -1, 0, or 1 depending on signal state
r_squared(x, y, len)
Calculates rolling R-squared (coefficient of determination)
Parameters:
x (float) : Asset returns
y (float) : Benchmark returns
len (simple int) : Lookback window
Returns: R-squared value (0 to 1)
entropy(x, len)
Approximates Shannon entropy using log returns
Parameters:
x (float) : Price series
len (simple int) : Lookback period
Returns: Approximate entropy
zreversal(z)
Detects Z-score reversals to the mean
Parameters:
z (float) : Z-score series
Returns: +1 on upward reversal, -1 on downward
momentum_rank(x, len)
Calculates relative momentum strength
Parameters:
x (float) : Price series
len (simple int) : Lookback window
Returns: Proportion of lookback where current price is higher
normalize(x, len)
Normalizes a series to a 0–1 range over a period
Parameters:
x (float) : The input series
len (simple int) : Lookback period
Returns: Normalized value between 0 and 1
composite_score(score1, score2, score3)
Combines multiple normalized scores into a composite score
Parameters:
score1 (float)
score2 (float)
score3 (float)
Returns: Average composite score