Iridescent Liquidity Prism [JOAT]Iridescent Liquidity Prism | Peer Momentum HUD
A multi-layered order-flow indicator that combines microstructure analysis, smart-money footprint detection, and intermarket momentum signals. The script uses dynamic color-shifting themes to visualize liquidity patterns, structure, and peer momentum data directly on the chart.
There is so much to choose from inside the settings, if you think it's a mess on the chart it's because you have to personally customize it based on your needs...
Core Functionality
The indicator calculates and displays several analytical layers simultaneously:
Order-Flow Imbalance (OFI): Calculates buy vs. sell volume pressure using volume-weighted price distribution within each bar. Uses an EMA filter (default: 55 periods) to smooth the signal. Values are normalized using standard deviation to identify significant imbalances.
Smart Money Footprints: Detects accumulation and distribution zones by comparing volume rate of change (ROC) against price ROC. When volume ROC exceeds a threshold (default: 65%) and price ROC is positive, accumulation is detected. When volume ROC is high but price ROC is negative, distribution is detected.
Fractal Structure Mapping: Identifies pivot highs and lows using a fractal detection algorithm (default: 5-bar period). Maintains a rolling window of recent structure points (default: 4 levels) and draws connecting lines to show trend structure.
Fair Value Gap (FVG) Detection: Automatically detects price gaps where three consecutive candles create an imbalance. Bullish FVGs occur when the current low exceeds the high two bars ago. Bearish FVGs occur when the current high is below the low two bars ago. Gaps persist for a configurable duration (default: 320 bars) and fade when price fills the gap.
Liquidity Void Detection: Identifies candles where the high-low range exceeds an ATR threshold (default: 1.7x ATR) while volume is below average (default: 65% of 20-bar average). These conditions suggest areas where liquidity may be thin.
Price/Volume Divergence: Uses linear regression to detect when price trend direction disagrees with volume trend direction. A divergence alert appears when price is trending up while volume is trending down, or vice versa.
Peer Momentum Heatmap (PMH): Calculates composite momentum scores for up to 6 symbols across 4 timeframes. Each score combines RSI (default: 14 periods) and StochRSI (default: 14 periods, 3-bar smooth) to create a momentum composite between -1 and +1. The highest absolute momentum score across all combinations is displayed in the HUD.
Custom settings using Fractal Pivots, Skeleton Structure, Pulse Liquidity Voids, Bottom Colorful HeatMaps, and Iridescent Field.
---
Visual Components
Spectrum Aura Glow: ATR-weighted bands (default: 0.25x ATR) that expand and contract around price action, indicating volatility conditions. The thickness adapts to market volatility.
Chromatic Flow Trail: A blended line combining EMA and WMA of price (default: 8-period EMA blended with WMA at 65% ratio). The trail uses gradient colors that shift based on a phase oscillator, creating an iridescent effect.
Volume Heat Projection: Creates horizontal volume profile bands at price levels (default: 14 levels). Scans recent bars (default: 150 bars) to calculate volume concentration. Each level is colored based on its volume density relative to the maximum volume level.
Structure Skeleton: Dashed lines connecting fractal pivot points. Uses two layers: a primary line (2-3px width) and an optional glow overlay (4-5px width) for enhanced visibility.
Fractal Markers: Diamond shapes placed at pivot high and low points. Color-coded: primary color for highs, secondary color for lows.
Iridescent Color Themes: Five color themes available: Iridescent (default), Pearlescent, Prismatic, ColorShift, and Metallic. Colors shift dynamically using a phase oscillator that cycles through the color spectrum based on bar index and a speed multiplier (default: 0.35).
---
HUD Console Metrics
The right-side HUD displays seven key metrics:
Flow: Shows OFI status: ▲ FLOW BUY when normalized OFI exceeds imbalance threshold (default: 2.2), ▼ FLOW SELL when below -2.2, or ◆ FLOW BAL when balanced.
Struct: Structure trend bias: ▲ STRUCT BULL when microtrend > 2, ▼ STRUCT BEAR when < -2, or ◆ STRUCT RANGE when neutral.
Smart$: Institutional activity: ◈ ACCUM when smart money index = 1, ◈ DISTRIB when = -1, or ○ IDLE when inactive.
Liquid: Liquidity state: ⚡ VOID when a liquidity void is detected, or ● NORMAL otherwise.
Diverg: Divergence status: ⚠ ALERT when price/volume divergence detected, or ✓ CLEAR when aligned.
PMH: Peer Momentum Heatmap status: Shows dominant timeframe and momentum score. Displays 🪩 for bull surge (above 0.55 threshold) or 🧨 for bear surge (below -0.55).
FVG: Fair Value Gap status: Shows active gap count or CLEAR when no gaps exist. Displays GAP LONG when bullish gap detected, GAP SHORT when bearish gap detected.
Pearlscent Color with Volume Heatmap.
Parameters and Settings
Microstructure Engine:
Analysis Depth: 20-250 bars (default: 55) - Controls OFI smoothing period
Liquidity Threshold ATR: 1.0-4.0 (default: 1.7) - Multiplier for void detection
Imbalance Ratio: 1.5-6.0 (default: 2.2) - Standard deviations for OFI significance
Smart Money Layer:
Smart Money Window: 10-150 bars (default: 24) - Period for ROC calculations
Accumulation Threshold: 40-95% (default: 65%) - Volume ROC threshold
Structural Mapping:
Fractal Pivot Period: 3-15 bars (default: 5) - Period for pivot detection
Structure Memory: 2-8 levels (default: 4) - Number of structure points to track
Volume Heat Projection:
Heat Map Lookback: 60-400 bars (default: 150) - Bars to analyze for volume profile
Heat Map Levels: 5-30 levels (default: 14) - Number of price level bands
Heat Map Opacity: 40-100% (default: 92%) - Transparency of heat map boxes
Heat Map Width Limit: 6-80 bars (default: 26) - Maximum width of heat map boxes
Heat Map Visibility Threshold: 0.0-0.5 (default: 0.08) - Minimum density to display
Iridescent Enhancements:
Visual Theme: Iridescent, Pearlescent, Prismatic, ColorShift, or Metallic
Color Shift Speed: 0.05-1.00 (default: 0.35) - Speed of color phase oscillation
Aura Thickness (ATR): 0.05-1.0 (default: 0.25) - Multiplier for aura band width
Chromatic Trail Length: 2-50 bars (default: 8) - Period for trail calculation
Trail Blend Ratio: 0.1-0.95 (default: 0.65) - EMA/WMA blend percentage
FVG Persistence: 50-600 bars (default: 320) - Bars to keep FVG boxes active
Max Active FVG Boxes: 10-200 (default: 40) - Maximum boxes on chart
FVG Base Opacity: 20-95% (default: 80%) - Transparency of FVG boxes
Peer Momentum Heatmap:
Peer Symbols: Comma-separated list of up to 6 symbols (e.g., "BTCUSD,ETHUSD")
Peer Timeframes: Comma-separated list of up to 4 timeframes (default: "60,240,D")
PMH RSI Length: 5-50 periods (default: 14)
PMH StochRSI Length: 5-50 periods (default: 14)
PMH StochRSI Smooth: 1-10 periods (default: 3)
Super Momentum Threshold: 0.2-0.95 (default: 0.55) - Threshold for surge detection
Clarity & Readability:
Liquidity Void Opacity: 5-90% (default: 30%)
Smart Money Footprint Opacity: 5-90% (default: 35%)
HUD Background Opacity: 40-95% (default: 70%)
Iridescent Field:
Field Opacity: 20-100% (default: 86%) - Background color intensity
Field Smooth Length: 10-200 bars (default: 34) - Smoothing for background gradient
---
Alerts
The indicator provides seven alert conditions:
Liquidity Void Detected - Triggers when void conditions are met
Strong Order Flow - Triggers when normalized OFI exceeds imbalance ratio
Smart Money Activity - Triggers when accumulation or distribution detected
Price/Volume Divergence - Triggers when divergence conditions occur
Structure Shift - Triggers when structure polarity changes significantly
PMH Bull Surge - Triggers when PMH exceeds positive threshold (if enabled)
PMH Bear Surge - Triggers when PMH exceeds negative threshold (if enabled)
Bull/Bear Prismatic FVG - Triggers when new FVG is detected (if FVG display enabled)
---
Usage Considerations
Performance may vary on lower timeframes due to the volume heat map calculations scanning multiple bars. Consider reducing heat map lookback or levels if experiencing slowdowns.
The PMH feature requires data requests to other symbols/timeframes, which may impact performance. Limit the number of peer symbols and timeframes for optimal performance.
FVG boxes automatically expire after the persistence period to prevent chart clutter. The maximum box limit (default: 40) prevents excessive memory usage.
Color themes affect all visual elements. Choose a theme that provides good contrast with your chart background.
The indicator is designed for overlay display. All visual elements are positioned relative to price action.
Structure lines are drawn dynamically as new pivots form. On fast-moving markets, structure may update frequently.
Volume calculations assume typical volume data availability. Symbols without volume may show incomplete data for volume-dependent features.
---
Technical Notes
Built on Pine Script v6 with dynamic request capability for PMH functionality.
Uses exponential moving averages (EMA) and weighted moving averages (WMA) for trail calculations to balance responsiveness and smoothness.
Volume profile calculation uses price level buckets. Higher levels provide finer granularity but require more computation.
Iridescent color engine uses a phase oscillator with sine wave calculations for smooth color transitions.
Box management includes automatic cleanup of expired boxes to maintain performance.
All visual elements use color gradients and transparency for smooth blending with price action.
---
Customization Examples
Intraday Scalping Setup:
Analysis Depth: 30 bars
Heat Map Lookback: 100 bars
FVG Persistence: 150 bars
PMH Window: 15 bars
Fast color shift speed: 0.5+
Macro Structure Tracking:
Analysis Depth: 100+ bars
Heat Map Lookback: 300+ bars
FVG Persistence: 500+ bars
Structure Memory: 6-8 levels
Slower color shift speed: 0.2
---
Limitations
Volume heat map calculations may be computationally intensive on lower timeframes with high lookback values.
PMH requires valid symbol names and accessible timeframes. Invalid symbols or timeframes will return no data.
FVG detection requires at least 3 bars of history. Early bars may not show FVG boxes.
Structure lines connect points but do not predict future structure. They reflect historical pivot relationships.
Color themes are aesthetic choices and do not affect calculation logic.
The indicator does not provide trading signals. All visual elements are analytical tools that require interpretation in context of market conditions.
Open Source
This indicator is open source and available for modification and distribution. The code is published with Pine Script v6 compliance. Users are free to customize parameters, modify calculations, and adapt the visual elements to their trading needs.
For questions, suggestions, or anything please talk to me in private messages or comments below!
Would love to help!
- officialjackofalltrades
Tìm kiếm tập lệnh với "roc"
Uptrick: Momentum-Volatility Composite Signal### Title: Uptrick: Momentum-Volatility Composite Signal
### Overview
The "Uptrick: Momentum-Volatility Composite Signal" is an innovative trading tool designed to offer traders a sophisticated synthesis of momentum, volatility, volume flow, and trend detection into a single comprehensive indicator. This tool stands out by providing an integrated view of market dynamics, which is critical for identifying potential trading opportunities with greater precision and confidence. Its unique approach differentiates it from traditional indicators available on the TradingView platform, making it a valuable asset for traders aiming to enhance their market analysis.
### Unique Features
This indicator integrates multiple crucial elements of market behavior:
- Momentum Analysis : Utilizes Rate of Change (ROC) metrics to assess the speed and strength of market movements.
- Volatility Tracking : Incorporates Average True Range (ATR) metrics to measure market volatility, aiding in risk assessment.
- Volume Flow Analysis : Analyzes shifts in volume to detect buying or selling pressure, adding depth to market understanding.
- Trend Detection : Uses the difference between short-term and long-term Exponential Moving Averages (EMA) to detect market trends, providing insights into potential reversals or confirmations.
Customization and Inputs
The Uptrick indicator offers a variety of user-defined settings tailored to fit different trading styles and strategies, enhancing its adaptability across various market conditions:
Rate of Change Length (rocLength) : This setting defines the period over which momentum is calculated. Shorter periods may be preferred by day traders who need to respond quickly to market changes, while longer periods could be better suited for position traders looking at more extended trends.
ATR Length (atrLength) : Adjusts the timeframe for assessing volatility. A shorter ATR length can help day traders manage the quick shifts in market volatility, whereas longer lengths might be more applicable for swing or position traders who deal with longer-term market movements.
Volume Flow Length (volumeFlowLength): Determines the analysis period for volume flow to identify buying or selling pressure. Day traders might opt for shorter periods to catch rapid volume changes, while longer periods could serve swing traders to understand the accumulation or distribution phases better.
Short EMA Length (shortEmaLength): Specifies the period for the short-term EMA, crucial for trend detection. Shorter lengths can aid day traders in spotting immediate trend shifts, whereas longer lengths might help swing traders in identifying more sustainable trend changes.
Long EMA Length (longEmaLength): Sets the period for the long-term EMA, which is useful for observing longer-term market trends. This setting is particularly valuable for position traders who need to align with the broader market direction.
Composite Signal Moving Average Length (maLength): This parameter sets the smoothing period for the composite signal's moving average, helping to reduce noise in the signal output. A shorter moving average length can be beneficial for day traders reacting to market conditions swiftly, while a longer length might help swing and position traders in smoothing out less significant fluctuations to focus on significant trends.
These customization options ensure that traders can fine-tune the Uptrick indicator to their specific trading needs, whether they are scanning for quick opportunities or analyzing more prolonged market trends.
### Functionality Details
The indicator operates through a sophisticated algorithm that integrates multiple market dimensions:
1. Momentum and Volatility Calculation : Combines ROC and ATR to gauge the market’s momentum and stability.
2. Volume and Trend Analysis : Integrates volume data with EMAs to provide a comprehensive view of current market trends and potential shifts.
3. Signal Composite : Each component is normalized and combined into a composite signal, offering traders a nuanced perspective on when to enter or exit trades.
The indicator performs its calculations as follows:
Momentum and Volatility Calculation:
roc = ta.roc(close, rocLength)
atr = ta.atr(atrLength)
Volume and Trend Analysis:
volumeFlow = ta.cum(volume) - ta.ema(ta.cum(volume), volumeFlowLength)
emaShort = ta.ema(close, shortEmaLength)
emaLong = ta.ema(close, longEmaLength)
emaDifference = emaShort - emaLong
Composite Signal Calculation:
Normalizes each component (ROC, ATR, volume flow, EMA difference) and combines them into a composite signal:
rocNorm = (roc - ta.sma(roc, rocLength)) / ta.stdev(roc, rocLength)
atrNorm = (atr - ta.sma(atr, atrLength)) / ta.stdev(atr, atrLength)
volumeFlowNorm = (volumeFlow - ta.sma(volumeFlow, volumeFlowLength)) / ta.stdev(volumeFlow, volumeFlowLength)
emaDiffNorm = (emaDifference - ta.sma(emaDifference, longEmaLength)) / ta.stdev(emaDifference, longEmaLength)
compositeSignal = (rocNorm + atrNorm + volumeFlowNorm + emaDiffNorm) / 4
### Originality
The originality of the Uptrick indicator lies in its ability to merge diverse market metrics into a unified signal. This multi-faceted approach goes beyond traditional indicators by offering a deeper, more holistic analysis of market conditions, providing traders with insights that are not only based on price movements but also on underlying market dynamics.
### Practical Application
The Uptrick indicator excels in environments where understanding the interplay between volume, momentum, and volatility is crucial. It is especially useful for:
- Day Traders : Can leverage real-time data to make quick decisions based on sudden market changes.
- Swing Traders : Benefit from understanding medium-term trends to optimize entry and exit points.
- Position Traders : Utilize long-term market trend data to align with overall market movements.
### Best Practices
To maximize the effectiveness of the Uptrick indicator, consider the following:
- Combine with Other Indicators : Use alongside other technical tools like RSI or MACD for additional validation.
- Adapt Settings to Market Conditions : Adjust the indicator settings based on the asset and market volatility to improve signal accuracy.
- Risk Management : Implement robust risk management strategies, including setting stop-loss orders based on the volatility measured by the ATR.
### Practical Examples and Demonstrations
- Example for Day Trading : In a volatile market, a trader notices a sharp increase in the momentum score coinciding with a surge in volume but stable volatility, signaling a potential bullish breakout.
- Example for Swing Trading : On a 4-hour chart, the indicator shows a gradual alignment of decreasing volatility and increasing buying volume, suggesting a strengthening upward trend suitable for a long position.
### Alerts and Their Uses
- Alert Configurations : Set alerts for when the composite score crosses predefined thresholds to capture potential buy or sell events.
- Strategic Application : Use alerts to stay informed of significant market moves without the need to continuously monitor the markets, enabling timely and informed trading decisions.
Technical Notes
Efficiency and Compatibility: The indicator is designed for efficiency, running smoothly across different trading platforms including TradingView, and can be easily integrated with existing trading setups. It leverages advanced mathematical models for normalizing and smoothing data, ensuring consistent and reliable signal quality across different market conditions.
Limitations : The effectiveness of the Uptrick indicator can vary significantly across different market conditions and asset classes. It is designed to perform best in liquid markets where data on volume, volatility, and price trends are readily available and reliable. Traders should be aware that in low-liquidity or highly volatile markets, the signals might be less reliable and require additional confirmation.
Usage Recommendations : While the Uptrick indicator is a powerful tool, it is recommended to use it in conjunction with other analysis methods to confirm signals. Traders should also continuously monitor the performance and adjust settings as needed to align with their specific trading strategies and market conditions.
### Conclusion
The "Uptrick: Momentum-Volatility Composite Signal" is a revolutionary tool that offers traders an advanced methodology for analyzing market dynamics. By combining momentum, volatility, volume, and trend detection into a single, cohesive indicator, it provides a powerful, actionable insight into market movements, making it an indispensable tool for traders aiming to optimize their trading strategies.
TASC 2024.09 Precision Trend Analysis█ OVERVIEW
This script introduces an approach for detecting and confirming trends in price series based on digital signal processing principles, as presented by John Ehlers in the "Precision Trend Analysis" article from the September 2024 edition of TASC's Traders' Tips .
█ CONCEPTS
Traditional trend-following indicators, such as moving averages , are lowpass filters that pass low-frequency components in a series and remove high-frequency components. Because lowpass filters preserve lengthy cycles in the data while attenuating shorter cycles, such filters have unavoidable lag that impacts the timeliness of trading signals.
In his article, John Ehlers presents an alternative approach that combines two highpass filters with different lengths to remove undesired high-frequency content via cancellation . Highpass filters have nearly zero lag. As such, the resulting trend indicator from this approach is very responsive to changes in the price series, with peaks and valleys that closely align with those of the price data. The indicator signifies an uptrend when its value is positive (i.e., above the balance point) and a downtrend when it is negative.
Subsequently, John Ehlers demonstrates that one can use the trend indicator's rate of change (ROC) to determine the onset of new trend movements. The ROC is zero at peaks and valleys in the trend indicator. Therefore, when the ROC crosses above zero, it signifies the onset or continuation of an uptrend. Likewise, the ROC crossing below zero indicates the onset or continuation of a downtrend. Note, however, that because the ROC does not preserve lower-frequency information, it can produce whipsaw trading signals in sideways or continuously trending price series.
This script implements both the trend indicator and its ROC along with the following on-chart signals:
• Green and red arrows that indicate the possible onset or continuation of an uptrend and downtrend, respectively
• Bar and plot colors that signify the sign (direction) of the trend indicator
█ CALCULATIONS
The math behind the trend indicator comes from digital filter design principles. The first step applies a digital highpass filter that attenuates long cycles with periods above the user-specified critical period. The default value is 250 bars, representing roughly one year for instruments such as stocks on the daily timeframe. The next step applies a highpass filter with a shorter period (40 bars by default). The difference between these filters determines the trend indicator, which preserves cyclic components between 40 and 250 bars by default while attenuating and eliminating others. The ROC represents the scaled one-bar difference in the trend indicator.
US Futures Momentum OverviewThe "US Futures Momentum Overview" indicator is designed to provide a comprehensive view of momentum across various U.S. futures markets. It calculates the Rate of Change (ROC) for multiple futures contracts and displays them as lines on a chart. Each futures market is plotted with a unique color for easy differentiation, allowing traders to quickly assess the momentum in different markets.
Features:
ROC Calculation: Measures the percentage change in price over a specified period, indicating the rate of change in momentum.
Futures Markets Covered: Includes major U.S. indices, commodities, and agricultural products.
How to Use:
Momentum Analysis: Observe the ROC lines for each futures market. A positive ROC indicates increasing momentum, while a negative ROC suggests decreasing momentum.
Trend Identification: Use the ROC values to identify strong trends in different markets. Markets with higher positive ROC values show stronger upward momentum.
Comparison: Compare momentum across various futures markets to identify which ones are showing stronger trends and might offer better trading opportunities.
MomentumIndicatorsLibrary "MomentumIndicators"
This is a library of 'Momentum Indicators', also denominated as oscillators.
The purpose of this library is to organize momentum indicators in just one place, making it easy to access.
In addition, it aims to allow customized versions, not being restricted to just the price value.
An example of this use case is the popular Stochastic RSI.
# Indicators:
1. Relative Strength Index (RSI):
Measures the relative strength of recent price gains to recent price losses of an asset.
2. Rate of Change (ROC):
Measures the percentage change in price of an asset over a specified time period.
3. Stochastic Oscillator (Stoch):
Compares the current price of an asset to its price range over a specified time period.
4. True Strength Index (TSI):
Measures the price change, calculating the ratio of the price change (positive or negative) in relation to the
absolute price change.
The values of both are smoothed twice to reduce noise, and the final result is normalized
in a range between 100 and -100.
5. Stochastic Momentum Index (SMI):
Combination of the True Strength Index with a signal line to help identify turning points in the market.
6. Williams Percent Range (Williams %R):
Compares the current price of an asset to its highest high and lowest low over a specified time period.
7. Commodity Channel Index (CCI):
Measures the relationship between an asset's current price and its moving average.
8. Ultimate Oscillator (UO):
Combines three different time periods to help identify possible reversal points.
9. Moving Average Convergence/Divergence (MACD):
Shows the difference between short-term and long-term exponential moving averages.
10. Fisher Transform (FT):
Normalize prices into a Gaussian normal distribution.
11. Inverse Fisher Transform (IFT):
Transform the values of the Fisher Transform into a smaller and more easily interpretable scale is through the
application of an inverse transformation to the hyperbolic tangent function.
This transformation takes the values of the FT, which range from -infinity to +infinity, to a scale limited
between -1 and +1, allowing them to be more easily visualized and compared.
12. Premier Stochastic Oscillator (PSO):
Normalizes the standard stochastic oscillator by applying a five-period double exponential smoothing average of
the %K value, resulting in a symmetric scale of 1 to -1
# Indicators of indicators:
## Stochastic:
1. Stochastic of RSI (Relative Strengh Index)
2. Stochastic of ROC (Rate of Change)
3. Stochastic of UO (Ultimate Oscillator)
4. Stochastic of TSI (True Strengh Index)
5. Stochastic of Williams R%
6. Stochastic of CCI (Commodity Channel Index).
7. Stochastic of MACD (Moving Average Convergence/Divergence)
8. Stochastic of FT (Fisher Transform)
9. Stochastic of Volume
10. Stochastic of MFI (Money Flow Index)
11. Stochastic of On OBV (Balance Volume)
12. Stochastic of PVI (Positive Volume Index)
13. Stochastic of NVI (Negative Volume Index)
14. Stochastic of PVT (Price-Volume Trend)
15. Stochastic of VO (Volume Oscillator)
16. Stochastic of VROC (Volume Rate of Change)
## Inverse Fisher Transform:
1.Inverse Fisher Transform on RSI (Relative Strengh Index)
2.Inverse Fisher Transform on ROC (Rate of Change)
3.Inverse Fisher Transform on UO (Ultimate Oscillator)
4.Inverse Fisher Transform on Stochastic
5.Inverse Fisher Transform on TSI (True Strength Index)
6.Inverse Fisher Transform on CCI (Commodity Channel Index)
7.Inverse Fisher Transform on Fisher Transform (FT)
8.Inverse Fisher Transform on MACD (Moving Average Convergence/Divergence)
9.Inverse Fisher Transfor on Williams R% (Williams Percent Range)
10.Inverse Fisher Transfor on CMF (Chaikin Money Flow)
11.Inverse Fisher Transform on VO (Volume Oscillator)
12.Inverse Fisher Transform on VROC (Volume Rate of Change)
## Stochastic Momentum Index:
1.Stochastic Momentum Index of RSI (Relative Strength Index)
2.Stochastic Momentum Index of ROC (Rate of Change)
3.Stochastic Momentum Index of VROC (Volume Rate of Change)
4.Stochastic Momentum Index of Williams R% (Williams Percent Range)
5.Stochastic Momentum Index of FT (Fisher Transform)
6.Stochastic Momentum Index of CCI (Commodity Channel Index)
7.Stochastic Momentum Index of UO (Ultimate Oscillator)
8.Stochastic Momentum Index of MACD (Moving Average Convergence/Divergence)
9.Stochastic Momentum Index of Volume
10.Stochastic Momentum Index of MFI (Money Flow Index)
11.Stochastic Momentum Index of CMF (Chaikin Money Flow)
12.Stochastic Momentum Index of On Balance Volume (OBV)
13.Stochastic Momentum Index of Price-Volume Trend (PVT)
14.Stochastic Momentum Index of Volume Oscillator (VO)
15.Stochastic Momentum Index of Positive Volume Index (PVI)
16.Stochastic Momentum Index of Negative Volume Index (NVI)
## Relative Strength Index:
1. RSI for Volume
2. RSI for Moving Average
rsi(source, length)
RSI (Relative Strengh Index). Measures the relative strength of recent price gains to recent price losses of an asset.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of RSI
roc(source, length)
ROC (Rate of Change). Measures the percentage change in price of an asset over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of ROC
stoch(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Stochastic Oscillator. Compares the current price of an asset to its price range over a specified time period.
Parameters:
kLength
kSmoothing : (int) Period for smoothig stochastic
dSmoothing : (int) Period for signal (moving average of stochastic)
maTypeK : (int) Type of Moving Average for Stochastic Oscillator
maTypeD : (int) Type of Moving Average for Stochastic Oscillator Signal
almaOffsetKD : (float) Offset for Arnaud Legoux Moving Average for Oscillator and Signal
almaSigmaKD : (float) Sigma for Arnaud Legoux Moving Average for Oscillator and Signal
lsmaOffSetKD : (int) Offset for Least Squares Moving Average for Oscillator and Signal
Returns: A tuple of Stochastic Oscillator and Moving Average of Stochastic Oscillator
stoch(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Stochastic Oscillator. Customized source. Compares the current price of an asset to its price range over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
kLength : (int) Period of loopback to calculate the stochastic
kSmoothing : (int) Period for smoothig stochastic
dSmoothing : (int) Period for signal (moving average of stochastic)
maTypeK : (int) Type of Moving Average for Stochastic Oscillator
maTypeD : (int) Type of Moving Average for Stochastic Oscillator Signal
almaOffsetKD : (float) Offset for Arnaud Legoux Moving Average for Stoch and Signal
almaSigmaKD : (float) Sigma for Arnaud Legoux Moving Average for Stoch and Signal
lsmaOffSetKD : (int) Offset for Least Squares Moving Average for Stoch and Signal
Returns: A tuple of Stochastic Oscillator and Moving Average of Stochastic Oscillator
tsi(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet)
TSI (True Strengh Index). Measures the price change, calculating the ratio of the price change (positive or negative) in relation to the absolute price change.
The values of both are smoothed twice to reduce noise, and the final result is normalized in a range between 100 and -100.
Parameters:
source : (float) Source of series (close, high, low, etc.)
shortLength : (int) Short length
longLength : (int) Long length
maType : (int) Type of Moving Average for TSI
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: (float) TSI
smi(sourceTSI, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
SMI (Stochastic Momentum Index). A TSI (True Strengh Index) plus a signal line.
Parameters:
sourceTSI : (float) Source of series for TSI (close, high, low, etc.)
shortLengthTSI : (int) Short length for TSI
longLengthTSI : (int) Long length for TSI
maTypeTSI : (int) Type of Moving Average for Signal of TSI
almaOffsetTSI : (float) Offset for Arnaud Legoux Moving Average
almaSigmaTSI : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSetTSI : (int) Offset for Least Squares Moving Average
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
Returns: A tuple with TSI, signal of TSI and histogram of difference
wpr(source, length)
Williams R% (Williams Percent Range). Compares the current price of an asset to its highest high and lowest low over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of Williams R%
cci(source, length, maType, almaOffset, almaSigma, lsmaOffSet)
CCI (Commodity Channel Index). Measures the relationship between an asset's current price and its moving average.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
maType : (int) Type of Moving Average
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: (float) Series of CCI
ultimateOscillator(fastLength, middleLength, slowLength)
UO (Ultimate Oscilator). Combines three different time periods to help identify possible reversal points.
Parameters:
fastLength : (int) Fast period of loopback
middleLength : (int) Middle period of loopback
slowLength : (int) Slow period of loopback
Returns: (float) Series of Ultimate Oscilator
ultimateOscillator(source, fastLength, middleLength, slowLength)
UO (Ultimate Oscilator). Customized source. Combines three different time periods to help identify possible reversal points.
Parameters:
source : (float) Source of series (close, high, low, etc.)
fastLength : (int) Fast period of loopback
middleLength : (int) Middle period of loopback
slowLength : (int) Slow period of loopback
Returns: (float) Series of Ultimate Oscilator
macd(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet)
MACD (Moving Average Convergence/Divergence). Shows the difference between short-term and long-term exponential moving averages.
Parameters:
source : (float) Source of series (close, high, low, etc.)
fastLength : (int) Period for fast moving average
slowLength : (int) Period for slow moving average
signalLength : (int) Signal length
maTypeFast : (int) Type of fast moving average
maTypeSlow : (int) Type of slow moving average
maTypeMACD : (int) Type of MACD moving average
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: A tuple with MACD, Signal, and Histgram
fisher(length)
Fisher Transform. Normalize prices into a Gaussian normal distribution.
Parameters:
length
Returns: A tuple with Fisher Transform and signal
fisher(source, length)
Fisher Transform. Customized source. Normalize prices into a Gaussian normal distribution.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length
Returns: A tuple with Fisher Transform and signal
inverseFisher(source, length, subtrahend, denominator)
Inverse Fisher Transform.
Transform the values of the Fisher Transform into a smaller and more easily interpretable scale is
through the application of an inverse transformation to the hyperbolic tangent function.
This transformation takes the values of the FT, which range from -infinity to +infinity,
to a scale limited between -1 and +1, allowing them to be more easily visualized and compared.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period for loopback
subtrahend : (int) Denominator. Useful in unbounded indicators. For example, in CCI.
denominator
Returns: (float) Series of Inverse Fisher Transform
premierStoch(length, smoothlen)
Premier Stochastic Oscillator (PSO).
Normalizes the standard stochastic oscillator by applying a five-period double exponential smoothing
average of the %K value, resulting in a symmetric scale of 1 to -1.
Parameters:
length : (int) Period for loopback
smoothlen : (int) Period for smoothing
Returns: (float) Series of PSO
premierStoch(source, smoothlen, subtrahend, denominator)
Premier Stochastic Oscillator (PSO) of custom source.
Normalizes the source by applying a five-period double exponential smoothing average.
Parameters:
source : (float) Source of series (close, high, low, etc.)
smoothlen : (int) Period for smoothing
subtrahend : (int) Denominator. Useful in unbounded indicators. For example, in CCI.
denominator
Returns: (float) Series of PSO
stochRsi(sourceRSI, lengthRSI, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
sourceRSI
lengthRSI
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochRoc(sourceROC, lengthROC, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
sourceROC
lengthROC
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochUO(fastLength, middleLength, slowLength, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
fastLength
middleLength
slowLength
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochTSI(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
shortLength
longLength
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochWPR(source, length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochCCI(source, length, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochFT(length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVolume(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochMFI(source, length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochOBV(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochPVI(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochNVI(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochPVT(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVROC(length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
iftRSI(sourceRSI, lengthRSI, lengthIFT)
Parameters:
sourceRSI
lengthRSI
lengthIFT
iftROC(sourceROC, lengthROC, lengthIFT)
Parameters:
sourceROC
lengthROC
lengthIFT
iftUO(fastLength, middleLength, slowLength, lengthIFT)
Parameters:
fastLength
middleLength
slowLength
lengthIFT
iftStoch(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD, lengthIFT)
Parameters:
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
lengthIFT
iftTSI(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
shortLength
longLength
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftCCI(source, length, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
length
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftFisher(length, lengthIFT)
Parameters:
length
lengthIFT
iftMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftWPR(source, length, lengthIFT)
Parameters:
source
length
lengthIFT
iftMFI(source, length, lengthIFT)
Parameters:
source
length
lengthIFT
iftCMF(length, lengthIFT)
Parameters:
length
lengthIFT
iftVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftVROC(length, lengthIFT)
Parameters:
length
lengthIFT
smiRSI(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiROC(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVROC(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiWPR(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiFT(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiFT(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiCCI(source, length, maTypeCCI, almaOffsetCCI, almaSigmaCCI, lsmaOffSetCCI, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
maTypeCCI
almaOffsetCCI
almaSigmaCCI
lsmaOffSetCCI
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiUO(fastLength, middleLength, slowLength, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
fastLength
middleLength
slowLength
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVol(shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiMFI(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiCMF(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiOBV(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiPVT(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiPVI(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiNVI(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
rsiVolume(length)
Parameters:
length
rsiMA(sourceMA, lengthMA, maType, almaOffset, almaSigma, lsmaOffSet, lengthRSI)
Parameters:
sourceMA
lengthMA
maType
almaOffset
almaSigma
lsmaOffSet
lengthRSI
Big Trend Catcher: Quad-Gate & VCP & ATR trailing Swing TradeThe Strategy Philosophy
This is designed for Daily Charts to capture the large chunks if not all of a primary trend. It focuses on the "VCP" (Volatility Contraction Pattern), combined with high-grade momentum filtering.
1. How VCP (The Quiet Zone) is Calculated
The script identifies "Volatility Contraction" by measuring the Bollinger Band Width (BBW).
* The Math: It calculates the standard BBW: $(Upper Band - Lower Band) / Mid Band$.
* The "Quiet" Threshold: It compares the current width to its own 50-period Simple Moving Average.
* The Signal: When the current width is narrower than the 50-period average, the stock is in a "Quiet Zone" (represented by the blue background). This indicates energy is coiling for a potential breakout.
2. How Rate of Change (ROC) is Calculated
Unlike a standard ROC, this "Wizard" version uses a smoothed momentum filter to reduce whipsaws:
* Raw ROC: First, it calculates the raw percentage change over 15 bars: $100 x (Close / Close(15) - 1).
* Smoothing: This raw value is then smoothed using a 10-period EMA.
* The Gate: The ROC Gate only turns green when this smoothed value is greater or equal to 0, ensuring the stock has genuine upward velocity before you enter.
3. What the Indicators on the Chart Show
* Yellow Line (20 EMA): Your "Tactical Line." It tracks short-term momentum and acts as a trigger for Phoenix re-entries.
* Blue/Gray Line (100 EMA): Your "Regime Filter." It turns Blue when the trend slope is positive and Gray when negative.
* Thin Gray Outer Bands: These are Bollinger Bands set at 3 Standard Deviations from the 100 EMA. They mark extreme "Climax Zones" where price is statistically overextended.
* Stepped Red/Green Line (ATR Stop): The "Iron Floor." It uses a 20-period ATR with a 3.0 multiplier and an HHV (Highest High Value) lookback to ensure the stop only moves up, never down.
* Yellow Crosses (Gate Wait): These small icons appear above the bars when a signal has been detected but one or more "Wizard Gates" (such as the ROC or 100 EMA Slope) are not yet satisfied, signifying the strategy is waiting for full confirmation.
4. How to Trade This Strategy
* Step 1: The Setup: Look for the Blue Background on the daily chart, signifying a Volatility Contraction.
* Step 2: The Entry: An Initial Entry (Lime Triangle) fires when the price breaks out of the Quiet Zone with a volume spike. This volume must be greater than 1.3 times the 20-period Simple Moving Average of volume to confirm significant buying interest. An entry only occurs when all Quad-Gates (ROC, EMA Slope, Price > ATR) are satisfied.
* Step 3: Pyramiding: If the trend gains "Velocity" (price > 10% from entry), the script will signal a second unit to maximize gains during runaway moves.
* Step 4: The Exit: Sell the entire position if the price closes below the ATR Trailing Stop (Trend Death) or if the 100 EMA trend turns down.
5. The Phoenix Re-entry
If you are stopped out but the stock immediately recovers above the 20 EMA within 10 bars, a Phoenix Entry (Orange Triangle) will fire. This allows you to catch "Power Resumptions" where the initial shakeout was a bear trap.
Quantum Rotational Field MappingQuantum Rotational Field Mapping (QRFM):
Phase Coherence Detection Through Complex-Plane Oscillator Analysis
Quantum Rotational Field Mapping applies complex-plane mathematics and phase-space analysis to oscillator ensembles, identifying high-probability trend ignition points by measuring when multiple independent oscillators achieve phase coherence. Unlike traditional multi-oscillator approaches that simply stack indicators or use boolean AND/OR logic, this system converts each oscillator into a rotating phasor (vector) in the complex plane and calculates the Coherence Index (CI) —a mathematical measure of how tightly aligned the ensemble has become—then generates signals only when alignment, phase direction, and pairwise entanglement all converge.
The indicator combines three mathematical frameworks: phasor representation using analytic signal theory to extract phase and amplitude from each oscillator, coherence measurement using vector summation in the complex plane to quantify group alignment, and entanglement analysis that calculates pairwise phase agreement across all oscillator combinations. This creates a multi-dimensional confirmation system that distinguishes between random oscillator noise and genuine regime transitions.
What Makes This Original
Complex-Plane Phasor Framework
This indicator implements classical signal processing mathematics adapted for market oscillators. Each oscillator—whether RSI, MACD, Stochastic, CCI, Williams %R, MFI, ROC, or TSI—is first normalized to a common scale, then converted into a complex-plane representation using an in-phase (I) and quadrature (Q) component. The in-phase component is the oscillator value itself, while the quadrature component is calculated as the first difference (derivative proxy), creating a velocity-aware representation.
From these components, the system extracts:
Phase (φ) : Calculated as φ = atan2(Q, I), representing the oscillator's position in its cycle (mapped to -180° to +180°)
Amplitude (A) : Calculated as A = √(I² + Q²), representing the oscillator's strength or conviction
This mathematical approach is fundamentally different from simply reading oscillator values. A phasor captures both where an oscillator is in its cycle (phase angle) and how strongly it's expressing that position (amplitude). Two oscillators can have the same value but be in opposite phases of their cycles—traditional analysis would see them as identical, while QRFM sees them as 180° out of phase (contradictory).
Coherence Index Calculation
The core innovation is the Coherence Index (CI) , borrowed from physics and signal processing. When you have N oscillators, each with phase φₙ, you can represent each as a unit vector in the complex plane: e^(iφₙ) = cos(φₙ) + i·sin(φₙ).
The CI measures what happens when you sum all these vectors:
Resultant Vector : R = Σ e^(iφₙ) = Σ cos(φₙ) + i·Σ sin(φₙ)
Coherence Index : CI = |R| / N
Where |R| is the magnitude of the resultant vector and N is the number of active oscillators.
The CI ranges from 0 to 1:
CI = 1.0 : Perfect coherence—all oscillators have identical phase angles, vectors point in the same direction, creating maximum constructive interference
CI = 0.0 : Complete decoherence—oscillators are randomly distributed around the circle, vectors cancel out through destructive interference
0 < CI < 1 : Partial alignment—some clustering with some scatter
This is not a simple average or correlation. The CI captures phase synchronization across the entire ensemble simultaneously. When oscillators phase-lock (align their cycles), the CI spikes regardless of their individual values. This makes it sensitive to regime transitions that traditional indicators miss.
Dominant Phase and Direction Detection
Beyond measuring alignment strength, the system calculates the dominant phase of the ensemble—the direction the resultant vector points:
Dominant Phase : φ_dom = atan2(Σ sin(φₙ), Σ cos(φₙ))
This gives the "average direction" of all oscillator phases, mapped to -180° to +180°:
+90° to -90° (right half-plane): Bullish phase dominance
+90° to +180° or -90° to -180° (left half-plane): Bearish phase dominance
The combination of CI magnitude (coherence strength) and dominant phase angle (directional bias) creates a two-dimensional signal space. High CI alone is insufficient—you need high CI plus dominant phase pointing in a tradeable direction. This dual requirement is what separates QRFM from simple oscillator averaging.
Entanglement Matrix and Pairwise Coherence
While the CI measures global alignment, the entanglement matrix measures local pairwise relationships. For every pair of oscillators (i, j), the system calculates:
E(i,j) = |cos(φᵢ - φⱼ)|
This represents the phase agreement between oscillators i and j:
E = 1.0 : Oscillators are in-phase (0° or 360° apart)
E = 0.0 : Oscillators are in quadrature (90° apart, orthogonal)
E between 0 and 1 : Varying degrees of alignment
The system counts how many oscillator pairs exceed a user-defined entanglement threshold (e.g., 0.7). This entangled pairs count serves as a confirmation filter: signals require not just high global CI, but also a minimum number of strong pairwise agreements. This prevents false ignitions where CI is high but driven by only two oscillators while the rest remain scattered.
The entanglement matrix creates an N×N symmetric matrix that can be visualized as a web—when many cells are bright (high E values), the ensemble is highly interconnected. When cells are dark, oscillators are moving independently.
Phase-Lock Tolerance Mechanism
A complementary confirmation layer is the phase-lock detector . This calculates the maximum phase spread across all oscillators:
For all pairs (i,j), compute angular distance: Δφ = |φᵢ - φⱼ|, wrapping at 180°
Max Spread = maximum Δφ across all pairs
If max spread < user threshold (e.g., 35°), the ensemble is considered phase-locked —all oscillators are within a narrow angular band.
This differs from entanglement: entanglement measures pairwise cosine similarity (magnitude of alignment), while phase-lock measures maximum angular deviation (tightness of clustering). Both must be satisfied for the highest-conviction signals.
Multi-Layer Visual Architecture
QRFM includes six visual components that represent the same underlying mathematics from different perspectives:
Circular Orbit Plot : A polar coordinate grid showing each oscillator as a vector from origin to perimeter. Angle = phase, radius = amplitude. This is a real-time snapshot of the complex plane. When vectors converge (point in similar directions), coherence is high. When scattered randomly, coherence is low. Users can see phase alignment forming before CI numerically confirms it.
Phase-Time Heat Map : A 2D matrix with rows = oscillators and columns = time bins. Each cell is colored by the oscillator's phase at that time (using a gradient where color hue maps to angle). Horizontal color bands indicate sustained phase alignment over time. Vertical color bands show moments when all oscillators shared the same phase (ignition points). This provides historical pattern recognition.
Entanglement Web Matrix : An N×N grid showing E(i,j) for all pairs. Cells are colored by entanglement strength—bright yellow/gold for high E, dark gray for low E. This reveals which oscillators are driving coherence and which are lagging. For example, if RSI and MACD show high E but Stochastic shows low E with everything, Stochastic is the outlier.
Quantum Field Cloud : A background color overlay on the price chart. Color (green = bullish, red = bearish) is determined by dominant phase. Opacity is determined by CI—high CI creates dense, opaque cloud; low CI creates faint, nearly invisible cloud. This gives an atmospheric "feel" for regime strength without looking at numbers.
Phase Spiral : A smoothed plot of dominant phase over recent history, displayed as a curve that wraps around price. When the spiral is tight and rotating steadily, the ensemble is in coherent rotation (trending). When the spiral is loose or erratic, coherence is breaking down.
Dashboard : A table showing real-time metrics: CI (as percentage), dominant phase (in degrees with directional arrow), field strength (CI × average amplitude), entangled pairs count, phase-lock status (locked/unlocked), quantum state classification ("Ignition", "Coherent", "Collapse", "Chaos"), and collapse risk (recent CI change normalized to 0-100%).
Each component is independently toggleable, allowing users to customize their workspace. The orbit plot is the most essential—it provides intuitive, visual feedback on phase alignment that no numerical dashboard can match.
Core Components and How They Work Together
1. Oscillator Normalization Engine
The foundation is creating a common measurement scale. QRFM supports eight oscillators:
RSI : Normalized from to using overbought/oversold levels (70, 30) as anchors
MACD Histogram : Normalized by dividing by rolling standard deviation, then clamped to
Stochastic %K : Normalized from using (80, 20) anchors
CCI : Divided by 200 (typical extreme level), clamped to
Williams %R : Normalized from using (-20, -80) anchors
MFI : Normalized from using (80, 20) anchors
ROC : Divided by 10, clamped to
TSI : Divided by 50, clamped to
Each oscillator can be individually enabled/disabled. Only active oscillators contribute to phase calculations. The normalization removes scale differences—a reading of +0.8 means "strongly bullish" regardless of whether it came from RSI or TSI.
2. Analytic Signal Construction
For each active oscillator at each bar, the system constructs the analytic signal:
In-Phase (I) : The normalized oscillator value itself
Quadrature (Q) : The bar-to-bar change in the normalized value (first derivative approximation)
This creates a 2D representation: (I, Q). The phase is extracted as:
φ = atan2(Q, I) × (180 / π)
This maps the oscillator to a point on the unit circle. An oscillator at the same value but rising (positive Q) will have a different phase than one that is falling (negative Q). This velocity-awareness is critical—it distinguishes between "at resistance and stalling" versus "at resistance and breaking through."
The amplitude is extracted as:
A = √(I² + Q²)
This represents the distance from origin in the (I, Q) plane. High amplitude means the oscillator is far from neutral (strong conviction). Low amplitude means it's near zero (weak/transitional state).
3. Coherence Calculation Pipeline
For each bar (or every Nth bar if phase sample rate > 1 for performance):
Step 1 : Extract phase φₙ for each of the N active oscillators
Step 2 : Compute complex exponentials: Zₙ = e^(i·φₙ·π/180) = cos(φₙ·π/180) + i·sin(φₙ·π/180)
Step 3 : Sum the complex exponentials: R = Σ Zₙ = (Σ cos φₙ) + i·(Σ sin φₙ)
Step 4 : Calculate magnitude: |R| = √
Step 5 : Normalize by count: CI_raw = |R| / N
Step 6 : Smooth the CI: CI = SMA(CI_raw, smoothing_window)
The smoothing step (default 2 bars) removes single-bar noise spikes while preserving structural coherence changes. Users can adjust this to control reactivity versus stability.
The dominant phase is calculated as:
φ_dom = atan2(Σ sin φₙ, Σ cos φₙ) × (180 / π)
This is the angle of the resultant vector R in the complex plane.
4. Entanglement Matrix Construction
For all unique pairs of oscillators (i, j) where i < j:
Step 1 : Get phases φᵢ and φⱼ
Step 2 : Compute phase difference: Δφ = φᵢ - φⱼ (in radians)
Step 3 : Calculate entanglement: E(i,j) = |cos(Δφ)|
Step 4 : Store in symmetric matrix: matrix = matrix = E(i,j)
The matrix is then scanned: count how many E(i,j) values exceed the user-defined threshold (default 0.7). This count is the entangled pairs metric.
For visualization, the matrix is rendered as an N×N table where cell brightness maps to E(i,j) intensity.
5. Phase-Lock Detection
Step 1 : For all unique pairs (i, j), compute angular distance: Δφ = |φᵢ - φⱼ|
Step 2 : Wrap angles: if Δφ > 180°, set Δφ = 360° - Δφ
Step 3 : Find maximum: max_spread = max(Δφ) across all pairs
Step 4 : Compare to tolerance: phase_locked = (max_spread < tolerance)
If phase_locked is true, all oscillators are within the specified angular cone (e.g., 35°). This is a boolean confirmation filter.
6. Signal Generation Logic
Signals are generated through multi-layer confirmation:
Long Ignition Signal :
CI crosses above ignition threshold (e.g., 0.80)
AND dominant phase is in bullish range (-90° < φ_dom < +90°)
AND phase_locked = true
AND entangled_pairs >= minimum threshold (e.g., 4)
Short Ignition Signal :
CI crosses above ignition threshold
AND dominant phase is in bearish range (φ_dom < -90° OR φ_dom > +90°)
AND phase_locked = true
AND entangled_pairs >= minimum threshold
Collapse Signal :
CI at bar minus CI at current bar > collapse threshold (e.g., 0.55)
AND CI at bar was above 0.6 (must collapse from coherent state, not from already-low state)
These are strict conditions. A high CI alone does not generate a signal—dominant phase must align with direction, oscillators must be phase-locked, and sufficient pairwise entanglement must exist. This multi-factor gating dramatically reduces false signals compared to single-condition triggers.
Calculation Methodology
Phase 1: Oscillator Computation and Normalization
On each bar, the system calculates the raw values for all enabled oscillators using standard Pine Script functions:
RSI: ta.rsi(close, length)
MACD: ta.macd() returning histogram component
Stochastic: ta.stoch() smoothed with ta.sma()
CCI: ta.cci(close, length)
Williams %R: ta.wpr(length)
MFI: ta.mfi(hlc3, length)
ROC: ta.roc(close, length)
TSI: ta.tsi(close, short, long)
Each raw value is then passed through a normalization function:
normalize(value, overbought_level, oversold_level) = 2 × (value - oversold) / (overbought - oversold) - 1
This maps the oscillator's typical range to , where -1 represents extreme bearish, 0 represents neutral, and +1 represents extreme bullish.
For oscillators without fixed ranges (MACD, ROC, TSI), statistical normalization is used: divide by a rolling standard deviation or fixed divisor, then clamp to .
Phase 2: Phasor Extraction
For each normalized oscillator value val:
I = val (in-phase component)
Q = val - val (quadrature component, first difference)
Phase calculation:
phi_rad = atan2(Q, I)
phi_deg = phi_rad × (180 / π)
Amplitude calculation:
A = √(I² + Q²)
These values are stored in arrays: osc_phases and osc_amps for each oscillator n.
Phase 3: Complex Summation and Coherence
Initialize accumulators:
sum_cos = 0
sum_sin = 0
For each oscillator n = 0 to N-1:
phi_rad = osc_phases × (π / 180)
sum_cos += cos(phi_rad)
sum_sin += sin(phi_rad)
Resultant magnitude:
resultant_mag = √(sum_cos² + sum_sin²)
Coherence Index (raw):
CI_raw = resultant_mag / N
Smoothed CI:
CI = SMA(CI_raw, smoothing_window)
Dominant phase:
phi_dom_rad = atan2(sum_sin, sum_cos)
phi_dom_deg = phi_dom_rad × (180 / π)
Phase 4: Entanglement Matrix Population
For i = 0 to N-2:
For j = i+1 to N-1:
phi_i = osc_phases × (π / 180)
phi_j = osc_phases × (π / 180)
delta_phi = phi_i - phi_j
E = |cos(delta_phi)|
matrix_index_ij = i × N + j
matrix_index_ji = j × N + i
entangle_matrix = E
entangle_matrix = E
if E >= threshold:
entangled_pairs += 1
The matrix uses flat array storage with index mapping: index(row, col) = row × N + col.
Phase 5: Phase-Lock Check
max_spread = 0
For i = 0 to N-2:
For j = i+1 to N-1:
delta = |osc_phases - osc_phases |
if delta > 180:
delta = 360 - delta
max_spread = max(max_spread, delta)
phase_locked = (max_spread < tolerance)
Phase 6: Signal Evaluation
Ignition Long :
ignition_long = (CI crosses above threshold) AND
(phi_dom > -90 AND phi_dom < 90) AND
phase_locked AND
(entangled_pairs >= minimum)
Ignition Short :
ignition_short = (CI crosses above threshold) AND
(phi_dom < -90 OR phi_dom > 90) AND
phase_locked AND
(entangled_pairs >= minimum)
Collapse :
CI_prev = CI
collapse = (CI_prev - CI > collapse_threshold) AND (CI_prev > 0.6)
All signals are evaluated on bar close. The crossover and crossunder functions ensure signals fire only once when conditions transition from false to true.
Phase 7: Field Strength and Visualization Metrics
Average Amplitude :
avg_amp = (Σ osc_amps ) / N
Field Strength :
field_strength = CI × avg_amp
Collapse Risk (for dashboard):
collapse_risk = (CI - CI) / max(CI , 0.1)
collapse_risk_pct = clamp(collapse_risk × 100, 0, 100)
Quantum State Classification :
if (CI > threshold AND phase_locked):
state = "Ignition"
else if (CI > 0.6):
state = "Coherent"
else if (collapse):
state = "Collapse"
else:
state = "Chaos"
Phase 8: Visual Rendering
Orbit Plot : For each oscillator, convert polar (phase, amplitude) to Cartesian (x, y) for grid placement:
radius = amplitude × grid_center × 0.8
x = radius × cos(phase × π/180)
y = radius × sin(phase × π/180)
col = center + x (mapped to grid coordinates)
row = center - y
Heat Map : For each oscillator row and time column, retrieve historical phase value at lookback = (columns - col) × sample_rate, then map phase to color using a hue gradient.
Entanglement Web : Render matrix as table cell with background color opacity = E(i,j).
Field Cloud : Background color = (phi_dom > -90 AND phi_dom < 90) ? green : red, with opacity = mix(min_opacity, max_opacity, CI).
All visual components render only on the last bar (barstate.islast) to minimize computational overhead.
How to Use This Indicator
Step 1 : Apply QRFM to your chart. It works on all timeframes and asset classes, though 15-minute to 4-hour timeframes provide the best balance of responsiveness and noise reduction.
Step 2 : Enable the dashboard (default: top right) and the circular orbit plot (default: middle left). These are your primary visual feedback tools.
Step 3 : Optionally enable the heat map, entanglement web, and field cloud based on your preference. New users may find all visuals overwhelming; start with dashboard + orbit plot.
Step 4 : Observe for 50-100 bars to let the indicator establish baseline coherence patterns. Markets have different "normal" CI ranges—some instruments naturally run higher or lower coherence.
Understanding the Circular Orbit Plot
The orbit plot is a polar grid showing oscillator vectors in real-time:
Center point : Neutral (zero phase and amplitude)
Each vector : A line from center to a point on the grid
Vector angle : The oscillator's phase (0° = right/east, 90° = up/north, 180° = left/west, -90° = down/south)
Vector length : The oscillator's amplitude (short = weak signal, long = strong signal)
Vector label : First letter of oscillator name (R = RSI, M = MACD, etc.)
What to watch :
Convergence : When all vectors cluster in one quadrant or sector, CI is rising and coherence is forming. This is your pre-signal warning.
Scatter : When vectors point in random directions (360° spread), CI is low and the market is in a non-trending or transitional regime.
Rotation : When the cluster rotates smoothly around the circle, the ensemble is in coherent oscillation—typically seen during steady trends.
Sudden flips : When the cluster rapidly jumps from one side to the opposite (e.g., +90° to -90°), a phase reversal has occurred—often coinciding with trend reversals.
Example: If you see RSI, MACD, and Stochastic all pointing toward 45° (northeast) with long vectors, while CCI, TSI, and ROC point toward 40-50° as well, coherence is high and dominant phase is bullish. Expect an ignition signal if CI crosses threshold.
Reading Dashboard Metrics
The dashboard provides numerical confirmation of what the orbit plot shows visually:
CI : Displays as 0-100%. Above 70% = high coherence (strong regime), 40-70% = moderate, below 40% = low (poor conditions for trend entries).
Dom Phase : Angle in degrees with directional arrow. ⬆ = bullish bias, ⬇ = bearish bias, ⬌ = neutral.
Field Strength : CI weighted by amplitude. High values (> 0.6) indicate not just alignment but strong alignment.
Entangled Pairs : Count of oscillator pairs with E > threshold. Higher = more confirmation. If minimum is set to 4, you need at least 4 pairs entangled for signals.
Phase Lock : 🔒 YES (all oscillators within tolerance) or 🔓 NO (spread too wide).
State : Real-time classification:
🚀 IGNITION: CI just crossed threshold with phase-lock
⚡ COHERENT: CI is high and stable
💥 COLLAPSE: CI has dropped sharply
🌀 CHAOS: Low CI, scattered phases
Collapse Risk : 0-100% scale based on recent CI change. Above 50% warns of imminent breakdown.
Interpreting Signals
Long Ignition (Blue Triangle Below Price) :
Occurs when CI crosses above threshold (e.g., 0.80)
Dominant phase is in bullish range (-90° to +90°)
All oscillators are phase-locked (within tolerance)
Minimum entangled pairs requirement met
Interpretation : The oscillator ensemble has transitioned from disorder to coherent bullish alignment. This is a high-probability long entry point. The multi-layer confirmation (CI + phase direction + lock + entanglement) ensures this is not a single-oscillator whipsaw.
Short Ignition (Red Triangle Above Price) :
Same conditions as long, but dominant phase is in bearish range (< -90° or > +90°)
Interpretation : Coherent bearish alignment has formed. High-probability short entry.
Collapse (Circles Above and Below Price) :
CI has dropped by more than the collapse threshold (e.g., 0.55) over a 5-bar window
CI was previously above 0.6 (collapsing from coherent state)
Interpretation : Phase coherence has broken down. If you are in a position, this is an exit warning. If looking to enter, stand aside—regime is transitioning.
Phase-Time Heat Map Patterns
Enable the heat map and position it at bottom right. The rows represent individual oscillators, columns represent time bins (most recent on left).
Pattern: Horizontal Color Bands
If a row (e.g., RSI) shows consistent color across columns (say, green for several bins), that oscillator has maintained stable phase over time. If all rows show horizontal bands of similar color, the entire ensemble has been phase-locked for an extended period—this is a strong trending regime.
Pattern: Vertical Color Bands
If a column (single time bin) shows all cells with the same or very similar color, that moment in time had high coherence. These vertical bands often align with ignition signals or major price pivots.
Pattern: Rainbow Chaos
If cells are random colors (red, green, yellow mixed with no pattern), coherence is low. The ensemble is scattered. Avoid trading during these periods unless you have external confirmation.
Pattern: Color Transition
If you see a row transition from red to green (or vice versa) sharply, that oscillator has phase-flipped. If multiple rows do this simultaneously, a regime change is underway.
Entanglement Web Analysis
Enable the web matrix (default: opposite corner from heat map). It shows an N×N grid where N = number of active oscillators.
Bright Yellow/Gold Cells : High pairwise entanglement. For example, if the RSI-MACD cell is bright gold, those two oscillators are moving in phase. If the RSI-Stochastic cell is bright, they are entangled as well.
Dark Gray Cells : Low entanglement. Oscillators are decorrelated or in quadrature.
Diagonal : Always marked with "—" because an oscillator is always perfectly entangled with itself.
How to use :
Scan for clustering: If most cells are bright, coherence is high across the board. If only a few cells are bright, coherence is driven by a subset (e.g., RSI and MACD are aligned, but nothing else is—weak signal).
Identify laggards: If one row/column is entirely dark, that oscillator is the outlier. You may choose to disable it or monitor for when it joins the group (late confirmation).
Watch for web formation: During low-coherence periods, the matrix is mostly dark. As coherence builds, cells begin lighting up. A sudden "web" of connections forming visually precedes ignition signals.
Trading Workflow
Step 1: Monitor Coherence Level
Check the dashboard CI metric or observe the orbit plot. If CI is below 40% and vectors are scattered, conditions are poor for trend entries. Wait.
Step 2: Detect Coherence Building
When CI begins rising (say, from 30% to 50-60%) and you notice vectors on the orbit plot starting to cluster, coherence is forming. This is your alert phase—do not enter yet, but prepare.
Step 3: Confirm Phase Direction
Check the dominant phase angle and the orbit plot quadrant where clustering is occurring:
Clustering in right half (0° to ±90°): Bullish bias forming
Clustering in left half (±90° to 180°): Bearish bias forming
Verify the dashboard shows the corresponding directional arrow (⬆ or ⬇).
Step 4: Wait for Signal Confirmation
Do not enter based on rising CI alone. Wait for the full ignition signal:
CI crosses above threshold
Phase-lock indicator shows 🔒 YES
Entangled pairs count >= minimum
Directional triangle appears on chart
This ensures all layers have aligned.
Step 5: Execute Entry
Long : Blue triangle below price appears → enter long
Short : Red triangle above price appears → enter short
Step 6: Position Management
Initial Stop : Place stop loss based on your risk management rules (e.g., recent swing low/high, ATR-based buffer).
Monitoring :
Watch the field cloud density. If it remains opaque and colored in your direction, the regime is intact.
Check dashboard collapse risk. If it rises above 50%, prepare for exit.
Monitor the orbit plot. If vectors begin scattering or the cluster flips to the opposite side, coherence is breaking.
Exit Triggers :
Collapse signal fires (circles appear)
Dominant phase flips to opposite half-plane
CI drops below 40% (coherence lost)
Price hits your profit target or trailing stop
Step 7: Post-Exit Analysis
After exiting, observe whether a new ignition forms in the opposite direction (reversal) or if CI remains low (transition to range). Use this to decide whether to re-enter, reverse, or stand aside.
Best Practices
Use Price Structure as Context
QRFM identifies when coherence forms but does not specify where price will go. Combine ignition signals with support/resistance levels, trendlines, or chart patterns. For example:
Long ignition near a major support level after a pullback: high-probability bounce
Long ignition in the middle of a range with no structure: lower probability
Multi-Timeframe Confirmation
Open QRFM on two timeframes simultaneously:
Higher timeframe (e.g., 4-hour): Use CI level to determine regime bias. If 4H CI is above 60% and dominant phase is bullish, the market is in a bullish regime.
Lower timeframe (e.g., 15-minute): Execute entries on ignition signals that align with the higher timeframe bias.
This prevents counter-trend trades and increases win rate.
Distinguish Between Regime Types
High CI, stable dominant phase (State: Coherent) : Trending market. Ignitions are continuation signals; collapses are profit-taking or reversal warnings.
Low CI, erratic dominant phase (State: Chaos) : Ranging or choppy market. Avoid ignition signals or reduce position size. Wait for coherence to establish.
Moderate CI with frequent collapses : Whipsaw environment. Use wider stops or stand aside.
Adjust Parameters to Instrument and Timeframe
Crypto/Forex (high volatility) : Lower ignition threshold (0.65-0.75), lower CI smoothing (2-3), shorter oscillator lengths (7-10).
Stocks/Indices (moderate volatility) : Standard settings (threshold 0.75-0.85, smoothing 5-7, oscillator lengths 14).
Lower timeframes (5-15 min) : Reduce phase sample rate to 1-2 for responsiveness.
Higher timeframes (daily+) : Increase CI smoothing and oscillator lengths for noise reduction.
Use Entanglement Count as Conviction Filter
The minimum entangled pairs setting controls signal strictness:
Low (1-2) : More signals, lower quality (acceptable if you have other confirmation)
Medium (3-5) : Balanced (recommended for most traders)
High (6+) : Very strict, fewer signals, highest quality
Adjust based on your trade frequency preference and risk tolerance.
Monitor Oscillator Contribution
Use the entanglement web to see which oscillators are driving coherence. If certain oscillators are consistently dark (low E with all others), they may be adding noise. Consider disabling them. For example:
On low-volume instruments, MFI may be unreliable → disable MFI
On strongly trending instruments, mean-reversion oscillators (Stochastic, RSI) may lag → reduce weight or disable
Respect the Collapse Signal
Collapse events are early warnings. Price may continue in the original direction for several bars after collapse fires, but the underlying regime has weakened. Best practice:
If in profit: Take partial or full profit on collapse
If at breakeven/small loss: Exit immediately
If collapse occurs shortly after entry: Likely a false ignition; exit to avoid drawdown
Collapses do not guarantee immediate reversals—they signal uncertainty .
Combine with Volume Analysis
If your instrument has reliable volume:
Ignitions with expanding volume: Higher conviction
Ignitions with declining volume: Weaker, possibly false
Collapses with volume spikes: Strong reversal signal
Collapses with low volume: May just be consolidation
Volume is not built into QRFM (except via MFI), so add it as external confirmation.
Observe the Phase Spiral
The spiral provides a quick visual cue for rotation consistency:
Tight, smooth spiral : Ensemble is rotating coherently (trending)
Loose, erratic spiral : Phase is jumping around (ranging or transitional)
If the spiral tightens, coherence is building. If it loosens, coherence is dissolving.
Do Not Overtrade Low-Coherence Periods
When CI is persistently below 40% and the state is "Chaos," the market is not in a regime where phase analysis is predictive. During these times:
Reduce position size
Widen stops
Wait for coherence to return
QRFM's strength is regime detection. If there is no regime, the tool correctly signals "stand aside."
Use Alerts Strategically
Set alerts for:
Long Ignition
Short Ignition
Collapse
Phase Lock (optional)
Configure alerts to "Once per bar close" to avoid intrabar repainting and noise. When an alert fires, manually verify:
Orbit plot shows clustering
Dashboard confirms all conditions
Price structure supports the trade
Do not blindly trade alerts—use them as prompts for analysis.
Ideal Market Conditions
Best Performance
Instruments :
Liquid, actively traded markets (major forex pairs, large-cap stocks, major indices, top-tier crypto)
Instruments with clear cyclical oscillator behavior (avoid extremely illiquid or manipulated markets)
Timeframes :
15-minute to 4-hour: Optimal balance of noise reduction and responsiveness
1-hour to daily: Slower, higher-conviction signals; good for swing trading
5-minute: Acceptable for scalping if parameters are tightened and you accept more noise
Market Regimes :
Trending markets with periodic retracements (where oscillators cycle through phases predictably)
Breakout environments (coherence forms before/during breakout; collapse occurs at exhaustion)
Rotational markets with clear swings (oscillators phase-lock at turning points)
Volatility :
Moderate to high volatility (oscillators have room to move through their ranges)
Stable volatility regimes (sudden VIX spikes or flash crashes may create false collapses)
Challenging Conditions
Instruments :
Very low liquidity markets (erratic price action creates unstable oscillator phases)
Heavily news-driven instruments (fundamentals may override technical coherence)
Highly correlated instruments (oscillators may all reflect the same underlying factor, reducing independence)
Market Regimes :
Deep, prolonged consolidation (oscillators remain near neutral, CI is chronically low, few signals fire)
Extreme chop with no directional bias (oscillators whipsaw, coherence never establishes)
Gap-driven markets (large overnight gaps create phase discontinuities)
Timeframes :
Sub-5-minute charts: Noise dominates; oscillators flip rapidly; coherence is fleeting and unreliable
Weekly/monthly: Oscillators move extremely slowly; signals are rare; better suited for long-term positioning than active trading
Special Cases :
During major economic releases or earnings: Oscillators may lag price or become decorrelated as fundamentals overwhelm technicals. Reduce position size or stand aside.
In extremely low-volatility environments (e.g., holiday periods): Oscillators compress to neutral, CI may be artificially high due to lack of movement, but signals lack follow-through.
Adaptive Behavior
QRFM is designed to self-adapt to poor conditions:
When coherence is genuinely absent, CI remains low and signals do not fire
When only a subset of oscillators aligns, entangled pairs count stays below threshold and signals are filtered out
When phase-lock cannot be achieved (oscillators too scattered), the lock filter prevents signals
This means the indicator will naturally produce fewer (or zero) signals during unfavorable conditions, rather than generating false signals. This is a feature —it keeps you out of low-probability trades.
Parameter Optimization by Trading Style
Scalping (5-15 Minute Charts)
Goal : Maximum responsiveness, accept higher noise
Oscillator Lengths :
RSI: 7-10
MACD: 8/17/6
Stochastic: 8-10, smooth 2-3
CCI: 14-16
Others: 8-12
Coherence Settings :
CI Smoothing Window: 2-3 bars (fast reaction)
Phase Sample Rate: 1 (every bar)
Ignition Threshold: 0.65-0.75 (lower for more signals)
Collapse Threshold: 0.40-0.50 (earlier exit warnings)
Confirmation :
Phase Lock Tolerance: 40-50° (looser, easier to achieve)
Min Entangled Pairs: 2-3 (fewer oscillators required)
Visuals :
Orbit Plot + Dashboard only (reduce screen clutter for fast decisions)
Disable heavy visuals (heat map, web) for performance
Alerts :
Enable all ignition and collapse alerts
Set to "Once per bar close"
Day Trading (15-Minute to 1-Hour Charts)
Goal : Balance between responsiveness and reliability
Oscillator Lengths :
RSI: 14 (standard)
MACD: 12/26/9 (standard)
Stochastic: 14, smooth 3
CCI: 20
Others: 10-14
Coherence Settings :
CI Smoothing Window: 3-5 bars (balanced)
Phase Sample Rate: 2-3
Ignition Threshold: 0.75-0.85 (moderate selectivity)
Collapse Threshold: 0.50-0.55 (balanced exit timing)
Confirmation :
Phase Lock Tolerance: 30-40° (moderate tightness)
Min Entangled Pairs: 4-5 (reasonable confirmation)
Visuals :
Orbit Plot + Dashboard + Heat Map or Web (choose one)
Field Cloud for regime backdrop
Alerts :
Ignition and collapse alerts
Optional phase-lock alert for advance warning
Swing Trading (4-Hour to Daily Charts)
Goal : High-conviction signals, minimal noise, fewer trades
Oscillator Lengths :
RSI: 14-21
MACD: 12/26/9 or 19/39/9 (longer variant)
Stochastic: 14-21, smooth 3-5
CCI: 20-30
Others: 14-20
Coherence Settings :
CI Smoothing Window: 5-10 bars (very smooth)
Phase Sample Rate: 3-5
Ignition Threshold: 0.80-0.90 (high bar for entry)
Collapse Threshold: 0.55-0.65 (only significant breakdowns)
Confirmation :
Phase Lock Tolerance: 20-30° (tight clustering required)
Min Entangled Pairs: 5-7 (strong confirmation)
Visuals :
All modules enabled (you have time to analyze)
Heat Map for multi-bar pattern recognition
Web for deep confirmation analysis
Alerts :
Ignition and collapse
Review manually before entering (no rush)
Position/Long-Term Trading (Daily to Weekly Charts)
Goal : Rare, very high-conviction regime shifts
Oscillator Lengths :
RSI: 21-30
MACD: 19/39/9 or 26/52/12
Stochastic: 21, smooth 5
CCI: 30-50
Others: 20-30
Coherence Settings :
CI Smoothing Window: 10-14 bars
Phase Sample Rate: 5 (every 5th bar to reduce computation)
Ignition Threshold: 0.85-0.95 (only extreme alignment)
Collapse Threshold: 0.60-0.70 (major regime breaks only)
Confirmation :
Phase Lock Tolerance: 15-25° (very tight)
Min Entangled Pairs: 6+ (broad consensus required)
Visuals :
Dashboard + Orbit Plot for quick checks
Heat Map to study historical coherence patterns
Web to verify deep entanglement
Alerts :
Ignition only (collapses are less critical on long timeframes)
Manual review with fundamental analysis overlay
Performance Optimization (Low-End Systems)
If you experience lag or slow rendering:
Reduce Visual Load :
Orbit Grid Size: 8-10 (instead of 12+)
Heat Map Time Bins: 5-8 (instead of 10+)
Disable Web Matrix entirely if not needed
Disable Field Cloud and Phase Spiral
Reduce Calculation Frequency :
Phase Sample Rate: 5-10 (calculate every 5-10 bars)
Max History Depth: 100-200 (instead of 500+)
Disable Unused Oscillators :
If you only want RSI, MACD, and Stochastic, disable the other five. Fewer oscillators = smaller matrices, faster loops.
Simplify Dashboard :
Choose "Small" dashboard size
Reduce number of metrics displayed
These settings will not significantly degrade signal quality (signals are based on bar-close calculations, which remain accurate), but will improve chart responsiveness.
Important Disclaimers
This indicator is a technical analysis tool designed to identify periods of phase coherence across an ensemble of oscillators. It is not a standalone trading system and does not guarantee profitable trades. The Coherence Index, dominant phase, and entanglement metrics are mathematical calculations applied to historical price data—they measure past oscillator behavior and do not predict future price movements with certainty.
No Predictive Guarantee : High coherence indicates that oscillators are currently aligned, which historically has coincided with trending or directional price movement. However, past alignment does not guarantee future trends. Markets can remain coherent while prices consolidate, or lose coherence suddenly due to news, liquidity changes, or other factors not captured by oscillator mathematics.
Signal Confirmation is Probabilistic : The multi-layer confirmation system (CI threshold + dominant phase + phase-lock + entanglement) is designed to filter out low-probability setups. This increases the proportion of valid signals relative to false signals, but does not eliminate false signals entirely. Users should combine QRFM with additional analysis—support and resistance levels, volume confirmation, multi-timeframe alignment, and fundamental context—before executing trades.
Collapse Signals are Warnings, Not Reversals : A coherence collapse indicates that the oscillator ensemble has lost alignment. This often precedes trend exhaustion or reversals, but can also occur during healthy pullbacks or consolidations. Price may continue in the original direction after a collapse. Use collapses as risk management cues (tighten stops, take partial profits) rather than automatic reversal entries.
Market Regime Dependency : QRFM performs best in markets where oscillators exhibit cyclical, mean-reverting behavior and where trends are punctuated by retracements. In markets dominated by fundamental shocks, gap openings, or extreme low-liquidity conditions, oscillator coherence may be less reliable. During such periods, reduce position size or stand aside.
Risk Management is Essential : All trading involves risk of loss. Use appropriate stop losses, position sizing, and risk-per-trade limits. The indicator does not specify stop loss or take profit levels—these must be determined by the user based on their risk tolerance and account size. Never risk more than you can afford to lose.
Parameter Sensitivity : The indicator's behavior changes with input parameters. Aggressive settings (low thresholds, loose tolerances) produce more signals with lower average quality. Conservative settings (high thresholds, tight tolerances) produce fewer signals with higher average quality. Users should backtest and forward-test parameter sets on their specific instruments and timeframes before committing real capital.
No Repainting by Design : All signal conditions are evaluated on bar close using bar-close values. However, the visual components (orbit plot, heat map, dashboard) update in real-time during bar formation for monitoring purposes. For trade execution, rely on the confirmed signals (triangles and circles) that appear only after the bar closes.
Computational Load : QRFM performs extensive calculations, including nested loops for entanglement matrices and real-time table rendering. On lower-powered devices or when running multiple indicators simultaneously, users may experience lag. Use the performance optimization settings (reduce visual complexity, increase phase sample rate, disable unused oscillators) to improve responsiveness.
This system is most effective when used as one component within a broader trading methodology that includes sound risk management, multi-timeframe analysis, market context awareness, and disciplined execution. It is a tool for regime detection and signal confirmation, not a substitute for comprehensive trade planning.
Technical Notes
Calculation Timing : All signal logic (ignition, collapse) is evaluated using bar-close values. The barstate.isconfirmed or implicit bar-close behavior ensures signals do not repaint. Visual components (tables, plots) render on every tick for real-time feedback but do not affect signal generation.
Phase Wrapping : Phase angles are calculated in the range -180° to +180° using atan2. Angular distance calculations account for wrapping (e.g., the distance between +170° and -170° is 20°, not 340°). This ensures phase-lock detection works correctly across the ±180° boundary.
Array Management : The indicator uses fixed-size arrays for oscillator phases, amplitudes, and the entanglement matrix. The maximum number of oscillators is 8. If fewer oscillators are enabled, array sizes shrink accordingly (only active oscillators are processed).
Matrix Indexing : The entanglement matrix is stored as a flat array with size N×N, where N is the number of active oscillators. Index mapping: index(row, col) = row × N + col. Symmetric pairs (i,j) and (j,i) are stored identically.
Normalization Stability : Oscillators are normalized to using fixed reference levels (e.g., RSI overbought/oversold at 70/30). For unbounded oscillators (MACD, ROC, TSI), statistical normalization (division by rolling standard deviation) is used, with clamping to prevent extreme outliers from distorting phase calculations.
Smoothing and Lag : The CI smoothing window (SMA) introduces lag proportional to the window size. This is intentional—it filters out single-bar noise spikes in coherence. Users requiring faster reaction can reduce the smoothing window to 1-2 bars, at the cost of increased sensitivity to noise.
Complex Number Representation : Pine Script does not have native complex number types. Complex arithmetic is implemented using separate real and imaginary accumulators (sum_cos, sum_sin) and manual calculation of magnitude (sqrt(real² + imag²)) and argument (atan2(imag, real)).
Lookback Limits : The indicator respects Pine Script's maximum lookback constraints. Historical phase and amplitude values are accessed using the operator, with lookback limited to the chart's available bar history (max_bars_back=5000 declared).
Visual Rendering Performance : Tables (orbit plot, heat map, web, dashboard) are conditionally deleted and recreated on each update using table.delete() and table.new(). This prevents memory leaks but incurs redraw overhead. Rendering is restricted to barstate.islast (last bar) to minimize computational load—historical bars do not render visuals.
Alert Condition Triggers : alertcondition() functions evaluate on bar close when their boolean conditions transition from false to true. Alerts do not fire repeatedly while a condition remains true (e.g., CI stays above threshold for 10 bars fires only once on the initial cross).
Color Gradient Functions : The phaseColor() function maps phase angles to RGB hues using sine waves offset by 120° (red, green, blue channels). This creates a continuous spectrum where -180° to +180° spans the full color wheel. The amplitudeColor() function maps amplitude to grayscale intensity. The coherenceColor() function uses cos(phase) to map contribution to CI (positive = green, negative = red).
No External Data Requests : QRFM operates entirely on the chart's symbol and timeframe. It does not use request.security() or access external data sources. All calculations are self-contained, avoiding lookahead bias from higher-timeframe requests.
Deterministic Behavior : Given identical input parameters and price data, QRFM produces identical outputs. There are no random elements, probabilistic sampling, or time-of-day dependencies.
— Dskyz, Engineering precision. Trading coherence.
SFC Bollinger Band and Bandit概述 (Overview)
SFC 布林通道與海盜策略 (SFC Bollinger Band and Bandit Strategy) 是一個基於 Pine Script™ v6 的技術分析指標,結合布林通道 (Bollinger Bands)、移動平均線 (Moving Averages) 以及布林海盜 (Bollinger Bandit) 交易策略,旨在為交易者提供多時間框架的趨勢分析與進出場訊號。該腳本支援風險管理功能,並提供視覺化圖表與交易訊號提示,適用於多種金融市場。
This script, written in Pine Script™ v6, combines Bollinger Bands, Moving Averages, and the Bollinger Bandit strategy to provide traders with multi-timeframe trend analysis and entry/exit signals. It includes risk management features and visualizes data through charts and trading signals, suitable for various financial markets.
功能特點 (Key Features)
布林通道 (Bollinger Bands)
提供可調整的標準差參數 (σ1, σ2),支援多層布林通道顯示。
進場訊號基於價格穿越布林通道上下軌,並結合連續K線確認機制。
Provides adjustable standard deviation parameters (σ1, σ2) for multi-layer Bollinger Bands display.
Entry signals are based on price crossing the upper/lower bands, combined with a consecutive bar confirmation mechanism.
移動平均線 (Moving Averages)
支援簡單移動平均線 (SMA) 或指數移動平均線 (EMA),可自訂快、中、慢線週期。
Supports Simple Moving Average (SMA) or Exponential Moving Average (EMA) with customizable fast, medium, and slow line periods.
布林海盜策略 (Bollinger Bandit Strategy)
基於變動率 (ROC) 與布林通道動態止損,提供做多與做空訊號。
包含動態止損均線與平倉天數設定,增強交易靈活性。
Utilizes Rate of Change (ROC) and Bollinger Bands with dynamic stop-loss for long and short signals.
Includes dynamic stop-loss moving average and liquidation days for enhanced trading flexibility.
多時間框架分析 (Multi-Timeframe Analysis)
支援六個時間框架 (5分、15分、1小時、4小時、日線、週線) 的趨勢分析。
通過表格顯示各時間框架的連續上漲/下跌趨勢,輔助交易決策。
Supports trend analysis across six timeframes (5m, 15m, 1h, 4h, daily, weekly).
Displays consecutive up/down trends in a table to aid decision-making.
風險管理 (Risk Management)
提供基於 ATR 或布林通道的停利/停損設定。
自動計算交易手數,根據報價貨幣匯率調整風險敞口。
Offers take-profit/stop-loss settings based on ATR or Bollinger Bands.
Automatically calculates trading lots, adjusting risk exposure based on quote currency exchange rates.
視覺化與提示 (Visualization and Alerts)
繪製布林通道、移動平均線、海盜策略動態止損線及交易訊號。
提供多時間框架趨勢表格、交易手數標籤及浮水印。
支援交易訊號快訊,方便即時監控。
Plots Bollinger Bands, Moving Averages, Bandit strategy stop-loss lines, and trading signals.
Includes multi-timeframe trend tables, trading lot labels, and watermark.
Supports alert conditions for real-time trade monitoring.
使用說明 (Usage Instructions)
設置參數 (Parameter Setup)
布林通道 (Bollinger Bands): 可調整週期 (預設21)、標準差 (σ1=1, σ2=2) 及停利/停損依據 (ATR 或 BAND)。
移動平均線 (Moving Averages): 可選擇顯示快線 (10)、中線 (20)、慢線 (60),並切換 SMA/EMA。
布林海盜 (Bollinger Bandit): 調整通道週期 (50)、平倉均線週期 (50) 及 ROC 週期 (30)。
時間框架 (Timeframes): 自訂六個時間框架,預設為 5分、15分、1小時、4小時、日線、週線。
Adjust Bollinger Band period (default 21), standard deviations (σ1=1, σ2=2), and take-profit/stop-loss basis (ATR or BAND).
Configure Moving Averages (fast=10, medium=20, slow=60) and toggle SMA/EMA.
Set Bollinger Bandit parameters: channel period (50), liquidation MA period (50), ROC period (30).
Customize six timeframes (default: 5m, 15m, 1h, 4h, daily, weekly).
交易訊號 (Trading Signals)
買入訊號 (Buy): 價格穿越下軌且滿足連續K線條件。
賣出訊號 (Sell): 價格穿越上軌且滿足連續K線條件。
海盜策略訊號: 基於 ROC 與布林通道穿越,結合動態止損。
Buy signal: Price crosses below lower band with consecutive bar confirmation.
Sell signal: Price crosses above upper band with consecutive bar confirmation.
Bandit strategy signals: Based on ROC and band crossings with dynamic stop-loss.
視覺化 (Visualization)
布林通道以不同顏色顯示上下軌與中軌。
移動平均線以快、中、慢線區分顏色。
趨勢表格顯示各時間框架的趨勢狀態 (🔴上漲, 🟢下跌, ⚪中性)。
海盜策略顯示動態止損線與交易狀態。
Bollinger Bands display upper, lower, and middle bands in distinct colors.
Moving Averages use different colors for fast, medium, and slow lines.
Trend table shows timeframe trends (🔴 up, 🟢 down, ⚪ neutral).
Bandit strategy displays dynamic stop-loss and trading status.
PRO Investing - Apex EnginePRO Investing - Apex Engine
1. Core Concept: Why Does This Indicator Exist?
Traditional momentum oscillators like RSI or Stochastic use a fixed "lookback period" (e.g., 14). This creates a fundamental problem: a 14-period setting that works well in a fast, trending market will generate constant false signals in a slow, choppy market, and vice-versa. The market's character is dynamic, but most tools are static.
The Apex Engine was built to solve this problem. Its primary innovation is a self-optimizing core that continuously adapts to changing market conditions. Instead of relying on one fixed setting, it actively tests three different momentum profiles (Fast, Mid, and Slow) in real-time and selects the one that is most synchronized with the current price action.
This is not just a random combination of indicators; it's a deliberate synthesis designed to create a more robust momentum tool. It combines:
Volatility analysis (ATR) to generate adaptive lookback periods.
Momentum measurement (ROC) to gauge the speed of price changes.
Statistical analysis (Correlation) to validate which momentum measurement is most effective right now.
Classic trend filters (Moving Average, ADX) to ensure signals are only taken in favorable market conditions.
The result is an oscillator that aims to be more responsive in volatile trends and more stable in quiet periods, providing a more intelligent and adaptive signal.
2. How It Works: The Engine's Three-Stage Process
To be transparent, it's important to understand the step-by-step logic the indicator follows on every bar. It's a process of Adapt -> Validate -> Signal.
Stage 1: Adapt (Dynamic Length Calculation)
The engine first measures market volatility using the Average True Range (ATR) relative to its own long-term average. This creates a volatility_factor. In high-volatility environments, this factor causes the base calculation lengths to shorten. In low-volatility, they lengthen. This produces three potential Rate of Change (ROC) lengths: dynamic_fast_len, dynamic_mid_len, and dynamic_slow_len.
Stage 2: Validate (Self-Optimizing Mode Selection)
This is the core of the engine. It calculates the ROC for all three dynamic lengths. To determine which is best, it uses the ta.correlation() function to measure how well each ROC's movement has correlated with the actual bar-to-bar price changes over the "Optimization Lookback" period. The ROC length with the highest correlation score is chosen as the most effective profile for the current moment. This "active" mode is reflected in the oscillator's color and the dashboard.
Stage 3: Signal (Normalized Velocity Oscillator)
The winning ROC series is then normalized into a consistent oscillator (the Velocity line) that ranges from -100 (extreme oversold) to +100 (extreme overbought). This ensures signals are comparable across any asset or timeframe. Signals are only generated when this Velocity line crosses its signal line and the trend filters (explained below) give a green light.
3. How to Use the Indicator: A Practical Guide
Reading the Visuals:
Velocity Line (Blue/Yellow/Pink): The main oscillator line. Its color indicates which mode is active (Fast, Mid, or Slow).
Signal Line (White): A moving average of the Velocity line. Crossovers generate potential signals.
Buy/Sell Triangles (▲ / ▼): These are your primary entry signals. They are intentionally strict and only appear when momentum, trend, and price action align.
Background Color (Green/Red/Gray): This is your trend context.
Green: Bullish trend confirmed (e.g., price above a rising 200 EMA and ADX > 20). Only Buy signals (▲) can appear.
Red: Bearish trend confirmed. Only Sell signals (▼) can appear.
Gray: No clear trend. The market is likely choppy or consolidating. No signals will appear; it is best to stay out.
Trading Strategy Example:
Wait for a colored background. A green or red background indicates the market is in a tradable trend.
Look for a signal. For a green background, wait for a lime Buy triangle (▲) to appear.
Confirm the trade. Before entering, confirm the signal aligns with your own analysis (e.g., support/resistance levels, chart patterns).
Manage the trade. Set a stop-loss according to your risk management rules. An exit can be considered on a fixed target, a trailing stop, or when an opposing signal appears.
4. Settings and Customization
This script is open-source, and its settings are transparent. You are encouraged to understand them.
Synaptic Engine Group:
Volatility Period: The master control for the adaptive engine. Higher values are slower and more stable.
Optimization Lookback: How many bars to use for the correlation check.
Switch Sensitivity: A buffer to prevent frantic switching between modes.
Advanced Configuration & Filters Group:
Price Source: The data source for momentum calculation (default close).
Trend Filter MA Type & Length: Define your long-term trend.
Filter by MA Slope: A key feature. If ON, allows for "buy the dip" entries below a rising MA. If OFF, it's stricter, requiring price to be above the MA.
ADX Length & Threshold: Filters out non-trending, choppy markets. Signals will not fire if the ADX is below this threshold.
5. Important Disclaimer
This indicator is a decision-support tool for discretionary traders, not an automated trading system or financial advice. Past performance is not indicative of future results. All trading involves substantial risk. You should always use proper risk management, including setting stop-losses, and never risk more than you are prepared to lose. The signals generated by this script should be used as one component of a broader trading plan.
Money Flow Pulse💸 In markets where volatility is cheap and structure is noisy, what matters most isn’t just the move — it’s the effort behind it. Money Flow Pulse (MFP) offers a compact, color-coded readout of real-time conviction by scoring volume-weighted price action on a five-tier scale. It doesn’t try to predict reversals or validate trends. Instead, it reveals the quality of the move in progress: is it fading , driving , exhausting , or hollow ?
🎨 MFP draws from the traditional Money Flow Index (MFI), a volume-enhanced momentum oscillator, but transforms it into a modular “pressure readout” that fits seamlessly into any structural overlay. Rather than oscillating between extremes with little interpretive guidance, MFP discretizes the flow into clean, color-coded regimes ranging from strong inflow (+2) to strong outflow (–2). The result is a responsive diagnostic layer that complements, rather than competes with, tools like ATR and/or On-Balance Volume.
5️⃣ MFP uses a normalized MFI value smoothed over 13 periods and classified into a 5-tier readout of Volume-Driven Conviction :
🍆 Exhaustion Inflow — usually a top or blowoff; not strength, but overdrive (+2)
🥝 Active Inflow — supportive of trend continuation (+1)
🍋 Neutral — chop, coil, or fakeouts (0)
🍑 Selling Intent — weakening structure, possible fade setups (-1)
🍆 Exhaustion Outflow — often signals forced selling or accumulation traps (-2)
🎭 These tiers are not arbitrary. Each one is tuned to reflect real capital behavior across timeframes. For instance, while +1 may support continuation, +2 often precedes exhaustion — especially on the lower timeframes. Similarly, a –1 reading during a pullback suggests sell-side pressure is building, but a shift to –2 may mean capitulation is already underway. The difference between the two can define whether a move is tradable continuation or strategic exhaustion .
🌊 The MFI ROC (Rate of Change) feature can be toggled to become a volatility-aware pulse monitor beneath the derived MFI tier. Instead of scoring direction or structure, ROC reveals how fast conviction is changing — not just where it’s headed, but how hard it's accelerating or decaying. It measures the raw Δ between the current and previous MFI values, exposing bursts of energy, fading pressure, or transitional churn .
🎢 Visually, ROC appears as a low-opacity area fill, anchored to a shared lemon-yellow zero line. When the green swell rises, buying pressure is accelerating; when the red drops, flow is actively deteriorating. A subtle bump may signal early interest — while a steep wave hints at an emotional overreaction. The ROC value itself provides numeric insight alongside the raw MFI score. A reading of +3.50 implies strong upside momentum in the flow — often supporting trend ignition. A score of –6.00 suggests rapid deceleration or full exhaustion — often preceding reversals or failed breakouts.
・ MFI shows you where the flow is
・ ROC tells you how it’s behaving
😎 This blend reveals not just structure or intent — but also urgency . And in flow-based trading, urgency often precedes outcome.
🧩 Divergence isn’t delay — it’s disagreement . One of the most revealing features of MFP is how it exposes momentum dissonance — situations where price and flow part ways. These divergences often front-run pivots , traps , or velocity stalls . Unlike RSI-style divergence, which whispers of exhaustion, MFI divergence signals a breakdown in conviction. The structure may extend — but the effort isn’t there.
・ Price ▲ MFI ▼ → Effortless Markup : Often signals distribution or a grind into liquidity. Without rising MFI, the rally lacks true flow participation — a warning of fragility.
・ Price ▼ MFI ▲ → Absorption or Early Accumulation : Price breaks down, but money keeps flowing in — a hidden bid. Watch for MFI tier shifts or ROC bursts to confirm a reversal.
🏄♂️ These moments don’t require signal overlays or setup hunting. MFP narrates the imbalance. When price breaks structure but flow does not — or vice versa — you’re not seeing trend, you’re seeing disagreement, and that's where edge begins.
💤 MFP is especially effective on intraday charts where volume dislocations matter most. On the 1H or 15m chart, it helps distinguish between breakouts with conviction versus those lacking flow. On higher timeframes, its resolution softens — it becomes more of a drift indicator than a trigger device. That’s by design: MFP prioritizes pulse, not position. It’s not the fire, it’s the heat.
📎 Use MFP in confluence with structural overlays to validate price behavior. A ribbon expansion with rising MFP is real. A compression breakout without +1 flow is "fishy". Watch how MFP behaves near key zones like anchored VWAP, MAs or accumulation pivots. When MFP rises into a +2 and fails to sustain, the reversal isn’t just technical — it’s flow-based.
🪟 MFP doesn’t speak loudly, but it never whispers without reason. It’s the pulse check before action — the breath of the move before the breakout. While it stays visually minimal on the chart, the true power is in the often overlooked Data Window, where traders can read and interpret the score in real time. Once internalized, these values give structure-aware traders a framework for conviction, continuation, or caution.
🛜 MFP doesn’t chase momentum — it confirms conviction. And in markets defined by noise, that signal isn’t just helpful — it’s foundational.
Fuzzy SMA Trend Analyzer (experimental)[FibonacciFlux]Fuzzy SMA Trend Analyzer (Normalized): Advanced Market Trend Detection Using Fuzzy Logic Theory
Elevate your technical analysis with institutional-grade fuzzy logic implementation
Research Genesis & Conceptual Framework
This indicator represents the culmination of extensive research into applying fuzzy logic theory to financial markets. While traditional technical indicators often produce binary outcomes, market conditions exist on a continuous spectrum. The Fuzzy SMA Trend Analyzer addresses this limitation by implementing a sophisticated fuzzy logic system that captures the nuanced, multi-dimensional nature of market trends.
Core Fuzzy Logic Principles
At the heart of this indicator lies fuzzy logic theory - a mathematical framework designed to handle imprecision and uncertainty:
// Improved fuzzy_triangle function with guard clauses for NA and invalid parameters.
fuzzy_triangle(val, left, center, right) =>
if na(val) or na(left) or na(center) or na(right) or left > center or center > right // Guard checks
0.0
else if left == center and center == right // Crisp set (single point)
val == center ? 1.0 : 0.0
else if left == center // Left-shoulder shape (ramp down from 1 at center to 0 at right)
val >= right ? 0.0 : val <= center ? 1.0 : (right - val) / (right - center)
else if center == right // Right-shoulder shape (ramp up from 0 at left to 1 at center)
val <= left ? 0.0 : val >= center ? 1.0 : (val - left) / (center - left)
else // Standard triangle
math.max(0.0, math.min((val - left) / (center - left), (right - val) / (right - center)))
This implementation of triangular membership functions enables the indicator to transform crisp numerical values into degrees of membership in linguistic variables like "Large Positive" or "Small Negative," creating a more nuanced representation of market conditions.
Dynamic Percentile Normalization
A critical innovation in this indicator is the implementation of percentile-based normalization for SMA deviation:
// ----- Deviation Scale Estimation using Percentile -----
// Calculate the percentile rank of the *absolute* deviation over the lookback period.
// This gives an estimate of the 'typical maximum' deviation magnitude recently.
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
// ----- Normalize the Raw Deviation -----
// Divide the raw deviation by the estimated 'typical max' magnitude.
normalized_diff = raw_diff / diff_abs_percentile
// ----- Clamp the Normalized Deviation -----
normalized_diff_clamped = math.max(-3.0, math.min(3.0, normalized_diff))
This percentile normalization approach creates a self-adapting system that automatically calibrates to different assets and market regimes. Rather than using fixed thresholds, the indicator dynamically adjusts based on recent volatility patterns, significantly enhancing signal quality across diverse market environments.
Multi-Factor Fuzzy Rule System
The indicator implements a comprehensive fuzzy rule system that evaluates multiple technical factors:
SMA Deviation (Normalized): Measures price displacement from the Simple Moving Average
Rate of Change (ROC): Captures price momentum over a specified period
Relative Strength Index (RSI): Assesses overbought/oversold conditions
These factors are processed through a sophisticated fuzzy inference system with linguistic variables:
// ----- 3.1 Fuzzy Sets for Normalized Deviation -----
diffN_LP := fuzzy_triangle(normalized_diff_clamped, 0.7, 1.5, 3.0) // Large Positive (around/above percentile)
diffN_SP := fuzzy_triangle(normalized_diff_clamped, 0.1, 0.5, 0.9) // Small Positive
diffN_NZ := fuzzy_triangle(normalized_diff_clamped, -0.2, 0.0, 0.2) // Near Zero
diffN_SN := fuzzy_triangle(normalized_diff_clamped, -0.9, -0.5, -0.1) // Small Negative
diffN_LN := fuzzy_triangle(normalized_diff_clamped, -3.0, -1.5, -0.7) // Large Negative (around/below percentile)
// ----- 3.2 Fuzzy Sets for ROC -----
roc_HN := fuzzy_triangle(roc_val, -8.0, -5.0, -2.0)
roc_WN := fuzzy_triangle(roc_val, -3.0, -1.0, -0.1)
roc_NZ := fuzzy_triangle(roc_val, -0.3, 0.0, 0.3)
roc_WP := fuzzy_triangle(roc_val, 0.1, 1.0, 3.0)
roc_HP := fuzzy_triangle(roc_val, 2.0, 5.0, 8.0)
// ----- 3.3 Fuzzy Sets for RSI -----
rsi_L := fuzzy_triangle(rsi_val, 0.0, 25.0, 40.0)
rsi_M := fuzzy_triangle(rsi_val, 35.0, 50.0, 65.0)
rsi_H := fuzzy_triangle(rsi_val, 60.0, 75.0, 100.0)
Advanced Fuzzy Inference Rules
The indicator employs a comprehensive set of fuzzy rules that encode expert knowledge about market behavior:
// --- Fuzzy Rules using Normalized Deviation (diffN_*) ---
cond1 = math.min(diffN_LP, roc_HP, math.max(rsi_M, rsi_H)) // Strong Bullish: Large pos dev, strong pos roc, rsi ok
strength_SB := math.max(strength_SB, cond1)
cond2 = math.min(diffN_SP, roc_WP, rsi_M) // Weak Bullish: Small pos dev, weak pos roc, rsi mid
strength_WB := math.max(strength_WB, cond2)
cond3 = math.min(diffN_SP, roc_NZ, rsi_H) // Weakening Bullish: Small pos dev, flat roc, rsi high
strength_N := math.max(strength_N, cond3 * 0.6) // More neutral
strength_WB := math.max(strength_WB, cond3 * 0.2) // Less weak bullish
This rule system evaluates multiple conditions simultaneously, weighting them by their degree of membership to produce a comprehensive trend assessment. The rules are designed to identify various market conditions including strong trends, weakening trends, potential reversals, and neutral consolidations.
Defuzzification Process
The final step transforms the fuzzy result back into a crisp numerical value representing the overall trend strength:
// --- Step 6: Defuzzification ---
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10 // Use small epsilon instead of != 0.0 for float comparison
fuzzyTrendScore := (strength_SB * STRONG_BULL +
strength_WB * WEAK_BULL +
strength_N * NEUTRAL +
strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1 (strong bearish) to +1 (strong bullish), providing a smooth, continuous evaluation of market conditions that avoids the abrupt signal changes common in traditional indicators.
Advanced Visualization with Rainbow Gradient
The indicator incorporates sophisticated visualization using a rainbow gradient coloring system:
// Normalize score to for gradient function
normalizedScore = na(fuzzyTrendScore) ? 0.5 : math.max(0.0, math.min(1.0, (fuzzyTrendScore + 1) / 2))
// Get the color based on gradient setting and normalized score
final_color = get_gradient(normalizedScore, gradient_type)
This color-coding system provides intuitive visual feedback, with color intensity reflecting trend strength and direction. The gradient can be customized between Red-to-Green or Red-to-Blue configurations based on user preference.
Practical Applications
The Fuzzy SMA Trend Analyzer excels in several key applications:
Trend Identification: Precisely identifies market trend direction and strength with nuanced gradation
Market Regime Detection: Distinguishes between trending markets and consolidation phases
Divergence Analysis: Highlights potential reversals when price action and fuzzy trend score diverge
Filter for Trading Systems: Provides high-quality trend filtering for other trading strategies
Risk Management: Offers early warning of potential trend weakening or reversal
Parameter Customization
The indicator offers extensive customization options:
SMA Length: Adjusts the baseline moving average period
ROC Length: Controls momentum sensitivity
RSI Length: Configures overbought/oversold sensitivity
Normalization Lookback: Determines the adaptive calculation window for percentile normalization
Percentile Rank: Sets the statistical threshold for deviation normalization
Gradient Type: Selects the preferred color scheme for visualization
These parameters enable fine-tuning to specific market conditions, trading styles, and timeframes.
Acknowledgments
The rainbow gradient visualization component draws inspiration from LuxAlgo's "Rainbow Adaptive RSI" (used under CC BY-NC-SA 4.0 license). This implementation of fuzzy logic in technical analysis builds upon Fermi estimation principles to overcome the inherent limitations of crisp binary indicators.
This indicator is shared under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Remember that past performance does not guarantee future results. Always conduct thorough testing before implementing any technical indicator in live trading.
Crypto Divergence from BTCThis script is used to indicate when price action of a crypto coin is diverging significantly from that of BTC.
Explanation of the Script:
Inputs:
roc_length: The period used for calculating the Rate of Change.
ma_length: The period used for the moving average of the ROC.
threshold: The percentage difference that indicates a divergence.
Price Data:
The script retrieves the current asset's price and Bitcoin's price.
ROC Calculation:
The ROC for both the current asset and BTC is calculated based on the defined roc_length.
Moving Averages:
Simple moving averages (SMA) of the ROC values are calculated to smooth out the data.
Divergence Detection:
The indicator checks if the current asset's ROC MA is significantly higher or lower than Bitcoin's ROC MA based on the specified threshold.
Plotting:
The script plots the ROC values and their moving averages.
It also highlights the background in green when a bullish divergence is detected (when the asset is moving up while BTC is lagging) and in red for a bearish divergence.
Leading Indicator by Parag RautBreakdown of the Leading Indicator:
Linear Regression (LRC):
A linear regression line is used to estimate the current trend direction. When the price is above or below the regression line, it indicates whether the price is deviating from its mean, signaling potential reversals.
Rate of Change (ROC):
ROC measures the momentum of the price over a set period. By using thresholds (positive or negative), we predict that the price will continue in the same direction if momentum is strong enough.
Leading Indicator Calculation:
We calculate the difference between the price and the linear regression line. This is normalized using the standard deviation of price over the same period, giving us a leading signal based on price divergence from the mean trend.
The leading indicator is used to forecast changes in price behavior by identifying when the price is either stretched too far from the mean (indicating a potential reversal) or showing strong momentum in a particular direction (predicting trend continuation).
Buy and Sell Signals:
Buy Signal: Generated when ROC is above a threshold and the leading indicator shows the price is above the regression line.
Sell Signal: Generated when ROC is below a negative threshold and the leading indicator shows the price is below the regression line.
Visual Representation:
The indicator oscillates around zero. Values above zero signal potential upward price movements, while values below zero signal potential downward movements.
Background colors highlight potential buy (green) and sell (red) areas based on our conditions.
How It Works as a Leading Indicator:
This indicator attempts to predict price movements before they happen by combining the trend (via linear regression) and momentum (via ROC).
When the price significantly diverges from the trendline and momentum supports a continuation, it signals a potential entry point (either buy or sell).
It is leading in that it anticipates price movement before it becomes fully apparent in the market.
Next Steps:
You can adjust the length of the linear regression and ROC to fine-tune the indicator’s sensitivity to your trading style.
This can be combined with other indicators or used as part of a larger strategy
Moving Average Ratio [InvestorUnknown]Overview
The "Moving Average Ratio" (MAR) indicator is a versatile tool designed for valuation, mean-reversion, and long-term trend analysis. This indicator provides multiple display modes to cater to different analytical needs, allowing traders and investors to gain deeper insights into the market dynamics.
Features
1. Moving Average Ratio (MAR):
Calculates the ratio of the chosen source (close, open, ohlc4, hl2 …) to a longer-term moving average of choice (SMA, EMA, HMA, WMA, DEMA)
Useful for identifying overbought or oversold conditions, aiding in mean-reversion strategies and valuation of assets.
For some high beta asset classes, like cryptocurrencies, you might want to use logarithmic scale for the raw MAR, below you can see the visual difference of using Linear and Logarithmic scale on BTC
2. MAR Z-Score:
Computes the Z-Score of the MAR to standardize the ratio over chosen time period, making it easier to identify extreme values relative to the historical mean.
Helps in detecting significant deviations from the mean, which can indicate potential reversal points and buying/selling opportunities
3. MAR Trend Analysis:
Uses a combination of short-term (default 1, raw MAR) and long-term moving averages of the MAR to identify trend changes.
Provides a visual representation of bullish and bearish trends based on moving average crossings.
Using Logarithmic scale can improve the visuals for some asset classes.
4. MAR Momentum:
Measures the momentum of the MAR by calculating the difference over a specified period.
Useful for detecting changes in the market momentum and potential trend reversals.
5. MAR Rate of Change (ROC):
Calculates the rate of change of the MAR to assess the speed and direction of price movements.
Helps in identifying accelerating or decelerating trends.
MAR Momentum and Rate of Change are very similar, the only difference is that the Momentum is expressed in units of the MAR change and ROC is expressed as % change of MAR over chosen time period.
Customizable Settings
General Settings:
Display Mode: Select the display mode from MAR, MAR Z-Score, MAR Trend, MAR Momentum, or MAR ROC.
Color Bars: Option to color the bars based on the current display mode.
Wait for Bar Close: Toggle to wait for the bar to close before updating the MAR value.
MAR Settings:
Length: Period for the moving average calculation.
Source: Data source for the moving average calculation.
Moving Average Type: Select the type of moving average (SMA, EMA, WMA, HMA, DEMA).
Z-Score Settings:
Z-Score Length: Period for the Z-Score calculation.
Trend Analysis Settings:
Moving Average Type: Select the type of moving average for trend analysis (SMA, EMA).
Longer Moving Average: Period for the longer moving average.
Shorter Moving Average: Period for the shorter moving average.
Momentum Settings:
Momentum Length: Period for the momentum calculation.
Rate of Change Settings:
ROC Length: Period for the rate of change calculation.
Calculation and Plotting
Moving Average Ratio (MAR):
Calculates the ratio of the price to the selected moving average type and length.
Plots the MAR with a gradient color based on its Z-Score, aiding in visual identification of extreme values.
// Moving Average Ratio (MAR)
ma_main = switch ma_main_type
"SMA" => ta.sma(src, len)
"EMA" => ta.ema(src, len)
"WMA" => ta.wma(src, len)
"HMA" => ta.hma(src, len)
"DEMA" => ta.dema(src, len)
mar = (waitforclose ? src : src) / ma_main
z_col = color.from_gradient(z, -2.5, 2.5, color.green, color.red)
plot(disp_mode.mar ? mar : na, color = z_col, histbase = 1, style = plot.style_columns)
barcolor(color_bars ? (disp_mode.mar ? (z_col) : na) : na)
MAR Z-Score:
Computes the Z-Score of the MAR and plots it with a color gradient indicating the magnitude of deviation from the mean.
// MAR Z-Score
mean = ta.sma(math.log(mar), z_len)
stdev = ta.stdev(math.log(mar),z_len)
z = (math.log(mar) - mean) / stdev
plot(disp_mode.mar_z ? z : na, color = z_col, histbase = 0, style = plot.style_columns)
plot(disp_mode.mar_z ? 1 : na, color = color.new(color.red,70))
plot(disp_mode.mar_z ? 2 : na, color = color.new(color.red,50))
plot(disp_mode.mar_z ? 3 : na, color = color.new(color.red,30))
plot(disp_mode.mar_z ? -1 : na, color = color.new(color.green,70))
plot(disp_mode.mar_z ? -2 : na, color = color.new(color.green,50))
plot(disp_mode.mar_z ? -3 : na, color = color.new(color.green,30))
barcolor(color_bars ? (disp_mode.mar_z ? (z_col) : na) : na)
MAR Trend:
Plots the MAR along with its short-term and long-term moving averages.
Uses color changes to indicate bullish or bearish trends based on moving average crossings.
// MAR Trend - Moving Average Crossing
mar_ma_long = switch ma_trend_type
"SMA" => ta.sma(mar, len_trend_long)
"EMA" => ta.ema(mar, len_trend_long)
mar_ma_short = switch ma_trend_type
"SMA" => ta.sma(mar, len_trend_short)
"EMA" => ta.ema(mar, len_trend_short)
plot(disp_mode.mar_t ? mar : na, color = mar_ma_long < mar_ma_short ? color.new(color.green,50) : color.new(color.red,50), histbase = 1, style = plot.style_columns)
plot(disp_mode.mar_t ? mar_ma_long : na, color = mar_ma_long < mar_ma_short ? color.green : color.red, linewidth = 4)
plot(disp_mode.mar_t ? mar_ma_short : na, color = mar_ma_long < mar_ma_short ? color.green : color.red, linewidth = 2)
barcolor(color_bars ? (disp_mode.mar_t ? (mar_ma_long < mar_ma_short ? color.green : color.red) : na) : na)
MAR Momentum:
Plots the momentum of the MAR, coloring the bars to indicate increasing or decreasing momentum.
// MAR Momentum
mar_mom = mar - mar
// MAR Momentum
mom_col = mar_mom > 0 ? (mar_mom > mar_mom ? color.new(color.green,0): color.new(color.green,30)) : (mar_mom < mar_mom ? color.new(color.red,0): color.new(color.red,30))
plot(disp_mode.mar_m ? mar_mom : na, color = mom_col, histbase = 0, style = plot.style_columns)
MAR Rate of Change (ROC):
Plots the ROC of the MAR, using color changes to show the direction and strength of the rate of change.
// MAR Rate of Change
mar_roc = ta.roc(mar,len_roc)
// MAR ROC
roc_col = mar_roc > 0 ? (mar_roc > mar_roc ? color.new(color.green,0): color.new(color.green,30)) : (mar_roc < mar_roc ? color.new(color.red,0): color.new(color.red,30))
plot(disp_mode.mar_r ? mar_roc : na, color = roc_col, histbase = 0, style = plot.style_columns)
Summary:
This multi-purpose indicator provides a comprehensive toolset for various trading strategies, including valuation, mean-reversion, and trend analysis. By offering multiple display modes and customizable settings, it allows users to tailor the indicator to their specific analytical needs and market conditions.
Non-Sinusoidal Multi-Layered Moving Average OscillatorThis indicator utilizes multiple moving averages (MAs) of different lengths their difference and its rate of change to provide a comprehensive view of both short-term and long-term market trends. The output signal is characterized by its non-sinusoidal nature, offering distinct advantages in trend analysis and market forecasting.
Combining the difference between two moving averages with the ROC allows to assess not only the direction and strength of the trend but also the momentum behind it. Transforming these signal in to non-sinusoidal output enhances its utility.
The indicator allows traders to select any one or more of seven moving average options. Larger timeframes (e.g., MA89/MA144) provide a broader identification of the overall trend, helping to understand the general market direction. Smaller timeframes (e.g., MA5/MA8) are more sensitive to price changes and can indicate better entry and exit points, aiding in the identification of retracements and pullbacks. By combining multiple timeframes, traders can get a comprehensive view of the market, enabling more precise and informed trading decisions.
Key Features:
Multiple Moving Averages:
The indicator calculates several exponential moving averages (EMAs) based on different lengths: MA5, MA8, MA13, MA21, MA34, MA55, MA89, and MA144.
These MAs are further smoothed using a secondary exponential moving average, with the smoothing length customizable by the user.
Percentage Differences:
The indicator computes the percentage differences between successive MAs (e.g., (MA5 - MA8) / MA8 * 100). These differences highlight the relative movement of prices over different periods, providing insights into market momentum and trend strength.
Short-term MA differences (e.g., MA5/MA8) are more sensitive to recent price changes, making them useful for detecting quick market movements.
Long-term MA differences (e.g., MA89/MA144) smooth out short-term fluctuations, helping to identify major trends.
Rate of Change (ROC):
The indicator applies the Rate of Change (ROC) to the percentage differences of the MAs. ROC measures the speed at which the percentage differences are changing over time, providing an additional layer of trend analysis.
ROC helps in understanding the acceleration or deceleration of market trends, indicating the strength and potential reversals.
Transformations:
The percentage differences undergo a series of mathematical transformations (either inverse hyperbolic sine transformation or inverse fisher transformation) to refine the signal and enhance its interpretability. These transformations include adjustments to stabilize the values and highlight significant movements.
checkbox allows users to select which mathematical transformations to use.
Non-Sinusoidal Nature:
The output signal of this indicator is non-sinusoidal, characterized by abrupt changes and distinct patterns rather than smooth, wave-like oscillations.
The non-sinusoidal signal provides clearer demarcations of trend changes and is more responsive to sudden market shifts.
This nature reduces the lag typically associated with sinusoidal indicators, allowing for more timely and accurate trading decisions.
Customizable Options:
Users can select which MA pairs to include in the analysis using checkboxes. This flexibility allows the indicator to adapt to different trading strategies, whether focused on short-term movements or long-term trends.
Visual Representation:
The indicator plots the transformed values on a separate panel, making it easy for traders to visualize the trends and potential entry or exit points.
Usage Scenarios:
Short-Term Trading: By focusing on shorter MAs (e.g., MA5/MA8), traders can capture quick market movements and identify short-term trends.
Long-Term Analysis: Utilizing longer MAs (e.g., MA89/MA144) helps in identifying major market trends.
Combination of MAs: The ability to mix different MA lengths provides a balanced view, helping traders make decisions based on both immediate price actions and overall market direction.
Practical Benefits:
Early Signal Detection: The sensitivity of short-term MAs provides early signals for potential trend changes, assisting traders in timely decision-making.
Trend Confirmation: Long-term MAs offer stable trend confirmation, reducing the likelihood of false signals in volatile markets.
Noise Reduction: The mathematical transformations and ROC applied to the percentage differences help in filtering out market noise, focusing on meaningful price movements.
Improved Responsiveness: The non-sinusoidal nature of the signal allows the indicator to react more quickly to market changes, providing more accurate and timely trading signals.
Clearer Trend Demarcations: Non-sinusoidal signals make it easier to identify distinct phases of market trends, aiding in better interpretation and decision-making.
Trend, Momentum, Volume Delta Ratings Emoji RatingsThis indicator provides a visual summary of three key market conditions - Trend, Momentum, and Volume Delta - to help traders quickly assess the current state of the market. The goal is to offer a concise, at-a-glance view of these important technical factors.
Trend (HMA): The indicator uses a Hull Moving Average (HMA) to assess the overall trend direction. If the current price is above the HMA, the trend is considered "Good" or bullish (represented by a 😀 emoji). If the price is below the HMA, the trend is "Bad" or bearish (🤮). If the price is equal to the HMA, the trend is considered "Neutral" (😐).
Momentum (ROC): The Rate of Change (ROC) is used to measure the momentum of the market. A positive ROC indicates "Good" or bullish momentum (😀), a negative ROC indicates "Bad" or bearish momentum (🤮), and a zero ROC is considered "Neutral" (😐).
Volume Delta: The indicator calculates the difference between the current trading volume and a simple moving average of the volume (Volume Delta). If the Volume Delta is above a user-defined threshold, it is considered "Good" or bullish (😀). If the Volume Delta is below the negative of the threshold, it is "Bad" or bearish (🤮). Values within the threshold are considered "Neutral" (😐).
The indicator displays these three ratings in a compact table format in the top-right corner of the chart. The table uses color-coding to quickly convey the overall market conditions - green for "Good", red for "Bad", and gray for "Neutral".
This indicator can be useful for traders who want a concise, at-a-glance view of the current market trend, momentum, and volume activity. By combining these three technical factors, traders can get a more well-rounded understanding of the market conditions and potentially identify opportunities or areas of concern more easily.
The user can customize the indicator by adjusting the lengths of the HMA, ROC, and Volume moving average, as well as the Volume Delta threshold. The colors used in the table can also be customized to suit the trader's preferences.
VIX Dashboard [NariCapitalTrading]Overview
This VIX Dashboard is designed to provide traders with a quick visual reference into the current volatility and trend direction of the market as measured by CBOE VIX. It uses statistical measures and indicators including Rate of Change (ROC), Average True Range (ATR), and simple moving averages (SMA) to analyze the VIX.
Components
ATR Period : The ATR Period is used to calculate the Average True Range. The default period set is 24.
Trend Period : This period is used for the Simple Moving Average (SMA) to determine the trend direction. The default is set to 48.
Speed Up/Down Thresholds : These thresholds are used to determine significant increases or decreases in the VIX’s rate of change, signaling potential market volatility spikes or drops. These are customizable in the input section.
VIX Data : The script fetches the closing price of the VIX from a specified source (CBOE:VIX) with a 60-minute interval.
Rate of Change (ROC) : The ROC measures the percentage change in price from one period to the next. The script uses a default period of 20. The period can be customized in the input section.
VIX ATR : This is the Average True Range of the VIX, indicating the daily volatility level.
Trend Direction : Determined by comparing the VIX data with its SMA, indicating if the trend is up, down, or neutral. The trend direction can be customized in the input section.
Dashboard Display : The script creates a table on the chart that dynamically updates with the VIX ROC, ATR, trend direction, and speed.
Calculations
VIX ROC : Calculated as * 100
VIX ATR : ATR is calculated using the 'atrPeriod' and is a measure of volatility.
Trend Direction : Compared against the SMA over 'trendPeriod'.
Trader Interpretation
High ROC Value : Indicates increasing volatility, which could signal a market turn or increased uncertainty.
High ATR Value : Suggests high volatility, often seen in turbulent market conditions.
Trend Direction : Helps in understanding the overall market sentiment and trend.
Speed Indicators : “Mooning” suggests rapid increase in volatility, whereas “Cratering” indicates a rapid decrease.
The interpretation of these indicators should be combined with other market analysis tools for best results.
Golden Transform The Golden Transform Oscillator contains multiple technical indicators and conditions for making buy and sell decisions. Here's a breakdown of its components and what it's trying to achieve:
Strategy Setup:
The GT is designed to be plotted on the chart without overlaying other indicators.
Rate of Change (ROC) Calculation:
The Rate of Change (ROC) indicator is calculated with a specified period ("Rate of Change Length").
The ROC measures the percentage change in price over the specified period.
Hull Modified TRIX Calculation:
The Hull Modified TRIX indicator is calculated with a specified period ("Hull TRIX Length").
The Hull MA (Moving Average) formula, a modified WMA, is used to calculate a modified TRIX indicator, which is a momentum oscillator.
Hull MA Calculation:
A Hull Moving Average (Hull MA) is calculated as an entry filter.
Fisher Transform Calculation:
The Fisher Transform indicator is calculated to serve as a preemptive exit filter.
It involves mathematical transformations of price data to create an oscillator that can help identify potential reversals. The Fisher Transform is further smoothed using a Hull Moving Average (HMA).
Conditions and Signals:
Long conditions are determined based on crossovers between ROC and TRIX, as well as price relative the the MA. Short conditions are inversed.
Exit Conditions:
Exit conditions are defined for both long and short positions.
For long positions, the strategy exits if ROC crosses under TRIX, or if the smoothed Fisher Transform crosses above a threshold and declines. Once again, short conditions are the inverse.
Visualization and Plotting:
The script uses background colors for entry and shapes for exits to highlight different levels and conditions for the ROC/TRIX correlation.
It plots the Fisher Transform values and a lag trigger on the chart.
Overall, this script is a complex algorithm that combines multiple technical indicators and conditions to generate trading signals and manage positions in the financial markets. It aims to identify potential entry and exit points based on the interplay of the mentioned indicators and conditions.
The Fantastic 4 - Momentum Rotation StrategyOverview
The Fantastic 4 is a tactical momentum rotation indicator. It rotates capital monthly across four carefully selected assets based on their 75-day Rate of Change (ROC), allocating only to assets with positive momentum and proportionally weighting them by their momentum strength.
This indicator tracks the strategy's historical performance, displays current allocation recommendations, and sends monthly rebalance alerts so you can easily manage your portfolio. Simply set your capital amount and the indicator shows exactly how much to invest in each asset.
Why These Four Assets?
The selection of 20-year Bonds, Gold, Russell 2000, and Emerging Markets is based on their specific volatility and decorrelation characteristics, which allow the strategy to react quickly to market shifts while providing protection during downturns.
Russell 2000 (Small Caps)
Chosen over the S&P 500 because it is more "lively" and active (Nowadays you could use also the Nasdaq). Its trends are steeper and more vertical, making it easier for a momentum indicator to catch clear trends. While the S&P 500 has more inertia, the Russell 2000 develops faster, allowing the strategy to capture gains in shorter periods.
Emerging Markets
Included because they can act like a "rocket," offering explosive growth potential while maintaining high decorrelation from developed equity markets. When emerging markets trend, they trend hard.
20-Year Bonds
Selected because they are the most decorrelated asset from equities. When a stock market crash occurs, capital typically flows into fixed income, and long-term bonds (20-year) notice this influx the most, making their price reaction more significant and easier to trade. This is the strategy's primary "safe haven."
Gold
Along with bonds, gold serves as a defensive asset providing a "shield" for the portfolio when general market conditions deteriorate. It offers additional decorrelation and crisis protection.
How the Strategy Works
The 75-Day Momentum Engine
The strategy uses a 75-day momentum lookback (roughly 3.5 months), which is considered very "agile" compared to other models like Global Equity Momentum (GEM) that use 200-day periods. This shorter window allows the strategy to:
React quickly to changes in trend
Catch upward movements in volatile assets early
Exit quickly when trends break
Monthly Rebalancing Process
At the end of each month:
Step 1: Calculate 75-day ROC for each asset
Step 2: Filter out assets with negative momentum (they receive 0% allocation)
Step 3: Distribute capital proportionally based on momentum strength
Step 4: Apply 5% minimum threshold (smaller allocations become zero)
Step 5: Apply 80% maximum cap (no single asset exceeds 80%, remainder stays in cash)
The 80% Ceiling Rule
There is an 80% investment ceiling for any single asset to prevent over-exposure. If only one asset (like bonds) has positive momentum, 80% goes to that asset and 20% remains in cash/liquidity.
Behavior in Bearish Markets
When markets turn bearish, the strategy protects capital through several mechanisms:
Automatic Risk-Off
Because the strategy only invests in assets with positive momentum, it automatically moves away from crashing equities. If an asset's trend becomes negative, the strategy stays "on the sidelines" for that asset.
The Bond Haven
During prolonged bearish periods or sudden crashes (like COVID-19), the strategy typically shifts into 20-year bonds. During the COVID-19 crash in March 2020, while global markets were collapsing, strategies like this reportedly yielded positive returns by being positioned in bonds.
Full Liquidity Option
If no assets show positive momentum, the strategy moves to 100% cash. This is rare given the decorrelation between the four assets—when equities crash, bonds and gold typically rise.
What This Indicator Does
This is a tracking and alerting tool that:
Calculates the optimal allocation based on current momentum
Shows historical monthly performance of the strategy
Simulates portfolio equity growth from your specified starting capital
Displays exact dollar amounts to invest in each asset
Sends monthly rebalance alerts with complete instructions
Detects missing data to prevent false signals
Features
Dynamic allocation table showing weights, dollar amounts, and ROC values
Monthly returns history with color-coded performance
Data availability detection with visual status indicators
Configurable alerts for rebalancing, go-to-cash, and missing data
Simulated equity curve from initial capital
Settings Guide
Assets
Configure your four ETFs. The default European ETFs are:
Asset 1 - XETR:IS04: iShares 20+ Year Treasury Bond (Bonds)
Asset 2 - XETR:GZUR: Gold ETC
Asset 3 - XETR:XRS2: Xtrackers Russell 2000 (Small Caps)
Asset 4 - XETR:XMME: Xtrackers Emerging Markets (EM)
For US markets, consider: TLT (20-year bonds), GLD (Gold), IWM (Russell 2000), EEM (Emerging Markets)
Strategy Settings
ROC Period - Momentum lookback in daily bars. Default: 75 days (~3.5 months)
Max Allocation % - Maximum weight for any single asset. Default: 80%
Min Allocation % - Threshold below which allocation becomes zero. Default: 5%
Capital
Initial Capital - Your portfolio value. The indicator calculates exact amounts for each asset based on this. Default: $20,000
Display
Table Positions - Position the allocation and history tables on screen
Months of History - How many past months to display (3-24)
Alerts
Monthly Rebalance Alert - Sends complete allocation details at month end
Go-to-Cash Alert - Alerts when all assets have negative momentum
Missing Data Alert - Warns when asset data is unavailable
How to Use
Initial Setup
Add indicator to any chart and switch to MONTHLY timeframe
Configure your four ETF tickers
Set your portfolio capital amount
Position the tables where you prefer
Setting Up Alerts
Click Alert button or press Alt+A
Set Condition to "Fanta4"
Select "Any alert() function call"
Choose notification method (Email, Push, Webhook, etc.)
Set expiration to "Open-ended"
Monthly Workflow
Receive rebalance alert at the start of each month
Alert shows exact percentages AND dollar amounts for each asset
Adjust your portfolio accordingly
No action needed during the month
Reading the Tables
Green = positive returns/momentum
Red = negative returns/momentum
Orange "N/A" = missing data
Alloc column shows weight distribution (e.g., "45/35/20/—")
Alert Message Example
Monthly alerts include:
Target month for the new allocation
Current portfolio value
Each asset's percentage AND dollar amount
Each asset's momentum (ROC) value
Cash allocation if applicable
Total return since inception
Historical Context
This strategy combines elements of:
Dual Momentum (Gary Antonacci) - Relative and absolute momentum
Global Equity Momentum (GEM) - But with shorter 75-day vs 200-day lookback
Risk parity concepts - Decorrelated asset selection
The key innovation is the specific asset selection optimized for momentum trading and the agile 75-day lookback period that allows faster reactions to trend changes.
Data Requirements
The strategy activates only when all four assets have valid price data (minimum 75 days of history). The data status row shows checkmarks for available data. Note: Some ETFs have limited history (e.g., XMME data starts June 2017).
Limitations
This is a tracking indicator, not an automated trading system
Past performance is hypothetical and does not guarantee future results
Requires all four assets to have valid data; partial allocation not supported
Monthly rebalancing may miss shorter-term momentum shifts
Transaction costs, slippage, and taxes are not included in simulation
ETF availability and liquidity vary by region
The 75-day momentum may whipsaw in choppy, trendless markets
Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice.
Version History
v1.0 - Initial release with momentum rotation, allocation tables, data validation, and monthly alerts
TradeVision Pro - Multi-Factor Analysis System═══════════════════════════════════════════════════════════════════
TRADEVISION PRO - MULTI-FACTOR ANALYSIS SYSTEM
Created by Zakaria Safri
═══════════════════════════════════════════════════════════════════
A comprehensive technical analysis tool combining multiple factors for
signal generation, trend analysis, and dynamic risk management visualization.
Designed for educational purposes to study multi-factor convergence trading
strategies across all markets and timeframes.
⚠️ IMPORTANT DISCLAIMER:
This indicator is provided for EDUCATIONAL and INFORMATIONAL purposes only.
It does NOT constitute financial advice, investment advice, or trading advice.
Past performance does not guarantee future results. Trading involves
substantial risk of loss. Always do your own research and consult a
financial advisor before making trading decisions.
🎯 KEY FEATURES
═══════════════════════════════════════════════════════════════════
✅ MULTI-FACTOR SIGNAL GENERATION
• Price Volume Trend (PVT) analysis
• Rate of Change (ROC) momentum confirmation
• Volume-Weighted Moving Average (VWMA) trend filter
• Simple Moving Average (SMA) price smoothing
• Signals only when all factors align
✅ DYNAMIC RISK VISUALIZATION (Educational Only)
• ATR-based stop loss calculation
• Risk-reward based take profit levels (1-5 targets)
• Visual lines and labels showing entry, SL, and TPs
• Automatically adapts to market volatility
• ⚠️ VISUAL REFERENCE ONLY - Does not execute trades
✅ SUPPORT & RESISTANCE DETECTION
• Automatic pivot-based level identification
• Red dashed lines for resistance zones
• Green dashed lines for support areas
• Helps identify key price levels
✅ VWMA TREND BANDS
• Volume-weighted moving average with standard deviation
• Color-changing bands (Green = Uptrend, Red = Downtrend)
• Filled band area for easy visualization
• Volume-confirmed trend strength
✅ TREND DETECTION SYSTEM
• Counting-based trend confirmation
• Three states: Up Trend, Down Trend, Ranging
• Requires threshold of consecutive bars
• Independent trend validation
✅ PRICE RANGE VISUALIZATION
• High/Low range lines showing market structure
• Filled area highlighting price volatility
• Helps identify breakout zones
✅ COMPREHENSIVE INFO TABLE
• Real-time trend status
• Last signal type (BUY/SELL)
• Entry price display
• Stop loss level
• All active take profit levels
• Clean, professional layout
✅ OPTIONAL FEATURES
• Bar coloring by trend direction
• Customizable alert notifications
• Toggle visibility for all components
• Fully configurable parameters
📊 HOW IT WORKS
═══════════════════════════════════════════════════════════════════
SIGNAL METHODOLOGY:
BUY SIGNAL generates when ALL conditions are met:
• Smoothed price > Moving Average (upward price trend)
• PVT > PVT Average (volume supporting uptrend)
• ROC > 0 (positive momentum)
• Close > VWMA (above volume-weighted average)
SELL SIGNAL generates when ALL conditions are met:
• Smoothed price < Moving Average (downward price trend)
• PVT < PVT Average (volume supporting downtrend)
• ROC < 0 (negative momentum)
• Close < VWMA (below volume-weighted average)
This multi-factor approach filters out weak signals and waits for
strong convergence before generating alerts.
RISK CALCULATION:
Stop Loss = Entry ± (ATR × SL Multiplier)
• Uses Average True Range for volatility measurement
• Automatically adjusts to market conditions
Take Profit Levels = Entry ± (Risk Distance × TP Multiplier × Level)
• Risk Distance = |Entry - Stop Loss|
• Creates risk-reward based targets
• Example: TP Multiplier 1.0 = 1:1, 2:2, 3:3 risk-reward
⚠️ NOTE: All risk levels are VISUAL REFERENCES for educational study.
They do not execute trades automatically.
⚙️ SETTINGS GUIDE
═══════════════════════════════════════════════════════════════════
SIGNAL SETTINGS:
• Signal Length (14): Main calculation period for averages
• Smooth Length (8): Price data smoothing period
• PVT Length (14): Price Volume Trend calculation period
• ROC Length (9): Rate of Change momentum period
RISK MANAGEMENT (Visual Only):
• ATR Length (14): Volatility measurement lookback
• SL Multiplier (2.2): Stop loss distance (× ATR)
• TP Multiplier (1.0): Risk-reward ratio per TP level
• TP Levels (1-5): Number of take profit targets to display
• Show TP/SL Lines: Toggle visual reference lines
SUPPORT & RESISTANCE:
• Pivot Lookback (10): Sensitivity for S/R detection
• Show SR: Toggle support/resistance lines
VWMA BANDS:
• VWMA Length (20): Volume-weighted average period
• Show Bands: Toggle band visibility
TREND DETECTION:
• Trend Threshold (5): Consecutive bars required for trend
PRICE LINES:
• Period (20): High/low calculation lookback
• Show: Toggle price range visualization
DISPLAY OPTIONS:
• Signals: Show/hide BUY/SELL labels
• Table: Show/hide information panel
• Color Bars: Enable trend-based bar coloring
ALERTS:
• Enable: Activate alert notifications for signals
💡 USAGE INSTRUCTIONS
═══════════════════════════════════════════════════════════════════
RECOMMENDED APPROACH:
• Works on all timeframes (1m to Monthly)
• Suitable for all markets (Stocks, Forex, Crypto, etc.)
• Best used with additional analysis and confirmation
• Always practice proper risk management
ENTRY STRATEGY:
1. Wait for BUY or SELL signal to appear
2. Check trend table for trend confirmation
3. Verify VWMA band color matches signal direction
4. Look for nearby support/resistance confluence
5. Consider entering on next candle open
6. Use visual SL level for risk management
EXIT STRATEGY:
1. Use TP levels as potential exit zones
2. Consider scaling out at multiple TP levels
3. Exit on opposite signal
4. Adjust stops as trade progresses
5. Account for spread and slippage
TREND TRADING:
• "Up Trend" → Focus on BUY signals
• "Down Trend" → Focus on SELL signals
• "Ranging" → Wait for clear trend or use range strategies
🎨 VISUAL ELEMENTS
═══════════════════════════════════════════════════════════════════
• GREEN VWMA BANDS → Bullish trend indication
• RED VWMA BANDS → Bearish trend indication
• ORANGE DASHED LINE → Entry price reference
• RED SOLID LINE → Stop loss level
• GREEN DOTTED LINES → Take profit targets
• RED DASHED LINES → Resistance levels
• GREEN DASHED LINES → Support levels
• GREY FILLED AREA → Price high/low range
• GREEN BUY LABEL → Long signal
• RED SELL LABEL → Short signal
• BLUE INFO TABLE → Current trade details
• GREEN/RED BARS → Trend direction (optional)
⚠️ IMPORTANT NOTES
═══════════════════════════════════════════════════════════════════
RISK WARNING:
• Trading involves substantial risk of loss
• You can lose more than your initial investment
• Past performance does not guarantee future results
• No indicator is 100% accurate
• Always use proper position sizing
• Never risk more than you can afford to lose
EDUCATIONAL PURPOSE:
• This tool is for learning and research
• Not a complete trading system
• Should be combined with other analysis
• Requires interpretation and context
• Test thoroughly before live use
• Consider consulting a financial advisor
TECHNICAL LIMITATIONS:
• Signals lag price action (all indicators lag)
• False signals occur in choppy markets
• Works better in trending conditions
• Support/resistance levels are approximate
• TP/SL levels are suggestions, not guarantees
📚 METHODOLOGY
═══════════════════════════════════════════════════════════════════
This indicator combines established technical analysis concepts:
• Price Volume Trend (PVT): Volume-weighted price momentum
• Rate of Change (ROC): Momentum measurement
• Volume-Weighted Moving Average (VWMA): Trend identification
• Average True Range (ATR): Volatility measurement (J. Welles Wilder)
• Pivot Points: Support/resistance detection
All methods are based on publicly available technical analysis
principles. No proprietary or "secret" algorithms are used.
⚖️ FULL DISCLAIMER
═══════════════════════════════════════════════════════════════════
LIABILITY:
The creator (Zakaria Safri) assumes NO liability for:
• Trading losses or damages of any kind
• Loss of capital or profits
• Incorrect signal interpretation
• Technical issues, bugs, or errors
• Any consequences of using this tool
USER RESPONSIBILITY:
By using this indicator, you acknowledge that:
• You are solely responsible for your trading decisions
• You understand the substantial risks involved
• You will not hold the creator liable for losses
• You will conduct your own research and analysis
• You may consult a licensed financial professional
• You are using this tool entirely at your own risk
AS-IS PROVISION:
This indicator is provided "AS IS" without warranty of any kind,
express or implied, including but not limited to warranties of
merchantability, fitness for a particular purpose, or non-infringement.
The creator is not a registered investment advisor, financial planner,
or broker-dealer. This tool is not approved or endorsed by any
financial authority.
📞 ABOUT THE CREATOR
═══════════════════════════════════════════════════════════════════
Created by: Zakaria Safri
Specialization: Technical analysis indicator development
Focus: Multi-factor analysis, risk visualization, trend detection
This is an educational tool designed to demonstrate technical
analysis concepts and multi-factor signal generation methods.
📋 VERSION INFO
═══════════════════════════════════════════════════════════════════
Version: 1.0
Platform: TradingView Pine Script v5
License: Mozilla Public License 2.0
Creator: Zakaria Safri
Year: 2024
═══════════════════════════════════════════════════════════════════
Study Carefully, Trade Wisely, Manage Risk Properly
TradeVision Pro - Educational Trading Tool
Created by Zakaria Safri
═══════════════════════════════════════════════════════════════════
Multi Momentum 10/21/42/63 — Histogram + 2xSMAMY MM INDICATOR INDIRED BY KARADI
It averages four rate-of-change snapshots of price, all anchored at today’s close.
If “Show as %” is on, the value is multiplied by 100.
Each term is a simple momentum/ROC over a different lookback.
Combining 10, 21, 42, 63 bars blends short, medium, and intermediate horizons into one number.
Positive MM → average upward pressure across those horizons; negative MM → average downward pressure.
Why those lengths?
They roughly stack into ~2× progression (10→21≈2×10, 21→42=2×21, 63≈1.5×42). That creates a “multi-scale” momentum that’s less noisy than a single fast ROC but more responsive than a long ROC alone.
How to read the panel
Gray histogram = raw Multi-Momentum value each bar.
SMA Fast/Slow lines (defaults 12 & 26 over the MM values) = smoothing of the histogram to show the trend of momentum itself.
Typical signals
Zero-line context:
Above 0 → bullish momentum regime on average.
Below 0 → bearish regime.
Crosses of SMA Fast & Slow: momentum trend shifts (fast above slow = improving momentum; fast below slow = deteriorating).
Histogram vs SMA lines: widening distance suggests strengthening momentum; narrowing suggests momentum is fading.
Divergences: price makes a new high/low but MM doesn’t → potential exhaustion.
Compared to a classic ROC
A single ROC(20) is very sensitive to that one window.
MM averages several windows, smoothing idiosyncrasies (e.g., a one-off spike 21 bars ago) and reducing “lookback luck.”
Settings & customization
Lookbacks (10/21/42/63): you can tweak for your asset/timeframe; the idea is to mix short→medium horizons.
Percent vs raw ratio: percent is easier to compare across symbols.
SMA lengths: shorter = more reactive but choppier; longer = smoother but slower.
Practical tips
Use regime + signal: trade longs primarily when MM>0 and fast SMA>slow SMA; consider shorts when MM<0 and fast
Small-Cap — Sell Every Spike (Rendon1) Small-Cap — Sell Every Spike v6 — Strict, No Look-Ahead
Educational use only. This is not financial advice or a signal service.
This strategy targets low/ mid-float runners (≤ ~20M) that make parabolic spikes. It shorts qualified spikes and scales out into flushes. Logic is deliberately simple and transparent to avoid curve-fit.
What the strategy does
Detects a parabolic up move using:
Fast ROC over N bars
Big range vs ATR
Volume spike vs SMA
Fresh higher high (no stale spikes)
Enters short at bar close when conditions are met (no same-bar fills).
Manages exits with ATR targets and optional % covers.
Tracks float rotation intraday (manual float input) and blocks trades above a hard limit.
Draws daily spike-high resistance from confirmed daily bars (no repaint / no look-ahead).
Timeframes & market
Designed for 1–5 minute charts.
Intended for US small-caps; turn Premarket on.
Works intraday; avoid illiquid tickers or names with constant halts.
Entry, Exit, Risk (short side)
Entry: parabolic spike (ROC + Range≥ATR×K + Vol≥SMA×K, new HH).
Optional confirmations (OFF by default to “sell every spike”): upper-wick and VWAP cross-down.
Stop: ATR stop above entry (default 1.2× ATR).
Targets: TP1 = 1.0× ATR, TP2 = 2.0× ATR + optional 10/20/30% covers.
Safety: skip trades if RVOL is low or Float Rotation exceeds your limit (default warn 5×, hard 7×).
Inputs (Balanced defaults)
Price band: $2–$10
Float Shares: set per ticker (from Finviz).
RVOL(50) ≥ 1.5×
ROC(5) ≥ 1.0%, Range ≥ 1.6× ATR, Vol ≥ 1.8× SMA
Cooldown: 10 bars; Max trades/day: 6
Optional: Require wick (≥35%) and/or Require VWAP cross-down.
Presets suggestion:
• Balanced (defaults above)
• Safer: wick+VWAP ON, Range≥1.8×, trades/day 3–4
• Micro-float (<5M): ROC 1.4–1.8%, Range≥1.9–2.2×, Vol≥2.2×, RVOL≥2.0, wick 40–50%
No look-ahead / repaint notes
Daily spike-highs use request.security(..., lookahead_off) and shifted → only closed daily bars.
Orders arm next bar after entry; entries execute at bar close.
VWAP/ATR/ROC/Vol/RVOL are computed on the chart timeframe (no HTF peeking).
How to use
Build a watchlist: Float <20M, RelVol >2, Today +20% (Finviz).
Open 1–5m chart, enter Float Shares for the ticker.
Start with Balanced, flip to Safer on halty/SSR names or repeated VWAP reclaims.
Scale out into flushes; respect the stop and rotation guard.
Limitations & risk
Backtests on small-caps can be optimistic due to slippage, spreads, halts, SSR, and limited premarket data. Always use conservative sizing. Low-float stocks can squeeze violently.
Alerts
Parabolic UP (candidate short)
SHORT Armed (conditions met; entry at bar close)
JHW Volume Based Buy and Sell MomentumThe JHW Volume-Based Buy and Sell Momentum indicator is a custom momentum oscillator designed to capture market sentiment based on volume dynamics and price rate of change (ROC). It aims to identify bullish or bearish momentum by analyzing how price reacts to increasing or decreasing trading volume.
Core Logic:
The indicator calculates the Rate of Change (ROC) of the closing price.
It then accumulates this ROC separately based on whether the current volume is lower or higher than the previous bar:
If volume decreases, the ROC is added to a "negative volume index" accumulator.
If volume increases, the ROC is added to a "positive volume index" accumulator.
These two accumulators are combined to form a net momentum line.
Smoothing:
A Simple Moving Average (SMA) is applied to both accumulators over a user-defined period (default: 25 bars).
The sum of these smoothed values forms the signal line.
Visualization:
The indicator plots:
The net momentum line (yellow).
The smoothed signal line (blue).
The area between the two lines is filled with color:
Yellow when momentum is above the signal (bullish).
Blue when momentum is below the signal (bearish).
Bar colors are also adjusted to reflect the current momentum state.
Use Case:
This indicator helps traders:
Detect volume-driven momentum shifts.
Identify potential buy or sell zones based on volume behavior.
Confirm trends or spot early reversals.






















