MIDAS VWAP Jayy his is just a bash together of two MIDAS VWAP scripts particularly AkifTokuz and drshoe.
I added the ability to show more MIDAS curves from the same script.
The algorithm primarily uses the "n" number but the date can be used for the 8th VWAP
I have not converted the script to version 3.
To find bar number go into "Chart Properties" select " "background" then select Indicator Titles and "Indicator values". When you place your cursor over a bar the first number you see adjacent to the script title is the bar number. Put that in the dialogue box midline is MIDAS VWAP . The resistance is a MIDAS VWAP using bar highs. The resistance is MIDAS VWAP using bar lows.
In most case using N will suffice. However, if you are flipping around charts inputting a specific date can be handy. In this way, you can compare the same point in time across multiple instruments eg first trading day of the year or an election date.
Adding dates into the dialogue box is a bit cumbersome so in this version, it is enabled for only one curve. I have called it VWAP and it follows the typical VWAP algorithm. (Does that make a difference? Read below re my opinion on the Difference between MIDAS VWAP and VWAP ).
I have added the ability to start from the bottom or top of the initiating bar.
In theory in a probable uptrend pick a low of a bar for a low pivot and start the MIDAS VWAP there using the support.
For a downtrend use the high pivot bar and select resistance. The way to see is to play with these values.
Difference between MIDAS VWAP and the regular VWAP
MIDAS itself as described by Levine uses a time anchored On-Balance Volume (OBV) plotted on a graph where the horizontal (abscissa) arm of the graph is cumulative volume not time. He called his VWAP curves Support/Resistance VWAP or S/R curves. These S/R curves are often referred to as "MIDAS curves".
These are the main components of the MIDAS chart. A third algorithm called the Top-Bottom Finder was also described. (Separate script).
Additional tools have been described in "MIDAS_Technical_Analysis"
Midas Technical Analysis: A VWAP Approach to Trading and Investing in Today’s Markets by Andrew Coles, David G. Hawkins
Copyright © 2011 by Andrew Coles and David G. Hawkins.
Denoting the different way in which Levine approached the calculation.
The difference between "MIDAS" VWAP and VWAP is, in my opinion, much ado about nothing. The algorithms generate identical curves albeit the MIDAS algorithm launches the curve one bar later than the VWAP algorithm which can be a pain in the neck. All of the algorithms that I looked at on Tradingview step back one bar in time to initiate the MIDAS curve. As such the plotted curves are identical to traditional VWAP assuming the initiation is from the candle/bar midpoint.
How did Levine intend the curves to be drawn?
On a reversal, he suggested the initiation of the Support and Resistance VVWAP (S/R curve) to be started after a reversal.
It is clear in his examples this happens occasionally but in many cases he initiates the so-called MIDAS S/R VWAP right at the reversal point. In any case, the algorithm is problematic if you wish to start a curve on the first bar of an IPO .
You will get nothing. That is a pain. Also in Levine's writings, he describes simply clicking on the point where a
S/R VWAP is to be drawn from. As such, the generally accepted method of initiating the curve at N-1 is a practical and sensible method. The only issue is that you cannot draw the curve from the first bar on any security, as mentioned without resorting to the typical VWAP algorithm. There is another difference. VWAP is launched from the middle of the bar (as per AlphaTrends), You can also launch from the top of the bar or the bottom (or anywhere for that matter). The calculation proceeds using the top or bottom for each new bar.
The potential applications are discussed in the MIDAS Technical Analysis book.
Komut dosyalarını "algo" için ara
Scalper - Pattern Recognition & Price Action Scalper - Pattern Recognition & Price Action Educational Indicator
**Originality and Educational Innovation**
**Why This Comprehensive Integration Merits a New Publication**
This indicator addresses a specific educational gap in technical analysis learning: **the lack of integrated pattern recognition systems that systematically combine traditional candlestick analysis with modern price action concepts in a unified confluence framework**. While individual components like moving averages, RSI, CCI, and basic candlestick patterns are well-established tools, this indicator's originality lies in its **comprehensive educational methodology** and **systematic multi-signal confluence engine**.
**Original Educational Framework:**
1. **Multi-Layer Confluence System**: Original algorithm that systematically combines 6+ different signal categories with customizable threshold requirements for educational analysis
2. **Modern Price Action Integration**: Educational implementation of Fair Value Gaps (FVG) and Order Block detection integrated with traditional pattern recognition
3. **Dynamic Support/Resistance Education**: Original strength-validated S/R system using statistical touch-count methodology rather than simple pivot points
4. **Comprehensive Pattern Library**: Educational collection combining basic and advanced candlestick patterns with mathematical validation criteria
5. **Customizable Multi-Timeframe Framework**: Educational tool allowing cross-timeframe analysis for understanding trend context
**How the Educational Components Work Together Systematically**
**Educational Layer 1 - Trend Context Understanding**: Multi-timeframe moving averages (customizable SMA/EMA/WMA/VWMA/HMA) establish directional bias for learning trend analysis
**Educational Layer 2 - Pattern Recognition Learning**: 15+ mathematically-defined candlestick patterns from basic engulfing to complex three-soldier formations demonstrate systematic pattern identification
**Educational Layer 3 - Modern Price Action Education**: Fair Value Gaps and Order Blocks teach institutional footprint recognition and market structure analysis
**Educational Layer 4 - Dynamic S/R Framework**: Strength-validated support/resistance levels demonstrate statistical validation methodology
**Educational Layer 5 - Momentum Analysis Education**: RSI and CCI extreme reversal detection teaches momentum exhaustion identification
**Educational Layer 6 - Confluence Analysis Methodology**: Original multi-signal combination system demonstrates how to systematically analyze multiple factors
This integrated educational approach provides a comprehensive framework for learning how different technical analysis concepts work together in real market conditions, addressing the common problem of studying indicators in isolation.
**Detailed Technical Implementation and Educational Methodology**
**Original Multi-Signal Confluence Algorithm**
**Educational Confluence Scoring System:**
The indicator implements an original systematic approach to signal combination:
```
Bullish Signal Categories (Educational Analysis):
- Candlestick Patterns: Strong Engulfing, Morning Star, Hammer, Three White Soldiers
- Momentum Indicators: RSI oversold exit (75→70), CCI extreme reversal (-200→-180)
- Price Action: Volume-confirmed breakouts above resistance levels
Bearish Signal Categories (Educational Analysis):
- Candlestick Patterns: Bearish Engulfing, Evening Star, Hanging Man, Three Black Crows
- Momentum Indicators: RSI overbought exit (25→30), CCI extreme reversal (200→180)
- Price Action: Volume-confirmed breakdowns below support levels
Original Confluence Calculation:
User-configurable minimum threshold (2-6 signals required)
Real-time signal counting with dynamic visual feedback
Educational labels showing current signal strength
```
**Why This Systematic Approach is Original:**
Most indicators show patterns individually without systematic combination methodology. This indicator provides an educational framework for understanding how to weight and combine different types of analysis systematically.
**Advanced Pattern Recognition with Educational Validation**
**Original Pattern Validation Methodology:**
Each pattern includes multiple educational validation criteria:
```
Strong Engulfing Educational Criteria:
- Body size > ATR (volatility filter for market significance)
- Current body > previous body (strength confirmation)
- Complete price engulfment (mathematical validation)
- Volume confirmation (market participation validation)
Morning/Evening Star Educational Framework:
- First candle: Directional (bull/bear confirmation)
- Second candle: Indecision (body < 30% of current body)
- Third candle: Reversal confirmation with penetration validation
Three Soldiers/Crows Educational Requirements:
- Three consecutive candles meeting directional criteria
- Each candle body > ATR * 0.5 (significance filter)
- Progressive price advancement (momentum validation)
```
**Modern Price Action Educational Implementation**
**Original Fair Value Gap Detection Algorithm:**
```
Educational FVG Identification:
Bullish FVG: current_low > high AND close > open AND close < open
Bearish FVG: current_high < low AND close < open AND close > open
Educational Purpose: Understanding institutional inefficiencies
Visual Education: Semi-transparent boxes showing gap zones
Practical Learning: Identifying potential reversal or continuation areas
```
**Original Order Block Educational Detection:**
```
Educational Order Block Criteria:
Bullish: Previous candle bullish AND current close > previous high AND volume > 20-period average
Bearish: Previous candle bearish AND current close < previous low AND volume > 20-period average
Educational Purpose: Recognizing institutional accumulation/distribution
Visual Education: Highlighted zones showing institutional interest
Learning Application: Understanding market structure concepts
```
**Dynamic Support/Resistance Educational System**
**Original Strength-Validation Algorithm:**
```
Educational S/R Methodology:
1. Identify recent swing highs/lows over user-defined period
2. Calculate ATR-based tolerance levels (volatility adjustment)
3. Count historical touches within tolerance (statistical validation)
4. Create levels only when touches ≥ minimum strength requirement
5. Project levels forward for future price interaction analysis
Educational Advantage over Simple Pivots:
- Statistical validation through touch counting
- Volatility-adjusted tolerance (adapts to market conditions)
- Strength-based filtering (reduces noise)
- Forward-looking projection (practical application)
```
**Comprehensive Educational Features and Customization**
**Multi-Timeframe Educational Framework**
- **MA 1**: SMA 34 with customizable timeframe (short-term trend education)
- **MA 2**: SMA 63 with customizable timeframe (medium-term trend education)
- **MA 3**: User-selectable type (SMA/EMA/WMA/VWMA/HMA) with customizable timeframe
- **MA 4**: User-selectable type for long-term trend context
- **Educational Purpose**: Understanding cross-timeframe trend analysis
**Educational Pattern Detection Parameters**
- **ATR Length**: Volatility measurement for pattern significance (default: 14)
- **Volume Validation**: Historical volume comparison for pattern confirmation
- **Mathematical Ratios**: Precise wick/body ratios for pattern classification
- **Strength Filters**: Size and volume thresholds ensuring pattern validity
**Educational Price Action Configuration**
- **FVG Detection**: Three-candle gap analysis with directional confirmation
- **Order Block Settings**: Volume threshold and visual projection length
- **S/R Parameters**: Detection period, minimum touch count, tolerance calculation
- **Educational Visualization**: Clear boxes and labels for learning identification
**Customizable Educational Dashboard**
- **Position Control**: 6 different dashboard positions for optimal viewing
- **Color Customization**: Full color control for text, backgrounds, and signals
- **Real-Time Education**: Current RSI, CCI, ATR values for learning
- **Signal Analysis**: Live bullish/bearish signal counts for confluence education
- **Educational Branding**: Clear identification as learning tool
Educational Applications and Learning Outcomes
**Progressive Learning Structure for Technical Analysis**
**Beginner Level Education:**
- Moving average trend identification across timeframes
- Basic candlestick pattern recognition with mathematical criteria
- Introduction to support/resistance concepts with visual validation
**Intermediate Level Education:**
- Multi-pattern analysis and pattern strength assessment
- RSI and CCI momentum analysis with extreme level identification
- Volume analysis integration with pattern confirmation
**Advanced Level Education:**
- Fair Value Gap theory and practical institutional analysis
- Order Block detection and market structure understanding
- Multi-signal confluence methodology and systematic signal combination
**Practical Educational Workflow**
1. **Setup Phase**: Configure moving averages for chosen timeframes and enable desired patterns
2. **Context Analysis**: Study trend direction using multi-timeframe MA alignment
3. **Pattern Study**: Identify candlestick formations meeting mathematical validation criteria
4. **Price Action Learning**: Analyze FVG and Order Block formations for institutional insight
5. **Confluence Education**: Count and analyze multiple signal types for probability assessment
6. **Real-Time Practice**: Use dashboard for ongoing market analysis and signal tracking
**Educational Risk Management Concepts**
- **Pattern Reliability Understanding**: Learning which patterns have higher success rates
- **Signal Strength Analysis**: Understanding how confluence affects probability
- **Market Context Education**: Learning when patterns are most/least reliable
- **Systematic Analysis**: Developing consistent methodology for market evaluation
**Technical Requirements and Optimization**
**Performance Optimization for Education**
- **Visual Element Limits**: 500 maximum boxes, lines, and labels for stable performance
- **Efficient Calculations**: S/R updates every 10 bars for smooth operation
- **Memory Management**: Proper array management for dynamic level storage
- **Clean Interface**: Organized input groups for easy educational navigation
**Educational Visualization Standards**
- **Color-Coded Learning**: Consistent color scheme for pattern identification
- **Clear Labeling**: Educational text labels for all major patterns and signals
- **Professional Layout**: Organized visual hierarchy for systematic learning
- **Customizable Display**: User control over visual elements and positioning
**Educational Disclaimers and Learning Focus**
**Educational Purpose Statement**
This indicator is designed as a comprehensive educational tool for learning technical analysis concepts. It demonstrates how traditional candlestick analysis, modern price action concepts, and systematic confluence methodology can be integrated for educational purposes.
**Learning Tool Disclaimer**
The indicator provides an educational framework for studying:
- Traditional and modern technical analysis integration
- Systematic pattern recognition methodology
- Multi-signal confluence analysis techniques
- Price action and market structure principles
- Statistical validation approaches for support/resistance
**Risk Education and Understanding**
Technical analysis education requires understanding that:
- Patterns and indicators show historical relationships, not future guarantees
- Confluence analysis increases probability understanding but not certainty
- Educational study should focus on methodology rather than signal generation
- Proper risk management principles must be learned alongside technical analysis
- Real market conditions may differ from educational examples
**Systematic Learning Approach**
This educational tool emphasizes:
- **Methodology over Signals**: Focus on learning systematic analysis approaches
- **Understanding over Automation**: Developing analytical skills rather than relying on automated signals
- **Education over Trading**: Comprehensive learning framework for technical analysis concepts
- **Progressive Development**: Building skills systematically from basic to advanced concepts
**Technical Documentation and Implementation**
**Original Algorithm Documentation**
All custom algorithms are documented for educational transparency:
- Pattern detection mathematics with specific criteria
- Confluence scoring methodology with threshold requirements
- Support/resistance validation with statistical touch counting
- Price action detection with institutional footprint identification
**Educational Code Structure**
- **Comprehensive Comments**: Every section includes educational purpose explanation
- **Version Tracking**: Clear version documentation for educational development
- **Performance Notes**: Optimization techniques explained for learning
- **Customization Guidance**: Clear parameter explanation for educational experimentation
---
**Educational Innovation Summary:**
This implementation represents an original approach to technical analysis education, systematically combining traditional pattern recognition with modern price action concepts in an integrated confluence framework. The educational methodology addresses common learning gaps by providing systematic approaches to multi-signal analysis, statistical validation, and institutional footprint recognition.
**Learning Value:**
The comprehensive educational framework eliminates the need to study multiple separate indicators by providing an integrated learning platform that demonstrates how different technical analysis concepts work together systematically in real market conditions.
**Educational Commitment:**
This indicator prioritizes education and systematic learning over simple signal generation, providing traders with the analytical framework needed to develop comprehensive technical analysis skills through hands-on practice and systematic methodology development.
Sniper Divergence M.AtaogluSNIPER DIVERGENCE PRO - ADVANCED MULTI-TIMEFRAME DIVERGENCE DETECTOR
DESCRIPTION:
Sniper Divergence Pro is a sophisticated technical analysis indicator that combines RSI-based calculations with fractal analysis to detect both regular and hidden divergences across multiple timeframes. This advanced tool provides traders with precise entry and exit signals through its innovative Sniper algorithm and comprehensive visual feedback system.
KEY FEATURES:
1. SNIPER ALGORITHM:
- Custom RSI-based oscillator with fractal peak/valley detection
- Uses Relative Moving Average (RMA) for smooth signal generation
- Calculates momentum changes with mathematical precision
- Provides real-time divergence analysis with minimal lag
2. DIVERGENCE DETECTION:
- Regular Bullish Divergence: Price makes lower lows while indicator makes higher lows
- Regular Bearish Divergence: Price makes higher highs while indicator makes lower highs
- Hidden Bullish Divergence: Price makes higher lows while indicator makes lower lows
- Hidden Bearish Divergence: Price makes lower highs while indicator makes higher highs
- Configurable sensitivity levels for both bullish and bearish signals
3. MULTI-TIMEFRAME ANALYSIS:
- Simultaneous analysis across 6 timeframes: 15m, 45m, 4h, 1D, 1W, 1M
- Real-time signal tracking with "bars ago" information
- Comprehensive signal table showing current status across all timeframes
- Sniper value display for each timeframe for trend confirmation
4. VISUAL ENHANCEMENTS:
- Neon color scheme optimized for dark themes
- Dynamic color-coded Sniper line based on market conditions
- Background fill areas for overbought/oversold zones
- Peak and valley point markers for fractal analysis
- Horizontal reference lines with clear level indicators
5. ALERT SYSTEM:
- Four distinct alert conditions for different signal types
- Real-time notification system for immediate signal detection
- Professional-grade alert messages for trading automation
TECHNICAL SPECIFICATIONS:
CALCULATION METHOD:
The indicator uses a modified RSI calculation with fractal analysis:
- Source: Close price (configurable)
- Period: 21 (default, adjustable 1-1000)
- Algorithm: RMA-based momentum calculation with fractal peak/valley detection
- Divergence Logic: Price vs. indicator comparison using fractal points
SIGNAL LEVELS:
- Super Buy Zone: 0-12 (Strong bullish momentum)
- Strong Buy Zone: 12-20 (Moderate bullish momentum)
- Neutral Lower: 20-30 (Weak bullish to neutral)
- Neutral Upper: 30-40 (Weak bearish to neutral)
- Strong Sell Zone: 40-50 (Moderate bearish momentum)
- Super Sell Zone: 50+ (Strong bearish momentum)
DIVERGENCE SETTINGS:
- Bullish Divergence Level: 12 (Minimum level for detection)
- Bearish Divergence Level: 35 (Maximum level for detection)
- Hidden Divergence: Enabled by default for professional signals
USAGE INSTRUCTIONS:
1. BASIC SETUP:
- Apply to any chart timeframe
- Default settings work well for most markets
- Adjust RSI period for different market conditions
2. SIGNAL INTERPRETATION:
- Green triangles: Bullish divergence signals (buy opportunities)
- Red triangles: Bearish divergence signals (sell opportunities)
- X-cross symbols: Hidden divergence signals (stronger signals)
- Circle markers: Fractal peak/valley points
3. MULTI-TIMEFRAME CONFIRMATION:
- Enable signal table for comprehensive analysis
- Look for signal alignment across multiple timeframes
- Use "NOW" indicators for current signal detection
- Monitor Sniper values for trend confirmation
4. RISK MANAGEMENT:
- Use divergences as confirmation, not standalone signals
- Combine with other technical analysis tools
- Set appropriate stop-loss levels
- Consider market context and volatility
ADVANTAGES:
1. ACCURACY: Fractal-based detection reduces false signals
2. VERSATILITY: Works across all market types and timeframes
3. VISIBILITY: Clear visual feedback with neon color scheme
4. COMPREHENSIVE: Multi-timeframe analysis in single indicator
5. PROFESSIONAL: Advanced algorithms suitable for serious traders
6. CUSTOMIZABLE: Extensive parameter adjustment options
LIMITATIONS:
1. LAG: Higher RSI periods may introduce signal delay
2. FALSE SIGNALS: Market noise can generate occasional false positives
3. CONTEXT DEPENDENT: Requires market condition consideration
4. LEARNING CURVE: Advanced features require understanding
RECOMMENDED MARKETS:
- Forex pairs (all timeframes)
- Cryptocurrencies (4h and daily preferred)
- Stock indices (daily and weekly)
- Commodities (4h and daily)
RISK DISCLAIMER:
This indicator is for educational and informational purposes only. Past performance does not guarantee future results. Always conduct your own analysis and use proper risk management. Trading involves substantial risk of loss and is not suitable for all investors.
TECHNICAL REQUIREMENTS:
- TradingView Pro or higher recommended
- Pine Script v6 compatible
- Stable internet connection for real-time data
- Sufficient chart history for accurate calculations
This indicator represents a significant advancement in divergence detection technology, combining traditional RSI concepts with modern fractal analysis to provide traders with a comprehensive tool for identifying high-probability trading opportunities across multiple timeframes.
Multi-Timeframe Wolfe Wave StrategyThis invite-only strategy implements an advanced multi-timeframe Wolfe Wave pattern recognition system specifically designed for institutional-grade algorithmic trading environments.
**Core Mathematical Framework:**
The strategy employs sophisticated mathematical calculations across 10 distinct timeframes (377, 233, 144, 89, 55, 34, 21, 13, 8, 5 periods), utilizing Elliott Wave ratio theory combined with proprietary algorithmic enhancements. Unlike standard Wolfe Wave implementations that rely on visual pattern recognition, this system uses quantitative analysis to identify precise entry and exit points.
**Technical Implementation:**
• **Pattern Detection Algorithm:** Calculates price relationships using configurable ratio sets including Fibonacci sequences, Elliott Wave ratios, Golden Ratio, Harmonic Patterns, Pi-based calculations, and custom mathematical progressions
• **Multi-Timeframe Confluence:** Simultaneously analyzes patterns across all timeframes to ensure signal reliability and reduce false positives
• **Dynamic Target Calculation:** Employs advanced mathematical modeling to project optimal profit targets based on historical price behavior and pattern completion theory
• **Risk Management Engine:** Implements position-based stop losses calculated as percentages of target profits, with liquidation price monitoring for leveraged positions
**Originality and Innovation:**
This implementation differs significantly from traditional Wolfe Wave indicators through several key innovations:
1. **Algorithmic Pattern Validation:** Uses mathematical confirmation across multiple timeframes rather than subjective visual analysis
2. **Adaptive Ratio Selection:** Offers 24 different ratio calculation methods, allowing optimization for various market conditions
3. **Institutional Integration:** Features comprehensive webhook messaging for automated execution via external trading systems
4. **Advanced Position Management:** Includes sophisticated position sizing controls with maximum concurrent position limits
**Strategy Logic:**
For bullish conditions, the algorithm identifies when price action meets specific mathematical criteria:
- Point validation through ratio analysis between swing highs/lows
- Confluence confirmation across multiple timeframes
- Minimum profit threshold filtering to ensure trade quality
- Dynamic stop-loss positioning based on pattern geometry
The mathematical approach uses proprietary calculations that extend beyond traditional Fibonacci levels, incorporating elements from chaos theory, fractal geometry, and advanced statistical analysis.
**Risk Management Features:**
• Configurable stop-loss percentages relative to profit targets
• Maximum position limits to control portfolio exposure
• Liquidation price monitoring for margin trading
• Time-based filtering options for market session control
• Minimum profit threshold settings to filter low-quality signals
**Intended Markets and Conditions:**
Optimized for cryptocurrency markets with high volatility and sufficient liquidity. Works effectively in trending and ranging market conditions due to its multi-timeframe approach. Best suited for assets with clear swing structure and adequate price movement.
**Performance Characteristics:**
The strategy is designed for active trading with frequent position entries across multiple timeframes. Position holding periods vary from short-term scalping to medium-term swing trading depending on pattern completion timeframes.
**Technical Requirements:**
Requires understanding of advanced pattern recognition theory, risk management principles, and algorithmic trading concepts. Users should be familiar with Wolfe Wave methodology and Elliott Wave theory fundamentals.
Trend Following Strategy with KNN
### 1. Strategy Features
This strategy combines the K-Nearest Neighbors (KNN) algorithm with a trend-following strategy to predict future price movements by analyzing historical price data. Here are the main features of the strategy:
1. **Dynamic Parameter Adjustment**: Uses the KNN algorithm to dynamically adjust parameters of the trend-following strategy, such as moving average length and channel length, to adapt to market changes.
2. **Trend Following**: Captures market trends using moving averages and price channels to generate buy and sell signals.
3. **Multi-Factor Analysis**: Combines the KNN algorithm with moving averages to comprehensively analyze the impact of multiple factors, improving the accuracy of trading signals.
4. **High Adaptability**: Automatically adjusts parameters using the KNN algorithm, allowing the strategy to adapt to different market environments and asset types.
### 2. Simple Introduction to the KNN Algorithm
The K-Nearest Neighbors (KNN) algorithm is a simple and intuitive machine learning algorithm primarily used for classification and regression problems. Here are the basic concepts of the KNN algorithm:
1. **Non-Parametric Model**: KNN is a non-parametric algorithm, meaning it does not make any assumptions about the data distribution. Instead, it directly uses training data for predictions.
2. **Instance-Based Learning**: KNN is an instance-based learning method that uses training data directly for predictions, rather than generating a model through a training process.
3. **Distance Metrics**: The core of the KNN algorithm is calculating the distance between data points. Common distance metrics include Euclidean distance, Manhattan distance, and Minkowski distance.
4. **Neighbor Selection**: For each test data point, the KNN algorithm finds the K nearest neighbors in the training dataset.
5. **Classification and Regression**: In classification problems, KNN determines the class of a test data point through a voting mechanism. In regression problems, KNN predicts the value of a test data point by calculating the average of the K nearest neighbors.
### 3. Applications of the KNN Algorithm in Quantitative Trading Strategies
The KNN algorithm can be applied to various quantitative trading strategies. Here are some common use cases:
1. **Trend-Following Strategies**: KNN can be used to identify market trends, helping traders capture the beginning and end of trends.
2. **Mean Reversion Strategies**: In mean reversion strategies, KNN can be used to identify price deviations from the mean.
3. **Arbitrage Strategies**: In arbitrage strategies, KNN can be used to identify price discrepancies between different markets or assets.
4. **High-Frequency Trading Strategies**: In high-frequency trading strategies, KNN can be used to quickly identify market anomalies, such as price spikes or volume anomalies.
5. **Event-Driven Strategies**: In event-driven strategies, KNN can be used to identify the impact of market events.
6. **Multi-Factor Strategies**: In multi-factor strategies, KNN can be used to comprehensively analyze the impact of multiple factors.
### 4. Final Considerations
1. **Computational Efficiency**: The KNN algorithm may face computational efficiency issues with large datasets, especially in real-time trading. Optimize the code to reduce access to historical data and improve computational efficiency.
2. **Parameter Selection**: The choice of K value significantly affects the performance of the KNN algorithm. Use cross-validation or other methods to select the optimal K value.
3. **Data Standardization**: KNN is sensitive to data standardization and feature selection. Standardize the data to ensure equal weighting of different features.
4. **Noisy Data**: KNN is sensitive to noisy data, which can lead to overfitting. Preprocess the data to remove noise.
5. **Market Environment**: The effectiveness of the KNN algorithm may be influenced by market conditions. Combine it with other technical indicators and fundamental analysis to enhance the robustness of the strategy.
[Pandora] Error Function Treasure Trove - ERF/ERFI/Sigmoids+PRAISE:
At this time, I have to graciously thank the wonderful minds behind the new "Pine Profiler Mode" (PPM). Directly prior to this release, it allowed me to ascertain script performance even more. While I usually write mostly in highly optimized Pine code, PPM visually identified a few bottlenecks that would otherwise be hard to identify. Anyone who contributed to PPMs creation and testing before release... BRAVO!!! I commend all of those who assisted in it's state-of-the-art engineering and inception, well done!
BACKSTORY:
This script is specifically being released in defense of another member, an exceptionally unique PhD. It was brought to my attention that a script-mod-event occurred, regarding the publishing of a measly antiquated error function (ERF) calculation within his script. This sadly resulted in the now former member jumping ship after receiving unmannerly responses amidst his curious inquiries as to why his erf() was modded. To forbid rusty and rudimentary formulations because a mod-on-duty is temporally offended by a non-nefarious release of code, is in MY opinion an injustice to principles of perpetuating open-source code intended to benefit thousands to millions of community members. While Pine is the heart and soul of TV, the mathematical concepts contributed from the minds of members is the inspirational fuel of curiosity that powers it's pertinent reason to exist and evolve.
It is an indisputable fact that most members are not greatly skilled Pine Poets. Many members may be incapable of innovating robust function code in Pine, even if they have one or more PhDs. We ALL come from various disciplines of mathematical comprehension and education. Some mathematicians are not greatly skilled at coding, while some coders are not exceptional at math. So... what am I to do to attempt to resolve this circumstantial challenge??? Those who know me best are aware that I will always side with "the right side of history" in order to accomplish my primary self-defined missions I choose to accept. Serving as an algorithmic advocate, I felt compelled to intercede by compiling numerous error functions into elegant code of very high caliber that any and every TV member may choose to employ, so this ERROR never happens again.
After weeks of contemplation into algorithms I knew little about, I prioritized myself to resolve an unanticipated matter by creating advanced formulas of exquisitely crafted error functions refined to the best of my current abilities. My aversion for unresolved problems motivated me to eviscerate error function insufficiencies with many more rigid formulations beyond what is thought to exist. ERF needed a proper algorithmic exorcism anyways. In my furiosity, I contemplated an array of madMAXimum diplomatic demolition methods, choosing the chain saw massacre technique to slaughter dysfunctionalities I encountered on a battered ERF roadway. This resulted in prolific solutions that should assuredly endure the test of time. Poetically, as you will come to see, I am ripping the lid off of Pandora's box of error functions in this case to correct wrongs into a splendid bundle of rights for members.
INTENTION:
Error function (ERF) enthusiasts... PREPARE FOR GLORY!! The specific purpose of this script is to deprecate classic error functions with the creation of a fierce and formidable army of superior formulations, each having varying attributes of computational complexity with differing absolute error ranges in their results for multiple compute scenarios. This is NOT an indicator... It is intended to allow members to embark on endeavors to advance the profound knowledge base of this growing worldwide community of 60+ million inquisitive minds. For those of you who believe computational mathematics and statistics is near completion at its finest; I am here to inform you, this is ridiculous to ponder. We are no where near statistical excellence that can and will exist eventually. At this time, metaphorically speaking, we are merely scratching microns off of the surface of the skin of a statistical apple Isaac Newton once pondered.
THIS RELEASE:
Following weeks of pondering methodical experiments beyond the ordinary, I am liberating these wild notions of my error function explorations to the entire globe as copyleft code, not just Pine. This Pandora's basket of ERFs is being openly disclosed for the sake of the sanctity of mathematics, empirical science (not the garbage we are told by CONTROLocrats to blindly trust), revolutionary cutting edge engineering, cosmology, physics, information technology, artificial intelligence, and EVERY other mathematical branch of human knowledge being discovered over centuries. I do believe James Glaisher would favor my aims concerning ERF aspirations embracing the "Power of Pine".
The included functions are intended for TV members to use in any way they see fit. This is a gift to ALL members to foster future innovative excellence on this platform. Any attempt to moderate this code without notification of "self-evident clear and just cause" will be considered an irrevocable egregious action. The original foundational PURPOSE of establishing script moderation (I clearly remember) was primarily to maintain active vigilance over a growing community against intentional nefarious actions and/or behaviors in blatant disrespect to other author's works AND also thwart rampant copypasting bandit operations, all while accommodating balanced principles of fairness for an educational community cause via open source publishing that should support future algorithmic inventions well beyond my lifespan.
APPLICATIONS:
The related error functions are used in probability theory, statistics, and numerous and engineering scientific disciplines. Its key characteristics and applications are innumerable in computational realms. Its versatility and significance make it a fundamental tool in arenas of quantitative analysis and scientific research...
Probability Theory - Is widely used in probability theory to calculate probabilities and quantiles of the normal distribution.
Statistics - It's related to the Gaussian integral and plays a crucial role in statistics, especially in hypothesis testing and confidence interval calculations.
Physics - In physics, it arises in the study of diffusion equations, quantum mechanics, and heat conduction problems.
Engineering - Applications exist in engineering disciplines such as signal processing, control theory, and telecommunications.
Error Analysis - It's employed in error analysis and uncertainty quantification.
Numeric Approximations - Due to its lack of a closed-form expression, numerical methods are often employed to approximate erf/erfi().
AI, LLMs, & MACHINE LEARNING:
The error function (ERF) is indispensable to various AI applications, particularly due to its relation to Gaussian distributions and error analysis. It is used in Gaussian processes for regression and classification, probabilistic inference for Bayesian networks, soft margin computation in SVMs, neural networks involving Gaussian activation functions or noise, and clustering algorithms like Gaussian Mixture Models. Improved ERF approximations can enhance precision in these applications, reduce computational complexity, handle outliers and noise better, and improve optimization and convergence, possibly leading to more accurate, efficient, and robust AI systems.
BONUS ALGORITHMS:
While ERFs are versatile, its opposite also exists in the form of inverse error functions (ERFIs). I have also included a modified form of the inverse fisher transform along side MY sigmoid (sigmyod). I am uncertain what sigmyod() may be used for, but it's a culmination of my examinations deep into "sigmoid domains", something I am fascinated by. Whatever implications it may possess, I am unveiling it along with it's cousin functions. For curious minds, this quality of composition seen here is ideally what underlies what I would term "Pandora functionality" that empowers my Pandora indication. I go through hordes of formulations, testing, and inspection to find what appears to be the most beneficial logical/mathematical equation to apply...
SCRIPT OPERATION:
To showcase the characteristics and performance of my ERF/ERFI formulations, I devised a multi-modal script. By using bar_index , I generated a broad sequence of numeric values to input into the first ERF/ERFI parameter. These sequences allow you to inspect the contours of the error function's outputs for both ERF and ERFI. When combined with compute-intensive precision functions (CIPFs), the polynomial function output values can be subtracted from my CIPFs to obtain results of absolute error, displaying the accuracy of the many polynomial estimation functions I tuned in testing for Pine's float environment.
A host of numeric input settings are wildly adjustable to inspect values/curvatures across the range of numeric input sequences. Very large numbers, such as Divisor:100,000,100/Offset:200,000,000 for ERF modes or... Divisor:100,000,100/Offset:100,000,000 for ERFI modes, will display miniscule output values calculated from input values in close proximity to 0.0 for the various estimates, similar to a microscope. ERFI approximations very near in proximity to +/-1.0 will always yield large deviations of absolute error. Dragging/zooming your chart or using the Offset input will aid with visually clipping off those ERFI extremes where float precision functions cannot suffice.
NOTICE:
perf() and perfi() are intended for precision computation (as good as it basically gets) in a float environment. However, they are CPU intensive (especially perfi). I wouldn't recommend these being used in ANY Pine script unless it's an "absolute necessity" to do so to accomplish your goal. I only built them to obtain "absolute error curvatures" of the error functions for the polynomial approximations. These are visible in the accuracy modes in the indicator Settings.
Ocs Ai TraderThis script perform predictive analytics from a virtual trader perspective!
It acts as an AI Trade Assistant that helps you decide the optimal times to buy or sell securities, providing you with precise target prices and stop-loss level to optimise your gains and manage risk effectively.
System Components
The trading system is built on 4 fundamental layers :
Time series Processing layer
Signal Processing layer
Machine Learning
Virtual Trade Emulator
Time series Processing layer
This is first component responsible for handling and processing real-time and historical time series data.
In this layer Signals are extracted from
averages such as : volume price mean, adaptive moving average
Estimates such as : relative strength stochastics estimates on supertrend
Signal Processing layer
This second layer processes signals from previous layer using sensitivity filter comprising of an Probability Distribution Confidence Filter
The main purpose here is to predict the trend of the underlying, by converging price, volume signals and deltas over a dominant cycle as dimensions and generate signals of action.
Key terms
Dominant cycle is a time cycle that has a greater influence on the overall behaviour of a system than other cycles.
The system uses Ehlers method to calculate Dominant Cycle/ Period.
Dominant cycle is used to determine the influencing period for the underlying.
Once the dominant cycle/ period is identified, it is treated as a dynamic length for considering further calculations
Predictive Adaptive Filter to generate Signals and define Targets and Stops
An adaptive filter is a system with a linear filter that has a transfer function controlled by variable parameters and a means to adjust those parameters according to an optimisation algorithm. Because of the complexity of the optimisation algorithms, almost all adaptive filters are digital filters. Thus Helping us classify our intent either long side or short side
The indicator use Adaptive Least mean square algorithm, for convergence of the filtered signals into a category of intents, (either buy or sell)
Machine Learning
The third layer of the System performs classifications using KNN K-Nearest Neighbour is one of the simplest Machine Learning algorithms based on Supervised Learning technique.
K-NN algorithm assumes the similarity between the new case/data and available cases and put the new case into the category that is most similar to the available categories.
K-NN algorithm stores all the available data and classifies a new data point based on the similarity. This means when new data appears then it can be easily classified into a well suite category by using K- NN algorithm. K-NN algorithm can be used for Regression as well as for Classification but mostly it is used for the Classification problems.
Virtual Trade Emulator
In this last and fourth layer a trade assistant is coded using trade emulation techniques and the Lines and Labels for Buy / Sell Signals, Targets and Stop are forecasted!
How to use
The system generates Buy and Sell alerts and plots it on charts
Buy signal
Buy signal constitutes of three targets {namely T1, T2, T3} and one stop level
Sell signal
Sell signal constitutes of three targets {namely T1, T2, T3} and one stop level
What Securities will it work upon ?
Volume Informations must be present for the applied security
The indicator works on every liquid security : stocks, future, forex, crypto, options, commodities
What TimeFrames To Use ?
You can use any Timeframe, The indicator is Adaptive in Nature,
I personally use timeframes such as : 1m, 5m 10m, 15m, ..... 1D, 1W
This Script Uses Tradingview Premium features for working on lower timeframes
In case if you are not a Tradingview premium subscriber you should tell the script that after applying on chart, this can be done by going to settings and unchecking "Is your Tradingview Subscription Premium or Above " Option
How To Get Access ?
You will need to privately message me for access mentioning you want access to "Ocs Ai Trader" Use comment box only for constructive comments. Thanks !
Bist Manipulation [Projeadam]
OVERVIEW | GENEL BAKIŞ
ENG: Indicator that detects manipulation candles according to changing market conditions.
TR: Değişen piyasa koşullarına göre manipülasyon mumlarını tespit eden gösterge.
ENG: IMPORTANT NOTE: This indicator works in BIST Market and only in Future Parities.
Example ->> PETKM1! --SASA1!
TR: ÖNEMLİ NOT: Bu indikatör BİST Piyasasında ve sadece Future Paritelerde Çalışır.
Örnek- >> PETKM1! -- SASA1!
ENG: Market makers manipulate the market because most people who trade on the stock exchange act with their emotions and are forced to close the transaction at a loss.
TR: Piyasada market yapıcı oluşumlar manipülasyon yaparlar çünkü borsada işlem alan insanların birçoğu duygularıyla hareket eder ve zararla işlem kapatılmaya zorlanır.
ENG: If we detect manipulation candles in the market, we can control our fragile psychology and close our transactions in profit by trading with market-making formations in these areas.
TR: Marketde manipülasyon mumlarını tespit edersek kırılgan psikolojimizi kontrol edebilir ve bu alanlardan market yapıcı oluşumlarla beraber işlem alarak işlemlerimizi karda kapatabiliriz.
ALGORITHM | ALGORİTMA
ENG: With the help of this indicator, you can detect manipulation candles in the BIST exchange with the help of the algorithm I created by using volumetric data and wicks created by the price.
When there is excessive volatility in price movement, the algorithm in this indicator notices this price volatility and calculates a manipulation value by dividing it by the volatility value in past price movements.
TR: Bu indikatör yardımıyla hacimsel veriler ve fiyatın oluşturduğu fitillerden yararlanarak oluşturduğum algoritma yardımıyla siz de BİST borsasında manipülasyon mumlarını tespit edebilirsiniz.
Fiyat hareketinde aşırı derece oynaklık olduğunda bu indikatördeki algoritma bu fiyat oynaklığını fark eder ve geçmiş fiyat hareketlerindeki oylanklık degerine bölerek bize bir manipülasyon degeri hesaplar.
How does the indicator work? | Gösterge nasıl çalışır?
ENG: The manipulation candle does not give us information about the direction of price movement, it is only used as an auxiliary indicator.
TR: Manipülasyon mumu bize fiyat hareketinin yönü hakkında bilgi vermez sadece yardımcı bir gösterge olarak kullanılır.
ENG: We show our manipulation values as columns. We draw a channel over the values we show and we understand that there is manipulation in the candle of our values above this channel.
TR: Manipülasyon degerlerimiz kolonlar şeklinde gösteriyoruz. Gösterdiğimiz değerlerimizin üzerine bir kanal çizdiriyoruz ve bu kanalın üzerinde kalan değerlerimizdeki mumda manipülasyon yapıldığını anlıyoruz.
ENG: The indicator shows the manipulation value in the form of columns. Our manipulation value that goes outside the channel we have determined is colored red, within the channel it is colored yellow, and below the channel it is colored green. Red columns indicate candles that are manipulations.
TR: İndikatör manipülasyon degerini kolonlar şeklinde gösteriyor. Bizim belirlediğimiz kanal dışına çıkan manipülasyon degerimiz kırmızı, kanal içerisinde sarı, kanal altında yeşil olarak renklendiriliyor. Kırmızı kolonlar manipülasyon olan mumları göstermektedir.
Example | Örnek
ENG: In our example above, we see a manipulation candle that clears the price gaps, while the market maker clears the orders in the price gaps at the bottom to move the price up.
TR: Yukarıdaki örneğimizde oluşan fiyat boşluklarını temizleyen bir manipülasyon mumu görmekteyiz, alt kısımdaki fiyat boşluklarındaki emirleri temizleyen market maker fiyatı yukarı taşımak için buradaki emirleri temizliyor.
SETTINGS PANEL | AYARLAR PANELİ
ENG: We have only one setting in this indicator.
TR: Bu indikatörde tek ayarımız vardır.
ENG: Our multiplier value determines the width of the band value formed above our manipulation value. In the chart above, our multiplier value is 3.3. If we reduce our multiplier value, our manipulation sensitivity will decrease as there will be much more candles on the band.
TR: Çarpan değerimiz manipülasyon değerimizin üstünde oluşşan band değerinin genişliğini belirlemektedir.Yukarıdaki grafikte çarpan değerimiz 3.3, Eğer çarpan değerimizi azaltırsak band üstünde çok daha fazla mum olacağı için manipülasyon hassasiyetimiz azalacaktır.
ENG: When we set our multiplier value to 2.3, we have a more sensitive manipulation skin and it gives signals in more candles.
TR: Çarpan değerimizi 2.3 yapınca daha hassas manipülasyon derimiz oluyor ve daha fazla mumda sinyal veriyor.
If you have any ideas what to add to my work to add more sources or make calculations cooler, suggest in DM .
Fusion: Machine Learning SuiteThe Fusion: Machine Learning Suite combines multiple technical analysis dimensions and harnesses the predictive power of machine learning, seamlessly integrating a diverse array of classic and novel indicators to deliver precision, adaptability, and innovation.
Features and Capabilities
Multidimensional Analysis: Fusion: MLS integrates various technical analysis dimensions to offer a more comprehensive perspective.
Machine Learning Integration: Utilizing ML algorithms, Fusion: MLS offers adaptability to market changes.
Custom Indicators: Including dimensions like "Moon Lander", "Cap Line" and "Z-Pack" the indicator expands the scope of traditional technical analysis methods.
Tailored Customization: With customization options, Fusion: MLS allows traders to configure the tool to suit their specific strategies and market focus.
In the following sections, we'll explore the features and settings of Fusion: MLS in detail, providing insights into how it can be utilized.
Major Features and Settings
The indicator consists of several core components and settings, each designed to provide specific functionalities and insights. Here's an in-depth look:
Machine Learning Component
Distance Classifier: A Strategic Approach to Market Analysis
In the world of trading and investment, the ability to classify and predict price movements is paramount. Machine learning offers powerful tools for this purpose.
The Fusion: MLS indicator among others incorporates an Approximate Nearest Neighbors (ANN)* algorithm, a machine learning classification technique, and allows the selection of various distance functions .
This flexibility sets Fusion: MLS apart from existing solutions. The available distance functions include:
Euclidean: Standard distance metric, commonly used as a default.
Chebyshev: Also known as maximum value distance.
Manhattan: Sum of absolute differences.
Minkowski: Generalized metric that includes Euclidean and Manhattan as special cases.
Mahalanobis: Measures distance between points in a correlated space.
Lorentzian: Known for its robustness to outliers and noise.
*For a deeper understanding of the Approximate Nearest Neighbors (ANN) algorithm, traders are encouraged to refer to the relevant articles that can be found in the public domain.
Alternative scoring system
Fusion: MLS also includes a custom scoring alternative based on directional price action.
"Combined: Directional" and "Alpha: Directional" scoring types represent our own directional change algorithm, simple yet effective in displaying trend direction changes early on. They are visualized by color changes when scoring becomes below or above zero.
Changes in scoring quickly reflect shifts in buyer and seller sentiment.
Traders may choose signals by Color Change in the indicator settings to get alerts when scoring color shifts, not waiting until the histogram crosses the zero level.
Application in Trading
Machine learning classification has become an integral part of modern trading, offering innovative ways to analyze and interpret financial data.
Many algorithmic trading systems leverage ML classification to automate trading decisions. By continuously learning from real-time data, these systems can adapt to changing market conditions and execute trades with increased efficiency and accuracy.
ML classification allows for the development of tailored trading strategies as traders can select specific algorithms, dimensions, and filters that align with their trading style, goals, and the particular market they are operating.
We have integrated ML classification with traditional trading tools, such as moving averages and technical indicators. This fusion creates a more robust analysis framework, combining the strengths of classical techniques with the adaptability of machine learning.
Whether used independently or in conjunction with other tools, ML classification represents a significant advancement in trading technology, opening new avenues for exploration, innovation, and success in the financial world.
ML: Weighting System
The Fusion: MLS indicator introduces a unique weighting system that allows traders to customize the influence of various technical indicators in the machine learning process. This feature is not only innovative but also provides a level of control and adaptability that sets it apart from other indicators.
Customizable Weights
The weighting system allows users to assign specific weights to different indicators such as Moon Lander, RSI, MACD, Money Flow, Bollinger Bands, Cap Line, Z-Pack, Squeeze Momentum*, and MA Crossover. These weights can be adjusted manually, providing the ability to emphasize or de-emphasize specific indicators based on the trader's strategy or market conditions.
*Note, we determined via testing that the popular "Squeeze" indicator can actually be well replicated by simply using inputs of 15 & 199 in the bedrock indicator - MACD ; while we employed the standard "Squeeze" formula (developed by J. Carter ) in Fusion: MLS, traders are hereby made aware of our research findings regarding such.
The weighting system's importance lies in its ability to provide a more nuanced and personalized analysis. By adjusting the weights of different indicators a trader focusing on momentum strategies might assign higher weights to the Squeeze Momentum and MA Crossover indicators, while a trader looking for volatility might emphasize RSI and Bollinger Bands.
The ability to customize weights adds a layer of complexity and adaptability that is rare in standard machine-learning indicators.
Custom Indicators: Moon Lander
The "Moon Lander" is not just a catchy name; it's a robust feature inspired by principles from aerospace engineering and offers a unique perspective on trading analysis. Here's a conceptual overview:
Fast EMA and Kalman Matrix
"Moon Lander" incorporates both a Fast Exponential Moving Average (EMA) and a Kalman Matrix in its design. These two elements are combined to create a histogram, providing a specific approach to data analysis.
The Kalman Matrix, or Kalman Filter, is a mathematical concept used for estimating variables that can be measured indirectly and contain noise or uncertainty. It's a standard tool in machine learning and control systems, known for its ability to provide optimal estimates based on observed data.
Kalman Filter: A Navigational Tool
The Kalman filter, an essential part of "Moon Lander," is a mathematical concept known for its applications in navigation and control systems used by NASA in the apollo program :
Guidance in Uncertainty: Just as the Kalman filter helped guide complex aerospace missions through uncertain paths, it assists traders in navigating the often unpredictable financial markets.
Filtering Noise: In trading, the Kalman filter serves to filter out market noise, allowing traders to focus on the underlying trends.
Predictive Capabilities: Its ability to predict future states makes it a valuable tool for forecasting market movements and trend directions.
Custom Indicators: Cap Line and Z-Pack
Fusion: MLS integrates our additional proprietary custom indicators that have been published on TradingView earlier:
Cap Line: Delve into the specific functionalities and applications of our proprietary "Cap Line" indicator in the published description on TradingView.
Z-Pack: Explore the analytical perspectives, focused on the z-score methodology, and custom "Z-Pack" indicator by reviewing the published description on TradingView.
Buy/Sell Signal Generation Algorithms
Fusion: MLS offers various options for generating buy/sell signals, tailored to different trading strategies and perspectives:
Fusion: Allows traders to select any number of dimensions to receive buy/sell signals from, offering customized signal generation.
ML: Utilizes the machine learning ANN distance for signal generation.
Color Change: Generates signals by selected scoring type color change.
Displayed Dimension, Alpha Dimension: Generate signals based on specific selected dimensions.
These algorithms provide flexibility in determining buy/sell signals, catering to different trading styles and market conditions.
Filters
Filters are used to refine and selectively include or exclude signals based on specific criteria. Rather than generating signals, these filters act as gatekeepers, ensuring that only the signals meeting certain conditions are considered. Here's an overview of the filters used:
Dynamic State Predictor (DSP)
The DSP employs the Kalman Matrix to evaluate existing signals by comparing the fast and slow-moving averages, both processed through the Kalman Matrix. Based on the relationship between these averages, the DSP may exclude specific signals, depending on whether they align with upward or downward trends.
Average Directional Index (ADX)
The ADX filter evaluates the strength of existing trends and filters out signals that do not meet the specified ADX threshold and length, focusing on significant market movements.
Feature Engineering: RSI
Applies a filter to the existing signals, clearing out those that do not meet the criteria for RSI overbought or oversold threshold condition.
Feature Engineering: MACD
Assesses existing signals to identify changes in the strength, direction, momentum, and duration of a trend, filtering out those that do not align with MACD trend direction.
The Visual Component
The machine learning component is an internal component. However, the indicator also offers an equally important and useful visual component. It is a graphical representation of the multiple technical analysis dimensions, that can be combined in various ways (where the name "Fusion" comes from), allowing traders to visualize the underlying data and its analysis.
Displayed Dimension: Visualization and Normalization
The Fusion: MLS indicator offers a "Displayed Dimension" feature that visualizes various dimensions as a histogram. These dimensions may include RSI, MAs, BBs, MACD, etc.
RSI Dimension on the image + ML signals
Normalization: Each dimension is normalized. If any dimension has extreme values, a Fisher transformation is applied to bring them within a reasonable range.
Combined Dimension: When selecting the "Combined" option , the normalized values of the selected dimensions are combined using techniques such as standardization, normalization, or winsorization. This flexibility enables tailored visualization and analysis.
Alpha Dimension: Enhancing Analysis
The "Alpha Dimension" feature allows traders to select an additional dimension alongside the Displayed Dimension. This facilitates a combined analysis, enhancing the depth of insights.
Theme Selection
Fusion: MLS offers various themes such as "Sailfish", "Iceberg", "Moon", "Perl", "Candy" and "Monochrome" Traders can select a theme that resonates with their preference, enhancing visual appeal. There is also a "Custom" theme available that allows the user to choose the colors of the theme.
Customizing Fusion: MLS for Various Markets and Strategies
Fusion: MLS is designed with customization in mind. Traders can tailor the indicator to suit various markets and trading strategies. Selecting specific dimensions allows it to align with individual trading goals.
Selecting Dimensions: Choose the dimensions that resonate with your trading approach, whether focusing on trend-following, momentum, or other strategies.
Adjusting Parameters: Fine-tune the parameters of each dimension, including custom ones like "Moon Lander," to suit specific market conditions.
Theme Customization: Select a theme that aligns with your visual preferences, enhancing your chart's readability and appeal.
Utilizing Research: Leverage the underlying algorithms and research, such as machine learning classification by ANN and the Kalman filter, to deepen your understanding and application of Fusion: MLS.
Alerts
The indicator includes an alerting system that notifies traders when new buy or sell signals are detected.
Disclaimer
The information provided herein is intended for informational purposes only and should not be construed as investment advice, endorsement, nor a recommendation to buy or sell any financial instruments. Fusion: MLS is a technical analysis tool, and like all tools, it should be used with caution and in conjunction with other forms of analysis.
Traders and investors are encouraged to consult with a licensed financial professional and conduct their own research before making any trading or investment decisions. Past performance of the Fusion: MLS indicator or any trading strategy does not guarantee future results, and all trading involves risk. Users of Fusion: MLS should understand the underlying algorithms and assumptions and consider their individual risk tolerance and investment goals when using this tool.
AI Moving Average (Expo)█ Overview
The AI Moving Average indicator is a trading tool that uses an AI-based K-nearest neighbors (KNN) algorithm to analyze and interpret patterns in price data. It combines the logic of a traditional moving average with artificial intelligence, creating an adaptive and robust indicator that can identify strong trends and key market levels.
█ How It Works
The algorithm collects data points and applies a KNN-weighted approach to classify price movement as either bullish or bearish. For each data point, the algorithm checks if the price is above or below the calculated moving average. If the price is above the moving average, it's labeled as bullish (1), and if it's below, it's labeled as bearish (0). The K-Nearest Neighbors (KNN) is an instance-based learning algorithm used in classification and regression tasks. It works on a principle of voting, where a new data point is classified based on the majority label of its 'k' nearest neighbors.
The algorithm's use of a KNN-weighted approach adds a layer of intelligence to the traditional moving average analysis. By considering not just the price relative to a moving average but also taking into account the relationships and similarities between different data points, it offers a nuanced and robust classification of price movements.
This combination of data collection, labeling, and KNN-weighted classification turns the AI Moving Average (Expo) Indicator into a dynamic tool that can adapt to changing market conditions, making it suitable for various trading strategies and market environments.
█ How to Use
Dynamic Trend Recognition
The color-coded moving average line helps traders quickly identify market trends. Green represents bullish, red for bearish, and blue for neutrality.
Trend Strength
By adjusting certain settings within the AI Moving Average (Expo) Indicator, such as using a higher 'k' value and increasing the number of data points, traders can gain real-time insights into strong trends. A higher 'k' value makes the prediction model more resilient to noise, emphasizing pronounced trends, while more data points provide a comprehensive view of the market direction. Together, these adjustments enable the indicator to display only robust trends on the chart, allowing traders to focus exclusively on significant market movements and strong trends.
Key SR Levels
Traders can utilize the indicator to identify key support and resistance levels that are derived from the prevailing trend movement. The derived support and resistance levels are not just based on historical data but are dynamically adjusted with the current trend, making them highly responsive to market changes.
█ Settings
k (Neighbors): Number of neighbors in the KNN algorithm. Increasing 'k' makes predictions more resilient to noise but may decrease sensitivity to local variations.
n (DataPoints): Number of data points considered in AI analysis. This affects how the AI interprets patterns in the price data.
maType (Select MA): Type of moving average applied. Options allow for different smoothing techniques to emphasize or dampen aspects of price movement.
length: Length of the moving average. A greater length creates a smoother curve but might lag recent price changes.
dataToClassify: Source data for classifying price as bullish or bearish. It can be adjusted to consider different aspects of price information
dataForMovingAverage: Source data for calculating the moving average. Different selections may emphasize different aspects of price movement.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
Adaptivity: Measures of Dominant Cycles and Price Trend [Loxx]Adaptivity: Measures of Dominant Cycles and Price Trend is an indicator that outputs adaptive lengths using various methods for dominant cycle and price trend timeframe adaptivity. While the information output from this indicator might be useful for the average trader in one off circumstances, this indicator is really meant for those need a quick comparison of dynamic length outputs who wish to fine turn algorithms and/or create adaptive indicators.
This indicator compares adaptive output lengths of all publicly known adaptive measures. Additional adaptive measures will be added as they are discovered and made public.
The first released of this indicator includes 6 measures. An additional three measures will be added with updates. Please check back regularly for new measures.
Ehers:
Autocorrelation Periodogram
Band-pass
Instantaneous Cycle
Hilbert Transformer
Dual Differentiator
Phase Accumulation (future release)
Homodyne (future release)
Jurik:
Composite Fractal Behavior (CFB)
Adam White:
Veritical Horizontal Filter (VHF) (future release)
What is an adaptive cycle, and what is Ehlers Autocorrelation Periodogram Algorithm?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 135:
"Adaptive filters can have several different meanings. For example, Perry Kaufman's adaptive moving average (KAMA) and Tushar Chande's variable index dynamic average (VIDYA) adapt to changes in volatility . By definition, these filters are reactive to price changes, and therefore they close the barn door after the horse is gone.The adaptive filters discussed in this chapter are the familiar Stochastic , relative strength index (RSI), commodity channel index (CCI), and band-pass filter.The key parameter in each case is the look-back period used to calculate the indicator. This look-back period is commonly a fixed value. However, since the measured cycle period is changing, it makes sense to adapt these indicators to the measured cycle period. When tradable market cycles are observed, they tend to persist for a short while.Therefore, by tuning the indicators to the measure cycle period they are optimized for current conditions and can even have predictive characteristics.
The dominant cycle period is measured using the Autocorrelation Periodogram Algorithm. That dominant cycle dynamically sets the look-back period for the indicators. I employ my own streamlined computation for the indicators that provide smoother and easier to interpret outputs than traditional methods. Further, the indicator codes have been modified to remove the effects of spectral dilation.This basically creates a whole new set of indicators for your trading arsenal."
What is this Hilbert Transformer?
An analytic signal allows for time-variable parameters and is a generalization of the phasor concept, which is restricted to time-invariant amplitude, phase, and frequency. The analytic representation of a real-valued function or signal facilitates many mathematical manipulations of the signal. For example, computing the phase of a signal or the power in the wave is much simpler using analytic signals.
The Hilbert transformer is the technique to create an analytic signal from a real one. The conventional Hilbert transformer is theoretically an infinite-length FIR filter. Even when the filter length is truncated to a useful but finite length, the induced lag is far too large to make the transformer useful for trading.
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, pages 186-187:
"I want to emphasize that the only reason for including this section is for completeness. Unless you are interested in research, I suggest you skip this section entirely. To further emphasize my point, do not use the code for trading. A vastly superior approach to compute the dominant cycle in the price data is the autocorrelation periodogram. The code is included because the reader may be able to capitalize on the algorithms in a way that I do not see. All the algorithms encapsulated in the code operate reasonably well on theoretical waveforms that have no noise component. My conjecture at this time is that the sample-to-sample noise simply swamps the computation of the rate change of phase, and therefore the resulting calculations to find the dominant cycle are basically worthless.The imaginary component of the Hilbert transformer cannot be smoothed as was done in the Hilbert transformer indicator because the smoothing destroys the orthogonality of the imaginary component."
What is the Dual Differentiator, a subset of Hilbert Transformer?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 187:
"The first algorithm to compute the dominant cycle is called the dual differentiator. In this case, the phase angle is computed from the analytic signal as the arctangent of the ratio of the imaginary component to the real component. Further, the angular frequency is defined as the rate change of phase. We can use these facts to derive the cycle period."
What is the Phase Accumulation, a subset of Hilbert Transformer?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 189:
"The next algorithm to compute the dominant cycle is the phase accumulation method. The phase accumulation method of computing the dominant cycle is perhaps the easiest to comprehend. In this technique, we measure the phase at each sample by taking the arctangent of the ratio of the quadrature component to the in-phase component. A delta phase is generated by taking the difference of the phase between successive samples. At each sample we can then look backwards, adding up the delta phases.When the sum of the delta phases reaches 360 degrees, we must have passed through one full cycle, on average.The process is repeated for each new sample.
The phase accumulation method of cycle measurement always uses one full cycle's worth of historical data.This is both an advantage and a disadvantage.The advantage is the lag in obtaining the answer scales directly with the cycle period.That is, the measurement of a short cycle period has less lag than the measurement of a longer cycle period. However, the number of samples used in making the measurement means the averaging period is variable with cycle period. longer averaging reduces the noise level compared to the signal.Therefore, shorter cycle periods necessarily have a higher out- put signal-to-noise ratio."
What is the Homodyne, a subset of Hilbert Transformer?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 192:
"The third algorithm for computing the dominant cycle is the homodyne approach. Homodyne means the signal is multiplied by itself. More precisely, we want to multiply the signal of the current bar with the complex value of the signal one bar ago. The complex conjugate is, by definition, a complex number whose sign of the imaginary component has been reversed."
What is the Instantaneous Cycle?
The Instantaneous Cycle Period Measurement was authored by John Ehlers; it is built upon his Hilbert Transform Indicator.
From his Ehlers' book Cybernetic Analysis for Stocks and Futures: Cutting-Edge DSP Technology to Improve Your Trading by John F. Ehlers, 2004, page 107:
"It is obvious that cycles exist in the market. They can be found on any chart by the most casual observer. What is not so clear is how to identify those cycles in real time and how to take advantage of their existence. When Welles Wilder first introduced the relative strength index (rsi), I was curious as to why he selected 14 bars as the basis of his calculations. I reasoned that if i knew the correct market conditions, then i could make indicators such as the rsi adaptive to those conditions. Cycles were the answer. I knew cycles could be measured. Once i had the cyclic measurement, a host of automatically adaptive indicators could follow.
Measurement of market cycles is not easy. The signal-to-noise ratio is often very low, making measurement difficult even using a good measurement technique. Additionally, the measurements theoretically involve simultaneously solving a triple infinity of parameter values. The parameters required for the general solutions were frequency, amplitude, and phase. Some standard engineering tools, like fast fourier transforms (ffs), are simply not appropriate for measuring market cycles because ffts cannot simultaneously meet the stationarity constraints and produce results with reasonable resolution. Therefore i introduced maximum entropy spectral analysis (mesa) for the measurement of market cycles. This approach, originally developed to interpret seismographic information for oil exploration, produces high-resolution outputs with an exceptionally short amount of information. A short data length improves the probability of having nearly stationary data. Stationary data means that frequency and amplitude are constant over the length of the data. I noticed over the years that the cycles were ephemeral. Their periods would be continuously increasing and decreasing. Their amplitudes also were changing, giving variable signal-to-noise ratio conditions. Although all this is going on with the cyclic components, the enduring characteristic is that generally only one tradable cycle at a time is present for the data set being used. I prefer the term dominant cycle to denote that one component. The assumption that there is only one cycle in the data collapses the difficulty of the measurement process dramatically."
What is the Band-pass Cycle?
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 47:
"Perhaps the least appreciated and most underutilized filter in technical analysis is the band-pass filter. The band-pass filter simultaneously diminishes the amplitude at low frequencies, qualifying it as a detrender, and diminishes the amplitude at high frequencies, qualifying it as a data smoother. It passes only those frequency components from input to output in which the trader is interested. The filtering produced by a band-pass filter is superior because the rejection in the stop bands is related to its bandwidth. The degree of rejection of undesired frequency components is called selectivity. The band-stop filter is the dual of the band-pass filter. It rejects a band of frequency components as a notch at the output and passes all other frequency components virtually unattenuated. Since the bandwidth of the deep rejection in the notch is relatively narrow and since the spectrum of market cycles is relatively broad due to systemic noise, the band-stop filter has little application in trading."
From his Ehlers' book Cycle Analytics for Traders Advanced Technical Trading Concepts by John F. Ehlers , 2013, page 59:
"The band-pass filter can be used as a relatively simple measurement of the dominant cycle. A cycle is complete when the waveform crosses zero two times from the last zero crossing. Therefore, each successive zero crossing of the indicator marks a half cycle period. We can establish the dominant cycle period as twice the spacing between successive zero crossings."
What is Composite Fractal Behavior (CFB)?
All around you mechanisms adjust themselves to their environment. From simple thermostats that react to air temperature to computer chips in modern cars that respond to changes in engine temperature, r.p.m.'s, torque, and throttle position. It was only a matter of time before fast desktop computers applied the mathematics of self-adjustment to systems that trade the financial markets.
Unlike basic systems with fixed formulas, an adaptive system adjusts its own equations. For example, start with a basic channel breakout system that uses the highest closing price of the last N bars as a threshold for detecting breakouts on the up side. An adaptive and improved version of this system would adjust N according to market conditions, such as momentum, price volatility or acceleration.
Since many systems are based directly or indirectly on cycles, another useful measure of market condition is the periodic length of a price chart's dominant cycle, (DC), that cycle with the greatest influence on price action.
The utility of this new DC measure was noted by author Murray Ruggiero in the January '96 issue of Futures Magazine. In it. Mr. Ruggiero used it to adaptive adjust the value of N in a channel breakout system. He then simulated trading 15 years of D-Mark futures in order to compare its performance to a similar system that had a fixed optimal value of N. The adaptive version produced 20% more profit!
This DC index utilized the popular MESA algorithm (a formulation by John Ehlers adapted from Burg's maximum entropy algorithm, MEM). Unfortunately, the DC approach is problematic when the market has no real dominant cycle momentum, because the mathematics will produce a value whether or not one actually exists! Therefore, we developed a proprietary indicator that does not presuppose the presence of market cycles. It's called CFB (Composite Fractal Behavior) and it works well whether or not the market is cyclic.
CFB examines price action for a particular fractal pattern, categorizes them by size, and then outputs a composite fractal size index. This index is smooth, timely and accurate
Essentially, CFB reveals the length of the market's trending action time frame. Long trending activity produces a large CFB index and short choppy action produces a small index value. Investors have found many applications for CFB which involve scaling other existing technical indicators adaptively, on a bar-to-bar basis.
What is VHF Adaptive Cycle?
Vertical Horizontal Filter (VHF) was created by Adam White to identify trending and ranging markets. VHF measures the level of trend activity, similar to ADX DI. Vertical Horizontal Filter does not, itself, generate trading signals, but determines whether signals are taken from trend or momentum indicators. Using this trend information, one is then able to derive an average cycle length.
Monte Carlo Range Forecast [DW]This is an experimental study designed to forecast the range of price movement from a specified starting point using a Monte Carlo simulation.
Monte Carlo experiments are a broad class of computational algorithms that utilize random sampling to derive real world numerical results.
These types of algorithms have a number of applications in numerous fields of study including physics, engineering, behavioral sciences, climate forecasting, computer graphics, gaming AI, mathematics, and finance.
Although the applications vary, there is a typical process behind the majority of Monte Carlo methods:
-> First, a distribution of possible inputs is defined.
-> Next, values are generated randomly from the distribution.
-> The values are then fed through some form of deterministic algorithm.
-> And lastly, the results are aggregated over some number of iterations.
In this study, the Monte Carlo process used generates a distribution of aggregate pseudorandom linear price returns summed over a user defined period, then plots standard deviations of the outcomes from the mean outcome generate forecast regions.
The pseudorandom process used in this script relies on a modified Wichmann-Hill pseudorandom number generator (PRNG) algorithm.
Wichmann-Hill is a hybrid generator that uses three linear congruential generators (LCGs) with different prime moduli.
Each LCG within the generator produces an independent, uniformly distributed number between 0 and 1.
The three generated values are then summed and modulo 1 is taken to deliver the final uniformly distributed output.
Because of its long cycle length, Wichmann-Hill is a fantastic generator to use on TV since it's extremely unlikely that you'll ever see a cycle repeat.
The resulting pseudorandom output from this generator has a minimum repetition cycle length of 6,953,607,871,644.
Fun fact: Wichmann-Hill is a widely used PRNG in various software applications. For example, Excel 2003 and later uses this algorithm in its RAND function, and it was the default generator in Python up to v2.2.
The generation algorithm in this script takes the Wichmann-Hill algorithm, and uses a multi-stage transformation process to generate the results.
First, a parent seed is selected. This can either be a fixed value, or a dynamic value.
The dynamic parent value is produced by taking advantage of Pine's timenow variable behavior. It produces a variable parent seed by using a frozen ratio of timenow/time.
Because timenow always reflects the current real time when frozen and the time variable reflects the chart's beginning time when frozen, the ratio of these values produces a new number every time the cache updates.
After a parent seed is selected, its value is then fed through a uniformly distributed seed array generator, which generates multiple arrays of pseudorandom "children" seeds.
The seeds produced in this step are then fed through the main generators to produce arrays of pseudorandom simulated outcomes, and a pseudorandom series to compare with the real series.
The main generators within this script are designed to (at least somewhat) model the stochastic nature of financial time series data.
The first step in this process is to transform the uniform outputs of the Wichmann-Hill into outputs that are normally distributed.
In this script, the transformation is done using an estimate of the normal distribution quantile function.
Quantile functions, otherwise known as percent-point or inverse cumulative distribution functions, specify the value of a random variable such that the probability of the variable being within the value's boundary equals the input probability.
The quantile equation for a normal probability distribution is μ + σ(√2)erf^-1(2(p - 0.5)) where μ is the mean of the distribution, σ is the standard deviation, erf^-1 is the inverse Gauss error function, and p is the probability.
Because erf^-1() does not have a simple, closed form interpretation, it must be approximated.
To keep things lightweight in this approximation, I used a truncated Maclaurin Series expansion for this function with precomputed coefficients and rolled out operations to avoid nested looping.
This method provides a decent approximation of the error function without completely breaking floating point limits or sucking up runtime memory.
Note that there are plenty of more robust techniques to approximate this function, but their memory needs very. I chose this method specifically because of runtime favorability.
To generate a pseudorandom approximately normally distributed variable, the uniformly distributed variable from the Wichmann-Hill algorithm is used as the input probability for the quantile estimator.
Now from here, we get a pretty decent output that could be used itself in the simulation process. Many Monte Carlo simulations and random price generators utilize a normal variable.
However, if you compare the outputs of this normal variable with the actual returns of the real time series, you'll find that the variability in shocks (random changes) doesn't quite behave like it does in real data.
This is because most real financial time series data is more complex. Its distribution may be approximately normal at times, but the variability of its distribution changes over time due to various underlying factors.
In light of this, I believe that returns behave more like a convoluted product distribution rather than just a raw normal.
So the next step to get our procedurally generated returns to more closely emulate the behavior of real returns is to introduce more complexity into our model.
Through experimentation, I've found that a return series more closely emulating real returns can be generated in a three step process:
-> First, generate multiple independent, normally distributed variables simultaneously.
-> Next, apply pseudorandom weighting to each variable ranging from -1 to 1, or some limits within those bounds. This modulates each series to provide more variability in the shocks by producing product distributions.
-> Lastly, add the results together to generate the final pseudorandom output with a convoluted distribution. This adds variable amounts of constructive and destructive interference to produce a more "natural" looking output.
In this script, I use three independent normally distributed variables multiplied by uniform product distributed variables.
The first variable is generated by multiplying a normal variable by one uniformly distributed variable. This produces a bit more tailedness (kurtosis) than a normal distribution, but nothing too extreme.
The second variable is generated by multiplying a normal variable by two uniformly distributed variables. This produces moderately greater tails in the distribution.
The third variable is generated by multiplying a normal variable by three uniformly distributed variables. This produces a distribution with heavier tails.
For additional control of the output distributions, the uniform product distributions are given optional limits.
These limits control the boundaries for the absolute value of the uniform product variables, which affects the tails. In other words, they limit the weighting applied to the normally distributed variables in this transformation.
All three sets are then multiplied by user defined amplitude factors to adjust presence, then added together to produce our final pseudorandom return series with a convoluted product distribution.
Once we have the final, more "natural" looking pseudorandom series, the values are recursively summed over the forecast period to generate a simulated result.
This process of generation, weighting, addition, and summation is repeated over the user defined number of simulations with different seeds generated from the parent to produce our array of initial simulated outcomes.
After the initial simulation array is generated, the max, min, mean and standard deviation of this array are calculated, and the values are stored in holding arrays on each iteration to be called upon later.
Reference difference series and price values are also stored in holding arrays to be used in our comparison plots.
In this script, I use a linear model with simple returns rather than compounding log returns to generate the output.
The reason for this is that in generating outputs this way, we're able to run our simulations recursively from the beginning of the chart, then apply scaling and anchoring post-process.
This allows a greater conservation of runtime memory than the alternative, making it more suitable for doing longer forecasts with heavier amounts of simulations in TV's runtime environment.
From our starting time, the previous bar's price, volatility, and optional drift (expected return) are factored into our holding arrays to generate the final forecast parameters.
After these parameters are computed, the range forecast is produced.
The basis value for the ranges is the mean outcome of the simulations that were run.
Then, quarter standard deviations of the simulated outcomes are added to and subtracted from the basis up to 3σ to generate the forecast ranges.
All of these values are plotted and colorized based on their theoretical probability density. The most likely areas are the warmest colors, and least likely areas are the coolest colors.
An information panel is also displayed at the starting time which shows the starting time and price, forecast type, parent seed value, simulations run, forecast bars, total drift, mean, standard deviation, max outcome, min outcome, and bars remaining.
The interesting thing about simulated outcomes is that although the probability distribution of each simulation is not normal, the distribution of different outcomes converges to a normal one with enough steps.
In light of this, the probability density of outcomes is highest near the initial value + total drift, and decreases the further away from this point you go.
This makes logical sense since the central path is the easiest one to travel.
Given the ever changing state of markets, I find this tool to be best suited for shorter term forecasts.
However, if the movements of price are expected to remain relatively stable, longer term forecasts may be equally as valid.
There are many possible ways for users to apply this tool to their analysis setups. For example, the forecast ranges may be used as a guide to help users set risk targets.
Or, the generated levels could be used in conjunction with other indicators for meaningful confluence signals.
More advanced users could even extrapolate the functions used within this script for various purposes, such as generating pseudorandom data to test systems on, perform integration and approximations, etc.
These are just a few examples of potential uses of this script. How you choose to use it to benefit your trading, analysis, and coding is entirely up to you.
If nothing else, I think this is a pretty neat script simply for the novelty of it.
----------
How To Use:
When you first add the script to your chart, you will be prompted to confirm the starting date and time, number of bars to forecast, number of simulations to run, and whether to include drift assumption.
You will also be prompted to confirm the forecast type. There are two types to choose from:
-> End Result - This uses the values from the end of the simulation throughout the forecast interval.
-> Developing - This uses the values that develop from bar to bar, providing a real-time outlook.
You can always update these settings after confirmation as well.
Once these inputs are confirmed, the script will boot up and automatically generate the forecast in a separate pane.
Note that if there is no bar of data at the time you wish to start the forecast, the script will automatically detect use the next available bar after the specified start time.
From here, you can now control the rest of the settings.
The "Seeding Settings" section controls the initial seed value used to generate the children that produce the simulations.
In this section, you can control whether the seed is a fixed value, or a dynamic one.
Since selecting the dynamic parent option will change the seed value every time you change the settings or refresh your chart, there is a "Regenerate" input built into the script.
This input is a dummy input that isn't connected to any of the calculations. The purpose of this input is to force an update of the dynamic parent without affecting the generator or forecast settings.
Note that because we're running a limited number of simulations, different parent seeds will typically yield slightly different forecast ranges.
When using a small number of simulations, you will likely see a higher amount of variance between differently seeded results because smaller numbers of sampled simulations yield a heavier bias.
The more simulations you run, the smaller this variance will become since the outcomes become more convergent toward the same distribution, so the differences between differently seeded forecasts will become more marginal.
When using a dynamic parent, pay attention to the dispersion of ranges.
When you find a set of ranges that is dispersed how you like with your configuration, set your fixed parent value to the parent seed that shows in the info panel.
This will allow you to replicate that dispersion behavior again in the future.
An important thing to note when settings alerts on the plotted levels, or using them as components for signals in other scripts, is to decide on a fixed value for your parent seed to avoid minor repainting due to seed changes.
When the parent seed is fixed, no repainting occurs.
The "Amplitude Settings" section controls the amplitude coefficients for the three differently tailed generators.
These amplitude factors will change the difference series output for each simulation by controlling how aggressively each series moves.
When "Adjust Amplitude Coefficients" is disabled, all three coefficients are set to 1.
Note that if you expect volatility to significantly diverge from its historical values over the forecast interval, try experimenting with these factors to match your anticipation.
The "Weighting Settings" section controls the weighting boundaries for the three generators.
These weighting limits affect how tailed the distributions in each generator are, which in turn affects the final series outputs.
The maximum absolute value range for the weights is . When "Limit Generator Weights" is disabled, this is the range that is automatically used.
The last set of inputs is the "Display Settings", where you can control the visual outputs.
From here, you can select to display either "Forecast" or "Difference Comparison" via the "Output Display Type" dropdown tab.
"Forecast" is the type displayed by default. This plots the end result or developing forecast ranges.
There is an option with this display type to show the developing extremes of the simulations. This option is enabled by default.
There's also an option with this display type to show one of the simulated price series from the set alongside actual prices.
This allows you to visually compare simulated prices alongside the real prices.
"Difference Comparison" allows you to visually compare a synthetic difference series from the set alongside the actual difference series.
This display method is primarily useful for visually tuning the amplitude and weighting settings of the generators.
There are also info panel settings on the bottom, which allow you to control size, colors, and date format for the panel.
It's all pretty simple to use once you get the hang of it. So play around with the settings and see what kinds of forecasts you can generate!
----------
ADDITIONAL NOTES & DISCLAIMERS
Although I've done a number of things within this script to keep runtime demands as low as possible, the fact remains that this script is fairly computationally heavy.
Because of this, you may get random timeouts when using this script.
This could be due to either random drops in available runtime on the server, using too many simulations, or running the simulations over too many bars.
If it's just a random drop in runtime on the server, hide and unhide the script, re-add it to the chart, or simply refresh the page.
If the timeout persists after trying this, then you'll need to adjust your settings to a less demanding configuration.
Please note that no specific claims are being made in regards to this script's predictive accuracy.
It must be understood that this model is based on randomized price generation with assumed constant drift and dispersion from historical data before the starting point.
Models like these not consider the real world factors that may influence price movement (economic changes, seasonality, macro-trends, instrument hype, etc.), nor the changes in sample distribution that may occur.
In light of this, it's perfectly possible for price data to exceed even the most extreme simulated outcomes.
The future is uncertain, and becomes increasingly uncertain with each passing point in time.
Predictive models of any type can vary significantly in performance at any point in time, and nobody can guarantee any specific type of future performance.
When using forecasts in making decisions, DO NOT treat them as any form of guarantee that values will fall within the predicted range.
When basing your trading decisions on any trading methodology or utility, predictive or not, you do so at your own risk.
No guarantee is being issued regarding the accuracy of this forecast model.
Forecasting is very far from an exact science, and the results from any forecast are designed to be interpreted as potential outcomes rather than anything concrete.
With that being said, when applied prudently and treated as "general case scenarios", forecast models like these may very well be potentially beneficial tools to have in the arsenal.
Machine Learning: LVQ-based StrategyLVQ-based Strategy (FX and Crypto)
Description:
Learning Vector Quantization (LVQ) can be understood as a special case of an artificial neural network, more precisely, it applies a winner-take-all learning-based approach. It is based on prototype supervised learning classification task and trains its weights through a competitive learning algorithm.
Algorithm:
Initialize weights
Train for 1 to N number of epochs
- Select a training example
- Compute the winning vector
- Update the winning vector
Classify test sample
The LVQ algorithm offers a framework to test various indicators easily to see if they have got any *predictive value*. One can easily add cog, wpr and others.
Note: TradingViews's playback feature helps to see this strategy in action. The algo is tested with BTCUSD/1Hour.
Warning: This is a preliminary version! Signals ARE repainting.
***Warning***: Signals LARGELY depend on hyperparams (lrate and epochs).
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+++/Days
S&P 500 Benchmark Strategy
This strategy is a Benchmark Trend trading strategy. I used it primarily to measure my private algorithms against. It works on a variety of instruments at intervals between 1m and 1d (you'll have to play with some of the ranged variables in these cases). It was primarily designed to trade the 15 minute interval on SPX derived products. S&P E-Mini contract featured above.
It hits what I consider to be key targets when developing an algo:
1. Avg Trade is above $50
2. Profit Factor is above 1.2 (preferably above 1.5)
3. Has a relatively small draw-down
4. Is able to be traded both long and short
Notes/Options:
Can trade within market hours (default), outside market hours (with open inside), or anytime
Can adjust lengths for trend calculations
Algo tries its best to avoid fake-outs by using a volume component, this means that it misses 'slow rises' sometimes
By default it tries to only enter trades between 0930 and 1600. If the trade has left the station, it will wait for the next setup.
Stop loss level has a big impact on performance per instrument - default is 20 ticks but this has to be changed per instrument (I plan on updating this with code to auto-magically generate appropriate stop levels
As a Trend Following algorithm, it is vulnerable to chop zones but has been particularly resilient over the past few months when traded at 15m or 1h intervals. It is designed to trade against the 'current' market that has more frequent whipsaws. When used over generic bull market periods, it fails due to the high number of failed short trades and trimmed long trades. It works in a medium/high volatility environment.
AURA AI - Multi-Layer Signal System# AURA AI - Multi-Layer Signal System
## Originality and Value Proposition
This indicator implements a proprietary multi-layer signal filtering system designed specifically for educational trading analysis. The core value lies in three advanced algorithmic features developed to address common issues in market analysis:
1. **Adaptive Signal Spacing Algorithm**: Dynamically adjusts signal frequency based on real-time volatility calculations using custom ATR multipliers (0.7x to 1.8x)
2. **Hierarchical Signal Filtering**: Three-tier priority system with conflict prevention, cooldown periods, and cross-validation
3. **Progressive Educational Framework**: Contextual learning system with market concept explanations
## Technical Implementation
The system processes market data through multiple validation layers:
- **Primary Signals**: Multi-condition convergence requiring simultaneous confirmation from trend detection, directional strength analysis, momentum indicators, volume validation, and positioning filters
- **Trend Signals**: Direction-following analysis with moving average crossover confirmation and momentum validation
- **Reversal Signals**: Counter-trend opportunity detection with strict distance requirements and timeout filtering
## Algorithm Components and Processing
- **Adaptive Trend Detection**: Custom trailing stop methodology with configurable sensitivity parameters
- **Directional Strength Analysis**: Smoothed momentum indicators with threshold validation
- **Volume-Weighted Confirmation**: Market participation analysis using comparative volume metrics
- **Multi-Timeframe Validation**: Higher timeframe directional bias with hysteresis algorithms for stable detection
- **Custom Filtering Engine**: Proprietary noise reduction and signal prioritization algorithms
## Educational Framework Design
The indicator includes a comprehensive learning system addressing the gap between technical analysis tools and trader education:
- **Progressive Complexity**: Simplified interface for beginners transitioning to professional-grade controls
- **Contextual Explanations**: Real-time tooltips explaining market conditions and signal rationale
- **Risk Management Integration**: Built-in safeguards teaching proper trading practices
- **Signal Classification**: Clear categorization helping users understand different opportunity types
## Justification for Closed-Source Protection
This indicator warrants protection due to:
1. **Proprietary Filtering Algorithms**: Custom-developed signal prioritization and conflict resolution logic
2. **Adaptive Volatility System**: Original methodology for dynamic parameter adjustment
3. **Educational Integration**: Comprehensive learning framework with contextual market education
4. **Risk-Aware Design**: Built-in overtrading prevention and educational safeguards
The combination of these elements creates a unified analytical and educational system that goes beyond standard indicator combinations.
## Configuration and Usage
**Educational Mode**: Simplified interface focusing on high-probability setups with learning tooltips
**Professional Mode**: Full parameter control for experienced traders with advanced filtering options
Key settings include signal type selection, volatility adaptation parameters, multi-timeframe analysis, and day-of-week filtering for backtesting optimization.
## Market Application and Limitations
This system is designed for educational analysis across multiple markets and timeframes. The adaptive algorithms adjust to different volatility environments, though users should understand that no analytical tool can predict future market movements.
The indicator serves as an educational tool to help traders understand market dynamics while providing structured signal analysis. Proper risk management, position sizing, and market knowledge remain essential for successful trading.
## Important Disclosures
- This indicator provides educational analysis tools, not trading advice
- Past signal performance does not guarantee future results
- No claims are made regarding win rates or profitability
- Users must implement proper risk management practices
- Market conditions can change, affecting any analytical system's relevance
Price Action 101 Pro3-in-1 Price Action Pro: Complete Trading System
The Ultimate All-in-One Price Action, Support & Resistance, and Break & Retest Professional Trading Suite
---
🤔 What Makes This Indicator Unique?
This is the only indicator you'll ever need for complete price action mastery.
Unlike traditional single-purpose tools, the 3-in-1 Price Action Pro combines three essential trading methodologies into one seamlessly integrated system. This isn't just another indicator collection—it's a sophisticated trading ecosystem that automatically detects market structure shifts, identifies dynamic and static support/resistance levels, and signals high-probability break and retest opportunities across multiple timeframes simultaneously.
The 3-in-1 Price Action Pro is your complete price action trading command center.
This revolutionary all-in-one system eliminates the need for multiple indicators cluttering your charts. By combining advanced swing point detection, multi-timeframe support and resistance analysis, and professional-grade break & retest signals into one unified tool, you get institutional-level market analysis with the simplicity of a single indicator. Whether you're scalping 1-minute charts or swing trading daily timeframes, this comprehensive suite adapts to your strategy while maintaining the clean, professional presentation that serious traders demand.
---
📊 Core Swing Point Detection System (Price Action Module)
Multi-Length Swing Point Analysis Engine
Transform your market structure analysis with our proprietary multi-length swing detection algorithm. This advanced system simultaneously monitors multiple swing lengths, creating a layered view of market dynamics that captures everything from minor intraday reversals to major trend shifts across multiple time horizons.
Intelligent Swing Point Classification:
- HH (Higher High) - Bullish momentum confirmation
- HL (Higher Low) - Uptrend structure validation
- LH (Lower High) - Bearish momentum signal
- LL (Lower Low) - Downtrend confirmation
The system instantly reveals current market structure by automatically labelling the relationship between consecutive swing points—absolutely crucial for professional trend analysis and strategic trade planning.
Advanced Visual Display Features
Dynamic Swing Point Breakout Lines
Our breakthrough visualization system plots intelligent breakout lines based on recent swing point activity, providing crystal-clear identification of:
- Critical structure shift moments
- High-probability breakout and reversal levels
- Precise entry and exit timing signals
Professional Moving Average Integration
- Standard SMA: Dynamic trend direction with built-in support/resistance functionality
- Exclusive 20SMA River: Creates a flowing price channel system that highlights average price movement range, assists in trend channel trading, and identifies high-probability mean reversion zones
Enhanced Daily Trend Display System
Revolutionary Multi-Mode Trend Analysis
Choose from three powerful trend analysis modes tailored to your trading style:
✅ Real-Time Mode: Live trend updates for scalpers and day traders requiring instant market feedback
✅ Daily Close Mode: Confirmed daily candle analysis perfect for swing traders seeking noise-free signals
✅ Both Mode: Side-by-side comparison display for traders demanding complete market context
---
🎯 Multi-Timeframe Support & Resistance Detection System
Automated Dual-Layer S&R Technology
Experience the power of our advanced support and resistance detection engine that automatically identifies and plots critical price levels across multiple timeframes with institutional-grade precision.
Daily Support & Resistance Levels (Automated)
- Proprietary algorithm uses advanced high/low analysis to generate precise support and resistance zones
- Dynamic colour-changing technology when price interacts with levels
- Fully customizable lookback periods optimized for timeframes from 4H down to 1M
- Professional visual zone creation around key institutional price areas
Higher Timeframe Support & Resistance Integration (Automated)
- Intelligent auto-updating system based on higher timeframe swing point analysis
- Perfect for establishing longer-term bias and strategic positioning
- Independent customization settings separate from daily level analysis
- Optimized performance for timeframes from Daily down to 1H
Weekly Separator Integration
Visual weekly separators enhance time-based analysis, helping you maintain proper temporal context for all support and resistance decisions.
Professional Applications
- Multi-timeframe confluence analysis for high-probability setups
- Institutional price level identification for trading with the smart money
- Enhanced bounce and breakout opportunity detection
- Precise stop-loss and take-profit placement** based on actual market structure
---
🚀 Break & Retest Pro: Advanced Strategy Signal System
Professional Break & Retest Detection Engine
Transform your breakout trading with our sophisticated break and retest identification system. This advanced module combines cutting-edge price action analysis with visual trend confirmation and automated signal generation for executing proven high-probability strategies with institutional-level precision.
Multi-Timeframe Break Analysis Technology
- Advanced break point detection across multiple sensitivity levels
- Dynamic line plotting system visualizes key support and resistance violations
- Real-time identification of significant price structure breaks
- Intelligent filtering eliminates false breakouts and focuses on high-conviction setups
Exclusive SMA River Analysis System
- Professional-grade SMA River with advanced price smoothing algorithms
- Creates dynamic support and resistance channels perfect for river strategy implementation
- Fully customizable transparency and colour schemes for optimal chart clarity
- Visual "river" channel flow identifies trend direction and critical price interaction zones
Integrated Daily Support & Resistance Automation
- Optional automated daily S&R detection and plotting system
- Precision calculation of key daily support and resistance zones
- Clean, professional line display with complete customization control
- Perfect complement to dynamic river levels for comprehensive institutional-style analysis
Advanced Signal Generation
Professional Visual Trading Signals
- Crystal-clear buy/sell arrow indicators for instant trade identification
- Fully customizable arrow display with complete toggle control
- Intelligent color-coded signals that adapt to real-time market conditions
Real-Time Trend Direction Display
- Live trend status table showing current market momentum
- Daily timeframe trend analysis for enhanced probability setups
- Professional customizable colour schemes for all market conditions
Complete Professional Customization Suite
- Adjustable line styles (Solid, Dashed, Dotted) for personal preference
- Full colour customization for all visual elements
- Clean, uncluttered professional chart presentation
- Organized settings interface for efficient configuration
---
⚡ Why Choose 3-in-1 Price Action Pro?
Complete Trading System Integration:
This isn't just another indicator—it's a complete price action trading ecosystem that replaces multiple tools with one professional-grade solution.
Institutional-Level Analysis:
Access the same level of market structure analysis used by professional trading firms, but simplified for individual trader implementation.
Multi-Strategy Compatibility:
Whether you're a scalper, day trader, swing trader, or position trader, this system adapts to your methodology while maintaining consistent professional-grade analysis.
Clean Professional Presentation: Maintain uncluttered charts while accessing comprehensive market analysis—perfect for traders who demand both functionality and visual clarity.
Proven Methodology Integration: Based on time-tested price action principles combined with modern algorithmic precision for the ultimate trading advantage.
---
🎯 Perfect For All Trading Styles
- Day Traders: Real-time structure analysis with instant breakout detection
- Swing Traders: Multi-day level analysis with confirmed trend direction
- Scalpers: Fast structure shifts with clean entry/exit visualization
- Position Traders: Long-term trend confirmation with strategic level identification
- All Experience Levels: Intuitive visual signals suitable for beginners to professionals
Stop using multiple indicators that conflict with each other. Start trading with the only system that gives you complete price action mastery in one professional package.
Fusion Trend Pulse V2SCRIPT TITLE
Adaptive Fusion Trend Pulse V2 - Multi-Regime Strategy
DETAILED DESCRIPTION FOR PUBLICATION
🚀 INNOVATION SUMMARY
The Adaptive Fusion Trend Pulse V2 represents a breakthrough in algorithmic trading by introducing real-time market regime detection that automatically adapts strategy parameters based on current market conditions. Unlike static indicator combinations, this system dynamically adjusts its behavior across trending, choppy, and volatile market environments, providing a sophisticated multi-layered approach to market analysis.
🎯 CORE INNOVATIONS JUSTIFYING PROTECTED STATUS
1. Adaptive Market Regime Engine
Trending Market Detection: Uses ADX >25 with directional movement analysis
Volatile Market Classification: ATR-based volatility regime scoring (>1.2 threshold)
Choppy Market Identification: ADX <20 combined with volatility patterns
Dynamic Parameter Adjustment: All thresholds adapt based on detected regime
2. Multi-Component Fusion Algorithm
McGinley Dynamic Trend Baseline: Self-adjusting moving average that adapts to price velocity
Adaptive RMI (Relative Momentum Index): Enhanced RSI with momentum period adaptation
Zero-Lag EMA Smoothed CCI: Custom implementation reducing lag while maintaining signal quality
Hull MA Gradient Analysis: Slope strength normalized by ATR for trend confirmation
Volume Spike Detection: Regime-adjusted volume confirmation (0.8x-1.3x multipliers)
3. Intelligence Layer Features
Cooldown System: Prevents overtrading with regime-specific waiting periods (1-3 bars)
Performance Tracking: Real-time adaptation based on recent trade outcomes
Multi-Exchange Alert Integration: JSON-formatted alerts for automated trading
Comprehensive Dashboard: 16-metric real-time performance monitoring
📊 TECHNICAL SPECIFICATIONS
Market Regime Detection Philosophy:
The system continuously monitors market structure through volatility analysis and directional strength measurements. Rather than applying fixed thresholds, it creates dynamic response profiles that adjust the strategy's sensitivity, timing, and filtering based on the current market environment.
Adaptive Parameter Concept:
All strategy components modify their behavior based on regime classification. Volume requirements become more or less stringent, momentum thresholds shift to match market character, and exit timing adjusts to prevent whipsaws in different market conditions.
Entry Conditions (Both Long/Short):
McGinley trend alignment (close vs trend line)
Hull MA slope confirmation with ATR-normalized strength
Adaptive CCI above/below regime-specific thresholds
RMI momentum confirmation (>50 for long, <50 for short)
Volume spike exceeding regime-adjusted threshold
Regime-specific additional filters
Exit Strategy:
Dual take-profit system (2% and 4% default, customizable)
Momentum weakness detection (CCI reversal)
Trend breakdown (close below/above McGinley line)
Regime-specific urgency multipliers for faster exits in choppy markets
🎛️ USER CUSTOMIZATION OPTIONS
Core Parameters:
RMI Length & Momentum periods
CCI smoothing length
McGinley Dynamic length
Hull MA period for gradient analysis
Volume spike detection (length & multiplier)
Take profit levels (separate for long/short)
Adaptive Settings:
Market regime detection period (21 bars default)
Adaptation period for performance tracking (60 bars)
Volatility adaptation toggle
Trend strength filtering toggle
Momentum sensitivity multiplier (0.5-2.0 range)
Dashboard & Alerts:
Dashboard position (4 corners)
Dashboard size (Small/Normal/Large)
Transparency settings (0-100%)
Custom alert messages for bot integration
Date range filtering
🏆 UNIQUE VALUE PROPOSITIONS
1. Market Intelligence: First Pine Script strategy to implement comprehensive regime detection with parameter adaptation - most strategies use static settings regardless of market conditions.
2. Fusion Methodology: Combines 5+ distinct technical approaches (trend-following, momentum, volatility, volume, regime analysis) in a cohesive adaptive framework rather than simple indicator stacking.
3. Performance Optimization: Built-in learning system tracks recent performance and adjusts sensitivity - providing evolution rather than static rule-following.
4. Professional Integration: Enterprise-ready with JSON alert formatting, multi-exchange compatibility, and comprehensive performance tracking suitable for institutional use.
5. Visual Intelligence: Advanced dashboard provides 16 real-time metrics including regime classification, signal strength, and performance analytics - far beyond basic P&L displays.
🔧 TECHNICAL IMPLEMENTATION HIGHLIGHTS
Primary Applications:
Swing Trading: 4H-1D timeframes with regime-adapted entries
Algorithmic Trading: Automated execution via webhook alerts
Portfolio Management: Multi-timeframe analysis across different market conditions
Risk Management: Regime-aware position sizing and exit timing
Target Markets:
Cryptocurrency pairs (high volatility adaptation)
Forex majors (trending market optimization)
Stock indices (choppy market handling)
Commodities (volatile regime management)
🎯 WHY THIS ISN'T JUST AN INDICATOR MASHUP
Integrated Adaptation Framework: Unlike scripts that simply combine multiple indicators with static settings, this system creates a unified intelligence layer where each component influences and adapts to the others. The McGinley trend baseline doesn't just provide signals - it dynamically adjusts its sensitivity based on market regime detection. The momentum components modify their thresholds based on trend strength analysis.
Feedback Loop Architecture: The strategy incorporates a closed-loop learning system where recent performance influences future parameter selection. This creates evolution rather than static rule application. Most indicator combinations lack this adaptive learning capability.
Contextual Decision Making: Rather than treating each signal independently, the system uses contextual analysis where the same technical setup may generate different responses based on the current market regime. A momentum signal in a trending market triggers different behavior than the identical signal in choppy conditions.
Unified Risk Management: The regime detection doesn't just affect entries - it creates a comprehensive risk framework that adjusts exit timing, cooldown periods, and position management based on market character. This holistic approach distinguishes it from simple indicator stacking.
Custom Implementation Depth: Each component uses proprietary implementations (custom McGinley calculation, zero-lag CCI smoothing, enhanced RMI) rather than standard built-in functions, creating a cohesive algorithmic ecosystem rather than disconnected indicator outputs.
Custom Functions:
mcginley(): Proprietary implementation of McGinley Dynamic MA
rmi(): Enhanced Relative Momentum Index with custom parameters
zlema(): Zero-lag EMA for CCI smoothing
Regime classification algorithms with multi-factor analysis
Performance Optimizations:
Efficient variable management with proper scoping
Minimal repainting through careful historical referencing
Optimized calculations to prevent timeout issues
Memory-efficient tracking systems
Alert System:
JSON-formatted messages for API integration
Dynamic symbol/exchange substitution
Separate entry/exit/TP alert conditions
Customizable message formatting
⚡ WHY THIS REQUIRES PROTECTION
This strategy represents months of research into adaptive trading systems and market regime analysis. The specific combination of:
Proprietary regime detection algorithms
Custom adaptive parameter calculations
Multi-indicator fusion methodology
Performance-based learning system
Professional-grade implementation
Creates intellectual property that provides genuine competitive advantage. The methodology is not available in existing open-source scripts and represents original research into algorithmic trading adaptation.
🎯 EDUCATIONAL VALUE
Users gain exposure to:
Advanced market regime analysis techniques
Adaptive parameter optimization concepts
Multi-timeframe indicator fusion
Professional strategy development practices
Automated trading integration methods
The comprehensive dashboard and parameter explanations serve as a learning tool for understanding how professional algorithms adapt to changing market conditions.
CATEGORY SELECTION
Primary: Strategy
Secondary: Trend Analysis
SUGGESTED TAGS
adaptive, trend, momentum, regime, strategy, alerts, dashboard, mcginley, rmi, cci, professional
MANDATORY DISCLAIMER
Disclaimer: This strategy is for educational and informational purposes only. It does not constitute financial advice. Trading cryptocurrencies involves substantial risk, and past performance is not indicative of future results. Always backtest and forward-test before using on a live account. Use at your own risk.
Diamond Peaks [EdgeTerminal]The Diamond Peaks indicator is a comprehensive technical analysis tool that uses a few mathematical models to identify high-probability trading opportunities. This indicator goes beyond traditional support and resistance identification by incorporating volume analysis, momentum divergences, advanced price action patterns, and market sentiment indicators to generate premium-quality buy and sell signals.
Dynamic Support/Resistance Calculation
The indicator employs an adaptive algorithm that calculates support and resistance levels using a volatility-adjusted lookback period. The base calculation uses ta.highest(length) and ta.lowest(length) functions, where the length parameter is dynamically adjusted using the formula: adjusted_length = base_length * (1 + (volatility_ratio - 1) * volatility_factor). The volatility ratio is computed as current_ATR / average_ATR over a 50-period window, ensuring the lookback period expands during volatile conditions and contracts during calm periods. This mathematical approach prevents the indicator from using fixed periods that may become irrelevant during different market regimes.
Momentum Divergence Detection Algorithm
The divergence detection system uses a mathematical comparison between price series and oscillator values over a specified lookback period. For bullish divergences, the algorithm identifies when recent_low < previous_low while simultaneously indicator_at_recent_low > indicator_at_previous_low. The inverse logic applies to bearish divergences. The system tracks both RSI (calculated using Pine Script's standard ta.rsi() function with Wilder's smoothing) and MACD (using ta.macd() with exponential moving averages). The mathematical rigor ensures that divergences are only flagged when there's a clear mathematical relationship between price momentum and the underlying oscillator momentum, eliminating false signals from minor price fluctuations.
Volume Analysis Mathematical Framework
The volume analysis component uses multiple mathematical transformations to assess market participation. The Cumulative Volume Delta (CVD) is calculated as ∑(buying_volume - selling_volume) where buying_volume occurs when close > open and selling_volume when close < open. The relative volume calculation uses current_volume / ta.sma(volume, period) to normalize current activity against historical averages. Volume Rate of Change employs ta.roc(volume, period) = (current_volume - volume ) / volume * 100 to measure volume acceleration. Large trade detection uses a threshold multiplier against the volume moving average, mathematically identifying institutional activity when relative_volume > threshold_multiplier.
Advanced Price Action Mathematics
The Wyckoff analysis component uses mathematical volume climax detection by comparing current volume against ta.highest(volume, 50) * 0.8, while price compression is measured using (high - low) < ta.atr(20) * 0.5. Liquidity sweep detection employs percentage-based calculations: bullish sweeps occur when low < recent_low * (1 - threshold_percentage/100) followed by close > recent_low. Supply and demand zones are mathematically validated by tracking subsequent price action over a defined period, with zone strength calculated as the count of bars where price respects the zone boundaries. Fair value gaps are identified using ATR-based thresholds: gap_size > ta.atr(14) * 0.5.
Sentiment and Market Regime Mathematics
The sentiment analysis employs a multi-factor mathematical model. The fear/greed index uses volatility normalization: 100 - min(100, stdev(price_changes, period) * scaling_factor). Market regime classification uses EMA crossover mathematics with additional ADX-based trend strength validation. The trend strength calculation implements a modified ADX algorithm: DX = |+DI - -DI| / (+DI + -DI) * 100, then ADX = RMA(DX, period). Bull regime requires short_EMA > long_EMA AND ADX > 25 AND +DI > -DI. The mathematical framework ensures objective regime classification without subjective interpretation.
Confluence Scoring Mathematical Model
The confluence scoring system uses a weighted linear combination: Score = (divergence_component * 0.25) + (volume_component * 0.25) + (price_action_component * 0.25) + (sentiment_component * 0.25) + contextual_bonuses. Each component is normalized to a 0-100 scale using percentile rankings and threshold comparisons. The mathematical model ensures that no single component can dominate the score, while contextual bonuses (regime alignment, volume confirmation, etc.) provide additional mathematical weight when multiple factors align. The final score is bounded using math.min(100, math.max(0, calculated_score)) to maintain mathematical consistency.
Vitality Field Mathematical Implementation
The vitality field uses a multi-factor scoring algorithm that combines trend direction (EMA crossover: trend_score = fast_EMA > slow_EMA ? 1 : -1), momentum (RSI-based: momentum_score = RSI > 50 ? 1 : -1), MACD position (macd_score = MACD_line > 0 ? 1 : -1), and volume confirmation. The final vitality score uses weighted mathematics: vitality_score = (trend * 0.4) + (momentum * 0.3) + (macd * 0.2) + (volume * 0.1). The field boundaries are calculated using ATR-based dynamic ranges: upper_boundary = price_center + (ATR * user_defined_multiplier), with EMA smoothing applied to prevent erratic boundary movements. The gradient effect uses mathematical transparency interpolation across multiple zones.
Signal Generation Mathematical Logic
The signal generation employs boolean algebra with multiple mathematical conditions that must simultaneously evaluate to true. Buy signals require: (confluence_score ≥ threshold) AND (divergence_detected = true) AND (relative_volume > 1.5) AND (volume_ROC > 25%) AND (RSI < 35) AND (trend_strength > minimum_ADX) AND (regime = bullish) AND (cooldown_expired = true) AND (last_signal ≠ buy). The mathematical precision ensures that signals only generate when all quantitative conditions are met, eliminating subjective interpretation. The cooldown mechanism uses bar counting mathematics: bars_since_last_signal = current_bar_index - last_signal_bar_index ≥ cooldown_period. This mathematical framework provides objective, repeatable signal generation that can be backtested and validated statistically.
This mathematical foundation ensures the indicator operates on objective, quantifiable principles rather than subjective interpretation, making it suitable for algorithmic trading and systematic analysis while maintaining transparency in its computational methodology.
* for now, we're planning to keep the source code private as we try to improve the models used here and allow a small group to test them. My goal is to eventually use the multiple models in this indicator as their own free and open source indicators. If you'd like to use this indicator, please send me a message to get access.
Advanced Confluence Scoring System
Each support and resistance level receives a comprehensive confluence score (0-100) based on four weighted components:
Momentum Divergences (25% weight)
RSI and MACD divergence detection
Identifies momentum shifts before price reversals
Bullish/bearish divergence confirmation
Volume Analysis (25% weight)
Cumulative Volume Delta (CVD) analysis
Volume Rate of Change monitoring
Large trade detection (institutional activity)
Volume profile strength assessment
Advanced Price Action (25% weight)
Supply and demand zone identification
Liquidity sweep detection (stop hunts)
Wyckoff accumulation/distribution patterns
Fair value gap analysis
Market Sentiment (25% weight)
Fear/Greed index calculation
Market regime classification (Bull/Bear/Sideways)
Trend strength measurement (ADX-like)
Momentum regime alignment
Dynamic Support and Resistance Detection
The indicator uses an adaptive algorithm to identify significant support and resistance levels based on recent market highs and lows. Unlike static levels, these zones adjust dynamically to market volatility using the Average True Range (ATR), ensuring the levels remain relevant across different market conditions.
Vitality Field Background
The indicator features a unique vitality field that provides instant visual feedback about market sentiment:
Green zones: Bullish market conditions with strong momentum
Red zones: Bearish market conditions with weak momentum
Gray zones: Neutral/sideways market conditions
The vitality field uses a sophisticated gradient system that fades from the center outward, creating a clean, professional appearance that doesn't overwhelm the chart while providing valuable context.
Buy Signals (🚀 BUY)
Buy signals are generated when ALL of the following conditions are met:
Valid support level with confluence score ≥ 80
Bullish momentum divergence detected (RSI or MACD)
Volume confirmation (1.5x average volume + 25% volume ROC)
Bull market regime environment
RSI below 35 (oversold conditions)
Price action confirmation (Wyckoff accumulation, liquidity sweep, or large buying volume)
Minimum trend strength (ADX > 25)
Signal alternation check (prevents consecutive buy signals)
Cooldown period expired (default 10 bars)
Sell Signals (🔻 SELL)
Sell signals are generated when ALL of the following conditions are met:
Valid resistance level with confluence score ≥ 80
Bearish momentum divergence detected (RSI or MACD)
Volume confirmation (1.5x average volume + 25% volume ROC)
Bear market regime environment
RSI above 65 (overbought conditions)
Price action confirmation (Wyckoff distribution, liquidity sweep, or large selling volume)
Minimum trend strength (ADX > 25)
Signal alternation check (prevents consecutive sell signals)
Cooldown period expired (default 10 bars)
How to Use the Indicator
1. Signal Quality Assessment
Monitor the confluence scores in the information table:
Score 90-100: Exceptional quality levels (A+ grade)
Score 80-89: High quality levels (A grade)
Score 70-79: Good quality levels (B grade)
Score below 70: Weak levels (filtered out by default)
2. Market Context Analysis
Use the vitality field and market regime information to understand the broader market context:
Trade buy signals in green vitality zones during bull regimes
Trade sell signals in red vitality zones during bear regimes
Exercise caution in gray zones (sideways markets)
3. Entry and Exit Strategy
For Buy Signals:
Enter long positions when premium buy signals appear
Place stop loss below the support confluence zone
Target the next resistance level or use a risk/reward ratio of 2:1 or higher
For Sell Signals:
Enter short positions when premium sell signals appear
Place stop loss above the resistance confluence zone
Target the next support level or use a risk/reward ratio of 2:1 or higher
4. Risk Management
Only trade signals with confluence scores above 80
Respect the signal alternation system (no overtrading)
Use appropriate position sizing based on signal quality
Consider the overall market regime before taking trades
Customizable Settings
Signal Generation Controls
Signal Filtering: Enable/disable advanced filtering
Confluence Threshold: Adjust minimum score requirement (70-95)
Cooldown Period: Set bars between signals (5-50)
Volume/Momentum Requirements: Toggle confirmation requirements
Trend Strength: Minimum ADX requirement (15-40)
Vitality Field Options
Enable/Disable: Control background field display
Transparency Settings: Adjust opacity for center and edges
Field Size: Control the field boundaries (3.0-20.0)
Color Customization: Set custom colors for bullish/bearish/neutral states
Weight Adjustments
Divergence Weight: Adjust momentum component influence (10-40%)
Volume Weight: Adjust volume component influence (10-40%)
Price Action Weight: Adjust price action component influence (10-40%)
Sentiment Weight: Adjust sentiment component influence (10-40%)
Best Practices
Always wait for complete signal confirmation before entering trades
Use higher timeframes for signal validation and context
Combine with proper risk management and position sizing
Monitor the information table for real-time market analysis
Pay attention to volume confirmation for higher probability trades
Respect market regime alignment for optimal results
Basic Settings
Base Length (Default: 25)
Controls the lookback period for identifying support and resistance levels
Range: 5-100 bars
Lower values = More responsive, shorter-term levels
Higher values = More stable, longer-term levels
Recommendation: 25 for intraday, 50 for swing trading
Enable Adaptive Length (Default: True)
Automatically adjusts the base length based on market volatility
When enabled, length increases in volatile markets and decreases in calm markets
Helps maintain relevant levels across different market conditions
Volatility Factor (Default: 1.5)
Controls how much the adaptive length responds to volatility changes
Range: 0.5-3.0
Higher values = More aggressive length adjustments
Lower values = More conservative length adjustments
Volume Profile Settings
VWAP Length (Default: 200)
Sets the calculation period for the Volume Weighted Average Price
Range: 50-500 bars
Shorter periods = More responsive to recent price action
Longer periods = More stable reference line
Used for volume profile analysis and confluence scoring
Volume MA Length (Default: 50)
Period for calculating the volume moving average baseline
Range: 10-200 bars
Used to determine relative volume (current volume vs. average)
Shorter periods = More sensitive to volume changes
Longer periods = More stable volume baseline
High Volume Node Threshold (Default: 1.5)
Multiplier for identifying significant volume spikes
Range: 1.0-3.0
Values above this threshold mark high-volume nodes with diamond shapes
Lower values = More frequent high-volume signals
Higher values = Only extreme volume events marked
Momentum Divergence Settings
Enable Divergence Detection (Default: True)
Master switch for momentum divergence analysis
When disabled, removes divergence from confluence scoring
Significantly impacts signal generation quality
RSI Length (Default: 14)
Period for RSI calculation used in divergence detection
Range: 5-50
Standard RSI settings apply (14 is most common)
Shorter periods = More sensitive, more signals
Longer periods = Smoother, fewer but more reliable signals
MACD Settings
Fast (Default: 12): Fast EMA period for MACD calculation (5-50)
Slow (Default: 26): Slow EMA period for MACD calculation (10-100)
Signal (Default: 9): Signal line EMA period (3-20)
Standard MACD settings for divergence detection
Divergence Lookback (Default: 5)
Number of bars to look back when detecting divergences
Range: 3-20
Shorter periods = More frequent divergence signals
Longer periods = More significant divergence signals
Volume Analysis Enhancement Settings
Enable Advanced Volume Analysis (Default: True)
Master control for sophisticated volume calculations
Includes CVD, volume ROC, and large trade detection
Critical for signal accuracy
Cumulative Volume Delta Length (Default: 20)
Period for CVD smoothing calculation
Range: 10-100
Tracks buying vs. selling pressure over time
Shorter periods = More reactive to recent flows
Longer periods = Broader trend perspective
Volume ROC Length (Default: 10)
Period for Volume Rate of Change calculation
Range: 5-50
Measures volume acceleration/deceleration
Key component in volume confirmation requirements
Large Trade Volume Threshold (Default: 2.0)
Multiplier for identifying institutional-size trades
Range: 1.5-5.0
Trades above this threshold marked as large trades
Lower values = More frequent large trade signals
Higher values = Only extreme institutional activity
Advanced Price Action Settings
Enable Wyckoff Analysis (Default: True)
Activates simplified Wyckoff accumulation/distribution detection
Identifies potential smart money positioning
Important for high-quality signal generation
Enable Supply/Demand Zones (Default: True)
Identifies fresh supply and demand zones
Tracks zone strength based on subsequent price action
Enhances confluence scoring accuracy
Enable Liquidity Analysis (Default: True)
Detects liquidity sweeps and stop hunts
Identifies fake breakouts vs. genuine moves
Critical for avoiding false signals
Zone Strength Period (Default: 20)
Bars used to assess supply/demand zone strength
Range: 10-50
Longer periods = More thorough zone validation
Shorter periods = Faster zone assessment
Liquidity Sweep Threshold (Default: 0.5%)
Percentage move required to confirm liquidity sweep
Range: 0.1-2.0%
Lower values = More sensitive sweep detection
Higher values = Only significant sweeps detected
Sentiment and Flow Settings
Enable Sentiment Analysis (Default: True)
Master control for market sentiment calculations
Includes fear/greed index and regime classification
Important for market context assessment
Fear/Greed Period (Default: 20)
Calculation period for market sentiment indicator
Range: 10-50
Based on price volatility and momentum
Shorter periods = More reactive sentiment readings
Momentum Regime Length (Default: 50)
Period for determining overall market regime
Range: 20-100
Classifies market as Bull/Bear/Sideways
Longer periods = More stable regime classification
Trend Strength Length (Default: 30)
Period for ADX-like trend strength calculation
Range: 10-100
Measures directional momentum intensity
Used in signal filtering requirements
Advanced Signal Generation Settings
Enable Signal Filtering (Default: True)
Master control for premium signal generation system
When disabled, uses basic signal conditions
Highly recommended to keep enabled
Minimum Signal Confluence Score (Default: 80)
Required confluence score for signal generation
Range: 70-95
Higher values = Fewer but higher quality signals
Lower values = More frequent but potentially lower quality signals
Signal Cooldown (Default: 10 bars)
Minimum bars between signals of same type
Range: 5-50
Prevents signal spam and overtrading
Higher values = More conservative signal spacing
Require Volume Confirmation (Default: True)
Mandates volume requirements for signal generation
Requires 1.5x average volume + 25% volume ROC
Critical for signal quality
Require Momentum Confirmation (Default: True)
Mandates divergence detection for signals
Ensures momentum backing for directional moves
Essential for high-probability setups
Minimum Trend Strength (Default: 25)
Required ADX level for signal generation
Range: 15-40
Ensures signals occur in trending markets
Higher values = Only strong trending conditions
Confluence Scoring Settings
Minimum Confluence Score (Default: 70)
Threshold for displaying support/resistance levels
Range: 50-90
Levels below this score are filtered out
Higher values = Only strongest levels shown
Component Weights (Default: 25% each)
Divergence Weight: Momentum component influence (10-40%)
Volume Weight: Volume analysis influence (10-40%)
Price Action Weight: Price patterns influence (10-40%)
Sentiment Weight: Market sentiment influence (10-40%)
Must total 100% for balanced scoring
Vitality Field Settings
Enable Vitality Field (Default: True)
Controls the background gradient field display
Provides instant visual market sentiment feedback
Enhances chart readability and context
Vitality Center Transparency (Default: 85%)
Opacity at the center of the vitality field
Range: 70-95%
Lower values = More opaque center
Higher values = More transparent center
Vitality Edge Transparency (Default: 98%)
Opacity at the edges of the vitality field
Range: 95-99%
Creates smooth fade effect from center to edges
Higher values = More subtle edge appearance
Vitality Field Size (Default: 8.0)
Controls the overall size of the vitality field
Range: 3.0-20.0
Based on ATR multiples for dynamic sizing
Lower values = Tighter field around price
Higher values = Broader field coverage
Recommended Settings by Trading Style
Scalping (1-5 minutes)
Base Length: 15
Volume MA Length: 20
Signal Cooldown: 5 bars
Vitality Field Size: 5.0
Higher sensitivity for quick moves
Day Trading (15-60 minutes)
Base Length: 25 (default)
Volume MA Length: 50 (default)
Signal Cooldown: 10 bars (default)
Vitality Field Size: 8.0 (default)
Balanced settings for intraday moves
Swing Trading (4H-Daily)
Base Length: 50
Volume MA Length: 100
Signal Cooldown: 20 bars
Vitality Field Size: 12.0
Longer-term perspective for multi-day moves
Conservative Trading
Minimum Signal Confluence: 85
Minimum Confluence Score: 80
Require all confirmations: True
Higher thresholds for maximum quality
Aggressive Trading
Minimum Signal Confluence: 75
Minimum Confluence Score: 65
Signal Cooldown: 5 bars
Lower thresholds for more opportunities
Hidden Markov Model [Extension] | FractalystWhat's the indicator's purpose and functionality?
The Hidden Markov Model is specifically designed to integrate with the Quantify Trading Model framework, serving as a probabilistic market regime identification system for institutional trading analysis.
Hidden Markov Models are particularly well-suited for market regime detection because they can model the unobservable (hidden) state of the market, capture probabilistic transitions between different states, and account for observable market data that each state generates.
The indicator uses Hidden Markov Model mathematics to automatically detect distinct market regimes such as low-volatility bull markets, high-volatility bear markets, or range-bound consolidation periods.
This approach provides real-time regime probabilities without requiring optimization periods that can lead to overfitting, enabling systematic trading based on genuine probabilistic market structure.
How does this extension work with the Quantify Trading Model?
The Hidden Markov Model | Fractalyst serves as a probabilistic state estimation engine for systematic market analysis.
Instead of relying on traditional technical indicators, this system automatically identifies market regimes using forward algorithm implementation with three-state probability calculation (bullish/neutral/bearish), Viterbi decoding process for determining most likely regime sequence without repainting, online parameter learning with adaptive emission probabilities based on market observations, and multi-feature analysis combining normalized returns, volatility comprehensive regime assessment.
The indicator outputs regime probabilities and confidence levels that can be used for systematic trading decisions, portfolio allocation, or risk management protocols.
Why doesn't this use optimization periods like other indicators?
The Hidden Markov Model | Fractalyst deliberately avoids optimization periods to prevent overfitting bias that destroys out-of-sample performance.
The system uses a fixed mathematical framework based on Hidden Markov Model theory rather than optimized parameters, probabilistic state estimation using forward algorithm calculations that work across all market conditions, online learning methodology with adaptive parameter updates based on real-time market observations, and regime persistence modeling using fixed transition probabilities with 70% diagonal bias for realistic regime behavior.
This approach ensures the regime detection signals remain robust across different market cycles without the performance degradation typical of over-optimized traditional indicators.
Can this extension be used independently for discretionary trading?
No, the Hidden Markov Model | Fractalyst is specifically engineered for systematic implementation within institutional trading frameworks.
The indicator is designed to provide regime filtering for systematic trading algorithms and risk management systems, enable automated backtesting through mathematical regime identification without subjective interpretation, and support institutional-level analysis when combined with systematic entry/exit models.
Using this indicator independently would miss the primary value proposition of systematic regime-based strategy optimization that institutional frameworks provide.
How do I integrate this with the Quantify Trading Model?
Integration enables institutional-grade systematic trading through advanced machine learning and statistical validation:
- Add both HMM Extension and Quantify Trading Model to your chart
- Select HMM Extension as the bias source using input.source()
- Quantify automatically uses the extension's bias signals for entry/exit analysis
- The built-in machine learning algorithms score optimal entry and exit levels based on trend intensity, and market structure patterns identified by the extension
The extension handles all bias detection complexity while Quantify focuses on optimal trade timing, position sizing, and risk management along with PineConnector automation
What markets and assets does the indicator Extension work best on?
The Hidden Markov Model | Fractalyst performs optimally on markets with sufficient price movement since the system relies on statistical analysis of returns, volatility, and momentum patterns for regime identification.
Recommended asset classes include major forex pairs (EURUSD, GBPUSD, USDJPY) with high liquidity and clear regime transitions, stock index futures (ES, NQ, YM) providing consistent regime behavior patterns, individual equities (large-cap stocks with sufficient volatility for regime detection), cryptocurrency markets (BTC, ETH with pronounced regime characteristics), and commodity futures (GC, CL showing distinct market cycles and regime transitions).
These markets provide sufficient statistical variation in returns and volatility patterns, ensuring the HMM system's mathematical framework can effectively distinguish between bullish, neutral, and bearish regime states.
Any timeframe from 15-minute to daily charts provides sufficient data points for regime calculation, with higher timeframes (4H, Daily) typically showing more stable regime identification with fewer false transitions, while lower timeframes (30m, 1H) provide more responsive regime detection but may show increased noise.
Acceptable Timeframes and Portfolio Integration:
- Any timeframe that can be evaluated within Quantify Trading Model's backtesting engine is acceptable for live trading implementation.
Legal Disclaimers and Risk Acknowledgments
Trading Risk Disclosure
The HMM Extension is provided for informational, educational, and systematic bias detection purposes only and should not be construed as financial, investment, or trading advice. The extension provides institutional analysis but does not guarantee profitable outcomes, accurate bias predictions, or positive investment returns.
Trading systems utilizing bias detection algorithms carry substantial risks including but not limited to total capital loss, incorrect bias identification, market regime changes, and adverse conditions that may invalidate analysis. The extension's performance depends on accurate data, TradingView infrastructure stability, and proper integration with Quantify Trading Model, any of which may experience data errors, technical failures, or service interruptions that could affect bias detection accuracy.
System Dependency Acknowledgment
The extension requires continuous operation of multiple interconnected systems: TradingView charts and real-time data feeds, accurate reporting from exchanges, Quantify Trading Model integration, and stable platform connectivity. Any interruption or malfunction in these systems may result in incorrect bias signals, missed transitions, or unexpected analytical behavior.
Users acknowledge that neither Fractalyst nor the creator has control over third-party data providers, exchange reporting accuracy, or TradingView platform stability, and cannot guarantee data accuracy, service availability, or analytical performance. Market microstructure changes, reporting delays, exchange outages, and technical factors may significantly affect bias detection accuracy compared to theoretical or backtested performance.
Intellectual Property Protection
The HMM Extension, including all proprietary algorithms, classification methodologies, three-state bias detection systems, and integration protocols, constitutes the exclusive intellectual property of Fractalyst. Unauthorized reproduction, reverse engineering, modification, or commercial exploitation of these proprietary technologies is strictly prohibited and may result in legal action.
Liability Limitation
By utilizing this extension, users acknowledge and agree that they assume full responsibility and liability for all trading decisions, financial outcomes, and potential losses resulting from reliance on the extension's bias detection signals. Fractalyst shall not be liable for any unfavorable outcomes, financial losses, missed opportunities, or damages resulting from the development, use, malfunction, or performance of this extension.
Past performance of bias detection accuracy, classification effectiveness, or integration with Quantify Trading Model does not guarantee future results. Trading outcomes depend on numerous factors including market regime changes, pattern evolution, institutional behavior shifts, and proper system configuration, all of which are beyond the control of Fractalyst.
User Responsibility Statement
Users are solely responsible for understanding the risks associated with algorithmic bias detection, properly configuring system parameters, maintaining appropriate risk management protocols, and regularly monitoring extension performance. Users should thoroughly validate the extension's bias signals through comprehensive backtesting before live implementation and should never base trading decisions solely on automated bias detection.
This extension is designed to provide systematic institutional flow analysis but does not replace the need for proper market understanding, risk management discipline, and comprehensive trading methodology. Users should maintain active oversight of bias detection accuracy and be prepared to implement manual overrides when market conditions invalidate analysis assumptions.
Terms of Service Acceptance
Continued use of the HMM Extension constitutes acceptance of these terms, acknowledgment of associated risks, and agreement to respect all intellectual property protections. Users assume full responsibility for compliance with applicable laws and regulations governing automated trading system usage in their jurisdiction.
Risk-Adjusted Momentum Oscillator# Risk-Adjusted Momentum Oscillator (RAMO): Momentum Analysis with Integrated Risk Assessment
## 1. Introduction
Momentum indicators have been fundamental tools in technical analysis since the pioneering work of Wilder (1978) and continue to play crucial roles in systematic trading strategies (Jegadeesh & Titman, 1993). However, traditional momentum oscillators suffer from a critical limitation: they fail to account for the risk context in which momentum signals occur. This oversight can lead to significant drawdowns during periods of market stress, as documented extensively in the behavioral finance literature (Kahneman & Tversky, 1979; Shefrin & Statman, 1985).
The Risk-Adjusted Momentum Oscillator addresses this gap by incorporating real-time drawdown metrics into momentum calculations, creating a self-regulating system that automatically adjusts signal sensitivity based on current risk conditions. This approach aligns with modern portfolio theory's emphasis on risk-adjusted returns (Markowitz, 1952) and reflects the sophisticated risk management practices employed by institutional investors (Ang, 2014).
## 2. Theoretical Foundation
### 2.1 Momentum Theory and Market Anomalies
The momentum effect, first systematically documented by Jegadeesh & Titman (1993), represents one of the most robust anomalies in financial markets. Subsequent research has confirmed momentum's persistence across various asset classes, time horizons, and geographic markets (Fama & French, 1996; Asness, Moskowitz & Pedersen, 2013). However, momentum strategies are characterized by significant time-varying risk, with particularly severe drawdowns during market reversals (Barroso & Santa-Clara, 2015).
### 2.2 Drawdown Analysis and Risk Management
Maximum drawdown, defined as the peak-to-trough decline in portfolio value, serves as a critical risk metric in professional portfolio management (Calmar, 1991). Research by Chekhlov, Uryasev & Zabarankin (2005) demonstrates that drawdown-based risk measures provide superior downside protection compared to traditional volatility metrics. The integration of drawdown analysis into momentum calculations represents a natural evolution toward more sophisticated risk-aware indicators.
### 2.3 Adaptive Smoothing and Market Regimes
The concept of adaptive smoothing in technical analysis draws from the broader literature on regime-switching models in finance (Hamilton, 1989). Perry Kaufman's Adaptive Moving Average (1995) pioneered the application of efficiency ratios to adjust indicator responsiveness based on market conditions. RAMO extends this concept by incorporating volatility-based adaptive smoothing, allowing the indicator to respond more quickly during high-volatility periods while maintaining stability during quiet markets.
## 3. Methodology
### 3.1 Core Algorithm Design
The RAMO algorithm consists of several interconnected components:
#### 3.1.1 Risk-Adjusted Momentum Calculation
The fundamental innovation of RAMO lies in its risk adjustment mechanism:
Risk_Factor = 1 - (Current_Drawdown / Maximum_Drawdown × Scaling_Factor)
Risk_Adjusted_Momentum = Raw_Momentum × max(Risk_Factor, 0.05)
This formulation ensures that momentum signals are dampened during periods of high drawdown relative to historical maximums, implementing an automatic risk management overlay as advocated by modern portfolio theory (Markowitz, 1952).
#### 3.1.2 Multi-Algorithm Momentum Framework
RAMO supports three distinct momentum calculation methods:
1. Rate of Change: Traditional percentage-based momentum (Pring, 2002)
2. Price Momentum: Absolute price differences
3. Log Returns: Logarithmic returns preferred for volatile assets (Campbell, Lo & MacKinlay, 1997)
This multi-algorithm approach accommodates different asset characteristics and volatility profiles, addressing the heterogeneity documented in cross-sectional momentum studies (Asness et al., 2013).
### 3.2 Leading Indicator Components
#### 3.2.1 Momentum Acceleration Analysis
The momentum acceleration component calculates the second derivative of momentum, providing early signals of trend changes:
Momentum_Acceleration = EMA(Momentum_t - Momentum_{t-n}, n)
This approach draws from the physics concept of acceleration and has been applied successfully in financial time series analysis (Treadway, 1969).
#### 3.2.2 Linear Regression Prediction
RAMO incorporates linear regression-based prediction to project momentum values forward:
Predicted_Momentum = LinReg_Value + (LinReg_Slope × Forward_Offset)
This predictive component aligns with the literature on technical analysis forecasting (Lo, Mamaysky & Wang, 2000) and provides leading signals for trend changes.
#### 3.2.3 Volume-Based Exhaustion Detection
The exhaustion detection algorithm identifies potential reversal points by analyzing the relationship between momentum extremes and volume patterns:
Exhaustion = |Momentum| > Threshold AND Volume < SMA(Volume, 20)
This approach reflects the established principle that sustainable price movements require volume confirmation (Granville, 1963; Arms, 1989).
### 3.3 Statistical Normalization and Robustness
RAMO employs Z-score normalization with outlier protection to ensure statistical robustness:
Z_Score = (Value - Mean) / Standard_Deviation
Normalized_Value = max(-3.5, min(3.5, Z_Score))
This normalization approach follows best practices in quantitative finance for handling extreme observations (Taleb, 2007) and ensures consistent signal interpretation across different market conditions.
### 3.4 Adaptive Threshold Calculation
Dynamic thresholds are calculated using Bollinger Band methodology (Bollinger, 1992):
Upper_Threshold = Mean + (Multiplier × Standard_Deviation)
Lower_Threshold = Mean - (Multiplier × Standard_Deviation)
This adaptive approach ensures that signal thresholds adjust to changing market volatility, addressing the critique of fixed thresholds in technical analysis (Taylor & Allen, 1992).
## 4. Implementation Details
### 4.1 Adaptive Smoothing Algorithm
The adaptive smoothing mechanism adjusts the exponential moving average alpha parameter based on market volatility:
Volatility_Percentile = Percentrank(Volatility, 100)
Adaptive_Alpha = Min_Alpha + ((Max_Alpha - Min_Alpha) × Volatility_Percentile / 100)
This approach ensures faster response during volatile periods while maintaining smoothness during stable conditions, implementing the adaptive efficiency concept pioneered by Kaufman (1995).
### 4.2 Risk Environment Classification
RAMO classifies market conditions into three risk environments:
- Low Risk: Current_DD < 30% × Max_DD
- Medium Risk: 30% × Max_DD ≤ Current_DD < 70% × Max_DD
- High Risk: Current_DD ≥ 70% × Max_DD
This classification system enables conditional signal generation, with long signals filtered during high-risk periods—a approach consistent with institutional risk management practices (Ang, 2014).
## 5. Signal Generation and Interpretation
### 5.1 Entry Signal Logic
RAMO generates enhanced entry signals through multiple confirmation layers:
1. Primary Signal: Crossover between indicator and signal line
2. Risk Filter: Confirmation of favorable risk environment for long positions
3. Leading Component: Early warning signals via acceleration analysis
4. Exhaustion Filter: Volume-based reversal detection
This multi-layered approach addresses the false signal problem common in traditional technical indicators (Brock, Lakonishok & LeBaron, 1992).
### 5.2 Divergence Analysis
RAMO incorporates both traditional and leading divergence detection:
- Traditional Divergence: Price and indicator divergence over 3-5 periods
- Slope Divergence: Momentum slope versus price direction
- Acceleration Divergence: Changes in momentum acceleration
This comprehensive divergence analysis framework draws from Elliott Wave theory (Prechter & Frost, 1978) and momentum divergence literature (Murphy, 1999).
## 6. Empirical Advantages and Applications
### 6.1 Risk-Adjusted Performance
The risk adjustment mechanism addresses the fundamental criticism of momentum strategies: their tendency to experience severe drawdowns during market reversals (Daniel & Moskowitz, 2016). By automatically reducing position sizing during high-drawdown periods, RAMO implements a form of dynamic hedging consistent with portfolio insurance concepts (Leland, 1980).
### 6.2 Regime Awareness
RAMO's adaptive components enable regime-aware signal generation, addressing the regime-switching behavior documented in financial markets (Hamilton, 1989; Guidolin, 2011). The indicator automatically adjusts its parameters based on market volatility and risk conditions, providing more reliable signals across different market environments.
### 6.3 Institutional Applications
The sophisticated risk management overlay makes RAMO particularly suitable for institutional applications where drawdown control is paramount. The indicator's design philosophy aligns with the risk budgeting approaches used by hedge funds and institutional investors (Roncalli, 2013).
## 7. Limitations and Future Research
### 7.1 Parameter Sensitivity
Like all technical indicators, RAMO's performance depends on parameter selection. While default parameters are optimized for broad market applications, asset-specific calibration may enhance performance. Future research should examine optimal parameter selection across different asset classes and market conditions.
### 7.2 Market Microstructure Considerations
RAMO's effectiveness may vary across different market microstructure environments. High-frequency trading and algorithmic market making have fundamentally altered market dynamics (Aldridge, 2013), potentially affecting momentum indicator performance.
### 7.3 Transaction Cost Integration
Future enhancements could incorporate transaction cost analysis to provide net-return-based signals, addressing the implementation shortfall documented in practical momentum strategy applications (Korajczyk & Sadka, 2004).
## References
Aldridge, I. (2013). *High-Frequency Trading: A Practical Guide to Algorithmic Strategies and Trading Systems*. 2nd ed. Hoboken, NJ: John Wiley & Sons.
Ang, A. (2014). *Asset Management: A Systematic Approach to Factor Investing*. New York: Oxford University Press.
Arms, R. W. (1989). *The Arms Index (TRIN): An Introduction to the Volume Analysis of Stock and Bond Markets*. Homewood, IL: Dow Jones-Irwin.
Asness, C. S., Moskowitz, T. J., & Pedersen, L. H. (2013). Value and momentum everywhere. *Journal of Finance*, 68(3), 929-985.
Barroso, P., & Santa-Clara, P. (2015). Momentum has its moments. *Journal of Financial Economics*, 116(1), 111-120.
Bollinger, J. (1992). *Bollinger on Bollinger Bands*. New York: McGraw-Hill.
Brock, W., Lakonishok, J., & LeBaron, B. (1992). Simple technical trading rules and the stochastic properties of stock returns. *Journal of Finance*, 47(5), 1731-1764.
Calmar, T. (1991). The Calmar ratio: A smoother tool. *Futures*, 20(1), 40.
Campbell, J. Y., Lo, A. W., & MacKinlay, A. C. (1997). *The Econometrics of Financial Markets*. Princeton, NJ: Princeton University Press.
Chekhlov, A., Uryasev, S., & Zabarankin, M. (2005). Drawdown measure in portfolio optimization. *International Journal of Theoretical and Applied Finance*, 8(1), 13-58.
Daniel, K., & Moskowitz, T. J. (2016). Momentum crashes. *Journal of Financial Economics*, 122(2), 221-247.
Fama, E. F., & French, K. R. (1996). Multifactor explanations of asset pricing anomalies. *Journal of Finance*, 51(1), 55-84.
Granville, J. E. (1963). *Granville's New Key to Stock Market Profits*. Englewood Cliffs, NJ: Prentice-Hall.
Guidolin, M. (2011). Markov switching models in empirical finance. In D. N. Drukker (Ed.), *Missing Data Methods: Time-Series Methods and Applications* (pp. 1-86). Bingley: Emerald Group Publishing.
Hamilton, J. D. (1989). A new approach to the economic analysis of nonstationary time series and the business cycle. *Econometrica*, 57(2), 357-384.
Jegadeesh, N., & Titman, S. (1993). Returns to buying winners and selling losers: Implications for stock market efficiency. *Journal of Finance*, 48(1), 65-91.
Kahneman, D., & Tversky, A. (1979). Prospect theory: An analysis of decision under risk. *Econometrica*, 47(2), 263-291.
Kaufman, P. J. (1995). *Smarter Trading: Improving Performance in Changing Markets*. New York: McGraw-Hill.
Korajczyk, R. A., & Sadka, R. (2004). Are momentum profits robust to trading costs? *Journal of Finance*, 59(3), 1039-1082.
Leland, H. E. (1980). Who should buy portfolio insurance? *Journal of Finance*, 35(2), 581-594.
Lo, A. W., Mamaysky, H., & Wang, J. (2000). Foundations of technical analysis: Computational algorithms, statistical inference, and empirical implementation. *Journal of Finance*, 55(4), 1705-1765.
Markowitz, H. (1952). Portfolio selection. *Journal of Finance*, 7(1), 77-91.
Murphy, J. J. (1999). *Technical Analysis of the Financial Markets: A Comprehensive Guide to Trading Methods and Applications*. New York: New York Institute of Finance.
Prechter, R. R., & Frost, A. J. (1978). *Elliott Wave Principle: Key to Market Behavior*. Gainesville, GA: New Classics Library.
Pring, M. J. (2002). *Technical Analysis Explained: The Successful Investor's Guide to Spotting Investment Trends and Turning Points*. 4th ed. New York: McGraw-Hill.
Roncalli, T. (2013). *Introduction to Risk Parity and Budgeting*. Boca Raton, FL: CRC Press.
Shefrin, H., & Statman, M. (1985). The disposition to sell winners too early and ride losers too long: Theory and evidence. *Journal of Finance*, 40(3), 777-790.
Taleb, N. N. (2007). *The Black Swan: The Impact of the Highly Improbable*. New York: Random House.
Taylor, M. P., & Allen, H. (1992). The use of technical analysis in the foreign exchange market. *Journal of International Money and Finance*, 11(3), 304-314.
Treadway, A. B. (1969). On rational entrepreneurial behavior and the demand for investment. *Review of Economic Studies*, 36(2), 227-239.
Wilder, J. W. (1978). *New Concepts in Technical Trading Systems*. Greensboro, NC: Trend Research.
ML: Lorentzian Classification Premium█ OVERVIEW
Lorentzian Classification Premium represents the culmination of two years of collaborative development with over 1,000 beta testers from the TradingView community. Building upon the foundation of the open-source version, this premium edition introduces powerful enhancements that transform how machine-learning classification can be applied to market analysis.
The premium version maintains the core Lorentzian distance-based classification algorithm while expanding its capabilities through triple the feature dimensionality (up to 15 features), sophisticated mean-reversion detection, first-pullback identification, and a comprehensive signal taxonomy that goes far beyond simple buy/sell signals. Whether you're building automated trading systems, conducting deep market research, or integrating proprietary indicators into ML workflows, this tool provides the advanced edge needed for professional-grade analysis.
█ BACKGROUND
Lorentzian Classification analyzes market structures, especially those exhibiting non-linear distortions under stress, by employing advanced distance metrics like the Lorentzian metric, prominent in fields such as relativity theory. Where traditional indicators assume flat space, we embrace the curve. The heart of this approach is the Lorentzian distance metric—a sophisticated mathematical tool. This framework adeptly navigates the complex curves and distortions of market space, aiming to provide insights that traditional analysis might miss, especially during moments of extreme volatility. It analyzes historical data from a multi-dimensional feature space consisting of various technical indicators of your choosing. Where traditional approaches fail, Lorentzian space reveals the true geometry of market dynamics.
Neighborhoods in Different Geometries: In the above figure, the Lorentzian metric creates distinctive cross-patterns aligned with feature axes (RSI, CCI, ADX), capturing both local similarity and dimensional extremes. This unique geometry allows the algorithm to recognize similar market conditions that Euclidean spheres and Manhattan diamonds would miss entirely. In LC Premium, users can have up to 15 features -- you are not limited to 3-dimensions.
Among the thousands of distance metrics discovered by mathematicians, each perceives data through its own geometric lens. The Lorentzian metric stands apart with its unique ability to capture market behavior during volatile events.
█ COMMUNITY-DRIVEN EVOLUTION
It has been profoundly humbling over the past 2 years to witness this indicator's evolution through the collaborative efforts of our incredible community. This journey has been shaped by thousands of user suggestions and validated through real-world application.
A particularly amazing milestone was the development of a complete community-driven Python port, which meticulously matched even the most minute PineScript quirks. Building on this solid foundation, a new command-line interface (CLI) has opened up exciting possibilities for chart-specific parameter optimization:
Early insights from parameter optimization research: Through grid-search testing across thousands of parameter combinations, the analysis identifies which parameters have the biggest effects on performance and maps regions of stability across different market regimes. This reveals that optimal neighbor counts vary significantly based on market conditions—opening up incredible potential for timeframe-specific optimization.
This is just one of the insights gleaned so far from this ongoing investigation. The potential for chart-specific optimization for any given timeframe could transform how traders approach parameter selection.
Demand from power users for extra capabilities—while keeping the open-source version simple—sparked this Premium release. The open-source branch remains maintained, but the premium tier adds unique features for those who need an analytical edge and to leverage their own custom indicators as feature series for the algorithm.
█ KEY PREMIUM FEATURES
📈 First Pullback Detection System
Automatically identifies high-probability trend-continuation entries after initial momentum moves.
Detects when price retraces to optimal entry zones following breakouts or trend initiations.
Green/red triangle signals often fire before main classification arrows.
Dedicated alerts for both bullish and bearish pullback opportunities.
Based on veryfid's extensive research into pullback mechanics and market structure.
🔄 Dynamic Kernel Regression Envelope
Powerful, zero-setup confluence layer that immediately communicates trend shifts.
Dual-kernel system creates a visual envelope between trend estimates.
Color gradient dynamically represents prediction strength and market conviction.
Crossovers provide additional confirmation without cluttering your chart.
Professional visualization that rivals institutional-grade analysis tools.
✨ Massively Expanded Dimensionality: 10 Custom Sources, 5 Built-In Sources
Transform the indicator from 5 built-in standard to 15 total total features—triple the analytical power.
Integrate ANY TradingView indicator as a machine learning feature.
Built-in normalization ensures all indicators contribute equally regardless of scale.
Create theme-based systems: pure volume analysis, multi-timeframe momentum, or hybrid approaches.
📊 Tiered Mean Reversion Signals with Scalping Alerts
Regular (🔄) and Strong (⬇️/⬆️) mean reversion signals based on statistical extremes.
Opportunities often arise before candle close—perfect for scalping entries.
Visual markers appear at high-probability reversal zones.
Four specialized alert types: upward/downward for both regular and strong reversals.
Pre-optimized probability thresholds, no fine-tuning required.
📅 Daily Kernel Trend Filter
Instantly cleans up noisy intraday charts by aligning with higher timeframe trends.
Swing traders report immediate signal quality improvement.
Automatically deactivates on daily+ timeframes (intelligent context awareness).
Reduces counter-trend signals by up to 60% on lower timeframes.
Simple toggle—no complex multi-timeframe setup required.
📋 Professional Backtesting Stream (-6 to +6)
Multiple distinct signal types (including pullbacks, mean reversions, and kernel deviations) vs. basic binary (buy/sell) output for nuanced analysis.
Enables detailed walk-forward analysis and ML model training.
Compatible with external backtesting frameworks via numeric stream.
Rare precision for TradingView indicators—usually only found in institutional tools.
Perfect for quants building sophisticated strategy layers.
⚡ Performance Optimizations
Faster distance calculations through algorithmic improvements.
Reduced indicator load time (measured via Pine Profiler).
Handles 15 active features without timeouts—critical for multi-chart setups.
Optimized for live auto-trading bots requiring minimal latency.
🎨 Full Visual Customization & Accessibility
Complete color control for all visual elements.
Colorblind-safe default palette with customization options.
Dark mode optimization for extended trading sessions.
Professional appearance matching your trading workspace.
Accessibility features meeting modern UI standards.
🛠️ Advanced Training Modes
Downsampling mode for training on diverse market conditions; Down-sampling and remote-fractals for exotic pattern discovery.
Remote fractals option extends analysis to deep historical patterns.
Reset factor control for fine-tuning neighbor diversity; Reset-factor tuning to control neighbor diversity.
Appeals to systematic traders exploring exotic data approaches.
Prevents temporal clustering bias in model training.
█ HOW TO USE
Understanding the Approach (Core Concept):
Lorentzian Classification uses a k-Nearest Neighbors (k-NN) algorithm. It searches for historical price action "neighborhoods" similar to the current market state. Instead of a simple straight-line (Euclidean) distance, it primarily uses a Lorentzian distance metric, which can account for market "warping" or distortions often seen during high volatility or significant events. Each historical neighbor "votes" on what happened next in its context, and these votes aggregate into a classification score for the current bar.
Interpreting Bar Scores & Signals (Interpreting the Chart):
Bar Prediction Values: Numbers over each candle (e.g., ranging from -8 to +8 if Neighbors Count is 8) represent the aggregated vote from the nearest neighbors. Strong positive scores (e.g., +7, +8) indicate a strong bullish consensus among historical analogs. Strong negative scores (e.g., -7, -8) indicate a strong bearish consensus. Scores near zero suggest neutrality or conflicting signals from neighbors. The intensity of bar colors (if Use Confidence Gradient is on) often reflects these scores.
Main Arrows (Main Buy/Sell Labels): Large ▲/▼ labels are the primary entry signals generated when the overall classification (after filters) is bullish or bearish.
Pullback Triangles: Small green/red ▲/▼ identify potential trend continuation entries. These signals often appear after an initial price move and a subsequent minor retracement, suggesting the trend might resume. This is based on recognizing patterns where a brief counter-movement is followed by a continued advance in the initial trend direction.
Mean-Reversion Symbols: 🔄 (Regular Reversion) appears when price has crossed the average band of the Dynamic Kernel Regression Envelope. ⬇️/⬆️ (Strong Reversion) means price has crossed the far band of the envelope, indicating a more extreme deviation and potentially a stronger reversion opportunity.
Custom Mean Reversion Deviation Markers (Deviation Dots): If Enable Custom Mean Reversion Alerts is on, these dots appear when price deviates from the main kernel regression line by a user-defined ATR multiple, signaling a custom-defined reversion opportunity.
Kernel Regression Lines & Envelope: The Main Kernel Estimate (thicker line) is an adaptive moving average that smooths price and helps identify trend direction. Its color indicates the current trend bias. The Envelope (outer bands and a midline) creates a channel around price, and its interaction with price generates mean reversion signals.
Key Input Groups & Their Purpose:
🔧 GENERAL SETTINGS:
Reduce Price-Time Warping : Toggles the distance metric. When enabled, it reduces the characteristic "warping" effect of the default Lorentzian metric, making the distance calculation more Euclidean in nature. This may be suited for periods exhibiting less pronounced price-time distortions.
Source : Price data for calculations (default: close ).
Neighbors Count : The 'k' in k-NN – number of historical analogs considered.
Max Bars Back : How far back the indicator looks for historical patterns.
Show Exits / Use Dynamic Exits : Controls visibility and logic for exit signals.
Include Full History (Use Remote Fractals) : Allows model to pick "exotic" fractals from deep chart history.
Use Downsampling / Reset Factor : Advanced training parameters affecting neighbor selection.
Show Trade Stats / Use Worst Case Estimates : Displays a real-time performance table (for calibration only).
🎛️ DEFINE CUSTOM SOURCES (OPTIONAL):
Integrate up to 10 external data series (e.g., from other indicators) as features. Each can be optionally normalized. Load the external indicator on your chart first for it to appear in the dropdown.
🧠 FEATURE ENGINEERING:
Configure up to 15 features for the k-NN algorithm. Select type (RSI, WT, CCI, ADX, Custom Sources), parameters, and enable/disable. Start simple (3-5 features) and add complexity gradually. Normalize features with vastly different scales.
🖥️ DISPLAY SETTINGS:
Controls visibility of chart elements: bar colors, prediction values/labels, envelope, etc.
Align Signal with Current Bar : If true, pullback signals appear on the current bar (calculated on closed data). If false (default), they appear on the next bar.
Use ATR Offset : Positions bar prediction values using ATR for visibility.
🧮 FILTERS SETTINGS:
Refine raw classification signals: Volatility, Regime, ADX, EMA/SMA, and Daily Kernel filters.
🌀 KERNEL SETTINGS (Main Kernel):
Adjust parameters for the primary Nadaraya-Watson Kernel Regression line. Lookback Window , Relative Weighting , Regression Level , Lag control sensitivity and smoothness.
✉️ ENVELOPE SETTINGS (for Mean Reversion):
Configure the dynamic Kernel Regression Envelope. ATR Length , Near/Far ATR Factor define band width.
🎨 COLOR SETTINGS (Colors):
Customize colors for all visual elements; override every palette element.
General Approach to Using the Indicator (Suggested Workflow):
Load defaults and observe behavior: Familiarize yourself with the indicator's behavior.
Feature Engineering: Experiment with features, considering momentum, trend, and volatility. Add/replace features gradually.
Apply Filters: Refine signals according to your trading style.
Contextualize: Use kernels and envelope to understand broader trend and potential overbought/oversold areas.
Observe Signals: Pay attention to the interplay of main signals, pullbacks, and mean reversions. Watch interplay of main, pullback & mean-reversion signals.
Calibrate (Not Backtest): Use the "Trade Stats" table for real-time feedback on current settings. This is for calibration, *not a substitute for rigorous backtesting.*
Iterate & refine: Adjust settings, observe outcomes, and refine your approach.
█ ACKNOWLEDGMENTS
This premium version wouldn't exist without the invaluable contributions of:
veryfid for his groundbreaking ideas on unifying pullback detection with Lorentzian Classification, but most of all for always believing in and encouraging me and so many others. For being a mentor and, most importantly, a friend. We all miss you.
RikkiTavi for his help in creating the settings optimization framework and for other invaluable theoretical discussions.
The 1,000+ beta testers worldwide who provided continuous feedback over two years.
The Python porting team who created the foundation for advanced optimization; for the cross-language clone.
The broader TradingView community for making this one of the platform's most popular indicators.
█ FUTURE DEVELOPMENT
The Premium version will continue to evolve based on community feedback. Planned enhancements include:
Specialized exit model trained independently from entry signals (ML-based exit model).
Feature hub with pre-normalized, commonly requested indicators (Pre-normalized feature hub).
Better risk-management options (Enhanced risk-management options).
Fully automated settings optimization (Auto-settings optimization tool).
Flux Charts - SFX Automation💎 GENERAL OVERVIEW
The SFX Automation is a powerful and versatile tool designed to help traders rigorously test their trading strategies against historical market data. With various advanced settings, traders can fine-tune their strategies, assess performance, and identify key improvements before deploying in live trading environments. This tool offers a wide range of configurable settings, explained within this write-up.
Features of the new SFX Automation :
Step By Step : Configure your strategy step by step, which will allow you to have OR & AND logic in your strategies.
Highly Configurable : Offers multiple parameters for fine-tuning trade entry and exit conditions.
Multi-Timeframe Analysis : Allows traders to analyze multiple timeframes simultaneously for enhanced accuracy.
Provides advanced stop-loss, take-profit, and break-even settings.
Incorporates Buy & Sell signals, with settings like Signal Sensitivity, Strength, Time Weighting, Dynamic TP & SL Methods and more for refined strategy execution.
🚩 UNIQUENESS
The SFX Automation stands out from conventional backtesting tools due to its unparalleled flexibility, precision, and advanced trading logic integration. Key factors that make it unique include:
✅ Comprehensive Strategy Customization – Unlike traditional backtesters that offer basic entry and exit conditions, SFX Automation provides a highly detailed parameter set, allowing traders to fine-tune their strategies with precision.
✅ Multi-Timeframe Signals – This is the first-ever tool that allows traders to backtest Buy & Sell Signals on multiple timeframes.
✅ Customizable Take-Profit Conditions – Offers various methods to set take-profit exits, including using core features from SFX Algo, and dynamic exits like signal rating upgrades/downgrades, enabling traders to tailor their exit strategies to specific market behaviors.
✅ Customizable Stop-Loss Conditions – Provides several ways to set up stop losses, including using concepts from SFX Algo and trailing stops or dynamic exits like signal rating upgrades/downgrades, allowing for dynamic risk management tailored to individual strategies.
✅ Integration of External Indicators – Allows the inclusion of other indicators or data sources from TradingView for creating strategy conditions, enabling traders to enhance their strategies with additional insights and data points.
By integrating these advanced features, SFX Automation ensures that traders can rigorously test and optimize their strategies with great accuracy and efficiency.
📌 HOW DOES IT WORK ?
The first setting you will want to set it the pyramiding setting. This setting controls the number of simultaneous trades in the same direction allowed in the strategy. For example, if you set it to 1, only one trade can be active in any time, and the second trade will not be entered unless the first one is exited. If it is set to 2, the script will handle both of them at the same time. Note that you should enter the same value to this pyramiding setting, and the pyramiding setting in the "Properties" tab of the script for this to work.
You can enable and set a backtesting window that will limit the entries to between the start date & end date.
Entry Conditions
From the "Long Conditions" or the "Short Conditions" groups, you can set your position entry conditions. For settings like "initial capital" or "order size", you can open the "Properties" tab, where these are handled.
The SFX Algo can use the following conditions for entry conditions :
1. Buy Signal (Any, or 1-5 ☆)
This condition is triggered when a Buy Signal occurs. Other timeframes are supported with this condition.
2. Buy | TP (1, 2 or 3)
This condition is triggered when a TP signal of any Buy signal occurs.
3. Buy | SL
This condition is triggered when a SL signal of any Buy signal occurs.
4. Buy | Rating Upgrade
This condition is triggered when the rating of a buy signal is increased.
5. Buy | Rating Downgrade
This condition is triggered when the rating of a buy signal is decreased.
6. Sell Signal (Any, or 1-5 ☆)
This condition is triggered when a Sell Signal occurs. Other timeframes are supported with this condition.
7. Sell | TP (1, 2 or 3)
This condition is triggered when a TP signal of any Sell signal occurs.
8. Sell | SL
This condition is triggered when a SL signal of any Sell signal occurs.
9. Sell | Rating Upgrade
This condition is triggered when the rating of a sell signal is increased.
10. Sell | Rating Downgrade
This condition is triggered when the rating of a sell signal is decreased.
11. Retracement Wave Retest (Bullish or Bearish)
A retest on the Retracement Wave occurs when the price temporarily moves against the prevailing trend, touching or entering the wave before continuing in the original trend direction. This retest serves as a confirmation that the wave is acting as dynamic support or resistance.
12. Retracement Wave Retracement (Bullish or Bearish)
A retracement on the Retracement Wave occurs when the price touches the wave, the condition is triggered immediately.
13. Volatility Bands Retest (Bullish or Bearish)
A retest of Volatility Bands occurs when the price initially moves beyond the bands, then pulls back to "retest" the band it just broke through before continuing its move. This can provide traders with confirmation of a breakout or signal a potential reversal.
14. Volatility Bands Retracement (Bullish or Bearish)
A retracement on the Volatility Bands occur when the price touches the band, the condition is triggered immediately.
🕒 TIMEFRAME CONDITIONS
The SFX Automation supports Multi-Timeframe (MTF) features for Buy & Sell signals. When setting an entry condition, you can also choose the timeframe.
External Conditions
Users can use external indicators on the chart to set entry conditions.
The second dropdown in the external condition settings allows you to choose a conditional operator to compare external outputs. Available options include:
Less Than or Equal To: <=
Less Than: <
Equal To: =
Greater Than: >
Greater Than or Equal To: >=
The position entry conditions work like this ;
Each side has 3 SFX Algo conditions and 2 Source conditions. Each condition can be enabled or disabled using the checkbox on the left side of them.
You can select which timeframe this condition should work on for Buy & Sell signals. If you select "Chart", the condition will work for the chart's current timeframe.
Lastly select the step of this condition from 1 to 6.
The Source Condition
The last condition on each side is a source condition that is different from the others. Using this condition, you can create your own logic using other indicators' outputs on your chart. For example, suppose that you have an EMA indicator in your chart. You can have the source condition to something like "EMA > high".
The Step System
Each condition has a step number, and conditions are in topological order based on them.
The conditions are executed step by step. This means the condition with step 2 cannot be executed before the condition with step 1 is executed.
Conditions with the same step numbers have "OR" logic. This means that if you have 2 conditions with step 3, the condition with step 4 can trigger after only one of the step 3 conditions is executed.
➕ OTHER ENTRY FEATURES
The SFX Automation allows traders to choose when to execute trades and when not to execute trades.
1. Only Take Trades
This setting lets users specify the time period when their strategy can open or execute trades.
2. Don't Take Trades
This setting lets users specify time periods when their strategy can't open or execute trades.
↩️ EXIT CONDITIONS
1. Exit on Opposite Signal
When enabled, a long position will close when short entry conditions are met, and a short position will close when long entry conditions are met.
2. Exit on Session End
When enabled, positions will be closed at the end of the trading session.
📈 TAKE PROFIT CONDITIONS
There are several methods available for setting take profit exits and conditions.
1. Entry Condition TP
Users can use entry conditions as triggers for take profit exits. This setting can be found under the long and short exit conditions.
2. Fixed TP
Users can set a fixed TP for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a TP exit when price reaches a specified level. For example, if you set the Price TP to 10 and buy NASDAQ:TSLA at $190, the trade will automatically exit when the price reaches $200 ($190 + $10).
Ticks: This method triggers a TP exit when price moves a specified number of ticks.
Percentage (%): This method triggers a TP exit when price moves a specified percentage.
ATR: This method triggers a TP exit based on a specified multiple of the Average True Range (ATR).
🧩EXIT PERCENTAGES
For each 3 dynamic take-profit conditions, you can set the amount of the position to exit in terms of percentage. It's important to make sure that the total of the exit percentages are 100%.
📉 STOP LOSS CONDITIONS
There are several methods available for setting stop-loss exits and conditions.
1. Entry Condition SL
Users can use entry conditions as triggers for stop-loss exits. This setting can be found under the long and short exit conditions.
2. Fixed SL
Users can set a fixed SL for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a SL exit when price reaches a specified level. For example, if you set the Price SL to 10 and buy NASDAQ:TSLA at $200, the trade will automatically exit when the price reaches $190 ($200 - $10).
Ticks: This method triggers a SL exit when price moves a specified number of ticks.
Percentage (%): This method triggers a SL exit when price moves a specified percentage.
ATR: This method triggers a SL exit based on a specified multiple of the Average True Range (ATR).
3. Trailing Stop
An explanation & example for the trailing stop feature is present on the write-up within the next section.
Exit conditions have the same logic of constructing conditions like the entry ones. You can construct a Take-Profit Condition & a Stop-Loss Condition. Note that the Take-Profit condition will only work if the position is in profit, regardless of if it's triggered or not. The same applies for the Stop-Loss condition, meaning that it will only work if the position is in loss.
You can also set a Fixed TP & Fixed SL based on the price movement after the position is entered. You have options like "Price", "Ticks", "%", or "Average True Range". For example, you can set a Fixed TP like "5%", and the position will be entered once it moves 5% up in a long position.
Trailing Stop
For the Fixed SL, you also have a "Trailing" stop option, which you can set it's activation level as well. The Trailing stop activation level and it's value are expressed in ticks. Check this scenerio for an example :
We have a ticker with a tick value of $1. Our Trailing Stop is set to 10 ticks, and the activation level is set to 30 ticks.
We buy 1 contract when the price is $100.
When the price becomes $110, we are in $10 (10 ticks) profit and the trailing stop is now activated.
The current price our stop's on is $110 - $30 (30 ticks), which is the level of $80.
The trailing stop will only move if the price moves up the highest high the price has been after we entered the position.
Let's suppose that price moves up $40 right after our trailing stop is activated. The price will now be $150, and our trailing stop will sit on $150 - $30 (30 ticks) = $120.
If the price is down the $120 level, our stop loss will be triggered.
There is also a "Hard SL" option designed for a backup stop-loss when trailing stops are enabled. You can enable & set this option and if the price goes down before our trailing stop even activates, the position will be exited.
You can also move stop-loss to the break-even (entry price of the position) after a certain profit is achieved using the last setting of the exit conditions. Note that for this to work, you will need to have a Fixed SL setup.
➕ OTHER EXIT FEATURES
1. Move Stop Loss to Breakeven
This setting allows the strategy to automatically move the SL to Breakeven (BE) when the position is in profit by a certain amount. Users can choose between the following:
Price: This method moves the SL to BE when price reaches a specified level.
Ticks: This method moves the SL to BE when price moves a specified number of ticks.
Percentage (%): This method moves the SL to BE when price moves a specified percentage.
ATR: This method moves the SL to BE when price moves a specified multiple of the Average True Range (ATR).
Example Entry Scenario
To give an example , check this scenario; out conditions are :
LONG CONDITIONS
Buy Signal Any☆, Step 1
Bullish R. Wave Retest, Step 2
Bullish V. Bands Retest, Step 2
open > close, Step 3
First, the strategy needs to detect a Buy Signal with any star rating in order to start working.
After it's detected, now it's looking for either a Bullish R. Wave Retest, or a Bullish V. Bands Retest to proceed to the next step, the reason for this is that they both have the same step number.
After one of them is detected, the strategy will consistently check candlesticks for the condition open > close. If a bullish candlestick occurs, a long position will be entered.
⏰ ALERTS
This indicator uses TradingView's strategy alert system. All entries and exits will be sent as an alert if configured. It's possible to further customize these alerts to your liking. For more information, check TradingView's strategy alert customization page: www.tradingview.com
⚙️ SETTINGS
1. Backtesting Settings
Pyramiding: Controls the number of simultaneous trades allowed in the strategy. This setting must have the same value that is entered on the script's properties tab on the settings pane.
Enable Custom Backtesting Period: Restricts backtesting to a specific date range.
Start & End Time Configuration: Define precise start and end dates for historical analysis.
2. Algorithm Settings
Sensitivity: The sensitivity setting is a key parameter that influences the number of signals the SFX Algo generates. By adjusting this parameter, you can control the frequency of signals produced by the algorithm.
Signal Strength: The Signal Strength setting filters signals based on their quality, allowing traders to focus on the most reliable opportunities. This feature helps traders balance the quantity and reliability of the algorithm’s signals to suit their trading strategy.
Time Weighting: The Time Weighting setting determines how the SFX Algo evaluates historical market data to generate signals.
a) Recent Trends
Focuses on the most recent movements for short-term analysis. This setting is good for scalpers and intraday traders who need to react quickly to market changes.
b) Mixed Trends
Balances recent and historical price movements for a comprehensive market view. This setting is well-suited for swing traders and those who want to capture medium-term opportunities by combining the benefits of short-term responsiveness with the reliability of long-term trends.
c) Long-term Trends
Relies on extended historical market data to identify broader market trends, making it an excellent choice for traders focused on long-term strategies.
Minimum Star Rating: The Minimum Star Rating setting allows you to filter signals based on their strength, showing only those that meet or exceed your chosen threshold. For instance, setting the minimum star rating to 3 ensures you only receive signals with a rating of 3 stars or higher.
3. Take Profit / Stop Loss Methods
Key Levels
The Key Levels method uses pivot points to set take profit and stop-loss levels. The TP and SL levels are shown when a new signal is generated.
Volatility Bands
This TP/SL method uses the Volatility Bands overlay to set dynamic TP and SL levels. These levels are not predetermined so they will not be shown in advance when a signal is generated.
Signal Rating
Sets take profit and stop-loss levels based on changes in a signal's rating strength. These levels are not predetermined so they will not be shown in advance when a signal is generated.
Auto Stop-Loss
The auto method can only be applied to the SL. The auto method allows the algorithm to detect SL automatically when a momentum shift is detected. You can adjust the risk tolerance of the Auto SL by adjusting the ‘Auto Risk Tolerance’ setting. You can choose between Low, Medium, and High. A high-risk tolerance will result in stop losses being triggered less often.
4. Entry Conditions for Long & Short Trades
Multiple Conditions (1-6): Configure up to six independent conditions per trade direction.
Timeframe Specification: Choose between timeframes for Buy & Sell signals.
Trade Execution Filters: Restrict trades within specific trading sessions.
5. Exit Conditions for Long & Short Trades
Exit on Opposite Signal: Automatically exit trades upon opposite trade conditions.
Exit on Session End: Closes all positions at the end of the trading session.
Multiple Take-Profit (TP) and Stop-Loss (SL) Configurations:
TP/SL based on % move, ATR, Ticks, or Fixed Price.
Hard SL option for additional risk control.
Move SL to BE (Break Even) after a certain profit threshold.
TAPDA Hourly Open Lines (Candle Body Box)-What is TAPDA?
TAPDA (Time and Price Displacement Analysis) is based on the belief that markets are driven by algorithms that respond to key time-based price levels, such as session opens. Traders who follow TAPDA track these levels to anticipate price movements, reversals, and breakouts, aligning their strategies with the patterns left by these underlying algorithms. By plotting lines at specific hourly opens, the indicator allows traders to visualize where the market may react, providing a structured way to trade alongside the algorithmic flow.
***************
**Sauce Alert** "TAPDA levels essentially act like algorithmic support and resistance" By plotting these hourly opens, the TAPDA Hourly Open Lines indicator helps traders track where algorithms might engage with the market.
***************
-How It Works:
The indicator draws a "candle body box" at selected hours, marking the open and close prices to highlight price ranges at significant times. This creates dynamic zones that reflect market sentiment and structure throughout the day. TAPDA levels are commonly respected by price, making them useful for identifying potential entry points, stop placements, and trend reversals.
-Key Features:
Customizable Hour Levels – Enable or disable specific times to fit your trading approach.
Color & Label Control – Assign unique colors and labels to each hour for better visualization.
Line Extension – Project lines for up to 24 hours into the future to track key levels.
Dynamic Cleanup – Old lines automatically delete to maintain chart clarity.
Manual Time Offset – Adjust for broker or server time zone differences.
-Current Development:
This indicator is still in development, with further updates planned to enhance functionality and customization. If you find this script helpful, feel free to copy the code and stay tuned for new features and improvements!