S4_IBS_Mean_Rev_3candleExitOverview:
This is a rules-based, mean reversion strategy designed to trade pullbacks using the Internal Bar Strength (IBS) indicator. The system looks for oversold conditions based on IBS, then enters long trades , holding for a maximum of 3 bars or until the trade becomes profitable.
The strategy includes:
✅ Strict entry rules based on IBS
✅ Hardcoded exit conditions for risk management
✅ A clean visual table summarizing key performance metrics
How It Works:
1. Internal Bar Strength (IBS) Setup:
The IBS is calculated using the previous bar’s price range:
IBS = (Previous Close - Previous Low) / (Previous High - Previous Low)
IBS values closer to 0 indicate price is near the bottom of the previous range, suggesting oversold conditions.
2. Entry Conditions:
IBS must be ≤ 0.25, signaling an oversold setup.
Trade entries are only allowed within a user-defined backtest window (default: 2024).
Only one trade at a time is permitted (long-only strategy).
3. Exit Conditions:
If the price closes higher than the entry price, the trade exits with a profit.
If the trade has been open for 3 bars without showing profit, the trade is forcefully exited.
All trades are closed automatically at the end of the backtest window if still open.
Additional Features:
📊 A real-time performance metrics table is displayed on the chart, showing:
- Total trades
- % of profitable trades
- Total P&L
- Profit Factor
- Max Drawdown
- Best/Worst trade performance
📈 Visual markers indicate trade entries (green triangle) and exits (red triangle) for easy chart interpretation.
Who Is This For?
This strategy is designed for:
✅ Traders exploring systematic mean reversion approaches
✅ Those who prefer strict, rules-based setups with no subjective decision-making
✅ Traders who want built-in performance tracking directly on the chart
Note: This strategy is provided for educational and research purposes. It is a backtested model and past performance does not guarantee future results. Users should paper trade and validate performance before considering real capital.
Wyszukaj w skryptach "profit"
Canuck Trading Trader StrategyCanuck Trading Trader Strategy
Overview
The Canuck Trading Trader Strategy is a high-performance, trend-following trading system designed for NASDAQ:TSLA on a 15-minute timeframe. Optimized for precision and profitability, this strategy leverages short-term price trends to capture consistent gains while maintaining robust risk management. Ideal for traders seeking an automated, data-driven approach to trading Tesla’s volatile market, it delivers strong returns with controlled drawdowns.
Key Features
Trend-Based Entries: Identifies short-term trends using a 2-candle lookback period and a minimum trend strength of 0.2%, ensuring responsive trade signals.
Risk Management: Includes a configurable 3.0% stop-loss to cap losses and a 2.0% take-profit to lock in gains, balancing risk and reward.
High Precision: Utilizes bar magnification for accurate backtesting, reflecting realistic trade execution with 1-tick slippage and 0.1 commission.
Clean Interface: No on-chart indicators, providing a distraction-free trading experience focused on performance.
Flexible Sizing: Allocates 10% of equity per trade with support for up to 2 simultaneous positions (pyramiding).
Performance Highlights
Backtested from March 1, 2024, to June 20, 2025, on NASDAQ:TSLA (15-minute timeframe) with $1,000,000 initial capital:
Net Profit: $2,279,888.08 (227.99%)
Win Rate: 52.94% (3,039 winning trades out of 5,741)
Profit Factor: 3.495
Max Drawdown: 2.20%
Average Winning Trade: $1,050.91 (0.55%)
Average Losing Trade: $338.20 (0.18%)
Sharpe Ratio: 2.468
Note: Past performance is not indicative of future results. Always validate with your own backtesting and forward testing.
Usage Instructions
Setup:
Apply the strategy to a NASDAQ:TSLA 15-minute chart.
Ensure your TradingView account supports bar magnification for accurate results.
Configuration:
Lookback Candles: Default is 2 (recommended).
Min Trend Strength: Set to 0.2% for optimal trade frequency.
Stop Loss: Default 3.0% to cap losses.
Take Profit: Default 2.0% to secure gains.
Order Size: 10% of equity per trade.
Pyramiding: Allows up to 2 orders.
Commission: Set to 0.1.
Slippage: Set to 1 tick.
Enable "Recalculate After Order is Filled" and "Recalculate on Every Tick" in backtest settings.
Backtesting:
Run backtests over March 1, 2024, to June 20, 2025, to verify performance.
Adjust stop-loss (e.g., 2.5%) or take-profit (e.g., 1–3%) to suit your risk tolerance.
Live Trading:
Use with a compatible broker or TradingView alerts for automated execution.
Monitor execution for slippage or latency, especially given the high trade frequency (5,741 trades).
Validate in a demo account before deploying with real capital.
Risk Disclosure
Trading involves significant risk and may result in losses exceeding your initial capital. The Canuck Trading Trader Strategy is provided for educational and informational purposes only. Users are responsible for their own trading decisions and should conduct thorough testing before using in live markets. The strategy’s high trade frequency requires reliable execution infrastructure to minimize slippage and latency.
EMA 34 Crossover with Break Even Stop LossEMA 34 Crossover with Break Even Stop Loss Strategy
This trading strategy is based on the 34-period Exponential Moving Average (EMA) and aims to enter long positions when the price crosses above the EMA 34. The strategy is designed to manage risk effectively with a dynamic stop loss and take-profit mechanism.
Key Features:
EMA 34 Crossover:
The strategy generates a long entry signal when the closing price of the current bar crosses above the 34-period EMA, with the condition that the previous closing price was below the EMA. This crossover indicates a potential upward trend.
Risk Management:
Upon entering a trade, the strategy sets a stop loss at the low of the previous bar. This helps in controlling the downside risk.
A take profit level is set at a 10:1 risk-to-reward ratio, meaning the potential profit is ten times the amount risked on the trade.
Break-even Stop Loss:
As the price moves in favor of the trade and reaches a 3:1 risk-to-reward ratio, the strategy moves the stop loss to the entry price (break-even). This ensures that no loss will be incurred if the market reverses, effectively protecting profits.
Exit Conditions:
The strategy exits the trade when either the stop loss is hit (if the price drops below the stop loss level) or the take profit target is reached (if the price rises to the take profit level).
If the price reaches the break-even level (entry price), the stop loss is adjusted to lock in profits and prevent any loss.
Visualization:
The stop loss and take profit levels are plotted on the chart for easy visualization, helping traders track the status of their trade.
Trade Management Summary:
Long Entry: When price crosses above the 34-period EMA.
Stop Loss: Set to the low of the previous candle.
Take Profit: Set to a 10:1 risk-to-reward ratio.
Break-even: Stop loss is moved to entry price when a 3:1 risk-to-reward ratio is reached.
Exit: The trade is closed either when the stop loss or take profit levels are hit.
This strategy is designed to minimize losses by employing a dynamic stop loss and to maximize gains by setting a favorable risk-to-reward ratio, making it suitable for traders who prefer a structured, automated approach to risk management and trend-following.
Forex Hammer and Hanging Man StrategyThe strategy is based on two key candlestick chart patterns: Hammer and Hanging Man. These chart patterns are widely used in technical analysis to identify potential reversal points in the market. Their relevance in the Forex market, known for its high liquidity and volatile price movements, is particularly pronounced. Both patterns provide insights into market sentiment and trader psychology, which are critical in currency trading, where short-term volatility plays a significant role.
1. Hammer:
• Typically occurs after a downtrend.
• Signals a potential trend reversal to the upside.
• A Hammer has:
• A small body (close and open are close to each other).
• A long lower shadow, at least twice as long as the body.
• No or a very short upper shadow.
2. Hanging Man:
• Typically occurs after an uptrend.
• Signals a potential reversal to the downside.
• A Hanging Man has:
• A small body, similar to the Hammer.
• A long lower shadow, at least twice as long as the body.
• A small or no upper shadow.
These patterns are a manifestation of market psychology, specifically the tug-of-war between buyers and sellers. The Hammer reflects a situation where sellers tried to push the price down but were overpowered by buyers, while the Hanging Man shows that buyers failed to maintain the upward movement, and sellers could take control.
Relevance of Chart Patterns in Forex
In the Forex market, chart patterns are vital tools because they offer insights into price action and market sentiment. Since Forex trading often involves large volumes of trades, chart patterns like the Hammer and Hanging Man are important for recognizing potential shifts in market momentum. These patterns are a part of technical analysis, which aims to forecast future price movements based on historical data, relying on the psychology of market participants.
Scientific Literature on the Relevance of Candlestick Patterns
1. Behavioral Finance and Candlestick Patterns:
Research on behavioral finance supports the idea that candlestick patterns, such as the Hammer and Hanging Man, are relevant because they reflect shifts in trader psychology and sentiment. According to Lo, Mamaysky, and Wang (2000), patterns like these could be seen as representations of collective investor behavior, influenced by overreaction, optimism, or pessimism, and can often signal reversals in market trends.
2. Statistical Validation of Chart Patterns:
Studies by Brock, Lakonishok, and LeBaron (1992) explored the profitability of technical analysis strategies, including candlestick patterns, and found evidence that certain patterns, such as the Hammer, can have predictive value in financial markets. While their study primarily focused on stock markets, their findings are generally applicable to the Forex market as well.
3. Market Efficiency and Candlestick Patterns:
The efficient market hypothesis (EMH) posits that all available information is reflected in asset prices, but some studies suggest that markets may not always be perfectly efficient, allowing for profitable exploitation of certain chart patterns. For instance, Jegadeesh and Titman (1993) found that momentum strategies, which often rely on price patterns and trends, could generate significant returns, suggesting that patterns like the Hammer or Hanging Man may provide a slight edge, particularly in short-term Forex trading.
Testing the Strategy in Forex Using the Provided Script
The provided script allows traders to test and evaluate the Hammer and Hanging Man patterns in Forex trading by entering positions when these patterns appear and holding the position for a specified number of periods. This strategy can be tested to assess its performance across different currency pairs and timeframes.
1. Testing on Different Timeframes:
• The effectiveness of candlestick patterns can vary across different timeframes, as market dynamics change with the level of detail in each timeframe. Shorter timeframes may provide more frequent signals, but with higher noise, while longer timeframes may produce more reliable signals, but with fewer opportunities. This multi-timeframe analysis could be an area to explore to enhance the strategy’s robustness.
2. Exit Strategies:
• The script incorporates an exit strategy where positions are closed after holding them for a specified number of periods. This is useful for testing how long the reversal patterns typically take to play out and when the optimal exit occurs for maximum profitability. It can also help to adjust the exit logic based on real-time market behavior.
Conclusion
The Hammer and Hanging Man patterns are widely recognized in technical analysis as potential reversal signals, and their application in Forex trading is valuable due to the market’s high volatility and liquidity. This strategy leverages these candlestick patterns to enter and exit trades based on shifts in market sentiment and psychology. Testing and optimization, as offered by the script, can help refine the strategy and improve its effectiveness.
For further refinement, it could be valuable to consider combining candlestick patterns with other technical indicators or using multi-timeframe analysis to confirm patterns and increase the probability of successful trades.
References:
• Lo, A. W., Mamaysky, H., & Wang, J. (2000). Foundations of Technical Analysis: Computational Algorithms, Statistical Inference, and Empirical Implementation. The Journal of Finance, 55(4), 1705-1770.
• Brock, W., Lakonishok, J., & LeBaron, B. (1992). Simple Technical Trading Rules and the Stochastic Properties of Stock Returns. The Journal of Finance, 47(5), 1731-1764.
• Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. The Journal of Finance, 48(1), 65-91.
This provides a theoretical basis for the use of candlestick patterns in trading, supported by academic literature and research on market psychology and efficiency.
Dynamic Support and Resistance Pivot Strategy The Dynamic Support and Resistance Pivot Strategy is a flexible and adaptive tool designed to identify short-term support and resistance levels using the concept of price pivots.
### Key Elements of the Strategy
1. Pivot points as support and resistance levels
Pivots are significant turning points on the price chart, often marking local highs and lows where the price has reversed direction. A pivot high occurs when the price forms a local peak, while a pivot low occurs when the price forms a local trough. When a new pivot high is formed, it creates a resistance level. Conversely, when a new pivot low is formed, it creates a support level.
The strategy continuously updates these levels as new pivots are detected, ensuring they remain relevant to the current market conditions. By identifying these price levels, the strategy dynamically adjusts to market conditions, allowing it to adapt to both trending and ranging markets, since it has a long target and can perform reversal operations.
2. Entry Criteria
- Buy (Long): A long position is triggered when the price is near the support level and then crosses it from below to above. This suggests that the price has found support and may start moving upwards.
- Sell (Short): A short position is triggered when the price is near the resistance level and then crosses it from above to below. This indicates that the price may be reversing and moving downward.
3. Support/Resistance distance (%)
- This parameter establishes a percentage range around the identified support and resistance level. For example, if the Support Resistance Distance is 0.4% (default), the closing price must be within a range of 0.4% above support or below the resistance to be considered "close" and trigger a trade.
4. Exit criteria
- Take profit = 27 %
- Stop loss = 10 %
- Reversal if a new entry point is identified in the opposite direction
5. No Repainting
- The Dynamic Support and Resistance Pivot Strategy is not subject to repainting.
6. Position Sizing by Equity and risk management
- This strategy has a default configuration to operate with 35% of the equity. The stop loss is set to 10% from the entry price. This way, the strategy is putting at risk about 10% of 35% of equity, that is, around 3.5% of equity for each trade. The percentage of equity and stop loss can be adjusted by the user according to their risk management.
7. Backtest results
- This strategy was subjected to backtest and operations in replay mode on **1000000MOGUSDT.P**, with the inclusion of transaction fees at 0.12% and slipagge of 5 ticks, and the past results have shown consistent profitability. Past results are no guarantee of future results. The strategy's backtest results may even be due to overfitting with past data.
8. Chart Visualization
- Support and resistance levels are displayed as green (support) and red (resistance) lines.
- Pivot prices are displayed as green (pivot low) and red (pivot high) labels.
In this image above, the Support/Resistance distance (%) parameter was set to 0.8.
9. Default Configuration
Chart Timeframe: 1h
Pivot Lengh: 2
Support/Resistance distance (%): 0.4*
Stop Loss: 10 %
Take Profit: 27 %
* This parameter can alternatively be set to 0.8.
10. Alternative Configuration
Chart Timeframe: 20 min
Pivot Lengh: 4
Support/Resistance distance (%): 0.1
Stop Loss: 10 %
Take Profit: 25 %
BYBIT:1000000MOGUSDT.P
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.
Custom Dual EMA Crossover Strategy with Configurable LogicThis strategy is designed to assist traders in identifying and capitalizing on bullish market trends through a systematic and data-driven approach. It incorporates detailed trend analysis, volatility filtering, and percentage-based thresholds to provide actionable insights and high-confidence trade setups. It leverages the Exponential Moving Average and combines it with custom logic to detect volatility, maximum allowed price movements over last bars and trend confirmation.
Key Features:
- Buy orders follow several conditions, including but not limited to:
a. EMA Crossover: specifically designed to capture immediate market shifts rather than medium- or long-term trends, ensuring responsiveness to rapidly changing conditions but requiring additional confirmations to avoid false signals (see below).
b. Thresholds in Price Changes: Ensures recent price fluctuations remain within specific thresholds, allowing trades to be entered at optimal times and avoiding delayed or unsustainable short-term bullish trends.
c. Adequate Market Volatility: Requires sufficient market activity to avoid false signals stemming from low volatility conditions.
d. Bullish Medium-Term Trend: Validates a bullish medium-term trend using an EMA crossover to avoid trading during bearish market conditions and minimize risk.
- Leverages Take profit and Stop loss levels
- Implements an optional mechanism to automatically close trades after a predefined number of bars, supporting disciplined trade management.
The script does not rely on any public scripts or indicators. Apart the EMA, all the underlying logic, including the volatility thresholds and filtering mechanisms, has been custom developed to ensure originality and precision. The strategy's conditions are all configurable by the user in the TradingView pop-up, allowing it to adapt to different assets and timeframes. For example, users can set the EMA lengths to align with long-term trends for cryptocurrencies or adjust volatility thresholds to account for the specific price movement behavior of stocks or forex pairs.
---
Recommendations:
- Identify a crypto asset with potential
- Before live trading, rigorously backtest your strategy on the chosen asset and interval over a period of at least one year*, analyzing results, refining parameters' value and eventually changing timeframe and / or asset.
- Refine your approach until you achieve consistent profitability with a high win rate. Balance the two — a high win rate is great, but only if your profits outweigh your losses in the long term.
- Once successful, remain disciplined and adhere to the parameters that yield the best results. Set up TradingView alerts to trigger real-time actions via your preferred trading bot. Alerts can be set up on the Indicator, which mirrors the strategy's logic and enables users to execute real-time actions effectively. I will provide you access to the Indicator, as well as the Strategy.
* Alternatively, you can apply the strategy to a shorter period for tactical use. While this approach may increase short-term opportunities (e.g. strong bullish short term movements), it also comes with heightened risks.
Use Cases:
- Suitable for traders focusing on bullish or range-bound markets.
- Ideal for short to medium-term trading horizons.
Access and Configuration Support:
This is an invite-only script. For access, please reach out directly for subscription details. I also provide guidance on configuring the strategy with real-world examples to optimize its use for various assets, intervals and timeframes.
---
Disclaimer:
This script is a tool to support trading decisions and does not guarantee profitability. Past performance does not indicate future results. Trading carries inherent risks; always trade responsibly and manage risk accordingly.
MACD Aggressive Scalp SimpleComment on the Script
Purpose and Structure:
The script is a scalping strategy based on the MACD indicator combined with EMA (50) as a trend filter.
It uses the MACD histogram's crossover/crossunder of zero to trigger entries and exits, allowing the trader to capitalize on short-term momentum shifts.
The use of strategy.close ensures that positions are closed when specified conditions are met, although adjustments were made to align with Pine Script version 6.
Strengths:
Simplicity and Clarity: The logic is straightforward and focuses on essential scalping principles (momentum-based entries and exits).
Visual Indicators: The plotted MACD line, signal line, and histogram columns provide clear visual feedback for the strategy's operation.
Trend Confirmation: Incorporating the EMA(50) as a trend filter helps avoid trades that go against the prevailing trend, reducing the likelihood of false signals.
Dynamic Exit Conditions: The conditional logic for closing positions based on weakening momentum (via MACD histogram change) is a good way to protect profits or minimize losses.
Potential Improvements:
Parameter Inputs:
Make the MACD (12, 26, 9) and EMA(50) values adjustable by the user through input statements for better customization during backtesting.
Example:
pine
Copy code
macdFast = input(12, title="MACD Fast Length")
macdSlow = input(26, title="MACD Slow Length")
macdSignal = input(9, title="MACD Signal Line Length")
emaLength = input(50, title="EMA Length")
Stop Loss and Take Profit:
The strategy currently lacks explicit stop-loss or take-profit levels, which are critical in a scalping strategy to manage risk and lock in profits.
ATR-based or fixed-percentage exits could be added for better control.
Position Size and Risk Management:
While the script uses 50% of equity per trade, additional options (e.g., fixed position sizes or risk-adjusted sizes) would be beneficial for flexibility.
Avoid Overlapping Signals:
Add logic to prevent overlapping signals (e.g., opening a new position immediately after closing one on the same bar).
Backtesting Optimization:
Consider adding labels or markers (label.new or plotshape) to visualize entry and exit points on the chart for better debugging and analysis.
The inclusion of performance metrics like max drawdown, Sharpe ratio, or profit factor would help assess the strategy's robustness during backtesting.
Compatibility with Live Trading:
The strategy could be further enhanced with alert conditions using alertcondition to notify the trader of buy/sell signals in real-time.
LETF Leveraged Edge Strategy v1.5Overview
The strategy is based on Stochastics to detect trends and then makes Buys and Sell based on custom entry and exit criteria as described below in the Execution Logic Rules section. It will NOT work with standard Stochastics.
This is not a standard Stochastics implementation. It has been customized and modified, and does not match any widely known Stochastics variations (like Fast, Slow, or Full Stochastics) in its smoothing and iterative calculation process with:
• A unique smoothing mechanism.
• Iterative calculations.
• Additional conditional logic for strategy execution.
This strategy is designed to focus on volatile, liquid leveraged ETFs to capture gains equal to or better than Buy and Hold, and mitigate the risk of trading with a goal of reducing drawdown to a lot less than Buy and Hold. It has had successful backtest performance to varying degrees with TQQQ, SOXL, FNGU, TECL, FAS, UPRO, NAIL and SPXL. Results have not been good on other LETFs that have been backtested.
Performance
In this backtest the Net Profit shows to be $4,561 or 45.61%. Considering the initial order size was $1,000 I have to wonder if the Strategy Tester is calculating this correctly. The Strategy Tester Performance Summary shows the Buy and Hold Return at $61,165 or 611.7%. Based on calculating the price of the last shares sold, less the price paid, times the number of initial shares purchased, my math shows the Buy and Hold Gain at $4,572 or about equal with the strategy performance in this case. The Performance Summary also states the strategy had a Max DD of 3.46% which I believe is incorrect. Based on other backtests I’ve done, I believe the strategy drawdown here was closer to 28.4% and the Buy and Hold Drawdown at 82.7%. I manually calculated the Buy and Hold drawdown.
How it Works
The author provides training and support resource materials for this at his website. The strategy execution logic is driven by these rules:
Execution Logic Rules
Buy the LETF When:
BR #1a) The Daily Fast Line (FL) crosses above the Daily Slow Line (SL) and the FL is between the Low (L*) and High (H*) Range set (often referred to as Oversold and Overbought Lines). This can execute (Buy) any trading day of the week.
BR #1b) Re-Buy the next day after any Stop or Take Profit Sell if the Buy Rule condition is true (FL is above SL), if not, remain in cash and wait for the next Buy Signal.
Sell the LETF When:
SR #1a) The Daily Fast Line (FL) crosses below Daily Slow Line (SL) within the Low (L*) and High (H*) Range (often referred to as Oversold and Overbought Lines). “Crossunder Range Exit” This can execute (Sell) any trading day of the week.
SR #1b) If the (FL) crosses Below the SL above the Exit Level*, wait. Only Sell if the FL drops down below the Exit Level* “Crossunder Level Exit” This can execute (Sell) any trading day of the week.
SR #2a) Sell at the open any day the gap-down price is at or below the 1-Day Stop%*, based on previous day’s closing price (Execute on the day it happens.)
SR #2b) Sell intraday any day the price is at or below the 1-Day Stop %*, based on previous day’s closing price (Execute on the day it happens.)
SR #3a) Sell at the open any day the price is at or below the Trailing Stop %*, based on highest intraday price since Buy date (Execute on the day it happens.)
SR #3b) Sell intraday any day the price is at or below the Trailing Stop%*, based on highest intraday price since Buy date (Execute on the day it happens.)
SR #4) Sell any day when the opening price exceeds, or intraday price meets the Profit Target % price* (Execute on the day it happens.)
SR #5) After each Sell go to Rule BR #1b to determine if a Re-Buy should occur the next day, or stay in cash until next Buy Signal
Settings:
Properties Tab – Initial Capital has been set to $10,000 and order size 10% of Equity, 0.1% commission and 3 Ticks for slippage. Net order size is $1,000
Input Tab:
Stochastic
Timeframe is selected to Daily or Weekly based on preference. Daily has more trades, but on average higher profitability.
Type: Proprietary (best selection for most LETFs, but a few will work better with the Full selection
%k Length 20, %K Smoothing 14, %D Smoothing (many LETFs work better with a specific Stoch setting, often each different) A List of these is provided for your starting point.
Trade Settings
Direction: Longs (This strategy only works on the Long side)
Stop Type: Trailing is recommended, but Fixed is an option.
Stop % (based on user risk tolerance)
PD Stop % (Suggest start at 5%. Based on volatility of LETF and is a stop percentage from prior day’s close. Designed to protect against sudden market volatility. Will need to balance between strategy performance and user risk tolerance)
Profit Target: User preference. (I can help with suggestions based on historical performance)
Entry/Exit Conditions
Enter on Tie: Default Checked – if a Fast line crosses a Slow line for a Buy signal, but doesn’t do so in the range set, this will trigger if it crosses at a tie.
Renter – Default Checked – If stopped out of a position, this tells the strategy to re-buy the position the next day if the conditions are still positive.
Exit Level: This is a exit level for a Fast cross below a Slow line that takes place above the Sell Range, but only happens if the Fast continues down to the level set. These usually don’t happen often, but can have a significant impact on performance. Unfortunately, it’s a trial and error process starting with 90 and working down to see if there’s any positive impact.
Trade Range
Buy Range: Start at typical 20 to 80. Expand the low end down first to check on performance impact. Normally a wide buying range is better for performance.
Sell Range: Start at 20 to 80 and tighten gradually to see performance impact. In some cases a very tight sell range does better. I have worked on our primary LETFs for many months to determine ranges for each that typically produce better results.
External Indicator: Some additional indicators have a positive impact on the strategy performance by increasing P/l, reducing drawdown and reducing the number of trades. This is not always the case and each LETF and time period for the LETF will have a bearing on whether the secondary indicator will help or not. Two that have helped are the MACD Histogram, and the Sloe-Velocity Indicator by Kamleshkumar43. Sometimes a couple of different indicators will have a positive impact, then it’s a personal preference which you pick to use with the strategy.
Since this strategy is focused on a very narrow selection of liquid LETFs, I have a lot of experience experimenting with the settings for the primary ones and can suggest things that will help. Additional training on the rules, working with the settings, and mitigating some of the negative trades during choppy markets is available at the website.
Chart
The strategy can be selected to use either a Daily or Weekly version of stochastic. This is important because the characteristics are different while still generating very good gains and minimal drawdowns. Generally, the daily stochastic will have a greater number of, and certainly more frequent, trades than the weekly stochastic. However, on average the daily version of the stochastic will generates greater profitability.
The Settings tabs have tooltip icons that will assist in inputting values that correspond to the written rules for the strategy, and some include specific rule detail.
Buying
The strategy generates Buy signals with the Fast line crossing over the Slow line within a “Buy Range” which is adjusted based on volatility of the leveraged ETF. This is unique in that a default is set for these entries to occur if the values are tied and doesn’t need to be within the high and low range if that occurs. The trader can select in the strategy for this to occur the same day, if he’s selected a Daily Stochastic timeframe, or at the end of the trading week if he’s selected a Weekly stochastic timeframe. The volatility of a leveraged ETF will sometimes cause a shake-out exit, a trailing stop can be hit, or there can be an exit based on taking a profit. A big part of the timing challenge was how to handle these. The strategy normally (set as a default) will immediately re-buy the next day only if the original buy conditions are still true. This helps capture gains when conditions are still favorable but keeps the trader out when they’re not.
Selling
Exits are handled in several ways. The strategy will exit if there is a fast line cross below a slow line within the “range”. The range is adjusted based on volatility of the leveraged ETF. The exit occurs at the close of the day if the trader has selected to use a Daily stochastic setting. The exit will occur at the end of the trading week if the trader has chosen a weekly stochastic strategy. The trader will set a level based on the instrument and volatility for another exit type. The level will sometimes coincide with the range exit high level but does not need to. If a fast line crosses down through a slow line above the level set, and then comes down to that level, the strategy will exit the position.
Another unique aspect of the strategy is the PD Stop setting. This is short for “Prior Day”, Rather than a normal stop based on the price paid for a position, the PD Stop is based on a percentage drop from the previous day’s closing price. This helps account for the volatility of the leveraged ETF and will cause an exit quickly if there’s a market, or index moving event. This helps capture gains and reduce risk should there be continued pullback.
Exits will also occur based on setting a trailing stop level and profit taking level. These are adjusted based on the leveraged ETFs volatility and historical performance.
Limitations
Choppy, or sideways markets are the most prone to poor performance and potential for being stopped out multiple times. If stopped out two consecutive times, make sure you’re monitoring market health and there are clear signs of a new uptrend such as a 10D and 21D MA in proper alignment and moving up. If you get a Buy signal from the strategy and you’re not confident yet about market and price direction then it’s fine to wait a day, or several days, to enter after the Buy signal when you have greater confidence about market direction. The author can help with a short list of tactical rules developed for these sideways or choppy markets.
This strategy has proven successful backtest results with a very limited set of LETFs as discussed earlier. The author does not know if it will prove successful with any others, or other types of ETFs such as 2X or plain ETFs. A lot more testing needs to be done.
The strategy buys and sells , excluding stops or take profit, at the market close. It can be very challenging to enter an order at market close.
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting. This post and the script do not provide any financial advice and are for educational and entertainment purposes only.
Liquid Pours XtremeStrategy Description: Liquid Pours Xtreme
The Liquid Pours Xtreme is an innovative trading strategy that combines the analysis of specific time-based patterns with price comparisons to identify potential opportunities in the forex market. Designed for traders seeking a structured methodology based on clear rules, this strategy offers integration with Telegram for real-time alerts and provides visual tools to enhance trade management.
Key Features:
Analysis of Specific Time Patterns: The strategy captures and compares closing prices at two key moments during the trading day, identifying recurring patterns that may indicate future market movements.
Dynamic SL and TP Levels Implementation: Utilizes tick-based calculations to set Stop-Loss and Take-Profit levels, adapting to the current market volatility.
Advanced Telegram Integration: Provides detailed alerts including information such as the asset, signal time, entry price, and SL/TP levels, facilitating real-time decision-making.
Complete Customization: Allows users to adjust key parameters, including operation schedules, weekdays, and visual settings, adapting to different trading styles.
Enhanced Chart Visualization: Includes visual elements like candle color changes based on signal state, event markers, and halos to highlight important moments.
Default Strategy Properties: Specific configuration for optimal risk management and simulation.
How the Strategy Works
Capturing Prices at Key Moments:
- The strategy records the closing price at two user-defined specific times. These times typically correspond to periods of high market volatility, such as the opening of the European session and the US pre-market.
- Rationale: Volatility and trading volume usually increase during these times, presenting opportunities for significant price movements.
Generating Signals Based on Price Comparison:
- Buy Signal: If the second closing price is lower than the first, it indicates possible accumulation and is interpreted as a bullish signal.
- Sell Signal: If the second closing price is higher than the first, it suggests possible distribution and is interpreted as a bearish signal.
- Signals are only generated on selected trading days, allowing you to avoid days with lower liquidity or higher risk.
Calculating Dynamic SL and TP Levels:
- Stop-Loss (SL) and Take-Profit (TP) levels are calculated based on the entry price and a user-defined number of ticks, adapting to market volatility.
- The strategy offers the option to base these levels on the close of the signal candle or the open of the next candle, providing flexibility according to the trader's preference.
- SL and TP boxes are drawn on the chart for visual reference, facilitating trade management.
Automatic Execution and Alerts:
- Upon signal generation, the strategy automatically executes a market order (buy or sell).
- Sends a detailed alert to your Telegram channel, including essential information for quick decision-making.
Visual Elements:
- Colors candles based on the signal state: buy, sell, or neutral, allowing for quick trend identification.
- Provides a smooth color transition between signal states and uses markers and halos to highlight important events and signals on the chart.
Trade Management:
- Manages open trades with automatic exit conditions based on the established SL and TP levels.
- Includes mechanisms to prevent exceeding TradingView's limitations on boxes and labels, ensuring optimal script performance.
Originality and utility:
- This strategy incorporates a unique approach focusing on specific time patterns and their relationship to institutional activity in the market.
How to Use the Strategy
Add the Script to the Chart:
- Go to the indicators menu in TradingView.
- Search for " Liquid Pours Xtreme " and add it to your chart.
Set Up Telegram Alerts:
- Enter your Telegram Chat ID in the script parameters to receive alerts.
- Customize the Buy and Sell alert messages as desired.
Configure Time Patterns:
- Set the hours and minutes for the two times you want to compare closing prices, aligning them with relevant market sessions or events.
Set SL and TP Parameters:
- Define the number of ticks for the Stop-Loss and Take-Profit levels, adapting them to the asset you're trading and your risk tolerance.
- Choose the basis for SL and TP calculation (close of the signal candle or open of the next candle).
Select Trading Days:
- Enable or disable trading on specific days of the week, allowing you to avoid days with lower activity or unexpected volatility.
Customize Visual Elements:
- Adjust the colors and styles of visual elements to enhance readability and suit your personal preferences.
Monitor the Strategy:
- Observe the chart for signals and use Telegram alerts to stay informed of new opportunities, even when you're not at your terminal.
Testing and Optimization:
- Use TradingView's backtesting features to evaluate the historical performance of the strategy with different parameters.
- Adjust and optimize the parameters based on the results and your own analysis.
Adjust the Strategy Properties:
- Ensure that the strategy properties (order size, commission, slippage) are aligned with your trading account and platform to obtain realistic results.
Strategy Properties (Important)
This script backtest is conducted on M30 EURUSD , using the following backtesting properties:
Initial Capital: $10,000
Order Size: 50,000 Contracts (equivalent to 0.5% of the capital)
Commission: $0.20 per order
Slippage: 1 tick
Pyramiding: 1 order
Verify Price for Limit Orders: 0 ticks
Recalculate on Order Execution: Enabled
Recalculate on Every Tick: Enabled
Recalculate After Order Filled: Enabled
Bar Magnifier for Backtesting Precision: Enabled
We use these properties to ensure a realistic preview of the backtesting system. Note that default properties may vary for different reasons:
- Order Size: It is essential to calculate the contract size according to the traded asset and desired risk level.
- Commission and Slippage: These costs can vary depending on the market and instrument; there is no default value that might return realistic results.
We strongly recommend all users adjust the Properties within the script settings to align with their accounts and trading platforms to ensure the results from the strategies are realistic.
Backtesting Results:
- Net Profit: $4,037.50 (40.37%)
- Total Closed Trades : 292
- Profitability Percentage: 26.71%
- Profit Factor: 1.369
- Max Drawdown: $769.30 (6.28%)
- Average Trade: $13.83 (0.03%)
- Average Bars in Trades: 11
These results were obtained under the mentioned conditions and properties, providing an overview of the strategy's historical performance.
Interpreting Results:
- The strategy has demonstrated profitability in the analyzed period, although with a win rate of 26.71%, indicating that success relies on a favorable risk-reward ratio.
- The profit factor of 1.369 suggests that total gains exceed total losses by that proportion.
- It is crucial to consider the maximum drawdown of 6.28% when evaluating the strategy's suitability to your risk tolerance.
Risk Warning:
Trading leveraged financial instruments carries a high level of risk and may not be suitable for all investors. Before deciding to trade, you should carefully consider your investment objectives, level of experience, and risk tolerance. Past performance does not guarantee future results. It is essential to conduct additional testing and adjust the strategy according to your needs.
---
What Makes This Strategy Original?
Time-Based Pattern Approach: Unlike conventional strategies, this strategy focuses on identifying time patterns that reflect institutional activity and macroeconomic events that can influence the market.
Advanced Technological Integration: The combination of automatic execution and customized alerts via Telegram provides an efficient and modern tool for active traders.
Customization and Adaptability: The wide range of adjustable parameters allows the strategy to be tailored to different assets, time zones, and trading styles.
Enhanced Visual Tools: Incorporated visual elements facilitate quick market interpretation and informed decision-making.
Additional Considerations
Continuous Testing and Optimization: Users are encouraged to perform additional backtesting and optimize parameters according to their own observations and requirements.
Complementary Analysis: Use this strategy in conjunction with other indicators and fundamental analysis to reinforce decision-making.
Rigorous Risk Management: Ensure that SL and TP levels, as well as position sizing, align with your risk management plan.
Updates and Support: I am committed to providing updates and improvements based on community feedback. For inquiries or suggestions, feel free to contact me.
---
Example Configuration
Assuming you want to use the strategy with the following parameters:
Telegram Chat ID: Your unique Telegram Chat ID
First Time (Hour:Minute): 6:30
Second Time (Hour:Minute): 7:30
SL Ticks: 100
TP Ticks: 400
SL and TP Basis: Close of the Signal Candle
Trading Days: Tuesday, Wednesday, Thursday
Simulated Initial Capital: $10,000
Risk per Trade in Simulation: $50 (-0.5% of capital)
Slippage and Commissions in Simulation: 1 tick of slippage and $0.20 commission per trade
---
Conclusion
The Liquid Pours Xtreme strategy offers an innovative approach by combining specific time analysis with robust risk management and modern technological tools. Its original and adaptable design makes it valuable for traders looking to diversify their methods and capitalize on opportunities based on less conventional patterns.
Ready for immediate implementation in TradingView, this strategy can enrich your trading arsenal and contribute to a more informed and structured approach to your operations.
---
Final Disclaimer:
Financial markets are volatile and can present significant risks. This strategy should be used as part of a comprehensive trading approach and does not guarantee positive results. It is always advisable to consult with a professional financial advisor before making investment decisions.
---
Skeleton Key LiteSkeleton Key Lite Strategy
Note : Every input, except for the API Alerts, depends on an external indicator to provide the necessary values for the strategy to function.
Definitions
Strategy Direction: The trading direction (long or short) as determined by an external source, such as an indicator.
Threshold Conditions:
- Enter Condition: Defines the condition for entering a trade.
- Exit Condition: Defines the condition for exiting a trade.
Stop Loss (SL):
- Trail SL: A trailing stop loss, dynamically updated during the trade.
- Basic SL: A static stop loss level.
- Emergency SL (ER SL): A fallback stop loss for extreme conditions.
- Max SL: The maximum risk tolerance in stop loss.
- Limit SL: A predefined stop loss that is executed as a limit order.
Take Profit (TP):
- Max TP: The maximum profit target for a trade.
- Limit TP: A predefined take profit level executed as a limit order.
API Alerts:
- API Entry: JSON-based configuration for sending entry signals.
- API Exit: JSON-based configuration for sending exit signals.
Broad Concept
The Skeleton Key Lite strategy script is designed to provide a generalized framework for orchestrating trade execution based on external indicators. It allows QuantAlchemy and others to encapsulate strategies into indicators, which can then be backtested and automated using this strategy script.
Inputs
Note : All inputs are dependent on external indicators for values except for the API Alerts.
Strategy Direction:
- Source: Direction signal from an external indicator.
- Options: `LONG` (`1`), `SHORT` (`-1`).
Trade Conditions:
- Enter: Source input, trigger for entry condition.
- Exit: Source input, trigger for exit condition.
Stops and Take Profits:
- Trail SL: Enable/disable dynamic trailing stop loss.
- Basic SL: Enable/disable static stop loss.
- Emergency SL: Enable/disable emergency stop loss.
- Max SL: Enable/disable maximum risk stop loss.
- Max TP: Enable/disable maximum take profit.
- Limit SL: Enable/disable predefined stop loss executed as a limit order.
- Limit TP: Enable/disable predefined take profit executed as a limit order.
Alerts:
- API Entry: Configurable JSON message for entry signals.
- API Exit: Configurable JSON message for exit signals.
How It Works
Trade Logic:
- Conditions for entering and exiting trades are evaluated based on the selected input sources.
Stop Loss and Take Profit Management:
- Multiple stop loss types (trailing, basic, emergency, etc.) and take profit levels are calculated dynamically during the trade entry. Trailing stop loss is updated during the trade based on the selected input.
API Alerts:
- Alerts are triggered using customizable JSON messages, which can be integrated with external trading systems or APIs.
Trade Execution:
- Enter: Initiates a new trade if entry conditions are met and there is no open position.
- Exit: Closes all trades if exit conditions are met or stop loss/take profit thresholds are hit.
Key Features
Customizable: Fully configurable entry and exit conditions based on external indicators.
Encapsulation: Integrates seamlessly with indicators, allowing strategies to be developed as indicator-based signals.
Comprehensive Risk Management:
- Multiple stop loss and take profit options.
- Emergency stop loss for unexpected conditions.
API Integration: Alerts are designed to interface with external systems for automation and monitoring.
Plots
The script plots key variables on the chart for better visualization:
Enter and Exit Signals:
- `enter`: Displays when the entry condition is triggered.
- `exit`: Displays when the exit condition is triggered.
Risk Management Levels:
- `trailSL`: Current trailing stop loss level.
- `basicSL`: Static stop loss level.
- `erSL`: Emergency stop loss level.
- `maxSL`: Maximum risk stop loss level.
Profit Management Levels:
- `maxTP`: Maximum take profit level.
- `limitTP`: Limit-based take profit level.
Limit Orders:
- `limitSL`: Limit-based stop loss level.
- `limitTP`: Limit-based take profit level.
Proposed Interpretations
Entry and Exit Points:
- Use the plotted signals (`enter`, `exit`) to analyze the trade entry and exit points visually.
Risk and Profit Levels:
- Monitor the stop loss (`SL`) and take profit (`TP`) levels to assess trade performance.
Dynamic Trail SL:
- Observe the `trailSL` to evaluate how the trailing stop adapts during the trade.
Limitations
Dependence on Indicators:
- This script relies on external indicators to provide signals for strategy execution.
No Indicator Included:
- Users must integrate an appropriate indicator for source inputs.
Back-Test Constraints:
- Back-testing results depend on the accuracy and design of the integrated indicators.
Final Thoughts
The Skeleton Key Lite strategy by QuantAlchemy provides a robust framework for automated trading by leveraging indicator-based signals. Its flexibility and comprehensive risk management make it a valuable tool for traders seeking to implement and backtest custom strategies.
Disclaimer
This script is for educational purposes only. Trading involves risk, and past performance does not guarantee future results. Use at your own discretion and risk.
XAUUSD Trend Strategy### Description of the XAUUSD Trading Strategy with Pine Script
This strategy is designed to trade gold (**XAUUSD**) using proven technical analysis principles. It combines key indicators such as **Exponential Moving Averages (EMA)**, the **Relative Strength Index (RSI)**, and **Bollinger Bands** to identify trading opportunities in trending market conditions.
---
#### Objective:
To maximize profits by identifying trend-aligned entry points while minimizing risks through well-defined Stop Loss and Take Profit levels.
---
### How It Works
1. **Indicators Used:**
- **Exponential Moving Averages (EMA):** Tracks short-term and long-term trends to confirm market direction.
- **Relative Strength Index (RSI):** Detects overbought or oversold conditions for potential reversals or trend continuation.
- **Bollinger Bands:** Measures volatility to identify breakout or reversion points.
2. **Entry Rules:**
- **Long (Buy):** Triggered when:
- The short-term EMA crosses above the long-term EMA (bullish trend confirmation).
- RSI exits oversold territory (<30), signaling buying momentum.
- The price breaks above the upper Bollinger Band, indicating a strong trend.
- **Short (Sell):** Triggered when:
- The short-term EMA crosses below the long-term EMA (bearish trend confirmation).
- RSI exits overbought territory (>70), signaling selling momentum.
- The price breaks below the lower Bollinger Band, indicating a strong downtrend.
3. **Risk Management:**
- **Stop Loss:** Automatically calculated based on a percentage of equity risk (customizable via inputs).
- **Take Profit:** Defined using a risk-to-reward ratio, ensuring consistent profitability when trades succeed.
4. **Visualization:**
- The chart displays the EMAs, Bollinger Bands, and entry/exit points for clear analysis.
---
### Key Features:
- **Customizable Parameters:** You can adjust EMAs, RSI thresholds, Bollinger Band settings, and risk levels to suit your trading style.
- **Alerts:** Automatic alerts for potential trade setups.
- **Backtesting-Ready:** Easily test historical performance on TradingView.
---
This strategy is ideal for gold traders looking for a systematic, rule-based approach to trading trends with minimal emotional interference.
- Trading Bot – TopBot Anomaly Robot Strategy -- Introduction -
This strategy is based on a search for abnormal market price movements relative to a time-shifted main moving average. Different variations of the main moving average are created and shifted proportionally rather than linearly, giving the strategy greater reactivity and serving as position entry points. What's more ? This strategy stands out with a major innovation, allowing position exits to be set on variations in the moving average (and not on the moving average itself, like all strategies that close positions on return to the moving average), which greatly improves actual results.
- Detailed operation of the strategy -
It defines a function that calculates various moving averages (depending on the type of moving average defined by the user) and the chosen length. The function takes into account different types of moving averages: SMA, PCMA, EMA, WMA, DEMA, ZLEMA and HMA, and is offset in time so that it can be an entry or exit condition in real time (otherwise you'd have to wait for the next candle for the moving average to be calculated).
It calculates shifted variants (semi-parallel) as a percentage of this main moving average, high and low, to define position entry points (depending on user settings, up to 10 shifted levels for ten position entries for each direction). By calculating shifts as percentages rather than fixed values, the resulting deviations are not parallel to the main moving average, but can be used to detect sudden price contractions. By adjusting these deviations proportionally, we can observe variations relative to the main moving average more clearly, enabling us to detect dynamic support and resistance zones that adapt to market fluctuations. The fact that they are not strictly parallel avoids too rigid an interpretation and gives a more nuanced reading of trends, capturing small divergences that could indicate more subtle changes in market dynamics.
The most distinctive feature of this strategy concerns position exits: the script calculates two new moving averages shifted in proportion to the main moving average (adjustable) to define position exit price levels.
The strategy enters position when one of the deviations from the position entry moving average is crossed, and exits position when the deviation from the position exit moving average is crossed.
Position entry can be single or up to ten entry levels per direction to smooth trades. Differentiated settings are available for Longs and Shorts.
In this type of strategy, the return to the moving average is generally used as the position exit point, but this strategy incorporates a unique feature: the position exit can be made on a deviation from the moving average, adjustable and differentiated for Long and Short positions.
This is a major change compared to other strategies using a moving-average position exit, since the result is thatchanging the position exit point considerably improves the strategy's results .
Backtest with a classic exit back to the moving average :
Backtest with an exit back on an (adjustable) derivative of the moving average :
- “Ready to use” and user-adjustable parameters -
The strategy interface has been optimized for easy creation of trading robots, with all settings underlying the calculations and numerous options for optimization. Here are the contents of the strategy parameters interface:
In addition, important information about strategy settings and results is displayed directly on the chart. The percentage profit displayed may differ slightly from that of the backtest, as it includes potential profits from open trades (strategy.openprofit) in its calculation.
- Conditions, options and settings for graph and backtest presentation -
Here are the conditions and settings for the graph presented on the screen:
The strategy is set for 10 possible LONG and SHORT entries
10% of capital in x2 leverage is invested at each position entry (i.e. 20% of capital under backtest conditions)
The backtest runs for 14 months: from 08/17/2023 to 08/19/2024
It is carried out on PENDLEUSDT.P on BitGet Swap in 4H
LONGS strategy settings: 0.18 - 0.19 - 0.2 - 0.21 - 0.22 - 0.23 - 0.24 - 0.25 - 0.26 - 0.275 - LONGS output deviation: 0.03 (3%)
Strategy settings for SHORTS: 0.21 - 0.22 - 0.23 - 0.24 - 0.25 - 0.26 - 0.27 - 0.28 - 0.29 - 0.3 - LONGS output deviation: 0.032 (3.2%)
All other settings are strategy defaults - Broker fees + spread are set at 0.13% per trade
We can see several interesting points:
The strategy has very high winrate if set to this objective
The settings here have not been “over-optimized”, i.e. all 10 entries are unused, leaving room for larger-than-expected market movements in the future. In this particular case, it is set to favor safety over profitability optimization, but other approaches are possible to maximize profitability.
The result is 277.75% , thanks to the strategy's adjustment of position exit levels. With a conventional exit at the moving average, results are only 204.47%, a significant difference.
- How to adjust and apply the strategy? -
Generally speaking, the strategy works well on a large proportion of cryptocurrencies, especially for LONG positions. The recommended timeframes are: 30M-45M-1H-2H-3H-4H and the most appropriate timeframe will vary according to the cryptocurrency. It is also possible, with certain assets, to run the strategy on shorter timeframes such as 5M or 15M with success.
The strategy can be used with a single position entry level, maximizing capital utilization on each trade and/or having several strategies active on a single account at the same time
It can also be used in a “safe” way, using up to ten successive entries to smooth out unforeseen market movements and minimize risk as much as possible. In this case, enter positions with 1/10 of the capital each time, for a setting of ten entries, and give preference to a single active bot per account so that all positions can be covered (a fixed dollar amount, not a percentage, is then recommended)
The recommended leverage is x1 or x2 for controlled long-term trading, especially with ten entry levels, although sometimes higher leverage could be considered with controlled risk.
Here's how to set up the strategy:
Start by finding a cryptocurrency displaying a nice curve with the default settings
Then try out the default settings on all timeframes, and select the timeframe with the best curve or the best result
Deactivate shorts
Set the first long triggerlevel to the value that gives the best result
(optional): Change the moving average type, period and data source to find the most optimized setting before proceeding to the next step
Set the 10thlong inputlevel to the last value modifying the result
Set the 8 intermediate input levels, distributing them as evenly as possible
Then adjust the output level of the longs, which can greatly improve the results
Temporarily deactivate the longs, activate the shorts and follow the same process
Reactivate longs and shorts
- How to program robots for automated trading using this strategy -
If you want to use this strategy for automated trading, it's very simple. All you need is an account with a cryptocurrency broker that allows APIs, and an intermediary between TradinView and your broker who will manage your orders.
Here's how it works:
On your intermediary, create a bot that will manage the details of your orders (amount, single or multiple entries, exit conditions). This bot is linked to the broker via an API and will be able to place real orders. Each bot has four different signals that enable it to be activated via a webhook. When one of the signals is received, it executes the orders for you.
On TradingView, set the strategy to a suitable asset and timeframe. Once set, enter in the strategy parameters the signals specific to the bot you've created. Confirm and close the parameters.
Still on TradingView, create an alarm based on your set strategy (on the strategy tester). Give the alarm the name of your choice and in “Message” enter only{{strategy.order.comment}}.
In alarm notifications, activate the webhook and enter the webhook of your trading intermediary. Confirm the alarm.
As long as the alarm is activated in TradingView, the strategy will monitor the market and send an order to enter or exit a position as soon as the conditions are met. Your bot will receive the instruction and place orders with your broker. Subsequent changes to the strategy settings do not change those stored in the alarm. If you wish to change the settings for one of your bots, simply delete the old alarm and create a new one.
Note: In your bot settings, on your intermediary, make sure to allow: - Multiple inputs - A single output signal to close all positions - Stoploss disabled (if necessary, use the strategy one)
Unlock the Power of Seasonality: Monthly Performance StrategyThe Monthly Performance Strategy leverages the power of seasonality—those cyclical patterns that emerge in financial markets at specific times of the year. From tax deadlines to industry-specific events and global holidays, historical data shows that certain months can offer strong opportunities for trading. This strategy was designed to help traders capture those opportunities and take advantage of recurring market patterns through an automated and highly customizable approach.
The Inspiration Behind the Strategy:
This strategy began with the idea that market performance is often influenced by seasonal factors. Historically, certain months outperform others due to a variety of reasons, like earnings reports, holiday shopping, or fiscal year-end events. By identifying these periods, traders can better time their market entries and exits, giving them an advantage over those who solely rely on technical indicators or news events.
The Monthly Performance Strategy was built to take this concept and automate it. Instead of manually analyzing market data for each month, this strategy enables you to select which months you want to focus on and then executes trades based on predefined rules, saving you time and optimizing the performance of your trades.
Key Features:
Customizable Month Selection: The strategy allows traders to choose specific months to test or trade on. You can select any combination of months—for example, January, July, and December—to focus on based on historical trends. Whether you’re targeting the historically strong months like December (often driven by the 'Santa Rally') or analyzing quieter months for low volatility trades, this strategy gives you full control.
Automated Monthly Entries and Exits: The strategy automatically enters a long position on the first day of your selected month(s) and exits the trade at the beginning of the next month. This makes it perfect for traders who want to benefit from seasonal patterns without manually monitoring the market. It ensures precision in entering and exiting trades based on pre-set timeframes.
Re-entry on Stop Loss or Take Profit: One of the standout features of this strategy is its ability to re-enter a trade if a position hits the stop loss (SL) or take profit (TP) level during the selected month. If your trade reaches either a SL or TP before the month ends, the strategy will automatically re-enter a new trade the next trading day. This feature ensures that you capture multiple trading opportunities within the same month, instead of exiting entirely after a successful or unsuccessful trade. Essentially, it keeps your capital working for you throughout the entire month, not just when conditions align perfectly at the beginning.
Built-in Risk Management: Risk management is a vital part of this strategy. It incorporates an Average True Range (ATR)-based stop loss and take profit system. The ATR helps set dynamic levels based on the market’s volatility, ensuring that your stops and targets adjust to changing market conditions. This not only helps limit potential losses but also maximizes profit potential by adapting to market behavior.
Historical Performance Testing: You can backtest this strategy on any period by setting the start year. This allows traders to analyze past market data and optimize their strategy based on historical performance. You can fine-tune which months to trade based on years of data, helping you identify trends and patterns that provide the best trading results.
Versatility Across Asset Classes: While this strategy can be particularly effective for stock market indices and sector rotation, it’s versatile enough to apply to other asset classes like forex, commodities, and even cryptocurrencies. Each asset class may exhibit different seasonal behaviors, allowing you to explore opportunities across various markets with this strategy.
How It Works:
The trader selects which months to test or trade, for example, January, April, and October.
The strategy will automatically open a long position on the first trading day of each selected month.
If the trade hits either the take profit or stop loss within the month, the strategy will close the current position and re-enter a new trade on the next trading day, provided the month has not yet ended. This ensures that the strategy continues to capture any potential gains throughout the month, rather than stopping after one successful trade.
At the start of the next month, the position is closed, and if the next month is also selected, a new trade is initiated following the same process.
Risk Management and Dynamic Adjustments:
Incorporating risk management with this strategy is as easy as turning on the ATR-based system. The strategy will automatically calculate stop loss and take profit levels based on the market’s current volatility, adjusting dynamically to the conditions. This ensures that the risk is controlled while allowing for flexibility in capturing profits during both high and low volatility periods.
Maximizing the Seasonal Edge:
By automating entries and exits based on specific months and combining that with dynamic risk management, the Ultimate Monthly Performance Strategy takes advantage of seasonal patterns without requiring constant monitoring. The added re-entry feature after hitting a stop loss or take profit ensures that you are always in the game, maximizing your chances to capture profitable trades during favorable seasonal periods.
Who Can Benefit from This Strategy?
This strategy is perfect for traders who:
Want to exploit the predictable, recurring patterns that occur during specific months of the year.
Prefer a hands-off, automated trading approach that allows them to focus on other aspects of their portfolio or life.
Seek to manage risk effectively with ATR-based stop losses and take profits that adjust to market conditions.
Appreciate the ability to re-enter trades when a take profit or stop loss is hit within the month, ensuring that they don't miss out on multiple opportunities during a favorable period.
In summary, the Ultimate Monthly Performance Strategy provides traders with a comprehensive tool to capitalize on seasonal trends, optimize their trading opportunities throughout the year, and manage risk effectively. The built-in re-entry system ensures you continue to benefit from the market even after hitting targets within the same month, making it a robust strategy for traders looking to maximize their edge in any market.
Risk Disclaimer:
Trading financial markets involves significant risk and may not be suitable for all investors. The Monthly Performance Strategy is designed to help traders identify seasonal trends, but past performance does not guarantee future results. It is important to carefully consider your risk tolerance, financial situation, and trading goals before using any strategy. Always use appropriate risk management and consult with a professional financial advisor if necessary. The use of this strategy does not eliminate the risk of losses, and traders should be prepared for the possibility of losing their entire investment. Be sure to test the strategy on a demo account before applying it in live markets.
Optimized Heikin Ashi Strategy with Buy/Sell OptionsStrategy Name:
Optimized Heikin Ashi Strategy with Buy/Sell Options
Description:
The Optimized Heikin Ashi Strategy is a trend-following strategy designed to capitalize on market trends by utilizing the smoothness of Heikin Ashi candles. This strategy provides flexible options for trading, allowing users to choose between Buy Only (long-only), Sell Only (short-only), or using both in alternating conditions based on the Heikin Ashi candle signals. The strategy works on any market, but it performs especially well in markets where trends are prevalent, such as cryptocurrency or Forex.
This script offers customizable parameters for the backtest period, Heikin Ashi timeframe, stop loss, and take profit levels, allowing traders to optimize the strategy for their preferred markets or assets.
Key Features:
Trade Type Options:
Buy Only: Enter a long position when a green Heikin Ashi candle appears and exit when a red candle appears.
Sell Only: Enter a short position when a red Heikin Ashi candle appears and exit when a green candle appears.
Stop Loss and Take Profit:
Customizable stop loss and take profit percentages allow for flexible risk management.
The default stop loss is set to 2%, and the default take profit is set to 4%, maintaining a favorable risk/reward ratio.
Heikin Ashi Timeframe:
Traders can select the desired timeframe for Heikin Ashi candle calculation (e.g., 4-hour Heikin Ashi candles for a 1-hour chart).
The strategy smooths out price action and reduces noise, providing clearer signals for entry and exit.
Inputs:
Backtest Start Date / End Date: Specify the period for testing the strategy’s performance.
Heikin Ashi Timeframe: Select the timeframe for Heikin Ashi candle generation. A higher timeframe helps smooth the trend, which is beneficial for trading lower timeframes.
Stop Loss (in %) and Take Profit (in %): Enable or disable stop loss and take profit, and adjust the levels based on market conditions.
Trade Type: Choose between Buy Only or Sell Only based on your market outlook and strategy preference.
Strategy Performance:
In testing with BTC/USD, this strategy performed well in a 4-hour Heikin Ashi timeframe applied on a 1-hour chart over a period from January 1, 2024, to September 12, 2024. The results were as follows:
Initial Capital: 1 USD
Order Size: 100% of equity
Net Profit: +30.74 USD (3,073.52% return)
Percent Profitable: 78.28% of trades were winners.
Profit Factor: 15.825, indicating that the strategy's profitable trades far outweighed its losses.
Max Drawdown: 4.21%, showing low risk exposure relative to the large profit potential.
This strategy is ideal for both beginner and advanced traders who are looking to follow trends and avoid market noise by using Heikin Ashi candles. It is also well-suited for traders who prefer automated risk management through the use of stop loss and take profit levels.
Recommended Use:
Best Markets: This strategy works well on trending markets like cryptocurrency, Forex, or indices.
Timeframes: Works best when applied to lower timeframes (e.g., 1-hour chart) with a higher Heikin Ashi timeframe (e.g., 4-hour candles) to smooth out price action.
Leverage: The strategy performs well with leverage, but users should consider using 2x to 3x leverage to avoid excessive risk and potential liquidation. The strategy's low drawdown allows for moderate leverage use while maintaining risk control.
Customization: Traders can adjust the stop loss and take profit percentages based on their risk appetite and market conditions. A default setting of a 2% stop loss and 4% take profit provides a balanced risk/reward ratio.
Notes:
Risk Management: Traders should enable stop loss and take profit settings to maintain effective risk management and prevent large drawdowns during volatile market conditions.
Optimization: This strategy can be further optimized by adjusting the Heikin Ashi timeframe and risk parameters based on specific market conditions and assets.
Backtesting: The built-in backtesting functionality allows traders to test the strategy across different market conditions and historical data to ensure robustness before applying it to live trading.
How to Apply:
Select your preferred market and chart.
Choose the appropriate Heikin Ashi timeframe based on the chart's timeframe. (e.g., use 4-hour Heikin Ashi candles for 1-hour chart trends).
Adjust stop loss and take profit based on your risk management preference.
Run backtesting to evaluate its performance before applying it in live trading.
This strategy can be further modified and optimized based on personal trading style and market conditions. It’s important to monitor performance regularly and adjust settings as needed to align with market behavior.
Intramarket Difference Index StrategyHi Traders !!
The IDI Strategy:
In layman’s terms this strategy compares two indicators across markets and exploits their differences.
note: it is best the two markets are correlated as then we know we are trading a short to long term deviation from both markets' general trend with the assumption both markets will trend again sometime in the future thereby exhausting our trading opportunity.
📍 Import Notes:
This Strategy calculates trade position size independently (i.e. risk per trade is controlled in the user inputs tab), this means that the ‘Order size’ input in the ‘Properties’ tab will have no effect on the strategy. Why ? because this allows us to define custom position size algorithms which we can use to improve our risk management and equity growth over time. Here we have the option to have fixed quantity or fixed percentage of equity ATR (Average True Range) based stops in addition to the turtle trading position size algorithm.
‘Pyramiding’ does not work for this strategy’, similar to the order size input togeling this input will have no effect on the strategy as the strategy explicitly defines the maximum order size to be 1.
This strategy is not perfect, and as of writing of this post I have not traded this algo.
Always take your time to backtests and debug the strategy.
🔷 The IDI Strategy:
By default this strategy pulls data from your current TV chart and then compares it to the base market, be default BINANCE:BTCUSD . The strategy pulls SMA and RSI data from either market (we call this the difference data), standardizes the data (solving the different unit problem across markets) such that it is comparable and then differentiates the data, calling the result of this transformation and difference the Intramarket Difference (ID). The formula for the the ID is
ID = market1_diff_data - market2_diff_data (1)
Where
market(i)_diff_data = diff_data / ATR(j)_market(i)^0.5,
where i = {1, 2} and j = the natural numbers excluding 0
Formula (1) interpretation is the following
When ID > 0: this means the current market outperforms the base market
When ID = 0: Markets are at long run equilibrium
When ID < 0: this means the current market underperforms the base market
To form the strategy we define one of two strategy type’s which are Trend and Mean Revesion respectively.
🔸 Trend Case:
Given the ‘‘Strategy Type’’ is equal to TREND we define a threshold for which if the ID crosses over we go long and if the ID crosses under the negative of the threshold we go short.
The motivating idea is that the ID is an indicator of the two symbols being out of sync, and given we know volatility clustering, momentum and mean reversion of anomalies to be a stylised fact of financial data we can construct a trading premise. Let's first talk more about this premise.
For some markets (cryptocurrency markets - synthetic symbols in TV) the stylised fact of momentum is true, this means that higher momentum is followed by higher momentum, and given we know momentum to be a vector quantity (with magnitude and direction) this momentum can be both positive and negative i.e. when the ID crosses above some threshold we make an assumption it will continue in that direction for some time before executing back to its long run equilibrium of 0 which is a reasonable assumption to make if the market are correlated. For example for the BTCUSD - ETHUSD pair, if the ID > +threshold (inputs for MA and RSI based ID thresholds are found under the ‘‘INTRAMARKET DIFFERENCE INDEX’’ group’), ETHUSD outperforms BTCUSD, we assume the momentum to continue so we go long ETHUSD.
In the standard case we would exit the market when the IDI returns to its long run equilibrium of 0 (for the positive case the ID may return to 0 because ETH’s difference data may have decreased or BTC’s difference data may have increased). However in this strategy we will not define this as our exit condition, why ?
This is because we want to ‘‘let our winners run’’, to achieve this we define a trailing Donchian Channel stop loss (along with a fixed ATR based stop as our volatility proxy). If we were too use the 0 exit the strategy may print a buy signal (ID > +threshold in the simple case, market regimes may be used), return to 0 and then print another buy signal, and this process can loop may times, this high trade frequency means we fail capture the entire market move lowering our profit, furthermore on lower time frames this high trade frequencies mean we pay more transaction costs (due to price slippage, commission and big-ask spread) which means less profit.
By capturing the sum of many momentum moves we are essentially following the trend hence the trend following strategy type.
Here we also print the IDI (with default strategy settings with the MA difference type), we can see that by letting our winners run we may catch many valid momentum moves, that results in a larger final pnl that if we would otherwise exit based on the equilibrium condition(Valid trades are denoted by solid green and red arrows respectively and all other valid trades which occur within the original signal are light green and red small arrows).
another example...
Note: if you would like to plot the IDI separately copy and paste the following code in a new Pine Script indicator template.
indicator("IDI")
// INTRAMARKET INDEX
var string g_idi = "intramarket diffirence index"
ui_index_1 = input.symbol("BINANCE:BTCUSD", title = "Base market", group = g_idi)
// ui_index_2 = input.symbol("BINANCE:ETHUSD", title = "Quote Market", group = g_idi)
type = input.string("MA", title = "Differrencing Series", options = , group = g_idi)
ui_ma_lkb = input.int(24, title = "lookback of ma and volatility scaling constant", group = g_idi)
ui_rsi_lkb = input.int(14, title = "Lookback of RSI", group = g_idi)
ui_atr_lkb = input.int(300, title = "ATR lookback - Normalising value", group = g_idi)
ui_ma_threshold = input.float(5, title = "Threshold of Upward/Downward Trend (MA)", group = g_idi)
ui_rsi_threshold = input.float(20, title = "Threshold of Upward/Downward Trend (RSI)", group = g_idi)
//>>+----------------------------------------------------------------+}
// CUSTOM FUNCTIONS |
//<<+----------------------------------------------------------------+{
// construct UDT (User defined type) containing the IDI (Intramarket Difference Index) source values
// UDT will hold many variables / functions grouped under the UDT
type functions
float Close // close price
float ma // ma of symbol
float rsi // rsi of the asset
float atr // atr of the asset
// the security data
getUDTdata(symbol, malookback, rsilookback, atrlookback) =>
indexHighTF = barstate.isrealtime ? 1 : 0
= request.security(symbol, timeframe = timeframe.period,
expression = [close , // Instentiate UDT variables
ta.sma(close, malookback) ,
ta.rsi(close, rsilookback) ,
ta.atr(atrlookback) ])
data = functions.new(close_, ma_, rsi_, atr_)
data
// Intramerket Difference Index
idi(type, symbol1, malookback, rsilookback, atrlookback, mathreshold, rsithreshold) =>
threshold = float(na)
index1 = getUDTdata(symbol1, malookback, rsilookback, atrlookback)
index2 = getUDTdata(syminfo.tickerid, malookback, rsilookback, atrlookback)
// declare difference variables for both base and quote symbols, conditional on which difference type is selected
var diffindex1 = 0.0, var diffindex2 = 0.0,
// declare Intramarket Difference Index based on series type, note
// if > 0, index 2 outpreforms index 1, buy index 2 (momentum based) until equalibrium
// if < 0, index 2 underpreforms index 1, sell index 1 (momentum based) until equalibrium
// for idi to be valid both series must be stationary and normalised so both series hae he same scale
intramarket_difference = 0.0
if type == "MA"
threshold := mathreshold
diffindex1 := (index1.Close - index1.ma) / math.pow(index1.atr*malookback, 0.5)
diffindex2 := (index2.Close - index2.ma) / math.pow(index2.atr*malookback, 0.5)
intramarket_difference := diffindex2 - diffindex1
else if type == "RSI"
threshold := rsilookback
diffindex1 := index1.rsi
diffindex2 := index2.rsi
intramarket_difference := diffindex2 - diffindex1
//>>+----------------------------------------------------------------+}
// STRATEGY FUNCTIONS CALLS |
//<<+----------------------------------------------------------------+{
// plot the intramarket difference
= idi(type,
ui_index_1,
ui_ma_lkb,
ui_rsi_lkb,
ui_atr_lkb,
ui_ma_threshold,
ui_rsi_threshold)
//>>+----------------------------------------------------------------+}
plot(intramarket_difference, color = color.orange)
hline(type == "MA" ? ui_ma_threshold : ui_rsi_threshold, color = color.green)
hline(type == "MA" ? -ui_ma_threshold : -ui_rsi_threshold, color = color.red)
hline(0)
Note it is possible that after printing a buy the strategy then prints many sell signals before returning to a buy, which again has the same implication (less profit. Potentially because we exit early only for price to continue upwards hence missing the larger "trend"). The image below showcases this cenario and again, by allowing our winner to run we may capture more profit (theoretically).
This should be clear...
🔸 Mean Reversion Case:
We stated prior that mean reversion of anomalies is an standerdies fact of financial data, how can we exploit this ?
We exploit this by normalizing the ID by applying the Ehlers fisher transformation. The transformed data is then assumed to be approximately normally distributed. To form the strategy we employ the same logic as for the z score, if the FT normalized ID > 2.5 (< -2.5) we buy (short). Our exit conditions remain unchanged (fixed ATR stop and trailing Donchian Trailing stop)
🔷 Position Sizing:
If ‘‘Fixed Risk From Initial Balance’’ is toggled true this means we risk a fixed percentage of our initial balance, if false we risk a fixed percentage of our equity (current balance).
Note we also employ a volatility adjusted position sizing formula, the turtle training method which is defined as follows.
Turtle position size = (1/ r * ATR * DV) * C
Where,
r = risk factor coefficient (default is 20)
ATR(j) = risk proxy, over j times steps
DV = Dollar Volatility, where DV = (1/Asset Price) * Capital at Risk
🔷 Risk Management:
Correct money management means we can limit risk and increase reward (theoretically). Here we employ
Max loss and gain per day
Max loss per trade
Max number of consecutive losing trades until trade skip
To read more see the tooltips (info circle).
🔷 Take Profit:
By defualt the script uses a Donchain Channel as a trailing stop and take profit, In addition to this the script defines a fixed ATR stop losses (by defualt, this covers cases where the DC range may be to wide making a fixed ATR stop usefull), ATR take profits however are defined but optional.
ATR SL and TP defined for all trades
🔷 Hurst Regime (Regime Filter):
The Hurst Exponent (H) aims to segment the market into three different states, Trending (H > 0.5), Random Geometric Brownian Motion (H = 0.5) and Mean Reverting / Contrarian (H < 0.5). In my interpretation this can be used as a trend filter that eliminates market noise.
We utilize the trending and mean reverting based states, as extra conditions required for valid trades for both strategy types respectively, in the process increasing our trade entry quality.
🔷 Example model Architecture:
Here is an example of one configuration of this strategy, combining all aspects discussed in this post.
Future Updates
- Automation integration (next update)
Negroni Opening Range StrategyStrategy Summary:
This tool can be used to help identify breakouts from a range during a time-zone of your choosing. It plots a pre-market range, an opening range, it also includes moving average levels that can be used as confluence, as well as plotting previous day SESSION highs and lows.
There are several options on how you wish to close out the trades, all described in more detail below.
Back-testing Inputs:
You define your timezone.
You define how many trades to open on any given day.
You decide to go: long only, short only, or long & short (CAREFUL: "Long & Short" can open trades that effectively closes-out existing ones, for better AND worse!)
You define between which times the strategy will open trades.
You define when it closes any open trades (preventing overnight trades, or leaving trades open into US data times!!).
This hopefully helps make back-testing reflect YOUR trading hours.
NOTE: Renko or Heikin-Ashi charts
For ALL strategies, don’t use Renko or Heikin-Ashi charts unless you know EXACTLY the implications.
Specific to my strategy, using a renko chart can make this 85-90% profitable (I wish it was!!) Although they can be useful, renko charts don’t always capture real wicks, so the renko chart may show your trade up-only but your broker (who is not using renko!!) will have likely stopped you out on a wick somewhere along the line.
NOTE: TradingView ‘Deep backtesting’
For ALL strategies, be cynical of all backtesting (e.g. repainting issues etc) as well as ‘Deep backtesting’ results.
Specific to this strategy, the default settings here SHOULD BE OK, but unfortunately at the time of writing, we can’t see on the chart what exactly ‘deep backtesting’ is calculating. In the past I have noted a number of trades that were not closed at the end of the day, despite my ‘end of day’ trade closing being enabled, so there were big winners and losers that would not have materialized otherwise. As I say, this seems ok at these settings but just always be cynical!!
Opening Range Inputs
You define a pre-market range (example: 08:00 - 09:00).
You define an opening range (example: 09:00 - 09:30).
The strategy will give an update at the close of the opening range to let you know if the opening range has broken out the pre-market range (OR Breakout), or if it has remained inside (OR Inside). The label appears at the end of the opening range NOT at the bar that ‘broke-out’.
This is just a visual cue for you, it has no bearing on what the strategy will do.
The strategy default will trade off the pre-market range, but you can untick this if you prefer to trade off the opening range.
Opening Trades:
Strategy goes long when the bar (CLOSE) crosses-over the ‘pre-market’ high (not the ‘opening range’ high); and the time is within your trading session, and you have not maxed out your number of trades for the day!
Strategy goes short when the bar (CLOSE) crosses-under the ‘pre-market’ low (not the ‘opening range low); and the time is within your trading session, and you have not maxed out your number of trades for the day!
Remember, you can untick this if you prefer to trade off the opening range instead.
NOTES:
Using momentum indicators can help (RSI and MACD): especially to trade range plays in failed breakouts, when momentum shifts… but the strategy won’t do this for you!
Using an anchored vwap at the session open can also provide nice confluence, as well as take-profit levels at the upper/lower of 3x standard deviation.
CLOSING TRADES:
You have 6 take-profit (TP) options:
1) Full TP: uses ATR Multiplier - Full TP at the ATR parameters as defined in inputs.
2) Take Partial profits: ATR Multiplier - Takes partial profits based on parameters as defined in inputs (i.e close 40% of original trade at TP1, close another 40% of original trade at TP2, then the remainder at Full TP as set in option 1.).
3) Full TP: Trailing Stop - Applies a Trailing Stop at the number of points, as defined in inputs.
4) Full TP: MA cross - Takes profit when price crosses ‘Trend MA’ as defined in inputs.
5) Scalp: Points - closes at a set number of points, as defined in inputs.
6) Full TP: PMKT Multiplier - places a SL at opposite pre-market Hi/Low (we go long at a break-out of the pre-market high, 50% would place a SL at the pre-market range mid-point; 100% would place a SL at the pre-market low)'. This takes profit at the input set in option 1).
Fractal Breakout Trend Following StrategyOverview
The Fractal Breakout Trend Following Strategy is a trend-following system which utilizes the Willams Fractals and Alligator to execute the long trades on the fractal's breakouts which have a high probability to be the new uptrend phase beginning. This system also uses the normalized Average True Range indicator to filter trades after a large moves, because it's more likely to see the trend continuation after a consolidation period. Strategy can execute only long trades.
Unique Features
Trend and volatility filtering system: Strategy uses Williams Alligator to filter the counter-trend fractals breakouts and normalized Average True Range to avoid the trades after large moves, when volatility is high
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Flexible Risk Management: Users can choose the stop-loss percent (by default = 3%) for trades, but strategy also has the dynamic stop-loss level using down fractals.
Methodology
The strategy places stop order at the last valid fractal breakout level. Validity of this fractal is defined by the Williams Alligator indicator. If at the moment of time when price breaking the last fractal price is higher than Alligator's teeth line (8 period SMA shifted 5 bars in the future) this is a valid breakout. Moreover strategy has the additional volatility filtering system using normalized ATR. It calculates the average normalized ATR for last user-defined number of bars and if this value lower than the user-defined threshold value the long trade is executed.
When trade is opened, script places the stop loss at the price higher of two levels: user defined stop-loss from the position entry price or down fractal validation level. The down fractal is valid with the rule, opposite as the up fractal validation. Price shall break to the downside the last down fractal below the Willians Alligator's teeth line.
Strategy has no fixed take profit. Exit level changes with the down fractal validation level. If price is in strong uptrend trade is going to be active until last down fractal is not valid. Strategy closes trade when price hits the down fractal validation level.
Risk Management
The strategy employs a combined approach to risk management:
It allows positions to ride the trend as long as the price continues to move favorably, aiming to capture significant price movements. It features a user-defined stop-loss parameter to mitigate risks based on individual risk tolerance. By default, this stop-loss is set to a 3% drop from the entry point, but it can be adjusted according to the trader's preferences.
Justification of Methodology
This strategy leverages Williams Fractals to open long trade when price has broken the key resistance level to the upside. This resistance level is the last up fractal and is shall be broken above the Williams Alligator's teeth line to be qualified as the valid breakout according to this strategy. The Alligator filtering increases the probability to avoid the false breakouts against the current trend.
Moreover strategy has an additional filter using Average True Range(ATR) indicator. If average value of ATR for the last user-defined number of bars is lower than user-defined threshold strategy can open the long trade according to open trade condition above. The logic here is following: we want to open trades after period of price consolidation inside the range because before and after a big move price is more likely to be in sideways, but we need a trend move to have a profit.
Another one important feature is how the exit condition is defined. On the one hand, strategy has the user-defined stop-loss (3% below the entry price by default). It's made to give users the opportunity to restrict their losses according to their risk-tolerance. On the other hand, strategy utilizes the dynamic exit level which is defined by down fractal activation. If we assume the breaking up fractal is the beginning of the uptrend, breaking down fractal can be the start of downtrend phase. We don't want to be in long trade if there is a high probability of reversal to the downside. This approach helps to not keep open trade if trend is not developing and hold it if price continues going up.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.05.01. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 30%
Maximum Single Position Loss: -3.19%
Maximum Single Profit: +24.97%
Net Profit: +3036.90 USDT (+30.37%)
Total Trades: 83 (28.92% win rate)
Profit Factor: 1.953
Maximum Accumulated Loss: 963.98 USDT (-8.29%)
Average Profit per Trade: 36.59 USDT (+1.12%)
Average Trade Duration: 72 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 4h and higher time frames and the BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
RunRox - Backtesting System (ASMC)Introducing RunRox - Backtesting System (ASMC), a specially designed backtesting system built on the robust structure of our Advanced SMC indicator. This innovative tool evaluates various Smart Money Concept (SMC) trading setups and serves as an automatic optimizer, displaying which entry and exit points have historically shown the best results. With cutting-edge technology, RunRox - Backtesting System (ASMC) provides you with effective strategies, maximizing your trading potential and taking your trading to the next level
🟠 HOW OUR BACKTESTING SYSTEM WORKS
Our backtesting system for the Advanced SMC (ASMC) indicator is meticulously designed to provide traders with a thorough analysis of their Smart Money Concept (SMC) strategies. Here’s an overview of how it works:
🔸 Advanced SMC Structure
Our ASMC indicator is built upon an enhanced SMC structure that integrates the Institutional Distribution Model (IDM), precise retracements, and five types of order blocks (CHoCH OB, IDM OB, Local OB, BOS OB, Extreme OB). These components allow for a detailed understanding of market dynamics and the identification of key trading opportunities.
🔸 Data Integration and Analysis
1. Historical Data Testing:
Our system tests various entry and exit points using historical market data.
The ASMC indicator is used to simulate trades based on predefined SMC setups, evaluating their effectiveness over a specified time period.
Traders can select different parameters such as entry points, stop-loss, and take-profit levels to see how these setups would have performed historically.
2. Entry and Exit Events:
The backtester can simulate trades based on 12 different entry events, 14 target events, and 14 stop-loss events, providing a comprehensive testing framework.
It allows for testing with multiple combinations of entry and exit strategies, ensuring a robust evaluation of trading setups.
3. Order Block Sensitivity:
The system uses the sensitivity settings from the ASMC indicator to determine the most relevant order blocks and fair value gaps (FVGs) for entry and exit points.
It distinguishes between different types of order blocks, helping traders identify strong institutional zones versus local zones.
🔸 Optimization Capabilities
1. Auto-Optimizer:
The backtester includes an auto-optimizer feature that evaluates various setups to find those with the best historical performance.
It automatically adjusts parameters to identify the most effective strategies for both trend-following and counter-trend trading.
2. Stop Loss and Take Profit Optimization:
It optimizes stop-loss and take-profit levels by testing different settings and identifying those that provided the best historical results.
This helps traders refine their risk management and maximize potential returns.
3. Trailing Stop Optimization:
The system also optimizes trailing stops, ensuring that traders can maximize their profits by adjusting their stops dynamically as the market moves.
🔸 Comprehensive Reporting
1. Performance Metrics:
The backtesting system provides detailed reports, including key performance metrics such as Net Profit, Win Rate, Profit Factor, and Max Drawdown.
These metrics help traders understand the historical performance of their strategies and make data-driven decisions.
2. Flexible Settings:
Traders can adjust initial balance, commission rates, and risk per trade settings to simulate real-world trading conditions.
The system supports testing with different leverage settings, allowing for realistic assessments even with tight stop-loss levels.
🔸 Conclusion
The RunRox Backtesting System (ASMC) is a powerful tool for traders seeking to validate and optimize their SMC strategies. By leveraging historical data and sophisticated optimization algorithms, it provides insights into the most effective setups, enhancing trading performance and decision-making.
🟠 HERE ARE THE AVAILABLE FEATURES
Historical backtesting for any setup – Select any entry point, exit point, and various stop-loss options to see the results of your setup on historical data.
Auto-optimizer for finding the best setups – The indicator displays settings that have shown the best results historically, providing valuable insights.
Auto-optimizer for counter-trend setups – Discover entry and exit points for counter-trend trading based on historical performance.
Auto-optimizer for stop-loss – The indicator shows stop-loss points that have been most effective historically.
Auto-optimizer for take-profit – The indicator identifies take-profit points that have performed well in historical trading data.
Auto-optimizer for trailing stop – The indicator presents trailing stop settings that have shown the best historical results.
And much more within our indicator, all of which we will cover in this post. Next, we will showcase the possible entry points, targets, and stop-loss options available for testing your strategies
🟠 ENTRY SETTINGS
12 Event Triggers for Trade Entry
Extr. ChoCh OB
Extr. ChoCh FVG
ChoCh
ChoCh OB
ChoCh FVG
IDM OB
IDM FVG
BoS FVG
BoS OB
BoS
Extr. BoS FVG
Extr. BoS OB
3 Trade Direction Options
Long Only: Enter long positions only
Short Only: Enter short positions only
Long and Short: Enter both long and short positions based on trend
3 Levels for Order Block/FVG Entries
Beginning: Enter the trade at the first touch of the Order Block/FVG
Middle: Enter the trade when the middle of the Order Block/FVG is reached
End: Enter the trade upon full filling of the Order Block/FVG
*Three levels work only for Order Blocks and FVG. For trade entries based on BOS or CHoCH, these settings do not apply as these parameters are not available for these types of entries
You can choose any combination of trade entries imaginable.
🟠 TARGET SETTINGS
14 Target Events, Including Fixed % and Fixed RR (Risk/Reward):
Fixed - % change in price
Fixed RR - Risk Reward per trade
Extr. ChoCh OB
Extr. ChoCh FVG
ChoCh
ChoCh OB
ChoCh FVG
IDM OB
IDM FVG
BoS FVG
BoS OB
BoS
Extr. BoS FVG
Extr. BoS OB
3 Levels of Order Block/FVG for Target
Beginning: Close the trade at the first touch of your target.
Middle: Close the trade at the midpoint of your chosen target.
End: Close the trade when your target is fully filled.
Customizable Parameters
Easily set your Fixed % and Fixed RR targets with a user-friendly input field. This field works only for the Fixed and Fixed RR entry parameters. When selecting a different entry point, this field is ignored
Choose any combination of target events to suit your trading strategy.
🟠 STOPLOSS SETTINGS
14 Possible StopLoss Events Including Entry Orderblock/FVG
Fixed - Fix the loss on the trade when the price moves by N%
Entry Block
Extr. ChoCh OB
Extr. ChoCh FVG
ChoCh
ChoCh OB
ChoCh FVG
IDM OB
IDM FVG
BoS FVG
BoS OB
BoS
Extr. BoS FVG
Extr. BoS OB
3 Levels for Order Blocks/FVG Exits
Beginning: Exit the trade at the first touch of the order block/FVG.
Middle: Exit the trade at the middle of the order block/FVG.
End: Exit the trade at the full completion of the order block/FVG.
Dedicated Field for Setting Fixed % Value
Set a fixed % value in a dedicated field for the Fixed parameter. This field works only for the Fixed parameter. When selecting other exit parameters, this field is ignored.
🟠 ADDITIONAL SETTINGS
Trailing Stop, %
Set a Trailing Stop as a percentage of your trade to potentially increase profit based on historical data.
Move SL to Breakeven, bars
Move your StopLoss to breakeven after exiting the entry zone for a specified number of bars. This can enhance your potential WinRate based on historical performance.
Skip trade if RR less than
This feature allows you to skip trades where the potential Risk-to-Reward ratio is less than the number set in this field.
🟠 EXAMPLE OF MANUAL SETUP
For example, let me show you how it works on the chart. You select entry parameters, stop loss parameters, and take profit parameters for your trades, and the strategy automatically tests this setup on historical data, allowing you to see the results of this strategy.
In the screenshot above, the parameters were as follows:
Trade Entry: CHoCH OB (Beginning)
Stop Loss: Entry Block
Take Profit: Break of BOS
The indicator will automatically test all possible trades on the chart and display the results for this setup.
🟠 AUTO OPTIMIZATION SETTINGS
In the screenshot above, you can see the optimization table displaying various entry points, exits, and stop-loss settings, along with their historical performance results and other parameters. This feature allows you to identify trading setups that have shown the best historical outcomes.
This functionality will enhance your trading approach, providing you with valuable insights based on historical data. You’ll be aware of the Smart Money Concept settings that have historically worked best for any specific chart and timeframe.
Our indicator includes various optimization options designed to help you find the most effective settings based on historical data. There are 5 optimization modes, each offering unique benefits for every trader
Trend Entry - Optimization of the best settings for trend-following trades. The strategy will enter trades only in the direction of the trend. If the trend is upward, it will look for long entry points and vice versa.
Counter Trend Entry - Finding setups against the trend. If the trend is upward, the script will search for short entry points. This is the opposite of trend entry optimization.
Stop Loss - Identifying stop-loss points that showed the best historical performance for the specific setup you have configured. This helps in finding effective exit points to minimize losses.
Take Profit - Determining targets for the configured setup based on historical performance, helping to identify potentially profitable take profit levels.
Trailing Stop - Finding optimal percentages for the trailing stop function based on historical data, which can potentially increase the profit of your trades.
Ability to set parameters for auto-optimization within a specified range. For example, if you choose FixRR TP from 1 to 10, the indicator will automatically test all possible Risk Reward Take Profit variations from 1 to 10 and display the results for each parameter individually.
Ability to set initial deposit parameters, position commissions, and risk per trade as a fixed percentage or fixed amount. Additionally, you can set the maximum leverage for a trade.
There are times when the stop loss is very close to the entry point, and adhering to the risk per trade values set in the settings may not allow for such a loss in any situation. That’s why we added the ability to set the maximum possible leverage, allowing you to test your trading strategy even with very tight stop losses.
Duplicated Smart Money Structure settings from our Advanced SMC indicator that you can adjust to match your trading style flexibly. All these settings will be taken into account during the optimization process or when manually calculating settings.
Additionally, you can test your strategy based on higher timeframe order blocks. For example, you can test a strategy on a 1-minute chart while displaying order blocks from a 15-minute timeframe. The auto-optimizer will consider all these parameters, including higher timeframe order blocks, and will enter trades based on these order blocks.
Highly flexible dashboard and results optimization settings allow you to display the tables you need and sort results by six different criteria: Profit Factor, Profit, Winrate, Max Drawdown, Wins, and Trades. This enables you to find the exact setup you desire, based on these comprehensive data points.
🟠 ALERT CUSTOMIZATION
With this indicator, you can set up buy and sell alerts based on the test results, allowing you to create a comprehensive trading strategy. This feature enables you to receive real-time signals, making it a powerful tool for implementing your trading strategies.
🟠 STRATEGY PROPERTIES
For backtesting, we used realistic initial data for entering trades, such as:
Starting balance: $1000
Commission: 0.01%
Risk per trade: 1%
To ensure realistic data, we used the above settings. We offer two methods for calculating your order size, and in our case, we used a 1% risk per trade. Here’s what it means:
Risk per trade: This is the maximum loss from your deposit if the trade goes against you. The trade volume can change depending on your stop-loss distance from the entry point. Here’s the formula we use to calculate the possible volume for a single trade:
1. quantity = percentage_risk * balance / loss_per_1_contract (incl. fee)
Then, we calculate the maximum allowed volume based on the specified maximum leverage:
2. max_quantity = maxLeverage * balance / entry_price
3. If quantity < max_quantity, meaning the leverage is less than the maximum allowed, we keep quantity. If quantity > max_quantity, we use max_quantity (the maximum allowed volume according to the set leverage).
This way, depending on the stop-loss distance, the position size can vary and be up to 100% of your deposit, but the loss in each trade will not exceed the set percentage, which in our case is 1% for this backtest. This is a standard risk calculation method based on your stop-loss distance.
🔸 Statistical Significance of Trade Data
In our strategy, you may notice there weren’t enough trades to form statistically significant data. This is inherent to the Smart Money Concept (SMC) strategy, where the focus is not on the number of trades but rather on the risk-to-reward ratio per trade. In SMC strategies, it’s crucial to avoid taking numerous uncertain setups and instead perform a comprehensive analysis of the market situation.
Therefore, our strategy results show fewer than 100 trades. It’s important to understand that this small sample size isn’t statistically significant and shouldn’t be relied upon for strategy analysis. Backtesting with a small number of trades should not be used to draw conclusions about the effectiveness of a strategy.
🔸 Versatile Use Cases
The methods of using this indicator are numerous, ranging from identifying potentially the best-performing order blocks on the chart to creating a comprehensive trading strategy based on the data provided by our indicator. We believe that every trader will find a valuable application for this tool, enhancing their entry and exit points in trades.
Disclaimer
Past performance is not indicative of future results. The results shown by this indicator do not guarantee similar outcomes in the future. Use this tool as part of a comprehensive trading strategy, considering all market conditions and risks.
How to access
For access to this indicator, please read the author’s instructions below this post
Self Optimizing ROC [Starbots]Self Optimizing Rate of Change (ROC) Strategy. (non-repainting)
Script constantly tests 15 different ROC parameter combinations for maximum profitability and trades based on the best performing combination.
You will notice that signal lines switch after a bar close sometimes, this is when the strategy optimizes to the better combination and change plots, strategy is dynamic.
---------------------------------------------------------------------------------------------------------
The Rate-of-Change (ROC) indicator, which is also referred to as Momentum, is a pure momentum oscillator that measures the percent change in price from one period to the next. The ROC calculation compares the current price with the price “n” periods ago. The plot forms an oscillator that fluctuates above and below the zero line as the rate of change moves from positive to negative. As a momentum oscillator, ROC signals include centerline crossovers, divergences, and overbought-oversold readings.
ROC = (Close - Close n periods ago) / (Close n periods ago) * 100
-----------------------------------------------------------------------------------------------------------
The logic of self - optimizing:
This script is always backtesting 15 different combinations of ROC settings in the background and saves the net. profit gained for every single one of them, then strategy selects and use the best performing combination of settings currently available for you to trade.
It's recalculating on every bar close - if one of the parameters starts performing better than others - have a higher net profit gain (it's literally like running 15 backtests with different settings in the background) strategy switches to that parameter and continues trading like that until one of the other indicator parameters starts performing better again and switches to that settings.
We are optimizing our strategy based on 15 different 'lengths' or also called 'periods' of ROC.
Inputs (ROC period) : (you don't need to change them, you have a nice wide variety of periods)
🔴Roc (default=9) = 5
🟢Roc2 = 6
🔵Roc3 = 7
🟡Roc4 = 8
🟣Roc5 = 9
🟠Roc6 = 10
🔴Roc7 = 11
🟢Roc8 = 12
🔵Roc9 = 13
🟡Roc10 = 14
🟣Roc11 = 15
🟠Roc12 = 16
🟡Roc13 = 17
🟣Roc14 = 18
🟠Roc15 = 20
Backtester in the background works like this:
backtest ROC1 => save net. profit
backtest ROC2 => save net. profit ;
backtest ROC3 => save net. profit ;
..........
..........
backtest ROC15 => save net. profit ;
=>
It will backtest 15 different ROC parameters and save their profits.
Your strategy then trades based on the best performing (highest net.profit) ROC Setting currently available. It will check the calculations and backtest them on every new bar close - it's like running 15 strategies at time, and manually selecting the best performing one.
________________________________________________________________________
If you wish to use it as INDICATOR - turn on 'Recalculate after every tick' in Properties tab to have this script updating constantly and use it as a normal Indicator tool for manual trading.
-- Noise Filter - This will punish the tiny trades made by certain parameters and give more advantage to big average trades. It's basically normal fee calculation, it will deduct 0.xx % fee from every trade when optimizing. You usually want it to have the same number as your fees on exchange. Large number will choose big long swing trades, small number will prioritize small scalping trades.
-- Turn on ROC Combination Profits and spot the worst/best performing combination. You can change periods to get the best performance after checking this table stats.
-- Backtesting Range - backtest within your desired time window. Example: 'from 01 / 01 /2020 to 01 / 01 /2023'.
-- Optimizing range - you can decrease the amount of bars/data for optimizing script. This way you can keep it up to date to more recent market by selecting optimizing range to optimize it just from the recent 3-6months of data for example. Strategy before this selected range will normally trade (backtest) based on the first ROC period ( 'Roc(default=9)' Input) parameter in your menu if you have Optimizing Range turned on.
**** I recommend 'Optimizing Range' to be turned off, use max amount of available bars in your history for optimization script.
-- Strategy is trading on the bar close without repaint. You can trade Long-Sell or Long- Short. Alerts available, insert webhook messages.
-- Turn on Profit Calendar for better overview of how your strategy performs monthly/annualy
-- Recommended ROC periods: from 5 to 24.
-- Recommended Sources : close, hlc3, hlcc4
-- Recommended Chart Timeframe : 4h +
-- Notes window : add your custom comments here or save your webhook messages inside here
-- Trading Session: in a session, you have to specify the time range for every day. It will trade only within this window and close trades when it's out. Session from 9am to 5pm will look like that: 0900-1700 or 7am to 4:30pm 0700-1630. After the colon, you can specify days of the week for your trading session. 1234567 trading all days, 23456 – Monday to Friday ('1 is Sunday here'). 0000-0000:1234567 by default will trade every day nonstop. 00.00am to 00.00pm and 1234567 every day of the week for example - Cryptocurrencies.
This script is simple to use for any trader as it saves a lot of time for searching good parameters on your own. It's self-optimizing and adjusting to the markets on the go.
INFINITY ALGO🆕Meet the updated version of our flagship indicator, now it's INFINITY ALGO!
🏃🏻 QUICK START
In very simple terms, our indicator generates complex trading signals on your chart (buy/sell), including Entry Point, Take Profit levels, Stop Loss level
To start, you need to add our indicator to your chart , choose a timeframe (we recommend 13min,15min and 4h but you can try any, these only have the best results) and set up notifications (how to do it told below) and that's it, you can work with it even without changing the settings!
Of course, to improve the accuracy of signals you will have to choose the optimal settings of the script for each trading pair and timeframe (you can find a guide below)
📊 SIGNALS
This script will generate complex trading recommendations, both Long and Short (signals); signals include:
- Entry Point:
Calculated based on pivot levels with confirmation by EMA/SMA (you can select this in the settings); also bullish/bearish cup is checked to confirm the entry.
Additionally, in the settings you can enable Heiken Ashi calculation mode (it shows much better on some trading pairs).
Why do we mashup these components and how they work together?
- The main indicator in our script is pivot levels, it is enabled by default and cannot be disabled. Auxiliary indicators (which you can switch on and off in the script settings) are EMA/SMA and Heiken Ashi. We have used pivot levels, which mark potential support and resistance zones based on previous price action. We have also used EMA/SMA that smooth out price fluctuations and show the direction of the trend. We have added an option to use Heiken Ashi that filters out noise and highlights the trend. We have also checked for bullish/bearish cup patterns, which are reversal patterns that indicate a change in momentum. By combining these indicators, we have created a more robust entry point that considers multiple factors such as price levels, trend, noise, and momentum.
- 6 Take Profit levels:
It is also possible to change in the settings (It is also possible to change the values for Short or Long positions separately), it will be fixed values in % (The default Take Profits for Long&Short are as follows: TP1-0.3%; TP2-1%; TP3-2%; TP4-3%; TP5-7.5%; TP6-16.5%)
- Stop Loss Level:
As with Take Profits, this is a fixed % value that you can customise to suit your risk management needs (It is also possible to change the values for Short or Long positions separately, by default is 4.5% for Long&Short positions)
*When trading on these signals, we strongly recommend that you exit the position in parts at each take profit or close your entire position at one particular take profit. Our script was designed specifically for exiting a position on take profits
⚙️ SETTINGS
Now let's talk about the settings of this script, which allow you to customise the signals quite a lot. In general, we recommend selecting the settings for each trading pair and timeframe separately, this will allow you to achieve better targets accuracy (the default settings are universal, you can trade with them without changing them if you want)
-> IMAGE <-
1. Period - minimum value of 2. Increasing this parameter will increase the accuracy of signals, but will reduce their number (accordingly, lowering the parameter will do the opposite). For the majority of trading pairs and timeframes the optimal period will be between 5 and 10 (the default value is 5).
2. Maximum Breakout length (in bars) - for most trading pairs you can set the value from 200 to 300 and it will be optimal. Below 200 is not recommended
3. T hreshold Rate % - this value also affects the accuracy and the number of signals - the higher this value is, the more often signals will be generated, but it can negatively affect the accuracy. The minimum value is 3, and the maximum value is 10. We recommend to try values in the range from 4 to 7 for most tickers
4. Minimum Number of tests - the number of level checks is required, we recommend to try 2, and only for some timeframes increase to 3
5. MA type & MA filter - The shorter the length of moving averages, the faster they react to trend changes, and show more local trends than global ones. If the length of MAs is longer, more global trends are shown. By default, the most optimal values are set.
By the way, you can ask us for a ready-made preset for any pair and we will be happy to help you!
📄 BACKTESTING
Now let's talk about how to properly test the settings and evaluate their effectiveness. Our script has a c ustom built-in backtester that shows statistics on the current trading pair and allows you to calculate the accuracy of each take profit target, as well as calculate values such as Gross profit/loss, net profit, and the ratio of initial deposit to profit. (you can enable/disable backtester "statistics" label in main settings)
In the main settings you can change the values for: initial deposit (Deposit $), trade size $ and leverage (by the way, it also affects the display of the label "Peak profit", which is calculated with this leverage)
-> IMAGE <-
Now let's look at the backtester - it shows detailed statistics for each Take Profit level, including: accuracy in % and number of trades; gross profit & loss; net profit in % and $ (based on selected settings); deposit to profit ratio in % and $.
Why did we choose such properties in the backtest for publication?
- Well, as the initial capital we took 5000$ and deposit 3% (150$) of the initial capital in each trade. For the fee was taken the value from the exchange Binance, which is 0.06% per trade (Taker + Maker, for a user without VIP on Binance and without taking into account additional fees such as funding, leverage fees, etc).
- Please also take a look at our inbuilt backtester ( IMAGE ) which counts the accuracy to each Take Profit. Also note that our inbuilt backtester does not take any fees into account. Pay attention to the last field "Deposit with Profit" it shows the value if you would close all positions at a certain target. For example, we can see that the most optimal is TP3 at these settings for this trading pair and timeframe, as the deposit to profit ratio will be +61.2%
- Also the script is more designed for swing and long term trading, so on most trading pairs you will be able to see statistics for 60-90 trades dataset
*disclaimer: please note that past results does not guarantee future performance! The accuracy of take profit targets in our backtester is calculated on past results, keep this in mind please
📥 NOTIFICATIONS
We have provided notifications that will deliver the latest signals to you in a convenient format in TradingView. The notification looks like this: It contains the entry point, Take Profits, Stop Loss, and a bit of advice on risk management. -> IMAGE <-
To set up notifications:
1. Select the script settings, trading pair and timeframe
2. Click "add alert on InfinityAlgo", then select "alert () function calls only" in the settings
-> IMAGE <-
3. That's it, now all that's left is to wait for a fresh alert
🔑 HOW TO GET ACCESS
We hope you will like this script :) We are always ready to help you with customisation, just let us know! To learn more about our scripts & get access - check out the “Author’s instructions” below 👇🏼
FluxFilter Trend Strategy [BITsPIP]Hello fellow traders, I'm excited to share with you the FluxFilter Trend Strategy, a trading approach I've developed for those interested in exploring trend-following strategies. My goal was to create something straightforward and accessible, so traders looking to refine their portfolios can easily integrate its features. By the end of this guide, I hope you'll have a solid grasp of how the FluxFilter Trend Strategy functions, appreciate its benefits, understand its potential drawbacks, and see how it might fit into various trading contexts.
I) Overview
The FluxFilter Trend Strategy is tailored to align with the market's long-term trend. It examines the price data from the previous year to gauge the market's overall trajectory by employing moving averages. Subsequently, within shorter timeframes, the strategy utilizes a combination of modified Supertrend, Hull Suite, and various trend-following and filtering techniques to generate buy or sell signals. Although its advanced take profit and stop loss mechanisms might initially present a learning curve, they are integral to the strategy's effectiveness. They are designed to secure gains by capturing prevailing trends and mitigating the impact of false reversal signals.
II) Deep Backtesting
Deep backtesting stands as a cornerstone in the development of trading strategies, offering a robust method for traders to assess the performance of their strategy against historical data. This process yields a retrospective view, illustrating how the strategy might have navigated through past market fluctuations, thereby shedding light on its potential robustness and areas for refinement. However, it's crucial to acknowledge that a strategy's performance can be influenced by a myriad of factors including market dynamics, the chosen timeframe, and the inherent attributes of the traded asset. Consequently, it's advisable to conduct thorough backtesting under various conditions to ascertain the strategy's reliability before applying it to actual trading scenarios.
III) Benefits
A primary advantage of the FluxFilter Trend Strategy is its proficiency in discerning genuine market trends from mere price fluctuations, thereby avoiding premature or uncertain trades. Unlike approaches that take high risks on speculative trades, this strategy prioritizes a high degree of confidence in the direction of the trade. It meticulously waits for a clear confirmation of the market trend. Once this certainty is established, the strategy promptly generates trade signals, ensuring that traders are positioned to capitalize on optimal market entry points without delay. This approach not only enhances the potential for profit but also aligns with a disciplined and methodical trading ethos.
IV) Applications
FluxFilter Trend Strategy can be applied across various timeframes, with a particular efficacy in those under 15 minutes. Its adaptable framework means it can be customized to cater to a variety of asset classes, encompassing stocks, commodities, forex, and cryptocurrencies. Initially, the strategy was specifically calibrated for low-volatile cryptocurrencies, as reflected in the default settings for stop loss and take profit values. It's important to recognize that the unique volatility and trend patterns of your selected market necessitate careful adjustments to these parameters. This fine-tuning of profit targets and stop loss thresholds is crucial for aligning the strategy with the specific dynamics of your chosen market, which I will discuss shortly.
V) Strategy's Logic
1. Trend Identification: My conviction lies in the power of trend trading to yield long-term gains. Central to the FluxFilter Trend Strategy is the Hull Suite indicator, a tool developed by InSilico, serving as one of the confirmation indicators. This indicator acts as a compass for trend direction; a price residing above the Hull Suite line signals an uptrend, potentially marking an entry point for a buy position or confirming it. In contrast, a price positioned below this line suggests a downtrend, potentially indicating a strategic moment to sell or confirming the sell.
2. Noise Reduction: The financial markets are known for their 'noise'—short-lived price movements that can obscure the true market direction. The FluxFilter Trend Strategy is designed to sift through this noise, thereby facilitating more lucid and informed trading decisions. It employs a set of straightforward yet innovative techniques to single out significant misleading fluctuations. This is achieved by analyzing recent bars to spot bars with unusually large bodies, which often represent misleading market noise.
3. Risk Management: A key facet of the strategy is its emphasis on pragmatic risk management. Traders are empowered to establish practical stop-loss and take-profit levels, tailoring these crucial parameters to the specific market they are engaging in. This customization is instrumental in optimizing long-term profitability, ensuring that the strategy adapts fluidly to the unique characteristics and volatility patterns of different trading environments.
VI) Strategy's Input Settings and Default Values
1. Modified Supertrend
i. Factor: Serving as a multiplier in the Average True Range (ATR) calculation, this parameter adjusts the distance of the Supertrend line relative to the price chart. Elevating the factor value widens the gap between the Supertrend line and price, offering a more conservative stance. On the flip side, diminishing the factor value pulls the Supertrend line closer to the price action, heightening its sensitivity. While the preset value is 1, you have the flexibility to modify this to suit your trading approach.
ii. ATR Length: This defines the count of bars that are incorporated into the ATR computation, directly influencing the Supertrend's adaptability to market changes. With a default setting of 30 bars, it strikes a balance, smoothing over short-term fluctuations while maintaining a meaningful sensitivity to market trends. Adjusting this parameter allows you to tailor the indicator's responsiveness to suit your trading strategy, considering the volatility and behavioral patterns of the asset you are trading.
2. Hull Suite
i. Hull Suite Length: Designed for capturing long-term trends, the Hull Suite Length is configured at 1000. Functioning comparably to moving averages, the Hull Suite features upper and lower bands, though these are not employed in our current strategy.
ii. Length Multiplier: It's advisable to maintain a minimal value for the Length Multiplier, prioritizing the optimization of the Hull Suite Length. Presently, it is set to 1.
3. Filtering Indicators
i. Fluctuation Filtering Percentage: It's advisable to set this parameter to ten times the size of the average bar in your specific market, as this helps effectively mitigate the impact of market fluctuations. While the initial default is 0.4(%), based on the BTCUSDT market, it's crucial to adjust this figure to align with the characteristics of different assets or markets you're trading in.
ii. Fluctuation Filtering Bars: This parameter designates the count of preceding bars to consider when assessing market fluctuations. It's fully customizable, allowing you to tailor it based on your market insights. The preset default is 3, a balance chosen to minimize susceptibility to potentially misleading signals.
iii. Trend Confirmation Percentage: This metric is pivotal for verifying the viability of a trend post-entry. If the trade doesn't achieve this percentage in profit, it indicates a deviation from the expected trend. Under such circumstances, it may be prudent to exit the trade prematurely rather than awaiting the stop-loss trigger. It's recommended to set this parameter at half the size of the average candle body for the market you're analyzing. The initial default is set at 0.2(%).
4. StopLoss and TakeProfit
i. StopLoss and TakeProfit Settings: Two distinct approaches are available. Semi-Automatic StopLoss/TakeProfit Setting and Manual StopLoss/TakeProfit Setting. The Semi-Automatic mode streamlines the process by allowing you to input values for a 5-minute timeframe, subsequently auto-adjusting these values across various timeframes, both lower and higher. Conversely, the Manual mode offers full control, enabling you to meticulously define TakeProfit values for each individual timeframe.
ii. TakeProfit Threshold # and TakeProfit Value #: Imagine this mechanism as an ascending staircase. Each step represents a range, with the lower boundary (TakeProfit Value) designed to close the trade upon being reached, and the upper boundary (TakeProfit Threshold) upon being hit, propelling the trade to the next level, and forming a new range. This stair-stepping approach enhances risk management and has the potential to increase profitability. The pre-set configurations are tailored for volatile markets, such as BTCUSDT. It's advisable to devote time to tailoring these settings to your specific market, aiming to achieve optimal results based on backtesting.
iii. StopLoss Value: In line with its name, this value marks the limit of loss you're prepared to accept should the market trend go against your expectations. It's crucial to note that once your asset reaches the first TakeProfit range, the initial StopLoss value becomes obsolete, supplanted by the first TakeProfit Value. The default StopLoss value is pegged at 1.8(%), a figure worth considering in your trading strategy.
VII) Entry Conditions
The principal element that triggers the signal is the Modified Supertrend. Additional indicators serve as confirmatory tools. Nonetheless, to refine your strategy effectively, it's crucial to fine-tune the parameters. This involves adjusting input variables such as take profit levels, threshold parameters, and the filtering values discussed previously.
VIII) Exit Conditions
The strategy stipulates exit conditions primarily governed by stop loss and take profit parameters. On infrequent occasions, if the trend lacks confirmation post-entry, the strategy mandates an exit upon the issuance of a reverse signal (whether confirmed or unconfirmed) by the strategy itself.
Good Luck!!
Ichimoku Clouds Strategy Long and ShortOverview:
The Ichimoku Clouds Strategy leverages the Ichimoku Kinko Hyo technique to offer traders a range of innovative features, enhancing market analysis and trading efficiency. This strategy is distinct in its combination of standard methodology and advanced customization, making it suitable for both novice and experienced traders.
Unique Features:
Enhanced Interpretation: The strategy introduces weak, neutral, and strong bullish/bearish signals, enabling detailed interpretation of the Ichimoku cloud and direct chart plotting.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Dual Trading Modes: Long and Short modes are available, allowing alignment with market trends.
Flexible Risk Management: Offers three styles in each mode, combining fixed risk management with dynamic indicator states for versatile trade management.
Indicator Line Plotting: Enables plotting of Ichimoku indicator lines on the chart for visual decision-making support.
Methodology:
The strategy utilizes the standard Ichimoku Kinko Hyo model, interpreting indicator values with settings adjustable through a user-friendly menu. This approach is enhanced by TradingView's built-in strategy tester for customization and market selection.
Risk Management:
Our approach to risk management is dynamic and indicator-centric. With data from the last year, we focus on dynamic indicator states interpretations to mitigate manual setting causing human factor biases. Users still have the option to set a fixed stop loss and/or take profit per position using the corresponding parameters in settings, aligning with their risk tolerance.
Backtest Results:
Operating window: Date range of backtests is 2023.01.01 - 2024.01.04. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Maximum Single Position Loss: -6.29%
Maximum Single Profit: 22.32%
Net Profit: +10 901.95 USDT (+109.02%)
Total Trades: 119 (51.26% profitability)
Profit Factor: 1.775
Maximum Accumulated Loss: 4 185.37 USDT (-22.87%)
Average Profit per Trade: 91.67 USDT (+0.7%)
Average Trade Duration: 56 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters. Backtest is calculated using deep backtest option in TradingView built-in strategy tester
How to Use:
Add the script to favorites for easy access.
Apply to the desired chart and timeframe (optimal performance observed on the 1H chart, ForEx or cryptocurrency top-10 coins with quote asset USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation