Buy on 5% dip strategy with time adjustment
This script is a strategy called "Buy on 5% Dip Strategy with Time Adjustment 📉💡," which detects a 5% drop in price and triggers a buy signal 🔔. It also automatically closes the position once the set profit target is reached 💰, and it has additional logic to close the position if the loss exceeds 14% after holding for 230 days ⏳.
Strategy Explanation
Buy Condition: A buy signal is triggered when the price drops 5% from the highest price reached 🔻.
Take Profit: The position is closed when the price hits a 1.22x target from the average entry price 📈.
Forced Sell Condition: If the position is held for more than 230 days and the loss exceeds 14%, the position is automatically closed 🚫.
Leverage & Capital Allocation: Leverage is adjustable ⚖️, and you can set the percentage of capital allocated to each trade 💸.
Time Limits: The strategy allows you to set a start and end time ⏰ for trading, making the strategy active only within that specific period.
Code Credits and References
Credits: This script utilizes ideas and code from @QuantNomad and jangdokang for the profit table and algorithm concepts 🔧.
Sources:
Monthly Performance Table Script by QuantNomad:
ZenAndTheArtOfTrading's Script:
Strategy Performance
This strategy provides risk management through take profit and forced sell conditions and includes a performance table 📊 to track monthly and yearly results. You can compare backtest results with real-time performance to evaluate the strategy's effectiveness.
The performance numbers shown in the backtest reflect what would have happened if you had used this strategy since the launch date of the SOXL (the Direxion Daily Semiconductor Bull 3x Shares ETF) 📅. These results are not hypothetical but based on actual performance from the day of the ETF’s launch 📈.
Caution ⚠️
No Guarantee of Future Results: The results are based on historical performance from the launch of the SOXL ETF, but past performance does not guarantee future results. It’s important to approach with caution when applying it to live trading 🔍.
Risk Management: Leverage and capital allocation settings are crucial for managing risk ⚠️. Make sure to adjust these according to your risk tolerance ⚖️.
Statistics
Simple APF Strategy Backtesting [The Quant Science]Simple backtesting strategy for the quantitative indicator Autocorrelation Price Forecasting. This is a Buy & Sell strategy that operates exclusively with long orders. It opens long positions and generates profit based on the future price forecast provided by the indicator. It's particularly suitable for trend-following trading strategies or directional markets with an established trend.
Main functions
1. Cycle Detection: Utilize autocorrelation to identify repetitive market behaviors and cycles.
2. Forecasting for Backtesting: Simulate trades and assess the profitability of various strategies based on future price predictions.
Logic
The strategy works as follow:
Entry Condition: Go long if the hypothetical gain exceeds the threshold gain (configurable by user interface).
Position Management: Sets a take-profit level based on the future price.
Position Sizing: Automatically calculates the order size as a percentage of the equity.
No Stop-Loss: this strategy doesn't includes any stop loss.
Example Use Case
A trader analyzes a dayli period using 7 historical bars for autocorrelation.
Sets a threshold gain of 20 points using a 5% of the equity for each trade.
Evaluates the effectiveness of a long-only strategy in this period to assess its profitability and risk-adjusted performance.
User Interface
Length: Set the length of the data used in the autocorrelation price forecasting model.
Thresold Gain: Minimum value to be considered for opening trades based on future price forecast.
Order Size: percentage size of the equity used for each single trade.
Strategy Limit
This strategy does not use a stop loss. If the price continues to drop and the future price forecast is incorrect, the trader may incur a loss or have their capital locked in the losing trade.
Disclaimer!
This is a simple template. Use the code as a starting point rather than a finished solution. The script does not include important parameters, so use it solely for educational purposes or as a boilerplate.
Fibonacci-Only Strategy V2Fibonacci-Only Strategy V2
This strategy combines Fibonacci retracement levels with pattern recognition and statistical confirmation to identify high-probability trading opportunities across multiple timeframes.
Core Strategy Components:
Fibonacci Levels: Uses key Fibonacci retracement levels (19% and 82.56%) to identify potential reversal zones
Pattern Recognition: Analyzes recent price patterns to find similar historical formations
Statistical Confirmation: Incorporates statistical analysis to validate entry signals
Risk Management: Includes customizable stop loss (fixed or ATR-based) and trailing stop features
Entry Signals:
Long entries occur when price touches or breaks the 19% Fibonacci level with bullish confirmation
Short entries require Fibonacci level interaction, bearish confirmation, and statistical validation
All signals are visually displayed with color-coded markers and dashboard
Trading Method:
When a triangle signal appears, open a position on the next candle
Alternatively, after seeing a signal on a higher timeframe, you can switch to a lower timeframe to find a more precise entry point
Entry signals are clearly marked with visual indicators for easy identification
Risk Management Features:
Adjustable stop loss (percentage-based or ATR-based)
Optional trailing stops for protecting profits
Multiple take-profit levels for strategic position exit
Customization Options:
Timeframe selection (1m to Daily)
Pattern length and similarity threshold adjustment
Statistical period and weight configuration
Risk parameters including stop loss and trailing stop settings
This strategy is particularly well-suited for cryptocurrency markets due to their tendency to respect Fibonacci levels and technical patterns. Crypto's volatility is effectively managed through the customizable stop-loss and trailing-stop mechanisms, making it an ideal tool for traders in digital asset markets.
For optimal performance, this strategy works best on higher timeframes (30m, 1h and above) and is not recommended for low timeframe scalping. The Fibonacci pattern recognition requires sufficient price movement to generate reliable signals, which is more consistently available in medium to higher timeframes.
Users should avoid trading during sideways market conditions, as the strategy performs best during trending markets with clear directional movement. The statistical confirmation component helps filter out some sideways market signals, but it's recommended to manually avoid ranging markets for best results.
Buy When There's Blood in the Streets StrategyStatistical Analysis of Drawdowns in Stock Markets
Drawdowns, defined as the decline from a peak to a trough in asset prices, are an essential measure of risk and market dynamics. Their statistical properties provide insights into market behavior during extreme stress periods.
Distribution of Drawdowns: Research suggests that drawdowns follow a power-law distribution, implying that large drawdowns, while rare, are more frequent than expected under normal distributions (Sornette et al., 2003).
Impacts of Extreme Drawdowns: During significant drawdowns (e.g., financial crises), the average recovery time is significantly longer, highlighting market inefficiencies and behavioral biases. For example, the 2008 financial crisis led to a 57% drawdown in the S&P 500, requiring years to recover (Cont, 2001).
Using Standard Deviations: Drawdowns exceeding two or three standard deviations from their historical mean are often indicative of market overreaction or capitulation, creating contrarian investment opportunities (Taleb, 2007).
Behavioral Finance Perspective: Investors often exhibit panic-selling during drawdowns, leading to oversold conditions that can be exploited using statistical thresholds like standard deviations (Kahneman, 2011).
Practical Implications: Studies on mean reversion show that extreme drawdowns are frequently followed by periods of recovery, especially in equity markets. This underpins strategies that "buy the dip" under specific, statistically derived conditions (Jegadeesh & Titman, 1993).
References:
Sornette, D., & Johansen, A. (2003). Stock market crashes and endogenous dynamics.
Cont, R. (2001). Empirical properties of asset returns: stylized facts and statistical issues. Quantitative Finance.
Taleb, N. N. (2007). The Black Swan: The Impact of the Highly Improbable.
Kahneman, D. (2011). Thinking, Fast and Slow.
Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency.
Divergence IQ [TradingIQ]Hello Traders!
Introducing "Divergence IQ"
Divergence IQ lets traders identify divergences between price action and almost ANY TradingView technical indicator. This tool is designed to help you spot potential trend reversals and continuation patterns with a range of configurable features.
Features
Divergence Detection
Detects both regular and hidden divergences for bullish and bearish setups by comparing price movements with changes in the indicator.
Offers two detection methods: one based on classic pivot point analysis and another that provides immediate divergence signals.
Option to use closing prices for divergence detection, allowing you to choose the data that best fits your strategy.
Normalization Options:
Includes multiple normalization techniques such as robust scaling, rolling Z-score, rolling min-max, or no normalization at all.
Adjustable normalization window lets you customize the indicator to suit various market conditions.
Option to display the normalized indicator on the chart for clearer visual comparison.
Allows traders to take indicators that aren't oscillators, and convert them into an oscillator - allowing for better divergence detection.
Simulated Trade Management:
Integrates simulated trade entries and exits based on divergence signals to demonstrate potential trading outcomes.
Customizable exit strategies with options for ATR-based or percentage-based stop loss and profit target settings.
Automatically calculates key trade metrics such as profit percentage, win rate, profit factor, and total trade count.
Visual Enhancements and On-Chart Displays:
Color-coded signals differentiate between bullish, bearish, hidden bullish, and hidden bearish divergence setups.
On-chart labels, lines, and gradient flow visualizations clearly mark divergence signals, entry points, and exit levels.
Configurable settings let you choose whether to display divergence signals on the price chart or in a separate pane.
Performance Metrics Table:
A performance table dynamically displays important statistics like profit, win rate, profit factor, and number of trades.
This feature offers an at-a-glance assessment of how the divergence-based strategy is performing.
The image above shows Divergence IQ successfully identifying and trading a bullish divergence between an indicator and price action!
The image above shows Divergence IQ successfully identifying and trading a bearish divergence between an indicator and price action!
The image above shows Divergence IQ successfully identifying and trading a hidden bullish divergence between an indicator and price action!
The image above shows Divergence IQ successfully identifying and trading a hidden bearish divergence between an indicator and price action!
The performance table is designed to provide a clear summary of simulated trade results based on divergence setups. You can easily review key metrics to assess the strategy’s effectiveness over different time periods.
Customization and Adaptability
Divergence IQ offers a wide range of configurable settings to tailor the indicator to your personal trading approach. You can adjust the lookback and lookahead periods for pivot detection, select your preferred method for normalization, and modify trade exit parameters to manage risk according to your strategy. The tool’s clear visual elements and comprehensive performance metrics make it a useful addition to your technical analysis toolbox.
The image above shows Divergence IQ identifying divergences between price action and OBV with no normalization technique applied.
While traders can look for divergences between OBV and price, OBV doesn't naturally behave like an oscillator, with no definable upper and lower threshold, OBV can infinitely increase or decrease.
With Divergence IQ's ability to normalize any indicator, traders can normalize non-oscillator technical indicators such as OBV, CVD, MACD, or even a moving average.
In the image above, the "Robust Scaling" normalization technique is selected. Consequently, the output of OBV has changed and is now behaving similar to an oscillator-like technical indicator. This makes spotting divergences between the indicator and price easier and more appropriate.
The three normalization techniques included will change the indicator's final output to be more compatible with divergence detection.
This feature can be used with almost any technical indicator.
Stop Type
Traders can select between ATR based profit targets and stop losses, or percentage based profit targets and stop losses.
The image above shows options for the feature.
Divergence Detection Method
A natural pitfall of divergence trading is that it generally takes several bars to "confirm" a divergence. This makes trading the divergence complicated, because the entry at time of the divergence might look great; however, the divergence wasn't actually signaled until several bars later.
To circumvent this issue, Divergence IQ offers two divergence detection mechanisms.
Pivot Detection
Pivot detection mode is the same as almost every divergence indicator on TradingView. The Pivots High Low indicator is used to detect market/indicator highs and lows and, consequently, divergences.
This method generally finds the "best looking" divergences, but will always take additional time to confirm the divergence.
Immediate Detection
Immediate detection mode attempts to reduce lag between the divergence and its confirmation to as little as possible while avoiding repainting.
Immediate detection mode still uses the Pivots Detection model to find the first high/low of a divergence. However, the most recent high/low does not utilize the Pivot Detection model, and instead immediately looks for a divergence between price and an indicator.
Immediate Detection Mode will always signal a divergence one bar after it's occurred, and traders can set alerts in this mode to be alerted as soon as the divergence occurs.
TradingView Backtester Integration
Divergence IQ is fully compatible with the TradingView backtester!
Divergence IQ isn’t designed to be a “profitable strategy” for users to trade. Instead, the intention of including the backtester is to let users backtest divergence-based trading strategies between the asset on their chart and almost any technical indicator, and to see if divergences have any predictive utility in that market.
So while the backtester is available in Divergence IQ, it’s for users to personally figure out if they should consider a divergence an actionable insight, and not a solicitation that Divergence IQ is a profitable trading strategy. Divergence IQ should be thought of as a Divergence backtesting toolkit, not a full-feature trading strategy.
Strategy Properties Used For Backtest
Initial Capital: $1000 - a realistic amount of starting capital that will resonate with many traders
Amount Per Trade: 5% of equity - a realistic amount of capital to invest relative to portfolio size
Commission: 0.02% - a conservative amount of commission to pay for trade that is standard in crypto trading, and very high for other markets.
Slippage: 1 tick - appropriate for liquid markets, but must be increased in markets with low activity.
Once more, the backtester is meant for traders to personally figure out if divergences are actionable trading signals on the market they wish to trade with the indicator they wish to use.
And that's all!
If you have any cool features you think can benefit Divergence IQ - please feel free to share them!
Thank you so much TradingView community!
Iron Bot Statistical Trend Filter📌 Iron Bot Statistical Trend Filter
📌 Overview
Iron Bot Statistical Trend Filter is an advanced trend filtering strategy that combines statistical methods with technical analysis.
By leveraging Z-score and Fibonacci levels, this strategy quantitatively analyzes market trends to provide high-precision entry signals.
Additionally, it includes an optional EMA filter to enhance trend reliability.
Risk management is reinforced with Stop Loss (SL) and four Take Profit (TP) levels, ensuring a balanced approach to risk and reward.
📌 Key Features
🔹 1. Statistical Trend Filtering with Z-Score
This strategy calculates the Z-score to measure how much the price deviates from its historical mean.
Positive Z-score: Indicates a statistically high price, suggesting a strong uptrend.
Negative Z-score: Indicates a statistically low price, signaling a potential downtrend.
Z-score near zero: Suggests a ranging market with no strong trend.
By using the Z-score as a filter, market noise is reduced, leading to more reliable entry signals.
🔹 2. Fibonacci Levels for Trend Reversal Detection
The strategy integrates Fibonacci retracement levels to identify potential reversal points in the market.
High Trend Level (Fibo 23.6%): When the price surpasses this level, an uptrend is likely.
Low Trend Level (Fibo 78.6%): When the price falls below this level, a downtrend is expected.
Trend Line (Fibo 50%): Acts as a midpoint, helping to assess market balance.
This allows traders to visually confirm trend strength and turning points, improving entry accuracy.
🔹 3. EMA Filter for Trend Confirmation (Optional)
The strategy includes an optional 200 EMA (Exponential Moving Average) filter for trend validation.
Price above 200 EMA: Indicates a bullish trend (long entries preferred).
Price below 200 EMA: Indicates a bearish trend (short entries preferred).
Enabling this filter reduces false signals and improves trend-following accuracy.
🔹 4. Multi-Level Take Profit (TP) and Stop Loss (SL) Management
To ensure effective risk management, the strategy includes four Take Profit levels and a Stop Loss:
Stop Loss (SL): Automatically closes trades when the price moves against the position by a certain percentage.
TP1 (+0.75%): First profit-taking level.
TP2 (+1.1%): A higher probability profit target.
TP3 (+1.5%): Aiming for a stronger trend move.
TP4 (+2.0%): Maximum profit target.
This system secures profits at different stages and optimizes risk-reward balance.
🔹 5. Automated Long & Short Trading Logic
The strategy is built using Pine Script®’s strategy.entry() and strategy.exit(), allowing fully automated trading.
Long Entry:
Price is above the trend line & high trend level.
Z-score is positive (indicating an uptrend).
(Optional) Price is also above the EMA for stronger confirmation.
Short Entry:
Price is below the trend line & low trend level.
Z-score is negative (indicating a downtrend).
(Optional) Price is also below the EMA for stronger confirmation.
This logic helps filter out unnecessary trades and focus only on high-probability entries.
📌 Trading Parameters
This strategy is designed for flexible capital management and risk control.
💰 Account Size: $5000
📉 Commissions and Slippage: Assumes 94 pips commission per trade and 1 pip slippage.
⚖️ Risk per Trade: Adjustable, with a default setting of 1% of equity.
These parameters help preserve capital while optimizing the risk-reward balance.
📌 Visual Aids for Clarity
To enhance usability, the strategy includes clear visual elements for easy market analysis.
✅ Trend Line (Blue): Indicates market midpoint and helps with entry decisions.
✅ Fibonacci Levels (Yellow): Highlights high and low trend levels.
✅ EMA Line (Green, Optional): Confirms long-term trend direction.
✅ Entry Signals (Green for Long, Red for Short): Clearly marked buy and sell signals.
These features allow traders to quickly interpret market conditions, even without advanced technical analysis skills.
📌 Originality & Enhancements
This strategy is developed based on the IronXtreme and BigBeluga indicators,
combining a unique Z-score statistical method with Fibonacci trend analysis.
Compared to conventional trend-following strategies, it leverages statistical techniques
to provide higher-precision entry signals, reducing false trades and improving overall reliability.
📌 Summary
Iron Bot Statistical Trend Filter is a statistically-driven trend strategy that utilizes Z-score and Fibonacci levels.
High-precision trend analysis
Enhanced accuracy with an optional EMA filter
Optimized risk management with multiple TP & SL levels
Visually intuitive chart design
Fully customizable parameters & leverage support
This strategy reduces false signals and helps traders ride the trend with confidence.
Try it out and take your trading to the next level! 🚀
Bollinger Bands Long Strategy
This strategy is designed for identifying and executing long trades based on Bollinger Bands and RSI. It aims to capitalize on potential oversold conditions and subsequent price recovery.
Key Features:
- Bollinger Bands (10,2): The strategy uses Bollinger Bands with a 10-period moving average and a multiplier of 2 to define price volatility.
- RSI Filter: A trade is only triggered when the RSI (14-period) is below 30, ensuring entry during oversold conditions.
- Entry Condition: A long trade is entered immediately when the price crosses below the lower Bollinger Band and the RSI is under 30.
- Exit Condition: The position is exited when the price reaches or crosses above the Bollinger Band basis (20-period moving average).
Best Used For:
- Identifying oversold conditions with a strong potential for a rebound.
- Markets or assets with clear oscillations and volatility e.g., BTC.
**Disclaimer:** This strategy is for educational purposes and should be used with caution. Backtesting and risk management are essential before live trading.
Statistical Arbitrage Pairs Trading - Long-Side OnlyThis strategy implements a simplified statistical arbitrage (" stat arb ") approach focused on mean reversion between two correlated instruments. It identifies opportunities where the spread between their normalized price series (Z-scores) deviates significantly from historical norms, then executes long-only trades anticipating reversion to the mean.
Key Mechanics:
1. Spread Calculation: The strategy computes Z-scores for both instruments to normalize price movements, then tracks the spread between these Z-scores.
2. Modified Z-Score: Uses a robust measure combining the median and Median Absolute Deviation (MAD) to reduce outlier sensitivity.
3. Entry Signal: A long position is triggered when the spread’s modified Z-score falls below a user-defined threshold (e.g., -1.0), indicating extreme undervaluation of the main instrument relative to its pair.
4. Exit Signal: The position closes automatically when the spread reverts to its historical mean (Z-score ≥ 0).
Risk management:
Trades are sized as a percentage of equity (default: 10%).
Includes commissions and slippage for realistic backtesting.
DCA Simulation for CryptoCommunity v1.1Overview
This script provides a detailed simulation of a Dollar-Cost Averaging (DCA) strategy tailored for crypto traders. It allows users to visualize how their DCA strategy would perform historically under specific parameters. The script is designed to help traders understand the mechanics of DCA and how it influences average price movement, budget utilization, and trade outcomes.
Key Features:
Combines Interval and Safety Order DCA:
Interval DCA: Regular purchases based on predefined time intervals.
Safety Order DCA: Additional buys triggered by percentage price drops.
Interactive Visualization:
Displays buy levels, average price, and profit-taking points on the chart.
Allows traders to assess how their strategy adapts to price movements.
Comprehensive Dashboard:
Tracks money spent, contracts acquired, and budget utilization.
Shows maximum amounts used if profit-taking is active.
Dynamic Safety Orders:
Resets safety orders when a new higher high is established.
Customizable Parameters:
Adjustable buy frequency, safety order settings, and profit-taking levels.
Suitable for traders with varying budgets and risk tolerances.
Default Strategy Settings:
Account Size: Default account size is set to $10,000 to represent a realistic budget for the average trader.
Commission & Slippage: Includes realistic trading fees and slippage assumptions to ensure accurate backtesting results.
Risk Management: Defaults to risking no more than 5% of the account balance per trade.
Sample Size: Optimized to generate a minimum of 100 trades for meaningful statistical analysis. Users can adjust parameters to fit longer timeframes or different datasets.
Usage Instructions:
Configure Your Strategy: Set the base order, safety order size, and buy frequency based on your preferred DCA approach.
Analyze Historical Performance: Use the chart and dashboard to understand how the strategy performs under different market conditions.
Optimize Parameters: Adjust settings to align with your risk tolerance and trading objectives.
Important Notes:
This script is for educational and simulation purposes. It is not intended to provide financial advice or guarantee profitability.
If the strategy's default settings do not meet your needs, feel free to adjust them while keeping risk management in mind.
TradingView limits the number of open trades to 999, so reduce the buy frequency if necessary to fit longer timeframes.
Mean Reversion Pro Strategy [tradeviZion]Mean Reversion Pro Strategy : User Guide
A mean reversion trading strategy for daily timeframe trading.
Introduction
Mean Reversion Pro Strategy is a technical trading system that operates on the daily timeframe. The strategy uses a dual Simple Moving Average (SMA) system combined with price range analysis to identify potential trading opportunities. It can be used on major indices and other markets with sufficient liquidity.
The strategy includes:
Trading System
Fast SMA for entry/exit points (5, 10, 15, 20 periods)
Slow SMA for trend reference (100, 200 periods)
Price range analysis (20% threshold)
Position management rules
Visual Elements
Gradient color indicators
Three themes (Dark/Light/Custom)
ATR-based visuals
Signal zones
Status Table
Current position information
Basic performance metrics
Strategy parameters
Optional messages
📊 Strategy Settings
Main Settings
Trading Mode
Options: Long Only, Short Only, Both
Default: Long Only
Position Size: 10% of equity
Starting Capital: $20,000
Moving Averages
Fast SMA: 5, 10, 15, or 20 periods
Slow SMA: 100 or 200 periods
Default: Fast=5, Slow=100
🎯 Entry and Exit Rules
Long Entry Conditions
All conditions must be met:
Price below Fast SMA
Price below 20% of current bar's range
Price above Slow SMA
No existing position
Short Entry Conditions
All conditions must be met:
Price above Fast SMA
Price above 80% of current bar's range
Price below Slow SMA
No existing position
Exit Rules
Long Positions
Exit when price crosses above Fast SMA
No fixed take-profit levels
No stop-loss (mean reversion approach)
Short Positions
Exit when price crosses below Fast SMA
No fixed take-profit levels
No stop-loss (mean reversion approach)
💼 Risk Management
Position Sizing
Default: 10% of equity per trade
Initial capital: $20,000
Commission: 0.01%
Slippage: 2 points
Maximum one position at a time
Risk Control
Use daily timeframe only
Avoid trading during major news events
Consider market conditions
Monitor overall exposure
📊 Performance Dashboard
The strategy includes a comprehensive status table displaying:
Strategy Parameters
Current SMA settings
Trading direction
Fast/Slow SMA ratio
Current Status
Active position (Flat/Long/Short)
Current price with color coding
Position status indicators
Performance Metrics
Net Profit (USD and %)
Win Rate with color grading
Profit Factor with thresholds
Maximum Drawdown percentage
Average Trade value
📱 Alert Settings
Entry Alerts
Long Entry (Buy Signal)
Short Entry (Sell Signal)
Exit Alerts
Long Exit (Take Profit)
Short Exit (Take Profit)
Alert Message Format
Strategy name
Signal type and direction
Current price
Fast SMA value
Slow SMA value
💡 Usage Tips
Consider starting with Long Only mode
Begin with default settings
Keep track of your trades
Review results regularly
Adjust settings as needed
Follow your trading plan
⚠️ Disclaimer
This strategy is for educational and informational purposes only. It is not financial advice. Always:
Conduct your own research
Test thoroughly before live trading
Use proper risk management
Consider your trading goals
Monitor market conditions
Never risk more than you can afford to lose
📋 Release Notes
14 January 2025
Added New Fast & Slow SMA Options:
Fibonacci-based periods: 8, 13, 21, 144, 233, 377
Additional period: 50
Complete Fast SMA options now: 5, 8, 10, 13, 15, 20, 21, 34, 50
Complete Slow SMA options now: 100, 144, 200, 233, 377
Bug Fixes:
Fixed Maximum Drawdown calculation in the performance table
Now using strategy.max_drawdown_percent for accurate DD reporting
Previous version showed incorrect DD values
Performance metrics now accurately reflect trading results
Performance Note:
Strategy tested with Fast/Slow SMA 13/377
Test conducted with 10% equity risk allocation
Daily Timeframe
For Beginners - How to Modify SMA Levels:
Find this line in the code:
fastLength = input.int(title="Fast SMA Length", defval=5, options= )
To add a new Fast SMA period: Add the number to the options list, e.g.,
To remove a Fast SMA period: Remove the number from the options list
For Slow SMA, find:
slowLength = input.int(title="Slow SMA Length", defval=100, options= )
Modify the options list the same way
⚠️ Note: Keep the periods that make sense for your trading timeframe
💡 Tip: Test any new combinations thoroughly before live trading
"Trade with Discipline, Manage Risk, Stay Consistent" - tradeviZion
Adaptive Momentum Reversion StrategyThe Adaptive Momentum Reversion Strategy: An Empirical Approach to Market Behavior
The Adaptive Momentum Reversion Strategy seeks to capitalize on market price dynamics by combining concepts from momentum and mean reversion theories. This hybrid approach leverages a Rate of Change (ROC) indicator along with Bollinger Bands to identify overbought and oversold conditions, triggering trades based on the crossing of specific thresholds. The strategy aims to detect momentum shifts and exploit price reversions to their mean.
Theoretical Framework
Momentum and Mean Reversion: Momentum trading assumes that assets with a recent history of strong performance will continue in that direction, while mean reversion suggests that assets tend to return to their historical average over time (Fama & French, 1988; Poterba & Summers, 1988). This strategy incorporates elements of both, looking for periods when momentum is either overextended (and likely to revert) or when the asset’s price is temporarily underpriced relative to its historical trend.
Rate of Change (ROC): The ROC is a straightforward momentum indicator that measures the percentage change in price over a specified period (Wilder, 1978). The strategy calculates the ROC over a 2-period window, making it responsive to short-term price changes. By using ROC, the strategy aims to detect price acceleration and deceleration.
Bollinger Bands: Bollinger Bands are used to identify volatility and potential price extremes, often signaling overbought or oversold conditions. The bands consist of a moving average and two standard deviation bounds that adjust dynamically with price volatility (Bollinger, 2002).
The strategy employs two sets of Bollinger Bands: one for short-term volatility (lower band) and another for longer-term trends (upper band), with different lengths and standard deviation multipliers.
Strategy Construction
Indicator Inputs:
ROC Period: The rate of change is computed over a 2-period window, which provides sensitivity to short-term price fluctuations.
Bollinger Bands:
Lower Band: Calculated with a 18-period length and a standard deviation of 1.7.
Upper Band: Calculated with a 21-period length and a standard deviation of 2.1.
Calculations:
ROC Calculation: The ROC is computed by comparing the current close price to the close price from rocPeriod days ago, expressing it as a percentage.
Bollinger Bands: The strategy calculates both upper and lower Bollinger Bands around the ROC, using a simple moving average as the central basis. The lower Bollinger Band is used as a reference for identifying potential long entry points when the ROC crosses above it, while the upper Bollinger Band serves as a reference for exits, when the ROC crosses below it.
Trading Conditions:
Long Entry: A long position is initiated when the ROC crosses above the lower Bollinger Band, signaling a potential shift from a period of low momentum to an increase in price movement.
Exit Condition: A position is closed when the ROC crosses under the upper Bollinger Band, or when the ROC drops below the lower band again, indicating a reversal or weakening of momentum.
Visual Indicators:
ROC Plot: The ROC is plotted as a line to visualize the momentum direction.
Bollinger Bands: The upper and lower bands, along with their basis (simple moving averages), are plotted to delineate the expected range for the ROC.
Background Color: To enhance decision-making, the strategy colors the background when extreme conditions are detected—green for oversold (ROC below the lower band) and red for overbought (ROC above the upper band), indicating potential reversal zones.
Strategy Performance Considerations
The use of Bollinger Bands in this strategy provides an adaptive framework that adjusts to changing market volatility. When volatility increases, the bands widen, allowing for larger price movements, while during quieter periods, the bands contract, reducing trade signals. This adaptiveness is critical in maintaining strategy effectiveness across different market conditions.
The strategy’s pyramiding setting is disabled (pyramiding=0), ensuring that only one position is taken at a time, which is a conservative risk management approach. Additionally, the strategy includes transaction costs and slippage parameters to account for real-world trading conditions.
Empirical Evidence and Relevance
The combination of momentum and mean reversion has been widely studied and shown to provide profitable opportunities under certain market conditions. Studies such as Jegadeesh and Titman (1993) confirm that momentum strategies tend to work well in trending markets, while mean reversion strategies have been effective during periods of high volatility or after sharp price movements (De Bondt & Thaler, 1985). By integrating both strategies into one system, the Adaptive Momentum Reversion Strategy may be able to capitalize on both trending and reverting market behavior.
Furthermore, research by Chan (1996) on momentum-based trading systems demonstrates that adaptive strategies, which adjust to changes in market volatility, often outperform static strategies, providing a compelling rationale for the use of Bollinger Bands in this context.
Conclusion
The Adaptive Momentum Reversion Strategy provides a robust framework for trading based on the dual concepts of momentum and mean reversion. By using ROC in combination with Bollinger Bands, the strategy is capable of identifying overbought and oversold conditions while adapting to changing market conditions. The use of adaptive indicators ensures that the strategy remains flexible and can perform across different market environments, potentially offering a competitive edge for traders who seek to balance risk and reward in their trading approaches.
References
Bollinger, J. (2002). Bollinger on Bollinger Bands. McGraw-Hill Professional.
Chan, L. K. C. (1996). Momentum, Mean Reversion, and the Cross-Section of Stock Returns. Journal of Finance, 51(5), 1681-1713.
De Bondt, W. F., & Thaler, R. H. (1985). Does the Stock Market Overreact? Journal of Finance, 40(3), 793-805.
Fama, E. F., & French, K. R. (1988). Permanent and Temporary Components of Stock Prices. Journal of Political Economy, 96(2), 246-273.
Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. Journal of Finance, 48(1), 65-91.
Poterba, J. M., & Summers, L. H. (1988). Mean Reversion in Stock Prices: Evidence and Implications. Journal of Financial Economics, 22(1), 27-59.
Wilder, J. W. (1978). New Concepts in Technical Trading Systems. Trend Research.
BullBear with Volume-Percentile TP - Strategy [presentTrading] Happy New Year, everyone! I hope we have a fantastic year ahead.
It's been a while since I published an open script, but it's time to return.
This strategy introduces an indicator called Bull Bear Power, combined with an advanced take-profit system, which is the main innovative and educational aspect of this script. I hope all of you find some useful insights here. Welcome to engage in meaningful exchanges. This is a versatile tool suitable for both novice and experienced traders.
█ Introduction and How it is Different
Unlike traditional strategies that rely solely on price or volume indicators, this approach combines Bull Bear Power (BBP) with volume percentile analysis to identify optimal entry and exit points. It features a dynamic take-profit mechanism based on ATR (Average True Range) multipliers adjusted by volume and percentile factors, ensuring adaptability to diverse market conditions. This multifaceted strategy not only improves signal accuracy but also optimizes risk management, distinguishing it from conventional trading methods.
BTCUSD 6hr performance
Disable the visualization of Bull Bear Power (BBP) to clearly view the Z-Score.
█ Strategy, How it Works: Detailed Explanation
The BBP Strategy with Volume-Percentile TP utilizes several interconnected components to analyze market data and generate trading signals. Here's an overview with essential equations:
🔶 Core Indicators and Calculations
1. Exponential Moving Average (EMA):
- **Purpose:** Smoothens price data to identify trends.
- **Formula:**
EMA_t = (Close_t * (2 / (lengthInput + 1))) + (EMA_(t-1) * (1 - (2 / (lengthInput + 1))))
- Usage: Baseline for Bull and Bear Power.
2. Bull and Bear Power:
- Bull Power: `BullPower = High_t - EMA_t`
- Bear Power: `BearPower = Low_t - EMA_t`
- BBP:** `BBP = BullPower + BearPower`
- Interpretation: Positive BBP indicates bullish strength, negative indicates bearish.
3. Z-Score Calculation:
- Purpose: Normalizes BBP to assess deviation from the mean.
- Formula:
Z-Score = (BBP_t - bbp_mean) / bbp_std
- Components:
- `bbp_mean` = SMA of BBP over `zLength` periods.
- `bbp_std` = Standard deviation of BBP over `zLength` periods.
- Usage: Identifies overbought or oversold conditions based on thresholds.
🔶 Volume Analysis
1. Volume Moving Average (`vol_sma`):
vol_sma = (Volume_1 + Volume_2 + ... + Volume_vol_period) / vol_period
2. Volume Multiplier (`vol_mult`):
vol_mult = Current Volume / vol_sma
- Thresholds:
- High Volume: `vol_mult > 2.0`
- Medium Volume: `1.5 < vol_mult ≤ 2.0`
- Low Volume: `1.0 < vol_mult ≤ 1.5`
🔶 Percentile Analysis
1. Percentile Calculation (`calcPercentile`):
Percentile = (Number of values ≤ Current Value / perc_period) * 100
2. Thresholds:
- High Percentile: >90%
- Medium Percentile: >80%
- Low Percentile: >70%
🔶 Dynamic Take-Profit Mechanism
1. ATR-Based Targets:
TP1 Price = Entry Price ± (ATR * atrMult1 * TP_Factor)
TP2 Price = Entry Price ± (ATR * atrMult2 * TP_Factor)
TP3 Price = Entry Price ± (ATR * atrMult3 * TP_Factor)
- ATR Calculation:
ATR_t = (True Range_1 + True Range_2 + ... + True Range_baseAtrLength) / baseAtrLength
2. Adjustment Factors:
TP_Factor = (vol_score + price_score) / 2
- **vol_score** and **price_score** are based on current volume and price percentiles.
Local performance
🔶 Entry and Exit Logic
1. Long Entry: If Z-Score crosses above 1.618, then Enter Long.
2. Short Entry: If Z-Score crosses below -1.618, then Enter Short.
3. Exiting Positions:
If Long and Z-Score crosses below 0:
Exit Long
If Short and Z-Score crosses above 0:
Exit Short
4. Take-Profit Execution:
- Set multiple exit orders at dynamically calculated TP levels based on ATR and adjusted by `TP_Factor`.
█ Trade Direction
The strategy determines trade direction using the Z-Score from the BBP indicator:
- Long Positions:
- Condition: Z-Score crosses above 1.618.
- Short Positions:
- Condition: Z-Score crosses below -1.618.
- Exiting Trades:
- Long Exit: Z-Score drops below 0.
- Short Exit: Z-Score rises above 0.
This approach aligns trades with prevailing market trends, increasing the likelihood of successful outcomes.
█ Usage
Implementing the BBP Strategy with Volume-Percentile TP in TradingView involves:
1. Adding the Strategy:
- Copy the Pine Script code.
- Paste it into TradingView's Pine Editor.
- Save and apply the strategy to your chart.
2. Configuring Settings:
- Adjust parameters like EMA length, Z-Score thresholds, ATR multipliers, volume periods, and percentile settings to match your trading preferences and asset behavior.
3. Backtesting:
- Use TradingView’s backtesting tools to evaluate historical performance.
- Analyze metrics such as profit factor, drawdown, and win rate.
4. Optimization:
- Fine-tune parameters based on backtesting results.
- Test across different assets and timeframes to enhance adaptability.
5. Deployment:
- Apply the strategy in a live trading environment.
- Continuously monitor and adjust settings as market conditions change.
█ Default Settings
The BBP Strategy with Volume-Percentile TP includes default parameters designed for balanced performance across various markets. Understanding these settings and their impact is essential for optimizing strategy performance:
Bull Bear Power Settings:
- EMA Length (`lengthInput`): 21
- **Effect:** Balances sensitivity and trend identification; shorter lengths respond quicker but may generate false signals.
- Z-Score Length (`zLength`): 252
- **Effect:** Long period for stable mean and standard deviation, reducing false signals but less responsive to recent changes.
- Z-Score Threshold (`zThreshold`): 1.618
- **Effect:** Higher threshold filters out weaker signals, focusing on significant market moves.
Take Profit Settings:
- Use Take Profit (`useTP`): Enabled (`true`)
- **Effect:** Activates dynamic profit-taking, enhancing profitability and risk management.
- ATR Period (`baseAtrLength`): 20
- **Effect:** Shorter period for sensitive volatility measurement, allowing tighter profit targets.
- ATR Multipliers:
- **Effect:** Define conservative to aggressive profit targets based on volatility.
- Position Sizes:
- **Effect:** Diversifies profit-taking across multiple levels, balancing risk and reward.
Volume Analysis Settings:
- Volume MA Period (`vol_period`): 100
- **Effect:** Longer period for stable volume average, reducing the impact of short-term spikes.
- Volume Multipliers:
- **Effect:** Determines volume conditions affecting take-profit adjustments.
- Volume Factors:
- **Effect:** Adjusts ATR multipliers based on volume strength.
Percentile Analysis Settings:
- Percentile Period (`perc_period`): 100
- **Effect:** Balances historical context with responsiveness to recent data.
- Percentile Thresholds:
- **Effect:** Defines price and volume percentile levels influencing take-profit adjustments.
- Percentile Factors:
- **Effect:** Modulates ATR multipliers based on price percentile strength.
Impact on Performance:
- EMA Length: Shorter EMAs increase sensitivity but may cause more false signals; longer EMAs provide stability but react slower to market changes.
- Z-Score Parameters:*Longer Z-Score periods create more stable signals, while higher thresholds reduce trade frequency but increase signal reliability.
- ATR Multipliers and Position Sizes: Higher multipliers allow for larger profit targets with increased risk, while diversified position sizes help in securing profits at multiple levels.
- Volume and Percentile Settings: These adjustments ensure that take-profit targets adapt to current market conditions, enhancing flexibility and performance across different volatility environments.
- Commission and Slippage: Accurate settings prevent overestimation of profitability and ensure the strategy remains viable after accounting for trading costs.
Conclusion
The BBP Strategy with Volume-Percentile TP offers a robust framework by combining BBP indicators with volume and percentile analyses. Its dynamic take-profit mechanism, tailored through ATR adjustments, ensures that traders can effectively capture profits while managing risks in varying market conditions.
Forex Pair Yield Momentum This Pine Script strategy leverages yield differentials between the 2-year government bond yields of two countries to trade Forex pairs. Yield spreads are widely regarded as a fundamental driver of currency movements, as highlighted by international finance theories like the Interest Rate Parity (IRP), which suggests that currencies with higher yields tend to appreciate due to increased capital flows:
1. Dynamic Yield Spread Calculation:
• The strategy dynamically calculates the yield spread (yield_a - yield_b) for the chosen Forex pair.
• Example: For GBP/USD, the spread equals US 2Y Yield - UK 2Y Yield.
2. Momentum Analysis via Bollinger Bands:
• Yield momentum is computed as the difference between the current spread and its moving
Bollinger Bands are applied to identify extreme deviations:
• Long Entry: When momentum crosses below the lower band.
• Short Entry: When momentum crosses above the upper band.
3. Reversal Logic:
• An optional checkbox reverses the trading logic, allowing long trades at the upper band and short trades at the lower band, accommodating different market conditions.
4. Trade Management:
• Positions are held for a predefined number of bars (hold_periods), and each trade uses a fixed contract size of 100 with a starting capital of $20,000.
Theoretical Basis:
1. Yield Differentials and Currency Movements:
• Empirical studies, such as Clarida et al. (2009), confirm that interest rate differentials significantly impact exchange rate dynamics, especially in carry trade strategies .
• Higher-yields tend to appreciate against lower-yielding currencies due to speculative flows and demand for higher returns.
2. Bollinger Bands for Momentum:
• Bollinger Bands effectively capture deviations in yield momentum, identifying opportunities where price returns to equilibrium (mean reversion) or extends in trend-following scenarios (momentum breakout).
• As Bollinger (2001) emphasized, this tool adapts to market volatility by dynamically adjusting thresholds .
References:
1. Dornbusch, R. (1976). Expectations and Exchange Rate Dynamics. Journal of Political Economy.
2. Obstfeld, M., & Rogoff, K. (1996). Foundations of International Macroeconomics.
3. Clarida, R., Davis, J., & Pedersen, N. (2009). Currency Carry Trade Regimes. NBER.
4. Bollinger, J. (2001). Bollinger on Bollinger Bands.
5. Mendelsohn, L. B. (2006). Forex Trading Using Intermarket Analysis.
Engulfing Candlestick StrategyEver wondered whether the Bullish or Bearish Engulfing pattern works or has statistical significance? This script is for you. It works across all markets and timeframes.
The Engulfing Candlestick Pattern is a widely used technical analysis pattern that traders use to predict potential price reversals. It consists of two candles: a small candle followed by a larger one that "engulfs" the previous candle. This pattern is considered bullish when it occurs in a downtrend (bullish engulfing) and bearish when it occurs in an uptrend (bearish engulfing).
Statistical Significance of the Engulfing Pattern:
While many traders rely on candlestick patterns for making decisions, research on the statistical significance of these patterns has produced mixed results. A study by Dimitrios K. Koutoupis and K. M. Koutoupis (2014), titled "Testing the Effectiveness of Candlestick Chart Patterns in Forex Markets," indicates that candlestick patterns, including the engulfing pattern, can provide some predictive power, but their success largely depends on the market conditions and timeframe used. The researchers concluded that while some candlestick patterns can be useful, traders must combine them with other indicators or market knowledge to improve their predictive accuracy.
Another study by Brock, Lakonishok, and LeBaron (1992), "Simple Technical Trading Rules and the Stochastic Properties of Stock Returns," explores the profitability of technical indicators, including candlestick patterns, and finds that simple trading rules, such as those based on moving averages or candlestick patterns, can occasionally outperform a random walk in certain market conditions.
However, Jorion (1997), in his work "The Risk of Speculation: The Case of Technical Analysis," warns that the reliability of candlestick patterns, including the engulfing patterns, can vary significantly across different markets and periods. Therefore, it's important to use these patterns as part of a broader trading strategy that includes other risk management techniques and technical indicators.
Application Across Markets:
This script applies to all markets (e.g., stocks, commodities, forex) and timeframes, making it a versatile tool for traders seeking to explore the statistical effectiveness of the bullish and bearish engulfing patterns in their own trading.
Conclusion:
This script allows you to backtest and visualize the effectiveness of the Bullish and Bearish Engulfing patterns across any market and timeframe. While the statistical significance of these patterns may vary, the script provides a clear framework for evaluating their performance in real-time trading conditions. Always remember to combine such patterns with other risk management strategies and indicators to enhance their predictive power.
Daytrading ES Wick Length StrategyThis Pine Script strategy calculates the combined length of upper and lower wicks of candlesticks and uses a customizable moving average (MA) to identify potential long entry points. The strategy compares the total wick length to the MA with an added offset. If the wick length exceeds the offset-adjusted MA, the strategy enters a long position. The position is automatically closed after a user-defined holding period.
Key Features:
1. Calculates the sum of upper and lower wicks for each candlestick.
2. Offers four types of moving averages (SMA, EMA, WMA, VWMA) for analysis.
3. Allows the user to set a customizable MA length and an offset to shift the MA.
4. Automatically exits positions after a specified number of bars.
5. Visualizes the wick length as a histogram and the offset-adjusted MA as a line.
References:
• Candlestick wick analysis: Nison, S. (1991). Japanese Candlestick Charting Techniques.
• Moving averages: Brock, W., Lakonishok, J., & LeBaron, B. (1992). “Simple Technical Trading Rules and the Stochastic Properties of Stock Returns”. Journal of Finance.
This strategy is suitable for identifying candlesticks with significant volatility and long wicks, which can indicate potential trend reversals or continuations.
Up Gap Strategy with DelayThis strategy, titled “Up Gap Strategy with Delay,” is based on identifying up gaps in the price action of an asset. A gap is defined as the percentage difference between the current bar’s open price and the previous bar’s close price. The strategy triggers a long position if the gap exceeds a user-defined threshold and includes a delay period before entering the position. After entering, the position is held for a set number of periods before being closed.
Key Features:
1. Gap Threshold: The strategy defines an up gap when the gap size exceeds a specified threshold (in percentage terms). The gap threshold is an input parameter that allows customization based on the user’s preference.
2. Delay Period: After the gap occurs, the strategy waits for a delay period before initiating a long position. This delay can help mitigate any short-term volatility that might occur immediately after the gap.
3. Holding Period: Once the position is entered, it is held for a user-defined number of periods (holdingPeriods). This is to capture the potential post-gap trend continuation, as gaps often indicate strong directional momentum.
4. Gap Plotting: The strategy visually plots up gaps on the chart by placing a green label beneath the bar where the gap condition is met. Additionally, the background color turns green to highlight up-gap occurrences.
5. Exit Condition: The position is exited after the defined holding period. The strategy ensures that the position is closed after this time, regardless of whether the price is in profit or loss.
Scientific Background:
The gap theory has been widely studied in financial literature and is based on the premise that gaps in price often represent areas of significant support or resistance. According to research by Kaufman (2002), gaps in price action can be indicators of future price direction, particularly when they occur after a period of consolidation or a trend reversal. Moreover, Gaps and their Implications in Technical Analysis (Murphy, 1999) highlights that gaps can reflect imbalances between supply and demand, leading to high momentum and potential price continuation or reversal.
In trading strategies, utilizing gaps with specific conditions, such as delay and holding periods, can enhance the ability to capture significant price moves. The strategy’s delay period helps avoid potential market noise immediately after the gap, while the holding period seeks to capitalize on the price continuation that often follows gap formation.
This methodology aligns with momentum-based strategies, which rely on the persistence of trends in financial markets. Several studies, including Jegadeesh & Titman (1993), have documented the existence of momentum effects in stock prices, where past price movements can be predictive of future returns.
Conclusion:
This strategy incorporates gap detection and momentum principles, supported by empirical research in technical analysis, to attempt to capitalize on price movements following significant gaps. By waiting for a delay period and holding the position for a specified time, it aims to mitigate the risk associated with early volatility while maximizing the potential for sustained price moves.
Temporary Help Services Jobs - Trend Allocation StrategyThis strategy is designed to capitalize on the economic trends represented by the Temporary Help Services (TEMPHELPS) index, which is published by the Federal Reserve Economic Data (FRED). Temporary Help Services Jobs are often regarded as a leading indicator of labor market conditions, as changes in temporary employment levels frequently precede broader employment trends.
Methodology:
Data Source: The strategy uses the FRED dataset TEMPHELPS for monthly data on temporary help services.
Trend Definition:
Uptrend: When the current month's value is greater than the previous month's value.
Downtrend: When the current month's value is less than the previous month's value.
Entry Condition: A long position is opened when an uptrend is detected, provided no position is currently held.
Exit Condition: The long position is closed when a downtrend is detected.
Scientific Basis:
The TEMPHELPS index serves as a leading economic indicator, as noted in studies analyzing labor market cyclicality (e.g., Katz & Krueger, 1999). Temporary employment is often considered a proxy for broader economic conditions, particularly in predicting recessions or recoveries. Incorporating this index into trading strategies allows for aligning trades with potential macroeconomic shifts, as suggested by research on employment trends and market performance (Autor, 2001; Valetta & Bengali, 2013).
Usage:
This strategy is best suited for long-term investors or macroeconomic trend followers who wish to leverage labor market signals for equity or futures trading. It operates exclusively on end-of-month data, ensuring minimal transaction costs and noise.
McClellan A-D Volume Integration ModelThe strategy integrates the McClellan A-D Oscillator with an adjustment based on the Advance/Decline (A-D) volume data. The McClellan Oscillator is calculated by taking the difference between the short-term and long-term exponential moving averages (EMAs) of the A-D line. This strategy introduces an enhancement where the A-D volume (the difference between the advancing and declining volume) is factored in to adjust the oscillator value.
Inputs:
• ema_short_length: The length for the short-term EMA of the A-D line.
• ema_long_length: The length for the long-term EMA of the A-D line.
• osc_threshold_long: The threshold below which the oscillator must drop for an entry signal to trigger.
• exit_periods: The number of periods after which the position is closed.
• Data Sources:
• ad_advance and ad_decline are the data sources for advancing and declining issues, respectively.
• vol_advance and vol_decline are the volume data for the advancing and declining issues. If volume data is unavailable, it defaults to na (Not Available), and the fallback logic ensures that the strategy continues to function.
McClellan Oscillator with Volume Adjustment:
• The A-D line is calculated by subtracting the declining issues from the advancing issues. Then, the volume difference is applied to this line, creating a “weighted” A-D line.
• The short and long EMAs are calculated for the weighted A-D line to generate the McClellan Oscillator.
Entry Condition:
• The strategy looks for a reversal signal, where the oscillator falls below the threshold and then rises above it again. The condition is designed to trigger a long position when this reversal happens.
Exit Condition:
• The position is closed after a set number of periods (exit_periods) have passed since the entry.
Plotting:
• The McClellan Oscillator and the threshold are plotted on the chart for visual reference.
• Entry and exit signals are highlighted with background colors to make the signals more visible.
Scientific Background:
The McClellan A-D Oscillator is a popular market breadth indicator developed by Sherman and Marian McClellan. It is used to gauge the underlying strength of a market by analyzing the difference between the number of advancing and declining stocks. The oscillator is typically calculated using exponential moving averages (EMAs) of the A-D line, with the idea being that crossovers of these EMAs indicate potential changes in the market’s direction.
The integration of A-D volume into this model adds another layer of analysis, as volume is often considered a leading indicator of price movement. By factoring in volume, the strategy becomes more sensitive to not just the number of advancing or declining stocks but also how significant those movements are based on trading volume, as discussed in Schwager, J. D. (1999). Technical Analysis of the Financial Markets. This enhanced version aims to capture stronger and more sustainable trends in the market, helping to filter out false signals.
Additionally, volume analysis is often used to confirm price movements, as described in Wyckoff, R. (1931). The Day Trading System. Therefore, incorporating the volume of advancing and declining stocks in the McClellan Oscillator offers a more robust signal for trading decisions.
Z-Strike RecoveryThis strategy utilizes the Z-Score of daily changes in the VIX (Volatility Index) to identify moments of extreme market panic and initiate long entries. Scientific research highlights that extreme volatility levels often signal oversold markets, providing opportunities for mean-reversion strategies.
How the Strategy Works
Calculation of Daily VIX Changes:
The difference between today’s and yesterday’s VIX closing prices is calculated.
Z-Score Calculation:
The Z-Score quantifies how far the current change deviates from the mean (average), expressed in standard deviations:
Z-Score=(Daily VIX Change)−MeanStandard Deviation
Z-Score=Standard Deviation(Daily VIX Change)−Mean
The mean and standard deviation are computed over a rolling period of 16 days (default).
Entry Condition:
A long entry is triggered when the Z-Score exceeds a threshold of 1.3 (adjustable).
A high positive Z-Score indicates a strong overreaction in the market (panic).
Exit Condition:
The position is closed after 10 periods (days), regardless of market behavior.
Visualizations:
The Z-Score is plotted to make extreme values visible.
Horizontal threshold lines mark entry signals.
Bars with entry signals are highlighted with a blue background.
This strategy is particularly suitable for mean-reverting markets, such as the S&P 500.
Scientific Background
Volatility and Market Behavior:
Studies like Whaley (2000) demonstrate that the VIX, known as the "fear gauge," is highly correlated with market panic phases. A spike in the VIX is often interpreted as an oversold signal due to excessive hedging by investors.
Source: Whaley, R. E. (2000). The investor fear gauge. Journal of Portfolio Management, 26(3), 12-17.
Z-Score in Financial Strategies:
The Z-Score is a proven method for detecting statistical outliers and is widely used in mean-reversion strategies.
Source: Chan, E. (2009). Quantitative Trading. Wiley Finance.
Mean-Reversion Approach:
The strategy builds on the mean-reversion principle, which assumes that extreme market movements tend to revert to the mean over time.
Source: Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. Journal of Finance, 48(1), 65-91.
VIX Spike StrategyThis script implements a trading strategy based on the Volatility Index (VIX) and its standard deviation. It aims to enter a long position when the VIX exceeds a certain number of standard deviations above its moving average, which is a signal of a volatility spike. The position is then exited after a set number of periods.
VIX Symbol (vix_symbol): The input allows the user to specify the symbol for the VIX index (typically "CBOE:VIX").
Standard Deviation Length (stddev_length): The number of periods used to calculate the standard deviation of the VIX. This can be adjusted by the user.
Standard Deviation Multiplier (stddev_multiple): This multiplier is used to determine how many standard deviations above the moving average the VIX must exceed to trigger a long entry.
Exit Periods (exit_periods): The user specifies how many periods after entering the position the strategy will exit the trade.
Strategy Logic:
Data Loading: The script loads the VIX data, both for the current timeframe and as a rescaled version for calculation purposes.
Standard Deviation Calculation: It calculates both the moving average (SMA) and the standard deviation of the VIX over the specified period (stddev_length).
Entry Condition: A long position is entered when the VIX exceeds the moving average by a specified multiple of its standard deviation (calculated as vix_mean + stddev_multiple * vix_stddev).
Exit Condition: After the position is entered, it will be closed after the user-defined number of periods (exit_periods).
Visualization:
The VIX is plotted in blue.
The moving average of the VIX is plotted in orange.
The threshold for the VIX, which is the moving average plus the standard deviation multiplier, is plotted in red.
The background turns green when the entry condition is met, providing a visual cue.
Sources:
The VIX is often used as a measure of market volatility, with high values indicating increased uncertainty in the market.
Standard deviation is a statistical measure of the variability or dispersion of a set of data points. In financial markets, it is used to measure the volatility of asset prices.
References:
Bollerslev, T. (1986). "Generalized Autoregressive Conditional Heteroskedasticity." Journal of Econometrics.
Black, F., & Scholes, M. (1973). "The Pricing of Options and Corporate Liabilities." Journal of Political Economy.
R-based Strategy Template [Daveatt]Have you ever wondered how to properly track your trading performance based on risk rather than just profits?
This template solves that problem by implementing R-multiple tracking directly in TradingView's strategy tester.
This script is a tool that you must update with your own trading entry logic.
Quick notes
Before we dive in, I want to be clear: this is a template focused on R-multiple calculation and visualization.
I'm using a basic RSI strategy with dummy values just to demonstrate how the R tracking works. The actual trading signals aren't important here - you should replace them with your own strategy logic.
R multiple logic
Let's talk about what R-multiple means in practice.
Think of R as your initial risk per trade.
For instance, if you have a $10,000 account and you're risking 1% per trade, your 1R would be $100.
A trade that makes twice your risk would be +2R ($200), while hitting your stop loss would be -1R (-$100).
This way of measuring makes it much easier to evaluate your strategy's performance regardless of account size.
Whenever the SL is hit, we lose -1R
Proof showing the strategy tester whenever the SL is hit: i.imgur.com
The magic happens in how we calculate position sizes.
The script automatically determines the right position size to risk exactly your specified percentage on each trade.
This is done through a simple but powerful calculation:
risk_amount = (strategy.equity * (risk_per_trade_percent / 100))
sl_distance = math.abs(entry_price - sl_price)
position_size = risk_amount / (sl_distance * syminfo.pointvalue)
Limitations with lower timeframe gaps
This ensures that if your stop loss gets hit, you'll lose exactly the amount you intended to risk. No more, no less.
Well, could be more or less actually ... let's assume you're trading futures on a 15-minute chart but in the 1-minute chart there is a gap ... then your 15 minute SL won't get filled and you'll likely to not lose exactly -1R
This is annoying but it can't be fixed - and that's how trading works anyway.
Features
The template gives you flexibility in how you set your stop losses. You can use fixed points, ATR-based stops, percentage-based stops, or even tick-based stops.
Regardless of which method you choose, the position sizing will automatically adjust to maintain your desired risk per trade.
To help you track performance, I've added a comprehensive statistics table in the top right corner of your chart.
It shows you everything you need to know about your strategy's performance in terms of R-multiples: how many R you've won or lost, your win rate, average R per trade, and even your longest winning and losing streaks.
Happy trading!
And remember, measuring your performance in R-multiples is one of the most classical ways to evaluate and improve your trading strategies.
Daveatt
Gold Friday Anomaly StrategyThis script implements the " Gold Friday Anomaly Strategy ," a well-known historical trading strategy that leverages the gold market's behavior from Thursday evening to Friday close. It is a backtesting-focused strategy designed to assess the historical performance of this pattern. Traders use this anomaly as it captures a recurring market tendency observed over the years.
What It Does:
Entry Condition: The strategy enters a long position at the beginning of the Friday trading session (Thursday evening close) within the defined backtesting period.
Exit Condition: Friday evening close.
Backtesting Controls: Allows users to set custom backtesting periods to evaluate strategy performance over specific date ranges.
Key Features:
Custom Backtest Periods: Easily configurable inputs to set the start and end date of the backtesting range.
Fixed Slippage and Commission Settings: Ensures realistic simulation of trading conditions.
Process Orders on Close: Backtesting is optimized by processing orders at the bar's close.
Important Notes:
Backtesting Only: This script is intended purely for backtesting purposes. Past performance is not indicative of future results.
Live Trading Recommendations: For live trading, it is highly recommended to use limit orders instead of market orders, especially during evening sessions, as market order slippage can be significant.
Default Settings:
Entry size: 10% of equity per trade.
Slippage: 1 tick.
Commission: 0.05% per trade.
BTC Seasonality Strategy (Weekly)This strategy identifies potential weekend opportunities in Bitcoin (BTC) markets by leveraging the concept of seasonality, entering a position at a predefined time and day, and exiting at a specified time and day.
Key Features
Customizable Time and Day Selection:
Users can select the entry and exit days and corresponding times (in EST).
Directional Flexibility:
The strategy allows traders to choose between long or short positions.
TradingView Compliance:
The script adheres to TradingView's house rules, avoids overly complex conditions, and provides clear user-configurable inputs.
How It Works
The script determines the current weekday and hour in EST, converting TradingView's UTC time for accurate comparisons.
If the current day and hour match the selected entry conditions, a trade (long or short) is opened.
The position is closed when the current day and hour match the specified exit conditions.
Theoretical Basis
Market Seasonality:
The concept of seasonality in financial markets refers to predictable patterns based on time, such as weekends or specific days of the week. Studies have shown that cryptocurrency markets exhibit unique trading behaviors during weekends due to reduced institutional activity and higher retail participation behavioral Biases**:
Retail traders often dominate weekend markets, potentially causing predictable inefficiencies .
Reverences**
Baur, D. G., Hong, K., & Lee, A. D. (2018). Bitcoin: Medium of exchange or speculative assets? Journal of International Financial Markets, Institutions and Money, 54, 177–189.
Urquhart, A. (2016). The inefficiency of Bitcoin. Economics Letters, 148, 80–82.
Global Index Spread RSI StrategyThis strategy leverages the relative strength index (RSI) to monitor the price spread between a global benchmark index (such as AMEX) and the currently opened asset in the chart window. By calculating the spread between these two, the strategy uses RSI to identify oversold and overbought conditions to trigger buy and sell signals.
Key Components:
Global Benchmark Index: The strategy compares the current asset with a predefined global index (e.g., AMEX) to measure relative performance. The choice of a global benchmark allows the trader to analyze the current asset's movement in the context of broader market trends.
Spread Calculation:
The spread is calculated as the percentage difference between the current asset's closing price and the global benchmark index's closing price:
Spread=Current Asset Close−Global Index CloseGlobal Index Close×100
Spread=Global Index CloseCurrent Asset Close−Global Index Close×100
This metric provides a measure of how the current asset is performing relative to the global index. A positive spread indicates the asset is outperforming the benchmark, while a negative spread signals underperformance.
RSI of the Spread: The RSI is then calculated on the spread values. The RSI is a momentum oscillator that ranges from 0 to 100 and is commonly used to identify overbought or oversold conditions in asset prices. An RSI below 30 is considered oversold, indicating a potential buying opportunity, while an RSI above 70 is overbought, suggesting that the asset may be due for a pullback.
Strategy Logic:
Entry Condition: The strategy enters a long position when the RSI of the spread falls below the oversold threshold (default 30). This suggests that the asset may have been oversold relative to the global benchmark and might be due for a reversal.
Exit Condition: The strategy exits the long position when the RSI of the spread rises above the overbought threshold (default 70), indicating that the asset may have become overbought and a price correction is likely.
Visual Reference:
The RSI of the spread is plotted on the chart for visual reference, making it easier for traders to monitor the relative strength of the asset in relation to the global benchmark.
Overbought and oversold levels are also drawn as horizontal reference lines (70 and 30), along with a neutral level at 50 to show market equilibrium.
Theoretical Basis:
The strategy is built on the mean reversion principle, which suggests that asset prices tend to revert to a long-term average over time. When prices move too far from this mean—either being overbought or oversold—they are likely to correct back toward equilibrium. By using RSI to identify these extremes, the strategy aims to profit from price reversals.
Mean Reversion: According to financial theory, asset prices oscillate around a long-term average, and any extreme deviation (overbought or oversold conditions) presents opportunities for price corrections (Poterba & Summers, 1988).
Momentum Indicators (RSI): The RSI is widely used in technical analysis to measure the momentum of an asset. Its application to the spread between the asset and a global benchmark allows for a more nuanced view of relative performance and potential turning points in the asset's price trajectory.
Practical Application:
This strategy works best in markets where relative strength is a key factor in decision-making, such as in equity indices, commodities, or forex markets. By assessing the performance of the asset relative to a global benchmark and utilizing RSI to identify extremes in price movements, the strategy helps traders to make more informed decisions based on potential mean reversion points.
While the "Global Index Spread RSI Strategy" offers a method for identifying potential price reversals based on relative strength and oversold/overbought conditions, it is important to recognize that no strategy is foolproof. The strategy assumes that the historical relationship between the asset and the global benchmark will hold in the future, but financial markets are subject to a wide array of unpredictable factors that can lead to sudden changes in price behavior.
Risk of False Signals:
The strategy relies heavily on the RSI to trigger buy and sell signals. However, like any momentum-based indicator, RSI can generate false signals, particularly in highly volatile or trending markets. In such conditions, the strategy may enter positions too early or exit too late, leading to potential losses.
Market Context:
The strategy may not account for macroeconomic events, news, or other market forces that could cause sudden shifts in asset prices. External factors, such as geopolitical developments, monetary policy changes, or financial crises, can cause a divergence between the asset and the global benchmark, leading to incorrect conclusions from the strategy.
Overfitting Risk:
As with any strategy that uses historical data to make decisions, there is a risk of overfitting the model to past performance. This could result in a strategy that works well on historical data but performs poorly in live trading conditions due to changes in market dynamics.
Execution Risks:
The strategy does not account for slippage, transaction costs, or liquidity issues, which can impact the execution of trades in real-market conditions. In fast-moving markets, prices may move significantly between order placement and execution, leading to worse-than-expected entry or exit prices.
No Guarantee of Profit:
Past performance is not necessarily indicative of future results. The strategy should be used with caution, and risk management techniques (such as stop losses and position sizing) should always be implemented to protect against significant losses.
Traders should thoroughly test and adapt the strategy in a simulated environment before applying it to live trades, and consider seeking professional advice to ensure that their trading activities align with their risk tolerance and financial goals.
References:
Poterba, J. M., & Summers, L. H. (1988). Mean Reversion in Stock Prices: Evidence and Implications. Journal of Financial Economics, 22(1), 27-59.