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.
Pesquisar nos scripts por "algo"
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
ZenAlgo - Advanced Open InterestZenAlgo - Advanced Open Interest combines open interest, price changes, and volume dynamics into a single, powerful TradingView indicator. By integrating these key market metrics and enhancing them with proprietary algorithms, it provides traders with actionable insights that streamline decision-making and enhance market analysis.
Features
Open Interest Change (%): Tracks changes in open interest, a key indicator of market participation and sentiment.
Price Change (%): Monitors price momentum, providing clarity on trend directions.
Volume Analysis: Aggregates upward and downward volume for detailed sentiment analysis.
Delta Calculation: Highlights the net difference between upward and downward volume, offering instant insights into buying or selling dominance.
Proprietary Trend Detection: Suggests "Long Enter," "Short Enter," "Long Close," or "Short Close" signals based on a synergy of open interest, price, and volume.
Market Sentiment Insights: Indicates whether new long or short positions dominate.
Customizable Display: Features themes, sizes, and positions for a tailored interface.
Added Value: Why Is This Indicator Original/Why Shall You Pay for This Indicator?
Integrated Synergy: Combining open interest, price, and volume into a single indicator reduces complexity and offers enhanced clarity. Instead of toggling between multiple charts, users receive actionable insights from a unified view.
Proprietary Rules-Based Algorithm: The algorithm synthesizes data from sub-indicators, creating trends and signals not available in free tools. For instance, the "Long Enter" or "Short Close" signals are generated by evaluating relationships between metrics, offering a predictive edge.
Enhanced Trend Confirmation: By correlating open interest changes with price movements and volume imbalances, the indicator provides a more robust confirmation of market trends compared to individual metrics.
Time-Saving and Simplicity: Freely available sub-indicators require manual setup, interpretation, and customization. ZenAlgo - Advanced Open Interest offers pre-configured analysis, reducing the learning curve and decision time.
Unique Customization: With themes, positions, and table sizes, users can adapt the interface to their preferences, enhancing usability.
How It Works
1. Open Interest and Price Change
Retrieves historical open interest and price data for the selected timeframe.
Calculates percentage changes between bars to indicate market participation (open interest) and directional momentum (price).
Combines these metrics to assess whether price movements are supported by increasing or decreasing participation.
2. Volume Aggregation
Splits the selected timeframe into smaller sub-timeframes to analyze granular volume data.
Aggregates upward (price closes above open) and downward (price closes below open) volumes, calculating their totals and percentage contributions to overall volume.
3. Delta Calculation
Computes Delta as the difference between upward and downward volume.
Highlights buyer or seller dominance using color-coded visuals for quick interpretation.
4. Trend Analysis
Uses a proprietary algorithm to classify market states:
"Long Enter": Rising price, increasing open interest, and dominant upward volume.
"Short Enter": Falling price, increasing open interest, and dominant downward volume.
Neutral States: Generated when no strong alignment is found among metrics.
5. Market Sentiment
Correlates open interest and price to indicate if new long or short positions dominate.
Outputs simplified insights like "More longs opened" or "Shorts closing."
6. Customizable Table
Displays real-time updates with user-controlled themes, sizes, and positions for a tailored experience.
Usage Examples
Detecting Bullish Trends: Identify "Long Enter" signals when open interest and price rise, supported by strong upward volume.
Spotting Bearish Reversals: Use "Short Enter" signals when price declines, open interest rises, and downward volume dominates.
Analyzing Volume Shifts: Leverage Delta to uncover significant shifts in buying or selling pressure.
Validating Trends: Use the combination of open interest and volume trends to confirm price movements.
Exiting Profitable Trades: Look for "Long Close" or "Short Close" signals to time exits during profit-taking phases.
Avoiding Choppy Markets: Use "Neutral" signals to stay out of indecisive markets and avoid unnecessary risks.
Identifying Sentiment Swings: Follow "Positions" insights to detect a transition in market dominance from longs to shorts or vice versa.
High-Volume Trend Confirmation: Confirm strong trends during high trading volumes.
Short-Term Scalping: Use sub-timeframes to spot rapid entry and exit points.
Event-Based Trading: Correlate indicator signals with major market events for timely trades.
Settings
ZenAlgo Theme: Toggle a branded theme for better visual integration.
Table Size: Adjust display size (Tiny, Small, Normal, Large) based on preference.
Table Position: Choose between four positions (e.g., Bottom Right, Top Left).
Table Mode: Switch between Dark and Light themes for optimal readability.
Important Notes
This indicator is a technical analysis tool and does not guarantee trading success. Use it with other indicators and fundamental analysis for a comprehensive strategy.
Always validate signals in conjunction with other market factors to ensure informed trading decisions.
Scenarios of Potential Underperformance:
Low-Volume Markets: Signals may lack reliability due to insufficient data granularity.
Extreme Volatility: Rapid price movements can distort short-term insights.
Exchange Variations: Data discrepancies between exchanges may affect calculations.
Choppy Markets: During indecisive phases, the indicator may generate more neutral signals.
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!
BTC 5 min SHBHilalimSB A Wedding Gift 🌙
What is HilalimSB🌙?
First of all, as mentioned in the title, HilalimSB is a wedding gift.
HilalimSB - Revealing the Secrets of the Trend
HilalimSB is a powerful indicator designed to help investors analyze market trends and optimize trading strategies. Designed to uncover the secrets at the heart of the trend, HilalimSB stands out with its unique features and impressive algorithm.
Hilalim Algorithm and Fixed ATR Value:
HilalimSB is equipped with a special algorithm called "Hilalim" to detect market trends. This algorithm can delve into the depths of price movements to determine the direction of the trend and provide users with the ability to predict future price movements. Additionally, HilalimSB uses its own fixed Average True Range (ATR) value. ATR is an indicator that measures price movement volatility and is often used to determine the strength of a trend. The fixed ATR value of HilalimSB has been tested over long periods and its reliability has been proven. This allows users to interpret the signals provided by the indicator more reliably.
ATR Calculation Steps
1.True Range Calculation:
+ The True Range (TR) is the greatest of the following three values:
1. Current high minus current low
2. Current high minus previous close (absolute value)
3. Current low minus previous close (absolute value)
2.Average True Range (ATR) Calculation:
-The initial ATR value is calculated as the average of the TR values over a specified period
(typically 14 periods).
-For subsequent periods, the ATR is calculated using the following formula:
ATRt=(ATRt−1×(n−1)+TRt)/n
Where:
+ ATRt is the ATR for the current period,
+ ATRt−1 is the ATR for the previous period,
+ TRt is the True Range for the current period,
+ n is the number of periods.
Pine Script to Calculate ATR with User-Defined Length and Multiplier
Here is the Pine Script code for calculating the ATR with user-defined X length and Y multiplier:
//@version=5
indicator("Custom ATR", overlay=false)
// User-defined inputs
X = input.int(14, minval=1, title="ATR Period (X)")
Y = input.float(1.0, title="ATR Multiplier (Y)")
// True Range calculation
TR1 = high - low
TR2 = math.abs(high - close )
TR3 = math.abs(low - close )
TR = math.max(TR1, math.max(TR2, TR3))
// ATR calculation
ATR = ta.rma(TR, X)
// Apply multiplier
customATR = ATR * Y
// Plot the ATR value
plot(customATR, title="Custom ATR", color=color.blue, linewidth=2)
This code can be added as a new Pine Script indicator in TradingView, allowing users to calculate and display the ATR on the chart according to their specified parameters.
HilalimSB's Distinction from Other ATR Indicators
HilalimSB emerges with its unique Average True Range (ATR) value, presenting itself to users. Equipped with a proprietary ATR algorithm, this indicator is released in a non-editable form for users. After meticulous testing across various instruments with predetermined period and multiplier values, it is made available for use.
ATR is acknowledged as a critical calculation tool in the financial sector. The ATR calculation process of HilalimSB is conducted as a result of various research efforts and concrete data-based computations. Therefore, the HilalimSB indicator is published with its proprietary ATR values, unavailable for modification.
The ATR period and multiplier values provided by HilalimSB constitute the fundamental logic of a trading strategy. This unique feature aids investors in making informed decisions.
Visual Aesthetics and Clear Charts:
HilalimSB provides a user-friendly interface with clear and impressive graphics. Trend changes are highlighted with vibrant colors and are visually easy to understand. You can choose colors based on eye comfort, allowing you to personalize your trading screen for a more enjoyable experience. While offering a flexible approach tailored to users' needs, HilalimSB also promises an aesthetic and professional experience.
Strong Signals and Buy/Sell Indicators:
After completing test operations, HilalimSB produces data at various time intervals. However, we would like to emphasize to users that based on our studies, it provides the best signals in 1-hour chart data. HilalimSB produces strong signals to identify trend reversals. Buy or sell points are clearly indicated, allowing users to develop and implement trading strategies based on these signals.
For example, let's imagine you wanted to open a position on BTC on 2023.11.02. You are aware that you need to calculate which of the buying or selling transactions would be more profitable. You need support from various indicators to open a position. Based on the analysis and calculations it has made from the data it contains, HilalimSB would have detected that the graph is more suitable for a selling position, and by producing a sell signal at the most ideal selling point at 08:00 on 2023.11.02 (UTC+3 Istanbul), it would have informed you of the direction the graph would follow, allowing you to benefit positively from a 2.56% decline.
Technology and Innovation:
HilalimSB aims to enhance the trading experience using the latest technology. With its innovative approach, it enables users to discover market opportunities and support their decisions. Thus, investors can make more informed and successful trades. Real-Time Data Analysis: HilalimSB analyzes market data in real-time and identifies updated trends instantly. This allows users to make more informed trading decisions by staying informed of the latest market developments. Continuous Update and Improvement: HilalimSB is constantly updated and improved. New features are added and existing ones are enhanced based on user feedback and market changes. Thus, HilalimSB always aims to provide the latest technology and the best user experience.
Social Order and Intrinsic Motivation:
Negative trends such as widespread illegal gambling and uncontrolled risk-taking can have adverse financial effects on society. The primary goal of HilalimSB is to counteract these negative trends by guiding and encouraging users with data-driven analysis and calculable investment systems. This allows investors to trade more consciously and safely.
What is BTC 5 min ☆SHB Strategy🌙?
BTC 5 min ☆SHB Strategy is a strategy supported by the HilalimSB algorithm created by the creator of HilalimSB. It automatically opens trades based on the data it receives, maintaining trades with its uniquely defined take profit and stop loss levels, and automatically closes trades when necessary. It stands out in the TradingView world with its unique take profit and stop loss markings. BTC 5 min ☆SHB Strategy is close to users' initiatives and is a strategy suitable for 5-minute trades and scalp operations developed on BTC.
What does the BTC 5 min ☆SHB Strategy target?
The primary goal of BTC 5 min ☆SHB Strategy is to close trades made by traders in short timeframes as profitably as possible and to determine the most effective trading points in low time periods, considering the commission rates of various brokerage firms. BTC 5 min ☆SHB Strategy is one of the rare profitable strategies released in short timeframes, with its useful interface, in addition to existing strategies in the markets. After extensive backtesting over a long period and achieving above-average success, BTC 5 min ☆SHB Strategy was decided to be released. Following the completion of test procedures under market conditions, it was presented to users with the unique visual effects of ☆SB.
BTC 5 min ☆SHB Strategy and Heikin Ashi
BTC 5 min ☆SHB Strategy produces data in Heikin-Ashi chart types, but since Heikin-Ashi chart types have their own calculation method, BTC 5 min ☆SHB Strategy has been published in a way that cannot produce data in this chart type due to BTC 5 min ☆SHB Strategy's ideology of appealing to all types of users, and any confusion that may arise is prevented in this way. Heikin-Ashi chart types, especially in short time intervals, carry significant risks considering the unique calculation methods involved. Thus, the possibility of being misled by the coder and causing financial losses has been completely eliminated. After the necessary conditions determined by the creator of BTC 5 min ☆SHB are met, BTC 5 min ☆SHB Heikin-Ashi will be shared exclusively with invited users only, upon request, to users who request an invitation.
Key Features:
+HilalimSHB Algorithm: This algorithm uses a dynamic ATR-based trend-following mechanism to identify the current market trend. The strategy detects trend reversals and takes positions accordingly.
+Heikin Ashi Compatibility: The strategy is optimized to work only with standard candlestick charts and automatically deactivates when Heikin Ashi charts are in use, preventing false signals.
+Advanced Chart Enhancements: The strategy offers clear graphical markers for buy/sell signals. Candlesticks are automatically colored based on trend direction, making market trends easier to follow.
Strategy Parameters:
+Take Profit (%): Defines the target price level for closing a position and automates profit-taking. The fixed value is set at 2%.
+Stop Loss (%): Specifies the stop-loss level to limit losses. The fixed value is set at 3%.
The shared image is a 5-minute chart of BTCUSDC.P with a fixed take profit value of 2% and a fixed stop loss value of 3%. The trades are opened with a commission rate of 0.063% set for the USDT trading pair on Binance.🌙
Crypto Punk [Bot] (Zeiierman)█ Overview
The Crypto Punk (Zeiierman) is a trading strategy designed for the dynamic and volatile cryptocurrency market. It utilizes algorithms that incorporate price action analysis and principles inspired by Geometric Brownian Motion (GBM). The bot's core functionality revolves around analyzing differences in high and low prices over various timeframes, estimating drift (trend) and volatility, and applying this information to generate trading signals.
█ How to use the Crypto Punk Bot
Utilize the Crypto Punk Bot as a technical analysis tool to enhance your trading strategy. The signals generated by the bot can serve as a confirmation of your existing approach to entering and exiting the market. Additionally, the backtest report provided by the bot is a valuable resource for identifying the optimal settings for the specific market and timeframe you are trading in.
One method is to use the bot's signals to confirm entry points around key support and resistance levels.
█ Key Features
Let's explain how the core features work in the strategy.
⚪ Strategy Filter
The strategy filter plays a vital role in the entries and exits. By setting this filter, the bot can identify higher or lower price points at which to execute trades. Opting for higher values will make the bot target more long-term extreme points, resulting in fewer but potentially more significant signals. Conversely, lower values focus on short-term extreme points, offering more frequent signals focusing on immediate market movements.
How is it calculated?
This filter identifies significant price points within a specified dynamic range by applying linear regression to the absolute deviation of the range, smoothing out fluctuations, and determining the trend direction. The algorithm then normalizes the data and searches for extreme points.
⚪ External AI filter
The external AI filter allows traders to incorporate two external sources as signal filters. This feature is particularly useful for refining their signal accuracy with additional data inputs.
External sources can include any indicator applied to your TradingView chart that produces a plot as an output, such as a moving average, RSI, supertrend, MACD, etc. Traders can use these indicators of their choice to set filters for screening signals within the strategy.
This approach offers traders increased flexibility to select filters that align with their trading style. For instance, one trader might prefer to take trades when the price is above a moving average, while another might opt for trades when the MACD is below the MACD signal line. These external filters enable traders to choose options that best fit their trading strategies. See the example below. Note that the input sources for the External AI filter can be any indicator applied to the chart, and the input source per se does not make this strategy unique. The AI filter takes the selected input source and applies our function to it. So, if a trader selects RSI as an input filter, RSI is not unique, but how the source is computed within the AI functions is.
How is it calculated?
Once the external filters are selected and enabled within the settings panel, our AI function is applied to enhance the filter's ability to execute trades, even when the set conditions of the filter are not met. For instance, if a trader wants to take trades only when the price is above a moving average, the AI filter can actually execute trades even if the price is below the moving average.
The filter works by combining k-nearest Neighbors (KNN) with Geometric Brownian Motion (GBM) involves first using GBM to model the historical price trends of an asset, identifying patterns of drift and volatility. KNN is then applied to compare the current market conditions with historical instances, identifying the closest matches based on similar market behaviors. By examining the drift values of these nearest historical neighbors, KNN predicts the current trend's direction.
The AI adaptability value is a setting that determines how flexible the AI algorithm is when applying the external AI filter. Setting the adaptability to 10 indicates minimal adaptability, suggesting that the bot will strictly adhere to the set filter criteria. On the other hand, a higher adaptability value grants the algorithm more leeway to "think outside the box," allowing it to consider signals that may not strictly meet the filter criteria but are deemed viable trading opportunities by the AI.
█ Examples
In this example, the RSI is used to filter out signals when the RSI is below the smoothing line, indicating that prices are declining.
Note that the external filter is specifically designed to work with either 'LONG ONLY' or 'SHORT ONLY' modes; it does not apply when the bot is set to trade on 'BOTH' modes. For 'LONG ONLY' positions, the filter criteria are met when source 1 is greater than source 2 (source 1 >= source 2). Conversely, for 'SHORT ONLY' positions, the filter criteria require source 1 to be less than source 2 (source 1 <= source 2).
Examples of Filter Usage:
Long Signals: To receive long signals when the closing price is higher than a moving average, set Source 1 to the 'close' price and Source 2 to a moving average value. This setup ensures that signals are generated only when the closing price exceeds the moving average, indicating a potential upward trend.
█ Settings
⚪ Set Timeframe
Choosing the correct entry and exit timeframes is crucial for the bot's performance. The general guideline is to select a timeframe that is higher than the one currently displayed on the trading chart but still relatively close in duration. For instance, if trading on a 1-minute chart, setting the bot's Timeframe to 5 minutes is advisable.
⚪ Entry
Traders have the flexibility to configure the bot according to their trading strategy, allowing them to choose whether the bot should engage in long positions only, short positions only or both. This customization ensures that the bot aligns with the trader's market outlook and risk tolerance.
⚪ Pyramiding
Pyramiding functionality is available to enhance the bot's trading strategy. If the current position experiences a drawdown by a specified number of points, the bot is programmed to add new positions to the existing one, potentially capitalizing on lower prices to average down the entry cost. To utilize this feature, access the settings panel, navigate to 'Properties,' and look for 'Pyramiding' to specify the number of times the bot can re-enter the market (e.g., setting it to 2 allows for two additional entries).
⚪ Risk Management
The bot incorporates several risk management methods, including a regular stop loss, trailing stop, and risk-reward-based stop loss and exit strategies. These features assist traders in managing their risk.
Stop Loss
Trailing Stop
⚪ Trading on specific days
This feature allows trading on specific days by setting which days of the week the bot can execute trades on. It enables traders to tailor their strategies according to market behavior on particular days.
⚪ Alerts
Alerts can be set for entry, exit, and risk management. This feature allows traders to automate their trading strategy, ensuring timely actions are taken according to predefined criteria.
█ How is Crypto Punk calculated?
The Crypto Punk Bot is a trading bot that utilizes a combination of price action analysis and elements inspired by Geometric Brownian Motion (GBM) to generate buy and sell signals for cryptocurrencies. The bot focuses on analyzing the difference between high and low prices over various timeframes, alongside estimates of drift (trend) and volatility derived from GBM principles.
Timeframe Analysis for Price Action
The bot examines multiple timeframes (e.g., daily, weekly) to identify the range between the highest and lowest prices within each period. This range analysis helps in understanding market volatility and the potential for significant price movements. The algorithm calculates the trading range by applying maximum and minimum functions to the set of prices over your selected timeframe. It then subtracts these values to determine the range's width. This method offers a quantitative measure of the asset's price volatility for the specified period.
Estimating Drift (Trend)
The bot estimates the drift component, which reflects the underlying trend or expected return of the cryptocurrency. The algorithm does this by estimating the drift (trend) using Geometric Brownian Motion (GBM), which involves determining an asset's average rate of return over time, reflecting the asset's expected direction of movement.
Estimating Volatility
Volatility is estimated by calculating the standard deviation of the logarithmic returns of the cryptocurrency's price over the same timeframe used for the drift calculation. Geometric Brownian Motion (GBM) involves measuring the extent of variation or dispersion in the returns of an asset over time. In the context of GBM, volatility quantifies the degree to which the price of an asset is expected to fluctuate around its drift.
Combining Drift and Volatility for Signal Generation
The bot uses the calculated drift and volatility to understand the current market conditions. A higher drift coupled with manageable volatility may indicate a strong upward trend, suggesting a potential buy signal. Conversely, a low or negative drift with increasing volatility might suggest a weakening market, triggering a sell signal.
█ Strategy Properties
This script backtest is done on the 1 hour chart Bitcoin, using the following backtesting properties:
Balance (default): 10 000 (default base currency)
Order Size: 10% of the equity
Commission: 0.05 %
Slippage: 500 ticks
Stop Loss: Risk Reward set to 1
These parameters are set to provide an accurate representation of the backtesting environment. It's important to recognize that default settings may vary for several reasons outlined below:
Order Size: The standard is set at one contract to facilitate compatibility with a wide range of instruments, including futures.
Commission: This fee is subject to fluctuation based on the specific market and financial instrument, and as such, there isn't a standard rate that will consistently yield accurate outcomes.
We advise users to customize the Script Properties in the strategy settings to match their personal trading accounts and preferred platforms. This adjustment is crucial for obtaining practical insights from the deployed strategies.
-----------------
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!
Machine Learning & Optimization Moving Average (Expo)█ An indicator that finds the best moving average
We all know that the market change in characteristics over time, volatility, volume, momentum, etc., keep changing. Therefore, traders fine-tune their indicators and strategies to fit the constantly changing market. Unfortunately, that means there is no "best" MA period that suits all these conditions. That is why we have developed this algorithm that self-adapts and finds the best MA period based on Machine Learning and Optimization calculations.
This indicator help traders and investors to use the best possible moving average period on the selected timeframe and asset and ensures that the period is updated even though the market characteristics change over time.
█ Self-optimizing moving average
There is no doubt that different markets and timeframes need different MA periods. Therefore, our algorithm optimizes the moving average period within the given parameter range and optimizes its value based on either performance, win rate, or the combined results. The moving average period updates automatically on the chart for you.
Traders can choose to use our Machine Learning Algorithm to optimize the MA values or can optimize only using the optimization algorithm.
Performance
If you select to optimize based on performance, the calculation returns the period with the highest gains.
Winrate
If you select to optimize based on win rate, the calculation returns the period that gives the best win rate.
Combined
If you select to optimize based on combined results, the calculations score the performance and win rate separately and choose the best period with the highest ranking in both aspects.
█ Finding the best moving average for any asset and timeframe
Traders can choose to find the best moving average based on price crossings.
█ Finding the best combination of moving averages for any asset and timeframe
Traders can choose to find the best crossing strategy, where the algorithm compares the 2 averages and returns the best fast and slow period.
█ Alerts
Traders can choose to be alerted when a new best moving average is found or when a moving average cross occurs.
-----------------
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!
Bogdan Ciocoiu - Code runnerDescription
The Code Runner is a hybrid indicator that leverages other pre-configured, integrated open-source algorithms to help traders spot regular and continuation divergences.
The Code Runner specialises in integrating some of the most popular oscillators well known for their accuracy when scalping using divergence strategies.
Uniqueness
The Code Runner stands out as a one-stop-shop pack of oscillator algorithms that traders can further customise to spot divergences.
The indicator's uniqueness stands from its capability to recast each algorithm to apply to the same scale. This feature is achieved by manually adjusting the outputs of each algorithm to fit on a scale between +100 and -100.
Another benefit of the Code Runner comes from its standardisation of outputs, mainly consisting of lines. Showing lines enables traders to draw potential regular and continuation divergences quickly.
The indicator has been pre-configured to support scalping at 1-5 minutes.
Open-source
The Code Runner uses the following open-source scripts and algorithms:
www.tradingview.com
www.tradingview.com
www.tradingview.com
www.tradingview.com
www.tradingview.com
www.tradingview.com
www.tradingview.com
www.tradingview.com
These algorithms are available in the public domain either in TradingView space or outside (given their popularity in the financial markets industry).
Adaptive Average Vortex Index [lastguru]As a longtime fan of ADX, looking at Vortex Indicator I often wondered, where is the third line. I have rarely seen that anybody is calculating it. So, here it is: Average Vortex Index - an ADX calculated from Vortex Indicator. I interpret it similarly to the ADX indicator: higher values show stronger trend. If you discover other interpretation or have suggestions, comments are welcome.
Both VI+ and VI- lines are also drawn. As I use adaptive length calculation in my other scripts (based on the libraries I've developed and published), I have also included the possibility to have an adaptive length here, so if you hate the idea of calculating ADX from VI, you can disable that line and just look at the adaptive Vortex Indicator.
Note that as with all my oscillators, all the lines here are renormalized to -1..1 range unlike the original Vortex Indicator computation. To do that for VI+ and VI- lines, I subtract 1 from their values. It does not change the shape or the amplitude of the lines.
Adaptation algorithms are roughly subdivided in two categories: classic Length Adaptations and Cycle Estimators (they are also implemented in separate libraries), all are selected in Adaptation dropdown. Length Adaptation used in the Adaptive Moving Averages and the Adaptive Oscillators try to follow price movements and accelerate/decelerate accordingly (usually quite rapidly with a huge range). Cycle Estimators, on the other hand, try to measure the cycle period of the current market, which does not reflect price movement or the rate of change (the rate of change may also differ depending on the cycle phase, but the cycle period itself usually changes slowly).
VIDYA - based on VIDYA algorithm. The period oscillates from the Lower Bound up (slow)
VIDYA-RS - based on Vitali Apirine's modification of VIDYA algorithm (he calls it Relative Strength Moving Average). The period oscillates from the Upper Bound down (fast)
Kaufman Efficiency Scaling - based on Efficiency Ratio calculation originally used in KAMA
Fractal Adaptation - based on FRAMA by John F. Ehlers
MESA MAMA Cycle - based on MESA Adaptive Moving Average by John F. Ehlers
Pearson Autocorrelation* - based on Pearson Autocorrelation Periodogram by John F. Ehlers
DFT Cycle* - based on Discrete Fourier Transform Spectrum estimator by John F. Ehlers
Phase Accumulation* - based on Dominant Cycle from Phase Accumulation by John F. Ehlers
Length Adaptation usually take two parameters: Bound From (lower bound) and To (upper bound). These are the limits for Adaptation values. Note that the Cycle Estimators marked with asterisks(*) are very computationally intensive, so the bounds should not be set much higher than 50, otherwise you may receive a timeout error (also, it does not seem to be a useful thing to do, but you may correct me if I'm wrong).
The Cycle Estimators marked with asterisks(*) also have 3 checkboxes: HP (Highpass Filter), SS (Super Smoother) and HW (Hann Window). These enable or disable their internal prefilters, which are recommended by their author - John F. Ehlers . I do not know, which combination works best, so you can experiment.
If no Adaptation is selected ( None option), you can set Length directly. If an Adaptation is selected, then Cycle multiplier can be set.
The oscillator also has the option to configure the internal smoothing function with Window setting. By default, RMA is used (like in ADX calculation). Fast Default option is using half the length for smoothing. Triangle , Hamming and Hann Window algorithms are some better smoothers suggested by John F. Ehlers.
After the oscillator a Moving Average can be applied. The following Moving Averages are included: SMA , RMA, EMA , HMA , VWMA , 2-pole Super Smoother, 3-pole Super Smoother, Filt11, Triangle Window, Hamming Window, Hann Window, Lowpass, DSSS.
Postfilter options are applied last:
Stochastic - Stochastic
Super Smooth Stochastic - Super Smooth Stochastic (part of MESA Stochastic ) by John F. Ehlers
Inverse Fisher Transform - Inverse Fisher Transform
Noise Elimination Technology - a simplified Kendall correlation algorithm "Noise Elimination Technology" by John F. Ehlers
Momentum - momentum (derivative)
Except for Inverse Fisher Transform , all Postfilter algorithms can have Length parameter. If it is not specified (set to 0), then the calculated Slow MA Length is used. If Filter/MA Length is less than 2 or Postfilter Length is less than 1, they are calculated as a multiplier of the calculated oscillator length.
More information on the algorithms is given in the code for the libraries used. I am also very grateful to other TradingView community members (they are also mentioned in the library code) without whom this script would not have been possible.
Multi-Market Swing Trader Webhook Ready [HullBuster]
Introduction
This is an all symbol swing trading strategy intended for webhook integration to live accounts. This script employs an adjustable bandwidth ping pong algorithm which can be run in long only, short only or bidirectional modes. Additionally, this script provides advanced features such as pyramiding and DCA. It has been in development for nearly three years and exposes over 90 inputs to accommodate varying risk reward ratios. Equipped with a proper configuration it is suitable for professional traders seeking quality trades from a cloud based platform. This is my most advanced Pine Script to date which combines my RangeV3 and TrendV2 scripts. Using this combination it tries to bridge the gap between range bound and trending markets. I have put a lot of time into creating a system that could transition by itself so as to require less human intervention and thus be able to withstand long periods in full automation mode.
As a Pine strategy, hypothetical performance can be easily back-tested. Allowing you to Iron out the configuration of your target instrument. Now with recent advancements from the Pine development team this same script can be connected to a webhook through the alert mechanism. The requirement of a separate study script has been completely removed. This really makes things a lot easier to get your trading system up and running. I would like to also mention that TradingView has made significant advancements to the back-end over the last year. Notably, compile times are much faster now permitting more complex algorithms to be implemented. Thank you TradingView!
I used QuantConnect as my role model and strived to produce a base script which could compete with higher end cloud based platforms while being attractive to similarly experienced traders. The versatility of the Pine Language combined with the greater selection of end point execution systems provides a powerful alternative to other cloud based platforms. At the very least, with the features available today, a modular trading system for everyday use is a reality. I hope you'll agree.
This is a swing trading strategy so the behavior of this script is to buy on weakness and sell on strength. In trading parlance this is referred to as Support and Resistance Trading. Support being the point at which prices stop falling and start rising. Resistance being the point at which prices stop rising and fall. The chart real estate between these two points being defined as the range. This script seeks to implement strategies to profit from placing trades within this region. Short positions at resistance and long positions at support. Just to be clear, the range as well as trends are merely illusions as the chart only receives prices. However, this script attempts to calculate pivot points from the price stream. Rising pivots are shorts and falling pivots are longs. I refer to pivots as a vertex in this script which adds structural components to the chart formation (point, sides and a base). When trading in “Ping Pong” mode long and short positions are interleaved continuously as long as there exists a detectable vertex.
This is a non-hedging script so those of us subject to NFA FIFO Rule 2-43(b) should be generally safe to webhook into signals emitted from this script. However, as covered later in this document, there are some technical limitations to this statement. I have tested this script on various instruments for over two years and have configurations for forex, crypto and stocks. This script along with my TrendV2 script are my daily trading vehicles as a webhook into my forex and crypto accounts. This script employs various high risk features that could wipe out your account if not used judiciously. You should absolutely not use this script if you are a beginner or looking for a get-rich-quick strategy. Also please see my CFTC RULE 4.41 disclosure statement at the end of the document. Really!
Does this script repaint? The short answer is yes, it does, despite my best efforts to the contrary. EMAs are central to my strategy and TradingView calculates from the beginning of the series so there is just no getting around this. However, Pine is improving everyday and I am hopeful that this issue will be address from an architectural level at some point in the future. I have programmed my webhook to compensate for this occurrence so, in the mean time, this my recommended way to handle it (at the endpoint and before the broker).
Design
This strategy uses a ping pong algorithm of my own design. Basically, trades bounce off each other along the price stream. Trades are produced as a series of reversals. The point at which a trade reverses is a pivot calculation. A measurement is made between the recent valley to peak which results in a standard deviation value. This value is an input to implied probability calculation.Yes, the same implied probability used in sports betting. Odds are then calculated to determine the likelihood of price action continuing or retracing to the pivot. Based on where the account is at alert time, the action could be an entry, take profit or pyramid signal. In this design, trades must occur in alternating sequence. A long followed by a short then another long followed by a short and so on. In range bound price action trades appear along the outer bands of the channel in the aforementioned sequence. Shorts on the top and longs at the bottom. Generally speaking, the widths of the trading bands can be adjusted using the vertex dynamics in Section 2. There are a dozen inputs in this section used to describe the trading range. It is not a simple adjustment. If pyramids are enabled the strategy overrides the ping pong reversal pattern and begins an accumulation sequence. In this case you will see a series of same direction trades.
This script uses twelve indicators on a single time frame. The original trading algorithms are a port from a C++ program on proprietary trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs play a key role in identifying the pivot points. I really like the Hull Moving Average. I use it in all my systems, including 3 other platforms. It’s is an excellent leading indicator and a relatively light calculation.
The trend detection algorithms rely on several factors:
1. Smoothed EMAs in a Willams Alligator pattern.
2. Number of pivots encountered in a particular direction.
3. Which side debt is being incurred.
4. Settings in Section 4 and 5 (long and short)
The strategy uses these factors to determine the probability of prices continuing in the most recent direction. My TrendV2 script uses a higher time frame to determine trend direction. I can’t use that method in this script without exceeding various TradingView limitations on code size. However, the higher time frame is the best way to know which trend is worth pursuing or better to bet against.
The entire script is around 2400 lines of Pine code which pushes the limits of what can be created on this platform given the TradingView maximums for: local scopes, run-time duration and compile time. The module has been through numerous refactoring passes and makes extensive use of ternary statements. As such, It takes a full minute to compile after adding it to a chart. Please wait for the hovering dots to disappear before attempting to bring up the input dialog box. Scrolling the chart quickly may bring up an hour glass.
Regardless of the market conditions: range or trend. The behavior of the script is governed entirely by the 91 inputs. Depending on the settings, bar interval and symbol, you can configure a system to trade in small ranges producing a thousand or more trades. If you prefer wider ranges with fewer trades then the vertex detection settings in Section 2 should employ stiffer values. To make the script more of a trend follower, adjustments are available in Section 4 and 5 (long and short respectively). Overall this script is a range trader and the setups want to get in that way. It cannot be made into a full blown trend trading system. My TrendV2 is equipped for that purpose. Conversely, this script cannot be effectively deployed as a scalper either. The vertex calculation require too much data for high frequency trading. That doesn’t work well for retail customers anyway. The script is designed to function in bar intervals between 5 minutes and 4 hours. However, larger intervals require more backtest data in order to create reliable configurations. TradingView paid plans (Pro) only provide 10K bars which may not be sufficient. Please keep that in mind.
The transition from swing trader to trend follower typically happens after a stop is hit. That means that your account experiences a loss first and usually with a pyramid stack so the loss could be significant. Even then the script continues to alternate trades long and short. The difference is that the strategy tries to be more long on rising prices and more short on falling prices as opposed to simply counter trend trading. Otherwise, a continuous period of rising prices results in a distinctly short pyramid stack. This is much different than my TrendV2 script which stays long on peaks and short on valleys. Basically, the plan is to be profitable in range bound markets and just lose less when a trend comes along. How well this actually plays out will depend largely on the choices made in the sectioned input parameters.
Sections
The input dialog for this script contains 91 inputs separated into six sections.
Section 1: Global settings for the strategy including calculation model, trading direction, exit levels, pyramid and DCA settings. This is where you specify your minimum profit and stop levels. You should setup your Properties tab inputs before working on any of the sections. It’s really important to get the Base Currency right before doing any work on the strategy inputs. It is important to understand that the “Minimum Profit” and “Limit Offset” are conditional exits. To exit at a profit, the specified value must be exceeded during positive price pressure. On the other hand, the “Stop Offset” is a hard limit.
Section 2: Vertex dynamics. The script is equipped with four types of pivot point indicators. Histogram, candle, fractal and transform. Despite how the chart visuals may seem. The chart only receives prices. It’s up to the strategy to interpret patterns from the number stream. The quality of the feed and the symbol’s bar characteristics vary greatly from instrument to instrument. Each indicator uses a fundamentally different pattern recognition algorithm. Use trial and error to determine the best fit for your configuration. After selecting an indicator type, there are eight analog fields that must be configured for that particular indicator. This is the hardest part of the configuration process. The values applied to these fields determine how the range will be measured. They have a big effect on the number of trades your system will generate. To see the vertices click on the “Show Markers” check box in this section. Red markers are long positions and blue markers are short. This will give you an idea of where trades will be placed in natural order.
Section 3: Event thresholds. Price spikes are used to enter and exit trades. The magnitude which define these spikes are configured here. The rise and fall events are primarily for pyramid placement. The rise and fall limits determine the exit threshold for the conditional “Limit Offset” field found in Section 1. These fields should be adjusted one at a time. Use a zero value to disengage every one but the one you are working on. Use the fill colors found in Section 6 to get a visual on the values applied to these fields. To make it harder for pyramids to enter stiffen the Event values. This is more of a hack as the formal pyramid parameters are in Section 1.
Section 4 and 5: Long and short settings. These are mirror opposite settings with all opposing fields having the same meaning. Its really easy to introduce data mining bias into your configuration through these fields. You must combat against this tendency by trying to keep your settings as uniform as possible. Wildly different parameters for long and short means you have probably fitted the chart. There are nine analog and thirteen Boolean fields per trade direction. This section is all about how the trades themselves will be placed along the range defined in Section 2. Generally speaking, more restrictive settings will result in less trades but higher quality. Remember that this strategy will enter long on falling prices and short on rising prices. So getting in the trade too early leads to a draw-down. However, this could be what you want if pyramiding is enabled. I, personally, have found that the best configurations come from slightly skewing one side. I just accept that the other side will be sub-par.
Section 6: Chart rendering. This section contains one analog and four Boolean fields. More or less a diagnostic tool. Of particular interest is the “Symbol Debt Sequence” field. This field contains a whole number which paints regions that have sustained a run of bad trades equal or greater than specified value. It is useful when DCA is enabled. In this script Dollar Cost Averaging on new positions continues only until the symbol debt is recouped. To get a better understanding on how this works put a number in this field and activate DCA. You should notice how the trade size increases in the colored regions. The “Summary Report” checkbox displays a blue information box at the live end of the chart. It exposes several metrics which you may find useful if manually trading this strategy from audible alerts or text messages.
Pyramids
This script features a downward pyramiding strategy which increases your position size on losing trades. On purely margin trades, this feature can be used to, hypothetically, increase the profit factor of positions (not individual trades). On long only markets, such as crypto, you can use this feature to accumulate coins at depressed prices. The way it works is the stop offset, applied in the Section 1 inputs, determines the maximum risk you intend to bear. Additional trades will be placed at pivot points calculated all the way down to the stop price. The size of each add on trade is increased by a multiple of its interval. The maximum number of intervals is limited by the “Pyramiding” field in the properties tab. The rate at which pyramid positions are created can be adjusted in Section 1. To see the pyramids click on the “Mark Pyramid Levels” check box in the same section. Blue triangles are painted below trades other than the primary.
Unlike traditional Martingale strategies, the result of your trade is not dependent on the profit or loss from the last trade. The position must recover the R1 point in order to close. Alternatively, you can set a “Pyramid Bale Out Offset” in Section 1 which will terminate the trade early. However, the bale out must coincide with a pivot point and result in a profitable exit in order to actually close the trade. Should the market price exceed the stop offset set in Section 1, the full value of the position, multiplied by the accepted leverage, will be realized as a loss to the trading account. A series of such losses will certainly wipe out your account.
Pyramiding is an advanced feature intended for professional traders with well funded accounts and an appropriate mindset. The availability of this feature is not intended to endorse or promote my use of it. Use at your own risk (peril).
DCA
In addition to pyramiding this script employs DCA which enables users to experiment with loss recovery techniques. This is another advanced feature which can increase the order size on new trades in response to stopped out or winning streak trades. The script keeps track of debt incurred from losing trades. When the debt is recovered the order size returns to the base amount specified in the properties tab. The inputs for this feature are found in section 3 and include a limiter to prevent your account from depleting capital during runaway markets. The main difference between DCA and pyramids is that this implementation of DCA applies to new trades while pyramids affect open positions. DCA is a popular feature in crypto trading but can leave you with large “bags” if your not careful. In other markets, especially margin trading, you’ll need a well funded account and much experience.
To be sure pyramiding and dollar cost averaging is as close to gambling as you can get in respectable trading exchanges. However, if you are looking to compete in a spot trading contest or just want to add excitement to your trading life style those features could find a place in your strategies. Although your backtest may show spectacular gains don’t expect your live trading account to do the same. Every backtest has some measure of data mining bias. Please remember that.
Webhook Integration
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. To that end this script has several things going for it. First off, it is a strategy type script. That means that the strategy place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint. Additionally, my scripts output the current win streak and debt loss counts in the {{strategy.order.alert_message}} field. Depending on the condition, this script will output other useful values in the JSON “comment” field of the alert message. Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
Operation
This is a swing trading strategy so the fundamental behavior of this script is to buy on weakness and sell on strength. As such trade orders are placed in a counter direction to price pressure. What you will see on the chart is a short position on peaks and a long position on valleys. This is slightly misleading since a range as well as a trend are best recognized, in hindsight, after the patterns occur on the chart. In the middle of a trade, one never knows how deep valleys will drop or how high peaks will rise. For certain, long trades will continue to trigger as the market prices fall and short trades on rising prices. This means that the maximum efficiency of this strategy is achieved in choppy markets where the price doesn’t extend very far from its adjacent pivot point. Conversely, this strategy will be the least efficient when market conditions exhibit long continuous single direction price pressure. Especially, when measured in weeks. Translation, the trend is not your friend with this strategy. Internally, the script attempts to recognize prolonged price pressure and changes tactics accordingly. However, at best, the goal is to weather the trend until the range bound market returns. At worst, trend detection fails and pyramid trades continue to be placed until the limit specified in the Properties tab is reached. In all likelihood this could trigger a margin call and if it hits the stop it could wipe out your account.
This script has been in beta test four times since inception. During all that time no one has been successful in creating a configuration from scratch. Most people give up after an hour or so. To be perfectly honest, the configuration process is a bear. I know that but there is no way, currently, to create libraries in Pine. There is also no way specify input parameters other than the flattened out 2-D inputs dialog. And the publish rules clearly state that script variations addressing markets or symbols (suites) are not permitted. I suppose the problem is systemic to be-all-end-all solutions like my script is trying to be. I needed a cloud strategy for all the symbols that I trade and since Pine does not support library modules, include files or inter process communication this script and its unruly inputs are my weapon of choice in the war against the market forces. It takes me about six hours to configure a new symbol. Also not all the symbols I configure are equally successful. I should mention that I have a facsimile of this strategy written in another platform which allows me to run a backtest on 10 years of historical data. The results provide me a sanity check on the inputs I select on this platform.
My personal configurations use a 10 minute bar interval on forex instruments and 15 minutes on crypto. I try to align my TradingView scripts to employ standard intervals available from the broker so that I can backtest longer durations than those available on TradingView. For example, Bitcoin at 15 minute bars is downloadable from several sources. I really like the 10 minute bar. It provides lots of detectable patterns and is easy to store many years in an SQL database.
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configurations that I use for my own trading that I can share with you if you like. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
Step 1. Setup the Base currency and order size in the properties tab.
Step 2. Select the calculation presets in the Instrument Type field.
Step 3. Select “No Trade” in the Trading Mode field
Step 4. Select the Histogram indicator from Section 2. You will be experimenting with different ones so it doesn’t matter which one you try first.
Step 5. Turn on Show Markers in Section 2.
Step 6. Go to the chart and checkout where the markers show up. Blue is up and red is down. Long trades show up along the red markers and short trades on the blue.
Step 7. Make adjustments to “Base To Vertex” and “Vertex To Base” net change and ROC in Section 2. Use these fields to move the markers to where you want trades to be.
Step 8. Try a different indicator from Section 2 and repeat Step 7 until you find the best match for this instrument on this interval. This step is complete when the Vertex settings and indicator combination produce the most favorable results.
Step 9. Go to Section 4 and enable “Apply Red Base To Base Margin”.
Step 10. Go to Section 5 and enable “Apply Blue Base To Base Margin”.
Step 11. Go to Section 2 and adjust “Minimum Base To Base Blue” and “Minimum Base To Base Red”. Observe the chart and note where the markers move relative to each other. Markers further apart will produce less trades but will reduce cutoffs in “Ping Pong” mode.
Step 12. Turn off Show Markers in Section 2.
Step 13. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Percentage is not currently supported. Note that the profit is taken as a conditional exit on a market order not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 14. Return to step 3 and select a Trading Mode (Long, Short, BiDir, Ping Pong). If you are planning to trade bidirectionally its best to configure long first then short. Combine them with “BiDir” or “Ping Pong” after setting up both sides of the trade individually. The difference between “BiDir” and “Ping Pong” is that “Ping Pong” uses position reversal and can cut off opposing trades less than the specified minimum profit. As a result “Ping Pong” mode produces the greatest number of trades.
Step 15. Take a look at the chart. Trades should be showing along the markers plotted earlier.
Step 16. Make adjustments to the Vertex fields in Section 2 until the TradingView performance report is showing a profit. This includes the “Minimum Base To Base” fields. If a profit cannot be achieved move on to Step 17.
Step 17. Improve the backtest profitability by adjusting the “Entry Net Change” and “Entry ROC” in Section 4 and 5.
Step 18. Enable the “Mandatory Snap” checkbox in Section 4 and 5 and adjust the “Snap Candle Delta” and “Snap Fractal Delta” in Section 2. This should reduce some chop producing unprofitable reversals.
Step 19. Increase the distance between opposing trades by adding an “Interleave Delta” in Sections 4 and 5. This is a floating point value which starts at 0.01 and typically does not exceed 2.0.
Step 20. Increase the distance between opposing trades even further by adding a “Decay Minimum Span” in Sections 4 and 5. This is an absolute value specified in the symbol’s quote currency (right side scale of the chart). This value is similar to the minimum profit and stop loss fields in Section 1.
Step 21. The “Buy Composite Strength” input works in tandem with “Long Decay Minimum Span” in Section 4. Try enabling and see if it improves the performance. This field is only relevant when there is a value in “Long Decay Minimum Span”.
Step 22. The “Sell Composite Weakness” input works in tandem with “Short Decay Minimum Span” in Section 5. Try enabling and see if it improves the performance. This field is only relevant when there is a value in “Short Decay Minimum Span”.
Step 23. Improve the backtest profitability by adjusting the “Adherence Delta” in Section 4 and 5. This field requires the “Adhere to Rising Trend” checkbox to be enabled.
Step 24. At this point your strategy should be more or less working. Experiment with the remaining check boxes in Section 4 and 5. Keep the ones which seem to improve the performance.
Step 25. Examine the chart and see that trades are being placed in accordance with your desired trading goals. This is an important step. If your desired model requires multiple trades per day then you should be seeing hundreds of trades on the chart. Alternatively, you may be looking to trade fewer steep peaks and deep valleys in which case you should see trades at major turning points. Don’t simply settle for what the backtest serves you. Work your configuration until the system aligns with your desired model. Try changing indicators and even intervals if you cannot reach your simulation goals. Generally speaking, the histogram and Candle indicators produce the most trades. The Fractal indicator captures the tallest peaks and valleys. The Transform indicator is the most reliable but doesn’t well work on all instruments.
Example Settings
To reproduce the performance shown on the chart please use the following configuration:
1. Select XBTUSD Kraken as the chart symbol.
2. On the properties tab set the Order Size to: 0.01 Bitcoin
3. On the properties tab set the Pyramiding to: 10
4. In Section 1: Select “Forex” for the Instrument Type
5. In Section 1: Select “Ping Pong” for the Trading Mode
6. In Section 1: Input 1200 for the Minimum Profit
7. In Section 1: Input 15000 for the Stop Offset
8. In Section 1: Input 1200 for the Pyramid Minimum Span
9. In Section 1: Check mark the Ultra Wide Pyramids
10. In Section 2: Check mark the Use Transform Indicator
So to be clear, I used a base position size of one - one hundredth of a Bitcoin and allow the script to add up to 10 downward pyramids. The example back-test did hit eight downward pyramids. That means the account would have to be able to withstand a base position size (0.01) times 28. The resulting position size is 0.28 of a Bitcoin. If the price of Bitcoin is 35K then the draw down amount (not including broker fees) would be $9800 dollars. Since I have a premium subscription my backtest chart includes 20K historical bars. That's roughly six months of data. As of today, pro accounts only get 10K bars so the performance cannot be exactly matched with such a difference in historical data. Please keep that in mind.
There are, of course, various ways to reduce the risk incurred from accumulating pyramids. You can increase the “Pyramid Minimum Span” input found in Section 2 which increases the space between each pyramid trade. Also you can set a “Pyramid Bale Out Offset” in the same input section. This lets you out of the trade faster on position recovery. For example: Set a value of 8000 into this input and the number of trades increase to 178 from 157. Since the positions didn’t go full term, more trades were created at less profit each. The total brute force approach would be to simply limit the number of pyramids in the Properties tab.
It should be noted that since this is crypto, accumulating on the long side may be what you want. If you are not trading on margin and thus outright buying coins on the Kraken exchange you likely are interested in increasing your Bitcoin position at depressed prices. This is a popular feature on some of the other crypto trading packages like CryptoHopper and Profit Trailer. Click on Enable TV Long Only Rule in Section 1. This switches the signal emitter to long only. However, you may still see short trades on the chart. They are treated as a close instead of a reversal.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
CFTC RULE 4.41
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
MTF Accumulation/Distribution RasterChart (Spectrogram/HeatMap)As my first published indicator for year 2020, I present my revolutionary "MTF Accumulation/Distribution RasterChart" employing PSv4.0. This is probably a world's first all-in-one multi-timeframe, multi-algorithm heatmap indicator with multiple color schemes. I decided to release this multicator now, because it has been a year long journey for me to develop spectrogram technology with abilities John Ehlers didn't include with his original heatmaps. I would like to personally thank Dr. John Ehlers for inspiring me to ponder into the realm of heatmap technology and all it has to offer. Thank you! You're a divine inspiration to the algorithmic trading community and forever shall be.
Each of the algorithms use "volume" and "price" data in their calculations to provide a unique spectrogram for either algorithm chosen, hence the accumulation/distribution attributed to the title of this indicator. The MTF capabilities include seconds, minutes, and days. If the time frame settings are shorter in time than the current sampling interval, a warning will be appropriately displayed. Also, when volume data is not applicable to an asset, the indicator will become completely red. I included so many color scheming techniques I couldn't demonstrate all of them above. This indicator has what I would term as "predator" vision. For those of you who have seen these movies, you will understand what I have built.
The use of this indicator is just like any of my other RasterCharts or heatmap indicators found on the internet, except it has much more versatility. This indicator has so many uses, I really haven't discovered all of it's characteristics yet. Anyhow, this is one of my most beautiful indicators I have created so far, but I feel there is still more room for enhancements with a possibility of more sibling algorithms to incorporate later. Lastly, I couldn't have done this without the computing power/wizardry provided by ALL Tradingview staff. They deserve a HUGE and proper, THANK YOU!!! Happy New Year 2020 everyone...
Features List Includes:
MTF controls for seconds, minutes, and days
Multiple volume weighted algorithms to choose from
Gain control for algorithm #1
Adjustable horizontal rule to differentiate between more reactive aspects of turning point fluctuations in the lower portion of the chart (visible above)
Adjustable heatmap brightness control
Visual color scheme techniques (a few of many are displayed above)
Color inversion control
"NO VOLUME" detection (indicator becomes red)
This is not a freely available indicator, FYI. To witness my Pine poetry in action, properly negotiated requests for unlimited access, per indicator, may ONLY be obtained by direct contact with me using TV's "Private Chats" or by "Message" hidden in my member name above. The comments section below is solely just for commenting and other remarks, ideas, compliments, etc... regarding only this indicator, not others. When available time provides itself, I will consider your inquiries, thoughts, and concepts presented below in the comments section, should you have any questions or comments regarding this indicator. When my indicators achieve more prevalent use by TV members, I may implement more ideas when they present themselves as worthy additions. As always, "Like" it if you simply just like it with a proper thumbs up, and also return to my scripts list occasionally for additional postings. Have a profitable future everyone!
Crypto Volatility Panel ProCrypto Volatility Panel Pro
This advanced indicator creates a comprehensive volatility monitoring dashboard that displays real-time volatility metrics for up to 30 cryptocurrency pairs simultaneously. The tool combines sophisticated volatility assessment techniques with leverage-adjusted analysis and heat map visualization to provide enhanced market insights in an organized table format.
Proprietary Methodology
This indicator utilizes a proprietary dual-metric volatility assessment system developed specifically for cryptocurrency market analysis. The methodology combines advanced technical analysis components including price volatility measurements, range position analysis, and leverage scaling algorithms optimized through extensive market testing.
The unique approach enables more accurate volatility assessments across diverse cryptocurrency price ranges and market conditions compared to standard volatility indicators. Specific calculation methods and optimization parameters remain proprietary to maintain competitive advantages.
Core Functionality and Innovation
Unlike standard volatility indicators that focus on single instruments, this tool provides simultaneous multi-asset monitoring with proprietary volatility calculations specifically optimized for cryptocurrency markets. The innovation lies in combining multiple volatility assessment techniques with enhanced leverage scaling algorithms, heat map ranking system, and comprehensive multi-asset dashboard presentation.
The indicator processes data from up to 30 different cryptocurrency pairs, each with independent leverage settings ranging from 0.1x to 10,000x. Users can apply universal leverage across all pairs for consistent analysis scenarios, or customize individual leverage ratios for specific trading strategies.
Visual Organization and Heat Map System
The table displays three primary columns with an advanced heat map ranking system:
Symbol Column: Shows cryptocurrency pair names with dynamic visual indicators (🔥, ⚡, ✅, 💤) representing volatility intensity levels. Each symbol includes its current leverage setting in parentheses for reference. Invalid or unavailable symbols display error indicators (❌) with appropriate error messaging.
Change Percentage Column: Displays leverage-adjusted volatility measurements with both color-coded text and heat map background ranking. Text colors indicate volatility levels (Red for extreme, Yellow for high, Green for moderate, Gray for low), while background heat map colors rank performance relative to all monitored pairs.
Lookback Percentage Column: Shows leverage-adjusted position analysis within recent price ranges with heat map background ranking, indicating market positioning relative to recent highs and lows across all monitored instruments.
Advanced Heat Map Ranking
The proprietary heat map system ranks all enabled pairs in real-time based on their volatility metrics, providing instant visual identification of the most and least volatile instruments:
Hottest (Top 10%): Deep red background indicating highest volatility
Warm (10-20%): Orange-red background for elevated volatility
Medium (20-40%): Yellow background for moderate-high volatility
Cool (40-60%): Green background for moderate volatility
Cold (60-80%): Blue background for low volatility
Sleepy (Bottom 20%): Dark background for minimal volatility
Heat map opacity is fully customizable, and the system can be disabled for users preferring traditional static backgrounds.
Configuration Options
Expanded Pair Selection: Monitor up to 30 cryptocurrency pairs across major exchanges including Bitstamp and Binance. Default selections include established cryptocurrencies (BTC, ETH, SOL) and emerging assets (INJ, NEAR, FTM), with full customization available.
Table Positioning: Nine position options including top/middle/bottom combinations with left/center/right alignment, allowing optimal placement on any chart layout without interfering with price action or other indicators.
Visual Customization: Comprehensive control over table dimensions, frame width, font size, background colors, frame colors, header styling, text colors, and heat map color schemes to match user preferences and chart themes.
Leverage Management: Individual leverage settings for each of the 30 pairs, with optional universal leverage mode that applies consistent multipliers across all enabled pairs. Supports extreme leverage ranges up to 10,000x for advanced risk modelling.
Error Handling: Robust symbol validation with clear error indicators for invalid, unavailable, or misconfigured trading pairs, ensuring reliable operation across different market conditions.
Practical Trading Applications
Multi-Asset Volatility Screening: Identify the most and least volatile cryptocurrency markets in real-time using the heat map ranking system, enabling quick allocation of attention to instruments with the highest potential for profitable moves.
Leverage Risk Assessment: Visualize how different leverage ratios amplify volatility metrics across multiple markets simultaneously, supporting informed position sizing decisions before entering leveraged trades.
Market Timing and Rotation: Use the combination of volatility measurements and heat map rankings to identify optimal entry/exit timing across cryptocurrency markets, facilitating effective portfolio rotation strategies.
Portfolio Diversification: Compare volatility levels and rankings across 30 cryptocurrencies to construct portfolios with desired risk characteristics, balancing high-volatility growth opportunities with stable store-of-value positions.
Risk Management Dashboard: Monitor real-time volatility changes and relative rankings to adjust position sizes, implement protective measures, or reallocate capital when market conditions change significantly.
Technical Implementation
Built using Pine Script v5 with optimized security request handling to minimize performance impact while accessing 30 external data sources simultaneously. The indicator uses efficient array-based data collection, real-time ranking algorithms, and conditional table updates to maintain smooth chart operation.
The heat map system employs dynamic ranking calculations that process all enabled pairs in real-time, sorting values and applying percentile-based color mapping for instant visual feedback. Error handling includes invalid symbol detection and graceful fallback display for unavailable data feeds.
Usage Instructions
Configure Pair Selection: Enable desired cryptocurrency pairs from the 30 available options, organized across three input groups for easy navigation. Set individual leverage values or activate universal leverage mode for consistent multipliers.
Customize Heat Map: Adjust heat map colors and opacity to match your visual preferences and chart theme. The system can be disabled for users preferring static backgrounds.
Position and Style Table: Select optimal table position from nine available options and customize appearance including colors, sizing, and text elements to integrate seamlessly with your trading setup.
Interpret Rankings: Monitor both absolute values and heat map rankings to identify relative performance.
Hottest colors indicate pairs experiencing the highest volatility relative to the monitored universe.
Apply Leverage Context: Use leverage-adjusted values to understand how volatility would affect leveraged positions, remembering these are mathematical projections designed for risk assessment rather than trading signals.
Advanced Features
Dynamic Symbol Processing: The indicator automatically handles symbol validation, displaying clear error messages for invalid or unavailable trading pairs while maintaining operation for valid symbols.
Real-Time Ranking: Heat map colors update dynamically as market conditions change, providing instant visual feedback on shifting volatility patterns across the cryptocurrency universe.
Scalable Monitoring: Users can monitor anywhere from a few key pairs to the full 30-pair universe, with the ranking system automatically adjusting to the number of enabled instruments.
Cross-Exchange Support: Incorporates data from multiple cryptocurrency exchanges to provide comprehensive market coverage and reduce single-source dependency risks.
Limitations and Important Considerations
Proprietary Algorithm: The specific calculation methods are proprietary and not disclosed. Users should evaluate the indicator's output through their own analysis and testing before incorporating it into trading decisions.
Complex Volatility Model: While the proprietary methodology is sophisticated, it represents one approach to volatility assessment and may not capture all forms of market volatility such as gap movements, flash crashes, or news-driven events.
Performance Considerations: Processing data from up to 30 external securities may impact chart loading speed or cause timeouts during periods of high TradingView server load. Users experiencing performance issues should consider reducing the number of enabled pairs.
Leverage Calculations: Leverage adjustments are mathematical projections that assume linear scaling, which may not reflect actual leveraged trading mechanics including margin requirements, funding costs, liquidation risks, and exchange-specific policies.
Market Data Dependencies: Cryptocurrency prices and volatility can vary significantly between exchanges. The indicator's data sources may not represent the specific exchange or trading pair you use, and some feeds may experience gaps or delays during maintenance periods.
Ranking Relativity: Heat map rankings are relative to the enabled pair universe. Rankings will change based on which pairs are monitored and their current market conditions, making absolute interpretations less meaningful than relative comparisons.
Educational Value
This indicator helps traders develop understanding of relative volatility patterns across cryptocurrency markets and the mathematical impact of leverage on risk metrics. The heat map system provides intuitive visualization of market dynamics, helping users identify which assets are experiencing unusual activity relative to their peers.
The tool serves as an educational platform for understanding advanced volatility measurement techniques, relative ranking systems, and multi-asset risk assessment concepts that are crucial for professional cryptocurrency trading and portfolio management.
Performance and Compatibility
The indicator is optimized for cryptocurrency markets but can be adapted to other volatile asset classes by modifying the symbol inputs. Security request limits may occasionally affect data availability, particularly when multiple indicators requesting external data are used simultaneously on the same chart.
The heat map rendering system is designed for efficiency, updating color mappings only when ranking changes occur rather than on every price tick, ensuring smooth chart performance even when monitoring the full 30-pair universe.
Risk Disclaimer: This indicator is designed for educational and analytical purposes only. Volatility calculations are estimates based on historical price data and proprietary mathematical models that are not disclosed. Results do not constitute trading advice or predictions of future price movements. Users should conduct independent analysis to evaluate the indicator's effectiveness before making trading decisions.
Leveraged trading involves substantial risk of loss and may not be suitable for all investors. Always conduct thorough research and consider consulting with qualified financial professionals before making leveraged trading decisions. Cryptocurrency markets are highly volatile and can result in significant losses. Past volatility patterns do not guarantee future market behavior.
This indicator is compatible with all TradingView chart types and timeframes. It is specifically designed for cryptocurrency markets using proprietary algorithms optimized for digital asset volatility characteristics.
Astro by Mr Perfect Trader🌌 Astro Algo Indicator – By Mr. Perfect Trader
An Educational Tool to Master Time-Based Trading with Astrology + Algorithms
🔮 What is the Astro Algo Indicator?
The Astro Algo Indicator is a unique educational and analytical tool designed for traders who want to elevate their skills by understanding how astrological timing and algorithmic market analysis come together to predict price action with precision.
This indicator is not just a tool—it’s a trading education system that teaches you to read the cosmic rhythm of the markets and apply that knowledge with technical confirmation.
Crafted by Mr. Perfect Trader, this system is the result of years of backtesting, live trading experience, and deep research into Vedic astrology, Smart Money Concepts (SMC), ORB strategies, and timing cycles that influence real market moves.
🎯 Why This Indicator is Different
Unlike traditional indicators that only use price or volume, Astro Algo combines three worlds:
Astrological Timing (Hora system) – Uses daily planetary hour transitions to identify high-impact time zones.
Algorithmic Market Logic – Identifies entry, exit, and volatility shifts using coded strategies.
Visual Trading Education – Helps you see how time and price align, so you learn while you trade.
This isn’t a black-box robot. This is a transparent, educational system meant to make YOU smarter, faster, and more precise in your trading decisions.
📚 Key Educational Features
✅ 24 Hora Zones Auto-Plotted Daily
Visual vertical lines for each planetary hour (IST), showing time shifts that impact market energy.
✅ ORB (Opening Range Breakout) System Built-In
Understand how early market volatility sets the tone for the day — and how to trade it.
✅ Smart Buy/Sell Signal Zones
Learn to identify trade zones with a confluence of time + price action, using clean logic.
✅ Multi-Asset Compatible
Works on Forex, Gold, Indices (like NASDAQ, US30, NIFTY, BANKNIFTY) and more.
✅ Fully Visual, Beginner Friendly
Ideal for new traders who want to learn while watching, not just blindly follow.
✅ Lifetime Access + Future Updates
[blackcat] L1 Net Volume DifferenceOVERVIEW
The L1 Net Volume Difference indicator serves as an advanced analytical tool designed to provide traders with deep insights into market sentiment by examining the differential between buying and selling volumes over precise timeframes. By leveraging these volume dynamics, it helps identify trends and potential reversal points more accurately, thereby supporting well-informed decision-making processes. The key focus lies in dissecting intraday changes that reflect short-term market behavior, offering critical input for both swing and day traders alike. 📊
Key benefits encompass:
• Precise calculation of net volume differences grounded in real-time data.
• Interactive visualization elements enhancing interpretability effortlessly.
• Real-time generation of buy/sell signals driven by dynamic volume shifts.
TECHNICAL ANALYSIS COMPONENTS
📉 Volume Accumulation Mechanisms:
Monitors cumulative buy/sell volumes derived from comparative closing prices.
Periodically resets accumulation counters aligning with predefined intervals (e.g., 5-minute bars).
Facilitates identification of directional biases reflecting underlying market forces accurately.
🕵️♂️ Sentiment Detection Algorithms:
Employs proprietary logic distinguishing between bullish/bearish sentiments dynamically.
Ensures consistent adherence to predefined statistical protocols maintaining accuracy.
Supports adaptive thresholds adjusting sensitivities based on changing market conditions flexibly.
🎯 Dynamic Signal Generation:
Detects transitions indicating dominance shifts between buyers/sellers promptly.
Triggers timely alerts enabling swift reactions to evolving market dynamics effectively.
Integrates conditional logic reinforcing signal validity minimizing erroneous activations.
INDICATOR FUNCTIONALITY
🔢 Core Algorithms:
Utilizes moving averages along with standardized deviation formulas generating precise net volume measurements.
Implements Arithmetic Mean Line Algorithm (AMLA) smoothing techniques improving interpretability.
Ensures consistent alignment with established statistical principles preserving fidelity.
🖱️ User Interface Elements:
Dedicated plots displaying real-time net volume markers facilitating swift decision-making.
Context-sensitive color coding distinguishing positive/negative deviations intuitively.
Background shading highlighting proximity to key threshold activations enhancing visibility.
STRATEGY IMPLEMENTATION
✅ Entry Conditions:
Confirm bullish/bearish setups validated through multiple confirmatory signals.
Validate entry decisions considering concurrent market sentiment factors.
Assess alignment between net volume readings and broader trend directions ensuring coherence.
🚫 Exit Mechanisms:
Trigger exits upon hitting predetermined thresholds derived from historical analyses.
Monitor continuous breaches signifying potential trend reversals promptly executing closures.
Execute partial/total closes contingent upon cumulative loss limits preserving capital efficiently.
PARAMETER CONFIGURATIONS
🎯 Optimization Guidelines:
Reset Interval: Governs responsiveness versus stability balancing sensitivity/stability.
Price Source: Dictates primary data series driving volume calculations selecting relevant inputs accurately.
💬 Customization Recommendations:
Commence with baseline defaults; iteratively refine parameters isolating individual impacts.
Evaluate adjustments independently prior to combined modifications minimizing disruptions.
Prioritize minimizing erroneous trigger occurrences first optimizing signal fidelity.
Sustain balanced risk-reward profiles irrespective of chosen settings upholding disciplined approaches.
ADVANCED RISK MANAGEMENT
🛡️ Proactive Risk Mitigation Techniques:
Enforce strict compliance with pre-defined maximum leverage constraints adhering strictly to guidelines.
Mandatorily apply trailing stop-loss orders conforming to script outputs reinforcing discipline.
Allocate positions proportionately relative to available capital reserves managing exposures prudently.
Conduct periodic reviews gauging strategy effectiveness rigorously identifying areas needing refinement.
⚠️ Potential Pitfalls & Solutions:
Address frequent violations arising during heightened volatility phases necessitating manual interventions judiciously.
Manage false alerts warranting immediate attention avoiding adverse consequences systematically.
Prepare contingency plans mitigating margin call possibilities preparing proactive responses effectively.
Continuously assess automated system reliability amidst fluctuating conditions ensuring seamless functionality.
PERFORMANCE AUDITS & REFINEMENTS
🔍 Critical Evaluation Metrics:
Assess win percentages consistently across diverse trading instruments gauging reliability.
Calculate average profit ratios per successful execution measuring profitability efficiency accurately.
Measure peak drawdown durations alongside associated magnitudes evaluating downside risks comprehensively.
Analyze signal generation frequencies revealing hidden patterns potentially skewing outcomes uncovering systematic biases.
📈 Historical Data Analysis Tools:
Maintain comprehensive records capturing every triggered event meticulously documenting results.
Compare realized profits/losses against backtested simulations benchmarking actual vs expected performances accurately.
Identify recurrent systematic errors demanding corrective actions implementing iterative refinements steadily.
Document evolving performance metrics tracking progress dynamically addressing identified shortcomings proactively.
PROBLEM SOLVING ADVICE
🔧 Frequent Encountered Challenges:
Unpredictable behaviors emerging within thinly traded markets requiring filtration processes.
Latency issues manifesting during abrupt price fluctuations causing missed opportunities.
Overfitted models yielding suboptimal results post-extensive tuning demanding recalibrations.
Inaccuracies stemming from incomplete/inaccurate data feeds necessitating verification procedures.
💡 Effective Resolution Pathways:
Exclude low-liquidity assets prone to erratic movements enhancing signal integrity.
Introduce buffer intervals safeguarding major news/event impacts mitigating distortions effectively.
Limit ongoing optimization attempts preventing model degradation maintaining optimal performance levels consistently.
Verify reliable connections ensuring uninterrupted data flows guaranteeing accurate interpretations reliably.
USER ENGAGEMENT SEGMENT
🤝 Community Contributions Welcome
Highly encourage active participation sharing experiences & recommendations!
THANKS
Heartfelt acknowledgment extends to all developers contributing invaluable insights about volume-based trading methodologies! ✨
Forex Pips Tracker PinescriptlabsThis algorithm is exclusively designed for the Forex market 🌐 and serves as a tool to measure volatility, helping to determine on average how many pips positions move per hour. With this information, a trader can place take profit and stop loss orders with greater certainty, since they know the average pip movement range during each hour of the day.
What does it do and how does it work?
• Volatility measurement in pips 📊:
The algorithm calculates the size of the movement (or range) of each candle expressed in pips. To do this, it takes the difference between the highest and lowest price of each candle and converts it into pips.
👉
• Time zone adjustment ⏰:
It allows you to configure the time zone so that the data aligns with your desired schedule. This is especially useful for comparing movements at different times based on the trader's location.
• Analysis by time intervals 🕒:
The algorithm’s logic organizes the information for each hour of the day. It stores data for the current day, the previous day, weekly, and historically (200 candles). This allows you to see how volatility varies across different periods, providing a dynamic view of market behavior.
👉
• Directionality of movement 🔄:
In addition to averaging the pip range, the algorithm determines the predominant direction of each candle (bullish or bearish). This translates into visual indicators (like arrows) that help identify whether, on average, the movement during that hour tends to go up or down.
• Table visualization 📈:
Finally, the information is presented in an integrated table on the chart. Each row corresponds to an hour of the day and shows the average number of pips and the direction (bullish, bearish, or neutral) for each analyzed period. This table makes it easy to quickly and practically interpret the volatility data.
By combining these features, the algorithm becomes an essential tool for traders looking to better understand market dynamics and optimize their trading strategies! 💼✨
Español:
Este algoritmo está diseñado exclusivamente para el mercado Forex 🌐 y sirve como una herramienta para medir la volatilidad, ayudando a determinar en promedio cuántos pips se mueven las posiciones por hora. Con esta información, un trader puede colocar el take profit y el stop loss con mayor certeza, ya que conoce el rango promedio de movimiento en pips durante cada hora del día.
¿Qué hace y cómo funciona?
• Medición de volatilidad en pips 📊:
El algoritmo calcula el tamaño del movimiento (o rango) de cada vela expresado en pips. Para ello, toma la diferencia entre el precio máximo y el mínimo de cada vela y la convierte a pips.
👉
• Ajuste de zona horaria ⏰:
Permite configurar la zona horaria para que los datos se ajusten al horario deseado. Esto es especialmente útil para comparar movimientos durante distintas horas en función de la localización del trader.
• Análisis por intervalos de tiempo 🕒:
La lógica del algoritmo organiza la información por cada hora del día. Guarda datos para el día actual, el día anterior, a nivel semanal e histórico (200 velas). Esto permite ver cómo varía la volatilidad en diferentes periodos, proporcionando una visión dinámica del comportamiento del mercado.
👉
• Direccionalidad del movimiento 🔄:
Además de promediar el rango en pips, el algoritmo determina la dirección predominante de cada vela (alcista o bajista). Esto se traduce en indicadores visuales (como flechas) que permiten identificar si, en promedio, el movimiento en esa hora tiende a subir o bajar.
• Visualización en tabla 📈:
Finalmente, la información se presenta en una tabla integrada en el gráfico. Cada fila corresponde a una hora del día y muestra el promedio de pips y la dirección (alcista, bajista o neutral) para cada uno de los periodos analizados. Esta tabla facilita la interpretación rápida y práctica de los datos de volatilidad.
Al combinar estas funciones, el algoritmo se convierte en una herramienta esencial para traders que buscan entender mejor la dinámica del mercado y optimizar sus estrategias de trading! 💼✨