MA MACD BB BackTesterOverview:
This Pine Script™ code provides a comprehensive backtesting tool that combines Moving Average (MA), Moving Average Convergence Divergence (MACD), and Bollinger Bands (BB). It is designed to help traders analyze market trends and make informed trading decisions by testing various strategies over historical data.
Key Features:
1. Customizable Indicators:
Moving Average (MA): Smooths out price data for clearer trend direction.
MACD: Measures trend momentum through MACD Line, Signal Line, and Histogram.
Bollinger Bands (BB): Identifies overbought or oversold conditions with upper and lower bands.
2. Flexible Trading Direction: Choose between long or short positions to adapt to different market conditions.
3. Risk Management: Efficiently allocate your capital with customizable position sizes.
4. Signal Generation:
Buy Signals: Triggered by crossovers for MACD, MA, and BB.
Sell Signals: Triggered by crossunders for MACD, MA, and BB.
5. Automated Trading: Automatically enter and exit trades based on signal conditions and strategy parameters.
How It Works:
1. Indicator Selection: Select your preferred indicator (MA, MACD, BB) and trading direction (Long/Short).
2. Risk Management Configuration: Set the percentage of capital to allocate per position to manage risk effectively.
3.Signal Detection: The algorithm identifies and plots buy/sell signals directly on the chart based on the chosen indicator.
4. Trade Execution: The strategy automatically enters and exits trades based on signal conditions and configured strategy parameters.
Use Cases:
- Backtesting: Evaluate the effectiveness of trading strategies using historical data to understand potential performance.
- Strategy Development: Customize and expand the strategy to incorporate additional indicators or conditions to fit specific trading styles.
ADDONS That Affect Strategy:
1. Indicator Parameters:
Adjustments to the settings of MACD (e.g., fast length, slow length), MA (e.g., length), and BB (e.g., length, multiplier) will directly impact the detection of signals and the strategy's performance.
2. Trading Direction:
Changing the trading direction (Long/Short) will alter the entry and exit conditions based on the detected signals.
3. Risk Management Settings:
Modifying the position size percentage affects capital allocation and overall risk exposure per trade.
ADDONS That Do Not Affect Strategy:
1. Visual Customizations:
Changes to the color, shape, and style of the plotted lines and signals do not impact the core functionality of the strategy but enhance visual clarity.
2. Text and Labels:
Modifying text labels for the signals (such as renaming "Buy MACD" to "MACD Buy Signal") is purely cosmetic and does not influence the strategy’s logic or outcomes.
Notes:
- Customization: The indicator is highly customizable to fit various trading styles and market conditions.
- Risk Management: Adjust position sizes and risk parameters according to your risk tolerance and account size.
- Optimization: Regularly backtest and optimize parameters to adapt to changing market dynamics for better performance.
Getting Started:
-Add the script to your chart.
-Adjust the input parameters to suit your analysis preferences.
-Observe the marked buy and sell signals on your chart to make informed trading decisions.
Pesquisar nos scripts por "backtest"
J2S Backtest: Steven Primo`s Big Trend StrategyIs it possible to benefit from big trend moves? In this study I present you a strategy that aims to capture big trend moves.
Created by trader Steven Primo, The Big Trend strategy is advocates and shared through his YouTube channel without restrictions.
Note:
This is not an investment recommendation. The purpose of this study is only to share knowledge with the community on TradingView.
What is the purpose of the strategy?
The strategy focuses on capturing the movement of trends, providing an entry signal for both LONG and SHORT positions.
To which time-frame of a chart is it applicable to?
According to the author, it is applicable to any chart in different markets.
What about risk management?
The author does not establish a risk management model for strategy. This is left to the definition of each trader.
How are the trends identified in this strategy?
A 20-periods Bollinger Bands with 0.382 deviation should be plotted on the chart. Prices above the upper band indicate an uptrend, on the other hand, prices below the lower band indicate an downtrend. Finally, prices between the two bands indicate sideways trend.
How to identify a signal for LONG entry?
The signal is given after five consecutive closes above the upper Bollinger band. After that, you must enter the trade after the first trade occurs above the high of the signal bar.
How to identify a signal for SHORT entry?
The signal is given after five consecutive closes below the lower Bollinger band. After that, you must enter the trade after the first trade occurs below the low of the signal bar.
Tips and tricks
In my backtest, I tried to prove the strategy from a position trading perspective, so I proposed use fixed stop-loss and take-profits. The stop-loss is defined as being low of the first bar that generated the movement until the signal bar. The value range from the stop-loss to the signal bar is used in determining the profit target. Given any trade, position closing will be triggered when the bar trading limit is reached.
Backtest features
Backtest parameters are fully customizable, for instance: number of bars inside a trend indicating trend maturity for entry, bar limit for trading entry (after a buy or sell signals). Also, the user chooses to validate only LONG or SHORT entries, or both. It is also possible to determine the specific time period for running the backtests.
Final message
In my tests, I noticed excellent results for other crypto pairs, for example: ETH/USDT, BNB/USDT, FIL/USDT, GALA/USDT and ILV/USDT. Of course, no one strategy works perfectly for every asset, crypto, and bond out there. That's why we should explore each trading model and carry out our backtests. Please, feel free to provide me with any improvement suggestions for the backtest script. Bear in mind, feel free to use the ideas in my script in your studies.
Unicorn X-AlgoUnicorn X-Algo is a multifunctional trading indicator. It is designed to help traders make real-time decisions using quantitative models.
Its core is a trend trading strategy based on our enhanced Trailing Stop-Loss algorithm. This strategy provides the user with position entry and exit signals. It is customizable and has a built-in instant backtesting feature.
For those who have difficulty with finding the good settings the indicator has the Automatic Mode. In this mode, there is no need for the user to adjust any settings. The indicator calculates optimized trading signals automatically.
In addition, the indicator provides a number of useful tools that aim to provide additional confirmation to the trading signals. They include: support and resistance levels forecast, price range prediction and institutional activity detection.
The script can send real-time alerts to the user’s Email and to the cell phone via notifications in the TradingView app.
The indicator can be used for various types of trend and swing trading, including positional trading, day trading and scalping.
Unicorn X-Algo allows users to:
forecast direction of trends with BUY and SELL signals;
determine the right time to close a position;
detect institutional activity in the market;
forecast key support and resistance levels;
predict the future price range for any market;
customize any settings and do a backtest with one click;
see historical trades on the chart;
use the fully Automatic Mode where the algorithm optimizes all its settings itself.
When using this script, keep in mind that past results do not necessarily reflect future results and that many factors influence trading results.
FEATURES
Trading signals
The feature calculates trend or swing entry and exit signals. The underlying strategy does not use fixed Take-Profit levels. It trails the price with a Trailing Stop-Loss to get as many pips as possible from price movements.
The feature is based on our custom Volatility Stop algorithm. It uses linear regressions instead of averaging. As our practice shows, this helps to reduce signal lag while keeping the number of false signals low.
Trading signals are customizable with Sensitivity and Trade Length parameters which determine the trading signals frequency and width of the Trailing-Stop levels, respectively.
Automatic Mode
The Trading Signals function has an automatic mode. When it is turned on, you do not need to adjust the trading signals settings. The algorithm tries to calculate the best settings automatically using an optimization algorithm.
In this mode, Buy and Sell signals are displayed as green and red triangles respectively. There are two types of exit signals displayed as circles and crosses. A circle signal means that a price reversal is expected and you can partially close the position. A cross signal means that a trading signal in the opposite direction is expected soon and you can partially or completely close your position.
Support and Resistance Levels
Support/Resistance levels forecasting model. The forecasted levels are non-repainting. Once calculated for a specified period in the future (day, week, month, etc.), they don't change during this period.
The feature allows the trader to plan trades and use the forecasted levels as entry levels and targets for opening and closing positions. Both intraday and higher timeframes are supported.
The forecasting model analyses the distribution of the price time series to find clusters in the data. These clusters are then used to make the key price levels forecast.
Big Money Activity detection
The Big Money Activity tool identifies areas on the price chart associated with instructional traders' activity in the market.
Institutional activity in a trending market can be a leading signal for upcoming reversal. Institutions could be fixing their profit, causing the price to move against the current trend.
Institutional activity in a sideways market can be due to positions accumulation and signal a new trend formation.
The algorithm uses tick volume, volume, and volatility data to forecast activity of institutional investors. The method develops the idea described in the Daigler & Wiley (2015) and Shalen (1993) works. It says that when institutional traders actively open or close their positions in the market, a divergence between volume and volatility time-series arises. It can be due to their use of position-splitting algorithms that reduce the impact of their positions on the market.
Trading Range Forecast
Trading Range Forecast feature predicts the price range of an asset for a selected period of time in the future, called Forecast Horizon. It can be the next day or 12-hour trading session. This function works if your chart timeframe is intraday (i.e. the timeframe below "D"). It shows the upper and lower bounds between which the price is going to stay in the upcoming Forecast Horizon period.
Instant Backtesting
After changing any settings, you can immediately see the performance of the strategy on the Instant Backtesting panel. Two metrics are displayed there - the percentage of profitable trades and the total return. This information, as well as the historical trades shown on the chart, will help you quickly and easily evaluate any settings you make.
SETTINGS
TRADING SIGNALS
Trade Length - defines the length of the trades the algorithm tries to make. Recommended values are from 1.0 to 6.0.
Sensitivity - controls the sensitivity of the trading signals algorithm. The sensitivity determines the density of trading signals and how close the trailing-stop levels follow the price. The higher the value of this parameter is, the less sensitive the algorithm is. High values of the Sensitivity parameters (100-500) can help to withstand large price swings to stay in longer price moves. Lower values (10-100) work well for short- and medium-term trades.
TRADING TOOLS
Big Money Activity - turns on and off the identification of the areas associated with institutional traders activity.
SUPPORТ AND RESISTANCЕ LEVELS
Show Support And Resistance Levels - turns on and off support and resistance levels calculation.
TRADING RANGE FORECAST
Show Trading Range Forecast - turns on/off trading range forecasting
Forecast Horizon - sets the period for which the trading range forecast is made
Forecasting Method - allows to choose a forecasting algorithm for the trading range forecast.
BACKTESTING
Use Starting Date - turns on/off the starting date for the strategy and backtests. When off, all available historical data is used.
Starting Date - sets the starting date for the strategy and backtests.
Show Instant Backtesting Dashboard - turns on/off a dashboard that shows the current strategy performance: the percentage of profitable trades and total return.
Leverage - sets the leverage that the strategy uses.
How To Auto Set Date RangeExample how to automatically set the date range window to be backtested from X days or weeks ago to present. Additional options are also included to manually set the date range or to show entire range available.
Normally when you change chart period it changes the number of days being backtested, which means as you increase the chart period (for example from 5min to 15min), you also increase the number of days traded. So you can not compare apples to apples for which period would yield best performance for your strategy.
By incorporating this code with your own strategy's logic (replacing buy and sell), it will allow you to compare results of different period backtests over the same duration of time.
Date Range: ALL uses entire history.
Date Range: DAYS uses number you set in # Days or Weeks
Date Range: WEEKS uses number you set in # Days or Weeks
Date Range: MANUAL uses manual dates you set in From and To fields
Much gratitude to @pinechrix for suggesting this improvement to me, and to @Gesundheit for pointing me in the right direction on the original example I published previously. Thank you both!
NOTICE: This is an example script and not meant to be used as an actual strategy. By using this script or any portion thereof, you acknowledge that you have read and understood that this is for research purposes only and I am not responsible for any financial losses you may incur by using this script!
Golden Cross Strategy & BacktesterGolden Cross Strategy & Backtester 📈🚀
Overview
This script provides a complete backtesting environment for the classic Golden Cross trend-following strategy. It is designed to be simple, visual, and easy to use. 💪
The strategy operates on the following logic:
🔼 Long Entry: A "Buy" signal is generated when the short-term moving average (Short MA) crosses above the long-term moving average (Long MA).
🔽 Exit: The position is closed when the short-term moving average crosses back below the long-term moving average (a "Death Cross").
The background of the chart will be shaded green 🎨 during periods when the strategy is holding an active position.
How to Use for Backtesting 🔬
This is a strategy script, which means its main purpose is to test the historical performance of this trading idea.
Add this script to your chart.
Open the "Strategy Tester" panel at the bottom of your chart.
In the "Overview" and "Performance" tabs, you can see detailed results 📊, such as the Net Profit and Max Drawdown, to evaluate the strategy's effectiveness.
Customization ⚙️
You can easily customize the strategy's parameters without editing the code.
Click the Settings/Gear icon (⚙️) next to the script's name on your chart.
In the "Inputs" tab, you can change:
📏 Short MA Length: The period for the fast-moving average (default is 50).
📏 Long MA Length: The period for the slow-moving average (default is 200).
In the "Properties" tab, you can change:
💰 Initial Capital: The starting balance for the backtest.
Feel free to test different settings to find what works best for your preferred asset and timeframe! Happy testing! 🎉
Flux Charts - SFX Automation💎 GENERAL OVERVIEW
The SFX Automation is a powerful and versatile tool designed to help traders rigorously test their trading strategies against historical market data. With various advanced settings, traders can fine-tune their strategies, assess performance, and identify key improvements before deploying in live trading environments. This tool offers a wide range of configurable settings, explained within this write-up.
Features of the new SFX Automation :
Step By Step : Configure your strategy step by step, which will allow you to have OR & AND logic in your strategies.
Highly Configurable : Offers multiple parameters for fine-tuning trade entry and exit conditions.
Multi-Timeframe Analysis : Allows traders to analyze multiple timeframes simultaneously for enhanced accuracy.
Provides advanced stop-loss, take-profit, and break-even settings.
Incorporates Buy & Sell signals, with settings like Signal Sensitivity, Strength, Time Weighting, Dynamic TP & SL Methods and more for refined strategy execution.
🚩 UNIQUENESS
The SFX Automation stands out from conventional backtesting tools due to its unparalleled flexibility, precision, and advanced trading logic integration. Key factors that make it unique include:
✅ Comprehensive Strategy Customization – Unlike traditional backtesters that offer basic entry and exit conditions, SFX Automation provides a highly detailed parameter set, allowing traders to fine-tune their strategies with precision.
✅ Multi-Timeframe Signals – This is the first-ever tool that allows traders to backtest Buy & Sell Signals on multiple timeframes.
✅ Customizable Take-Profit Conditions – Offers various methods to set take-profit exits, including using core features from SFX Algo, and dynamic exits like signal rating upgrades/downgrades, enabling traders to tailor their exit strategies to specific market behaviors.
✅ Customizable Stop-Loss Conditions – Provides several ways to set up stop losses, including using concepts from SFX Algo and trailing stops or dynamic exits like signal rating upgrades/downgrades, allowing for dynamic risk management tailored to individual strategies.
✅ Integration of External Indicators – Allows the inclusion of other indicators or data sources from TradingView for creating strategy conditions, enabling traders to enhance their strategies with additional insights and data points.
By integrating these advanced features, SFX Automation ensures that traders can rigorously test and optimize their strategies with great accuracy and efficiency.
📌 HOW DOES IT WORK ?
The first setting you will want to set it the pyramiding setting. This setting controls the number of simultaneous trades in the same direction allowed in the strategy. For example, if you set it to 1, only one trade can be active in any time, and the second trade will not be entered unless the first one is exited. If it is set to 2, the script will handle both of them at the same time. Note that you should enter the same value to this pyramiding setting, and the pyramiding setting in the "Properties" tab of the script for this to work.
You can enable and set a backtesting window that will limit the entries to between the start date & end date.
Entry Conditions
From the "Long Conditions" or the "Short Conditions" groups, you can set your position entry conditions. For settings like "initial capital" or "order size", you can open the "Properties" tab, where these are handled.
The SFX Algo can use the following conditions for entry conditions :
1. Buy Signal (Any, or 1-5 ☆)
This condition is triggered when a Buy Signal occurs. Other timeframes are supported with this condition.
2. Buy | TP (1, 2 or 3)
This condition is triggered when a TP signal of any Buy signal occurs.
3. Buy | SL
This condition is triggered when a SL signal of any Buy signal occurs.
4. Buy | Rating Upgrade
This condition is triggered when the rating of a buy signal is increased.
5. Buy | Rating Downgrade
This condition is triggered when the rating of a buy signal is decreased.
6. Sell Signal (Any, or 1-5 ☆)
This condition is triggered when a Sell Signal occurs. Other timeframes are supported with this condition.
7. Sell | TP (1, 2 or 3)
This condition is triggered when a TP signal of any Sell signal occurs.
8. Sell | SL
This condition is triggered when a SL signal of any Sell signal occurs.
9. Sell | Rating Upgrade
This condition is triggered when the rating of a sell signal is increased.
10. Sell | Rating Downgrade
This condition is triggered when the rating of a sell signal is decreased.
11. Retracement Wave Retest (Bullish or Bearish)
A retest on the Retracement Wave occurs when the price temporarily moves against the prevailing trend, touching or entering the wave before continuing in the original trend direction. This retest serves as a confirmation that the wave is acting as dynamic support or resistance.
12. Retracement Wave Retracement (Bullish or Bearish)
A retracement on the Retracement Wave occurs when the price touches the wave, the condition is triggered immediately.
13. Volatility Bands Retest (Bullish or Bearish)
A retest of Volatility Bands occurs when the price initially moves beyond the bands, then pulls back to "retest" the band it just broke through before continuing its move. This can provide traders with confirmation of a breakout or signal a potential reversal.
14. Volatility Bands Retracement (Bullish or Bearish)
A retracement on the Volatility Bands occur when the price touches the band, the condition is triggered immediately.
🕒 TIMEFRAME CONDITIONS
The SFX Automation supports Multi-Timeframe (MTF) features for Buy & Sell signals. When setting an entry condition, you can also choose the timeframe.
External Conditions
Users can use external indicators on the chart to set entry conditions.
The second dropdown in the external condition settings allows you to choose a conditional operator to compare external outputs. Available options include:
Less Than or Equal To: <=
Less Than: <
Equal To: =
Greater Than: >
Greater Than or Equal To: >=
The position entry conditions work like this ;
Each side has 3 SFX Algo conditions and 2 Source conditions. Each condition can be enabled or disabled using the checkbox on the left side of them.
You can select which timeframe this condition should work on for Buy & Sell signals. If you select "Chart", the condition will work for the chart's current timeframe.
Lastly select the step of this condition from 1 to 6.
The Source Condition
The last condition on each side is a source condition that is different from the others. Using this condition, you can create your own logic using other indicators' outputs on your chart. For example, suppose that you have an EMA indicator in your chart. You can have the source condition to something like "EMA > high".
The Step System
Each condition has a step number, and conditions are in topological order based on them.
The conditions are executed step by step. This means the condition with step 2 cannot be executed before the condition with step 1 is executed.
Conditions with the same step numbers have "OR" logic. This means that if you have 2 conditions with step 3, the condition with step 4 can trigger after only one of the step 3 conditions is executed.
➕ OTHER ENTRY FEATURES
The SFX Automation allows traders to choose when to execute trades and when not to execute trades.
1. Only Take Trades
This setting lets users specify the time period when their strategy can open or execute trades.
2. Don't Take Trades
This setting lets users specify time periods when their strategy can't open or execute trades.
↩️ EXIT CONDITIONS
1. Exit on Opposite Signal
When enabled, a long position will close when short entry conditions are met, and a short position will close when long entry conditions are met.
2. Exit on Session End
When enabled, positions will be closed at the end of the trading session.
📈 TAKE PROFIT CONDITIONS
There are several methods available for setting take profit exits and conditions.
1. Entry Condition TP
Users can use entry conditions as triggers for take profit exits. This setting can be found under the long and short exit conditions.
2. Fixed TP
Users can set a fixed TP for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a TP exit when price reaches a specified level. For example, if you set the Price TP to 10 and buy NASDAQ:TSLA at $190, the trade will automatically exit when the price reaches $200 ($190 + $10).
Ticks: This method triggers a TP exit when price moves a specified number of ticks.
Percentage (%): This method triggers a TP exit when price moves a specified percentage.
ATR: This method triggers a TP exit based on a specified multiple of the Average True Range (ATR).
🧩EXIT PERCENTAGES
For each 3 dynamic take-profit conditions, you can set the amount of the position to exit in terms of percentage. It's important to make sure that the total of the exit percentages are 100%.
📉 STOP LOSS CONDITIONS
There are several methods available for setting stop-loss exits and conditions.
1. Entry Condition SL
Users can use entry conditions as triggers for stop-loss exits. This setting can be found under the long and short exit conditions.
2. Fixed SL
Users can set a fixed SL for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a SL exit when price reaches a specified level. For example, if you set the Price SL to 10 and buy NASDAQ:TSLA at $200, the trade will automatically exit when the price reaches $190 ($200 - $10).
Ticks: This method triggers a SL exit when price moves a specified number of ticks.
Percentage (%): This method triggers a SL exit when price moves a specified percentage.
ATR: This method triggers a SL exit based on a specified multiple of the Average True Range (ATR).
3. Trailing Stop
An explanation & example for the trailing stop feature is present on the write-up within the next section.
Exit conditions have the same logic of constructing conditions like the entry ones. You can construct a Take-Profit Condition & a Stop-Loss Condition. Note that the Take-Profit condition will only work if the position is in profit, regardless of if it's triggered or not. The same applies for the Stop-Loss condition, meaning that it will only work if the position is in loss.
You can also set a Fixed TP & Fixed SL based on the price movement after the position is entered. You have options like "Price", "Ticks", "%", or "Average True Range". For example, you can set a Fixed TP like "5%", and the position will be entered once it moves 5% up in a long position.
Trailing Stop
For the Fixed SL, you also have a "Trailing" stop option, which you can set it's activation level as well. The Trailing stop activation level and it's value are expressed in ticks. Check this scenerio for an example :
We have a ticker with a tick value of $1. Our Trailing Stop is set to 10 ticks, and the activation level is set to 30 ticks.
We buy 1 contract when the price is $100.
When the price becomes $110, we are in $10 (10 ticks) profit and the trailing stop is now activated.
The current price our stop's on is $110 - $30 (30 ticks), which is the level of $80.
The trailing stop will only move if the price moves up the highest high the price has been after we entered the position.
Let's suppose that price moves up $40 right after our trailing stop is activated. The price will now be $150, and our trailing stop will sit on $150 - $30 (30 ticks) = $120.
If the price is down the $120 level, our stop loss will be triggered.
There is also a "Hard SL" option designed for a backup stop-loss when trailing stops are enabled. You can enable & set this option and if the price goes down before our trailing stop even activates, the position will be exited.
You can also move stop-loss to the break-even (entry price of the position) after a certain profit is achieved using the last setting of the exit conditions. Note that for this to work, you will need to have a Fixed SL setup.
➕ OTHER EXIT FEATURES
1. Move Stop Loss to Breakeven
This setting allows the strategy to automatically move the SL to Breakeven (BE) when the position is in profit by a certain amount. Users can choose between the following:
Price: This method moves the SL to BE when price reaches a specified level.
Ticks: This method moves the SL to BE when price moves a specified number of ticks.
Percentage (%): This method moves the SL to BE when price moves a specified percentage.
ATR: This method moves the SL to BE when price moves a specified multiple of the Average True Range (ATR).
Example Entry Scenario
To give an example , check this scenario; out conditions are :
LONG CONDITIONS
Buy Signal Any☆, Step 1
Bullish R. Wave Retest, Step 2
Bullish V. Bands Retest, Step 2
open > close, Step 3
First, the strategy needs to detect a Buy Signal with any star rating in order to start working.
After it's detected, now it's looking for either a Bullish R. Wave Retest, or a Bullish V. Bands Retest to proceed to the next step, the reason for this is that they both have the same step number.
After one of them is detected, the strategy will consistently check candlesticks for the condition open > close. If a bullish candlestick occurs, a long position will be entered.
⏰ ALERTS
This indicator uses TradingView's strategy alert system. All entries and exits will be sent as an alert if configured. It's possible to further customize these alerts to your liking. For more information, check TradingView's strategy alert customization page: www.tradingview.com
⚙️ SETTINGS
1. Backtesting Settings
Pyramiding: Controls the number of simultaneous trades allowed in the strategy. This setting must have the same value that is entered on the script's properties tab on the settings pane.
Enable Custom Backtesting Period: Restricts backtesting to a specific date range.
Start & End Time Configuration: Define precise start and end dates for historical analysis.
2. Algorithm Settings
Sensitivity: The sensitivity setting is a key parameter that influences the number of signals the SFX Algo generates. By adjusting this parameter, you can control the frequency of signals produced by the algorithm.
Signal Strength: The Signal Strength setting filters signals based on their quality, allowing traders to focus on the most reliable opportunities. This feature helps traders balance the quantity and reliability of the algorithm’s signals to suit their trading strategy.
Time Weighting: The Time Weighting setting determines how the SFX Algo evaluates historical market data to generate signals.
a) Recent Trends
Focuses on the most recent movements for short-term analysis. This setting is good for scalpers and intraday traders who need to react quickly to market changes.
b) Mixed Trends
Balances recent and historical price movements for a comprehensive market view. This setting is well-suited for swing traders and those who want to capture medium-term opportunities by combining the benefits of short-term responsiveness with the reliability of long-term trends.
c) Long-term Trends
Relies on extended historical market data to identify broader market trends, making it an excellent choice for traders focused on long-term strategies.
Minimum Star Rating: The Minimum Star Rating setting allows you to filter signals based on their strength, showing only those that meet or exceed your chosen threshold. For instance, setting the minimum star rating to 3 ensures you only receive signals with a rating of 3 stars or higher.
3. Take Profit / Stop Loss Methods
Key Levels
The Key Levels method uses pivot points to set take profit and stop-loss levels. The TP and SL levels are shown when a new signal is generated.
Volatility Bands
This TP/SL method uses the Volatility Bands overlay to set dynamic TP and SL levels. These levels are not predetermined so they will not be shown in advance when a signal is generated.
Signal Rating
Sets take profit and stop-loss levels based on changes in a signal's rating strength. These levels are not predetermined so they will not be shown in advance when a signal is generated.
Auto Stop-Loss
The auto method can only be applied to the SL. The auto method allows the algorithm to detect SL automatically when a momentum shift is detected. You can adjust the risk tolerance of the Auto SL by adjusting the ‘Auto Risk Tolerance’ setting. You can choose between Low, Medium, and High. A high-risk tolerance will result in stop losses being triggered less often.
4. Entry Conditions for Long & Short Trades
Multiple Conditions (1-6): Configure up to six independent conditions per trade direction.
Timeframe Specification: Choose between timeframes for Buy & Sell signals.
Trade Execution Filters: Restrict trades within specific trading sessions.
5. Exit Conditions for Long & Short Trades
Exit on Opposite Signal: Automatically exit trades upon opposite trade conditions.
Exit on Session End: Closes all positions at the end of the trading session.
Multiple Take-Profit (TP) and Stop-Loss (SL) Configurations:
TP/SL based on % move, ATR, Ticks, or Fixed Price.
Hard SL option for additional risk control.
Move SL to BE (Break Even) after a certain profit threshold.
Interest Rate Trading (Manually Added Rate Decisions) [TANHEF]Interest Rate Trading: How Interest Rates Can Guide Your Next Move.
How were interest rate decisions added?
All interest rate decision dates were manually retrieved from the 'Record of Policy Actions' and 'Minutes of Actions' on the Federal Reserve's website due to inconsistent dates from other sources. These were manually added as Pine Script currently only identifies rate changes, not pauses.
█ Simple Explanation:
This script is designed for analyzing and backtesting trading strategies based on U.S. interest rate decisions which occur during Federal Open Market Committee (FOMC) meetings, to make trading decisions. No trading strategy is perfect, and it's important to understand that expectations won't always play out. The script leverages historical interest rate changes, including increases, decreases, and pauses, across multiple economic time periods from 1971 to the present. The tool integrates two key data sources for interest rates—USINTR and FEDFUNDS—to support decision-making around rate-based trades. The focus is on identifying opportunities and tracking trades driven by interest rate movements.
█ Interest Rate Decision Sources:
As noted above, each decision date has been manually added from the 'Record of Policy Actions' and 'Minutes of Actions' documents on the Federal Reserve's website. This includes +50 years of more than 600 rate decisions.
█ Interest Rate Data Sources:
USINTR: Reflects broader U.S. interest rate trends, including Treasury yields and various benchmarks. This is the preferred option as it corresponds well to the rate decision dates.
FEDFUNDS: Tracks the Federal Funds Rate, which is a more specific rate targeted by the Federal Reserve. This does not change on the exact same days as the rate decisions that occur at FOMC meetings.
█ Trade Criteria:
A variety of trading conditions are predefined to suit different trading strategies. These conditions include:
Increase/Decrease: Standard rate increases or decreases.
Double/Triple Increase/Decrease: A series of consecutive changes.
Aggressive Increase/Decrease: Rate changes that exceed recent movements.
Pause: Identification of no changes (pauses) between rate decisions, including double or triple pauses.
Complex Patterns: Combinations of pauses, increases, or decreases, such as "Pause after Increase" or "Pause or Increase."
█ Trade Execution and Exit:
The script allows automated trade execution based on selected criteria:
Auto-Entry: Option to enter trades automatically at the first valid period.
Max Trade Duration: Optional exit of trades after a specified number of bars (candles).
Pause Days: Minimum duration (in days) to validate rate pauses as entry conditions. This is especially useful for earlier periods (prior to the 2000s), where rate decisions often seemed random compared to the consistency we see today.
█ Visualization:
Several visual elements enhance the backtesting experience:
Time Period Highlighting: Economic time periods are visually segmented on the chart, each with a unique color. These periods include historical phases such as "Stagflation (1971-1982)" and "Post-Pandemic Recovery (2021-Present)".
Trade and Holding Results: Displays the profit and loss of trades and holding results directly on the chart.
Interest Rate Plot: Plots the interest rate movements on the chart, allowing for real-time tracking of rate changes.
Trade Status: Highlights active long or short positions on the chart.
█ Statistics and Criteria Display:
Stats Table: Summarizes trade results, including wins, losses, and draw percentages for both long and short trades.
Criteria Table: Lists the selected entry and exit criteria for both long and short positions.
█ Economic Time Periods:
The script organizes interest rate decisions into well-defined economic periods, allowing traders to backtest strategies specific to historical contexts like:
(1971-1982) Stagflation
(1983-1990) Reaganomics and Deregulation
(1991-1994) Early 1990s (Recession and Recovery)
(1995-2001) Dot-Com Bubble
(2001-2006) Housing Boom
(2007-2009) Global Financial Crisis
(2009-2015) Great Recession Recovery
(2015-2019) Normalization Period
(2019-2021) COVID-19 Pandemic
(2021-Present) Post-Pandemic Recovery
█ User-Configurable Inputs:
Rate Source Selection: Choose between USINTR or FEDFUNDS as the primary interest rate source.
Trade Criteria Customization: Users can select the criteria for long and short trades, specifying when to enter or exit based on changes in the interest rate.
Time Period: Select the time period that you want to isolate testing a strategy with.
Auto-Entry and Pause Settings: Options to automatically enter trades and specify the number of days to confirm a rate pause.
Max Trade Duration: Limits how long trades can remain open, defined by the number of bars.
█ Trade Logic:
The script manages entries and exits for both long and short trades. It calculates the profit or loss percentage based on the entry and exit prices. The script tracks ongoing trades, dynamically updating the profit or loss as price changes.
█ Examples:
One of the most popular opinions is that when rate starts begin you should sell, then buy back in when rate cuts stop dropping. However, this can be easily proven to be a difficult task. Predicting the end of a rate cut is very difficult to do with the the exception that assumes rates will not fall below 0.25%.
2001-2009
Trade Result: +29.85%
Holding Result: -27.74%
1971-2024
Trade Result: +533%
Holding Result: +5901%
█ Backtest and Real-Time Use:
This backtester is useful for historical analysis and real-time trading. By setting up various entry and exit rules tied to interest rate movements, traders can test and refine strategies based on real historical data and rate decision trends.
This powerful tool allows traders to customize strategies, backtest them through different economic periods, and get visual feedback on their trading performance, helping to make more informed decisions based on interest rate dynamics. The main goal of this indicator is to challenge the belief that future events must mirror the 2001 and 2007 rate cuts. If everyone expects something to happen, it usually doesn’t.
Session candles & reversals / quantifytools— Overview
Like traditional candles, session based candles are a visualization of open, high, low and close values, but based on session time periods instead of typical timeframes such as daily or weekly. Session candles are formed by fetching price at session start (open), highest price during session (high), lowest price during session (low) and price at session end (close). On top of candles, session based moving average is formed and session reversals detected. Session reversals are also backtested, using win rate and magnitude metrics to better understand what to expect from session reversals and which ones have historically performed the best.
By default, following session time periods are used:
Session #1: London (08:00 - 17:00, UTC)
Session #2: New York (13:00 - 22:00, UTC)
Session #3: Sydney (21:00 - 06:00, UTC)
Session #4: Tokyo (00:00 - 09:00, UTC)
Session time periods can be changed via input menu.
— Reversals
Session reversals are patterns that show a rapid change in direction during session. These formations are more familiarly known as wicks or engulfing candles. Following criteria must be met to qualify as a session reversal:
Wick up:
Lower high, lower low, close >= 65% of session range (0% being the very low, 100% being the very high) and open >= 40% of session range.
Wick down:
Higher high, higher low, close <= 35% of session range and open <= 60% of session range.
Engulfing up:
Higher high, lower low, close >= 65% of session range.
Engulfing down:
Higher high, lower low, close <= 35% of session range.
Session reversals are always based on prior corresponding session , e.g. to qualify as a NY session engulfing up, NY session must have a higher high and lower low relative to prior NY session , not just any session that has taken place in between. Session reversals should be viewed the same way wicks/engulfing formations are viewed on traditional timeframe based candles. Essentially, wick reversals (light green/red labels) tell you most of the motion during session was reversed. Engulfing reversals (dark green/red labels) on the other hand tell you all of the motion was reversed and new direction set.
— Backtesting
Session reversals are backtested using win rate and magnitude metrics. A session reversal is considered successful when next corresponding session closes higher/lower than session reversal close . Win rate is formed by dividing successful session reversal count with total reversal count, e.g. 5 successful reversals up / 10 reversals up total = 50% win rate. Win rate tells us what are the odds (historically) of session reversal producing a clean supporting move that was persistent enough to close that way too.
When a session reversal is successful, its magnitude is measured using percentage increase/decrease from session reversal close to next corresponding session high/low . If NY session closes higher than prior NY session that was a reversal up, the percentage increase from prior session close (reversal close) to current session high is measured. If NY session closes lower than prior NY session that was a reversal down, the percentage decrease from prior session close to current session low is measured.
Average magnitude is formed by dividing all percentage increases/decreases with total reversal count, e.g. 10 total reversals up with 1% increase each -> 10% net increase from all reversals -> 10% total increase / 10 total reversals up = 1% average magnitude. Magnitude metric supports win rate by indicating the depth of successful session reversal moves.
To better understand the backtesting calculations and more importantly to verify their validity, backtesting visuals for each session can be plotted on the chart:
All backtesting results are shown in the backtesting panel on top right corner, with highest win rates and magnitude metrics for both reversals up and down marked separately. Note that past performance is not a guarantee of future performance and session reversals as they are should not be viewed as a complete strategy for long/short plays. Always make sure reversal count is sufficient to draw reliable conclusions of performance.
— Session moving average
Users can form a session based moving average with their preferred smoothing method (SMA , EMA , HMA , WMA , RMA) and length, as well as choose which sessions to include in the moving average. For example, a moving average based on New York and Tokyo sessions can be formed, leaving London and Sydney completely out of the calculation.
— Visuals
By default, script hides your candles/bars, although in the case of candles borders will still be visible. Switching to bars/line will make your regular chart visuals 100% hidden. This setting can be turned off via input menu. As some sessions overlap, each session candle can be separately offsetted forward, clearing the overlaps. Users can also choose which session candles to show/hide.
Session periods can be highlighted on the chart as a background color, applicable to only session candles that are activated. By default, session reversals are referred to as L (London), N (New York), S (Sydney) and T (Tokyo) in both reversal labels and backtesting table. By toggling on "Numerize sessions", these will be replaced with 1, 2, 3 and 4. This will be helpful when using a custom session that isn't any of the above.
Visual settings example:
Session candles are plotted in two formats, using boxes and lines as well as plotcandle() function. Session candles constructed using boxes and lines will be clear and much easier on the eyes, but will apply only to first 500 bars due to Tradingview related limitations. Rest of the session candles go back indefinitely, but won't be as clean:
All colors can be customized via input menu.
— Timeframe & session time period considerations
As a rule of thumb, session candles should be used on timeframes at or below 1H, as higher timeframes might not match with session period start/end, leading to incorrect plots. Using 1 hour timeframe will bring optimal results as greatest amount historical data is available without sacrificing accuracy of OHLC values. If you are using a custom session that is not based on hourly period (e.g. 08:00 - 15:00 vs. 08.00 - 15.15) make sure you are using a timeframe that allows correct plots.
Session time periods applied by default are rough estimates and might be out of bounds on some charts, like NYSE listed equities. This is rarely a problem on assets that have extensive trading hours, like futures or cryptocurrency. If a session is out of bounds (asset isn't traded during the set session time period) the script won't plot given session candle and its backtesting metrics will be NA. This can be fixed by changing the session time periods to match with given asset trading hours, although you will have to consider whether or not this defeats the purpose of having candles based on sessions.
— Practical guide
Whether based on traditional timeframes or sessions, reversals should always be considered as only one piece of evidence of price turning. Never react to them without considering other factors that might support the thesis, such as levels and multi-timeframe analysis. In short, same basic charting principles apply with session candles that apply with normal candles. Use discretion.
Example #1 : Focusing efforts on session reversals at distinct support/resistance levels
A reversal against a level holds more value than a reversal by itself, as you know it's a placement where liquidity can be expected. A reversal serves as a confirming reaction for this expectation.
Example #2 : Focusing efforts on highest performing reversals and avoiding poorly performing ones
As you have data backed evidence of session reversal performance, it makes sense to focus your efforts on the ones that perform best. If some session reversal is clearly performing poorly, you would want to avoid it, since there's nothing backing up its validity.
Example #3 : Reversal clusters
Two is better than one, three is better than two and so on. If there are rapid changes in direction within multiple sessions consecutively, there's heavier evidence of a dynamic shift in price. In such case, it makes sense to hold more confidence in price halting/turning.
3Commas DCA Backtester + TBO3Commas DCA bot users rejoice! Have you ever wanted to know how your 3Commas DCA bot would have performed with slightly different settings? Or a different deal start condition? Another safety trade? We've combined the logic of 3Commas DCA Bots with TradingView's powerful strategy backtester to FINALLY help 3Commas users backtest their bot settings.
There are several things to be aware of with this strategy:
There is no bot assistant in TradingView, so you'll have to enter in your funds for bot trading in the "Initial capital" section in the Properties tab of the settings.
Even though you can use simultaneous deals with this strategy, there is no way on TradingView to collectively backtest multiple trading pairs with a single instance of this strategy.
We have created all of the available deal start conditions natively available in 3Commas DCA Bots PLUS the TBO and its trigger symbols (Open Long, Close Long, Cross Up, Breakout, Open Short, Close Short, Cross Down, Breakdown). The strategy uses ASAP (as soon as possible) by default.
3Commas DCA Bots use a built-in AND logic for the deal start conditions, meaning that deals will only start when ALL deal start conditions are true. This logic is included in the strategy, however we also provided the option to use OR logic, which will trigger a deal if any of the selected deal start conditions have been met.
Use your own indicators by selecting the "external" option under deal start conditions.
Cooldown between deals cannot use seconds as this is a limitation in TradingView (the strategy will only run on the current timeframe you are viewing), so this has been changed to "next bar."
Customize your backtests in our look back section. Select a specific start and end date for your back test results.
Use the strategy to send alerts directly to your 3Commas bots by providing your bot ID numbers and your email token (found in the JSON code when viewing your bot's overall settings).
Some things to keep in mind while using the back tester:
Enable Buy & Hold Equity to compare your bot strategy and settings.
The back tester can't guarantee future results based on past performance.
Stop losses will result in poor performance. Take advantage of DCA strategy and use safety trades.
Settings for the strategy shown are:
Bot type: Long
Take Profit type: % Quote
Base order: 25
Safety order: 50
Deal Start Conditions:
Custom - OR
TBO Breakout
15m Strong Buy
1h Strong Buy
4h Strong Buy
Target Profit: 4
Max Active Safety Trades: 2
Price deviation in %: 8
Safety order volume scale: 2
Safety order step scale: 2
Simultaneous deals per same pair: 3
Lookback:
2020-05-11
9999-01-01
DEMA Adjusted Average True Range [BackQuant]The use of the Double Exponential Moving Average (DEMA) within your Adjusted Average True Range (ATR) calculation serves as a cornerstone for enhancing the indicator's responsiveness to market changes. To delve deeper into why DEMA is employed specifically in the context of your ATR calculation, let's explore the inherent qualities of DEMA and its impact on the ATR's performance.
DEMA and Its Advantages
As previously mentioned, DEMA was designed to offer a more responsive alternative to the traditional Exponential Moving Average (EMA). By giving more weight to recent price data, DEMA reduces the lag typically associated with moving averages. This reduction in lag is especially beneficial for short-term traders looking to capitalize on trend reversals and other market movements as swiftly as possible.
The calculation of DEMA involves the following steps:
Calculate EMA1: This is the Exponential Moving Average of the price.
Calculate EMA2: This is the Exponential Moving Average of EMA1, thus it is a smoothing of a smoothing, leading to a greater lag.
Formulate DEMA: The formula
EMA1 = EMA of price
EMA2 = EMA of EMA1
DEMA = (2 x EMA1) - EMA2
effectively doubles the weighting of the most recent data points by subtracting the lagged, double-smoothed EMA2 from twice the single-smoothed EMA1.
This process enhances the moving average's sensitivity to recent price movements, allowing the DEMA to adhere more closely to the price bars than either EMA1 or EMA2 alone.
Integration with ATR
In the context of your ATR calculation, the integration of DEMA plays a crucial role in defining the indicator's core functionality. Here's a detailed explanation of how DEMA affects the ATR calculation:
Initial Determination of DEMA : By applying the DEMA formula to the chosen source data (which can be adjusted to use Heikin Ashi candle close prices for an even smoother analysis), you set a foundation for a more reactive trend-following mechanism within the ATR framework.
Application to ATR Bands : The calculated DEMA serves as the central line from which the ATR bands are derived. The ATR value, multiplied by a user-defined factor, is added to and subtracted from the DEMA to form the upper and lower bands, respectively. This dynamic adjustment not only reflects the volatility based on the ATR but does so in a way that is closely aligned with the most recent price action, thanks to the utilization of DEMA.
Enhanced Signal Quality : The responsiveness of DEMA ensures that the ATR bands adjust more promptly to changes in market conditions. This quality is vital for traders who rely on the ATR bands to identify potential entry and exit points, trend reversals, or to assess market volatility.
By employing DEMA as the core component in calculating the Adjusted Average True Range, your indicator leverages DEMA's reduced lag and increased weight on recent data to provide a more timely and accurate measure of market volatility. This innovative approach enhances the utility of the ATR by making it not only a tool for assessing volatility but also a more reactive indicator for trend analysis and trading signal generation.
The main concept of combining these is to reduce lag, get a more robust signal and still capture clear trends over medium time horizons.
For me, this is best used in confluence with other indicators, it can be made faster in order to get fasters response time, or slower. This is all depending on the needs of you as a trader.
User Inputs:
The script offers several user-configurable inputs, such as the period lengths for DEMA and ATR calculations, the multiplication factor for the ATR, and options to use Heikin Ashi candles or standard price data. Additionally, it allows for the toggling of visual features, like the plotting of the DEMA ATR and its moving average, and the application of color-coded trends on price bars.
Additional Features:
Moving Average Confluence: Traders can opt to display a moving average of the DEMA ATR, choosing from various types (e.g., SMA, EMA, HMA). This feature provides a layer of confluence, aiding in the identification of trend direction and strength.
Trend Identification :
The script employs logical conditions to ascertain the trend direction based on the movement of the DEMA ATR. It assigns colors to represent bullish or bearish trends, which are reflected in the plotted lines and the coloring of price bars.
Alerts :
Customizable alert conditions for trend reversals enhance the utility of the indicator for active trading, notifying users of significant changes in trend direction.
1D Backtests
We include these backtests as a general proxy for how they work.
Please do your own calibrating to suit it to your own needs and backtest.
Past results don't = future results but they can help you understand how it functions.
INDEX:BTCUSD
INDEX:ETHUSD
BINANCE:SOLUSD
Auto Harmonic Pattern - Backtester [Trendoscope]We are finally here with the implementation of backtesting tool for Auto-Harmonic-Pattern-UltimateX .
CAUTION: THIS IS NOT A STRATEGY AND SHOULD NOT BE FOLLOWED BLINDLY. WE ENCOURAGE USERS TO UTILISE THIS AS BACKTESTING TOOL FOR BUILDING THEIR STRATEGY BASED ON HARMONIC PATTERNS
This script is based on our premium indicator - Auto-Harmonic-Pattern-UltimateX . In this script, along with implementation of scanning harmonic patterns, we provide various options via settings which enables users to build their own strategy based on harmonic patterns, use them with custom coded filters, backtest them on various tickers and timeframes.
Harmonic Patterns is concept and we can trade harmonic pattern in many ways. While general interest around harmonic patterns is to find reversal zones and use them for short term swing trades. But, using it along trend following strategies can also be very rewarding. Here is one of the educational idea I shared about using harmonic patterns for trend following. These are just few possibilities where users can explore further on how they want to trade this. The settings of this script are crafted in such a way that it enables users to explore all these possibilities.
🎲 Components
Chart components of this script is lighter compared to Auto Harmonic Pattern - UltimateX. This is because we want to keep lighter interface in order to support seamless execution of emulator. Since pine strategy framework does most of the things such as calculating profitability, keeping track of trades and results etc, display with respect to - "Closed Trade Stats" are removed from this script and "Open Trade Stats" are made lighter.
🎲 Settings
🎯 Trade Settings : Few important settings under this section are
Due to pine limitations, we will not be able to support both long and short in a same setup. Hence, users need to chose either long or short trade setup.
Entry/Base/Target play important role in defining your strategy.
Confluence is another important factor which lets users use multiple patterns at once as confirmation.
🎯 Zigzag Settings : Zigzag settings determine the size of patterns being formed.
Please note that smaller patterns may not yield very good results and larger patterns may take time to complete trade. Similarly higher depth can cause runtime issues. Recursive zigzag option is alternative to deep search algorithm.
🎯 Filters :
Filters enable users to select trades based on specific conditions. Ability to use external filter even allows writing and using custom filters to be used with this algorithm. Here is a video which explains how this can be done. HOW-TO-Use-external-filters
Pattern filters allow users to pick and chose patterns they want to trade. This can be done either individually or based on category
🎯 Alerts :
Apart from strategy specific alerts, the script also implements customisable alerts via pine alert() function. Alerts can be configured to send upon three conditions
When new pattern is created
When an existing pattern updates entry/stop/target due to safe repaint of D (Only happens when Trail Entry Price is selected)
When a pattern in trade closes either due to hitting stop or target
Important Note: Alerts fired via this method may not match the trades shown on chart as trades which are controlled via pine strategy emulator depends on various other factors such as pyramiding.
Alert template is customisable and users can make use of available placeholders to get dynamic data in alerts. Valid placeholders are
{alertType} - Alert type - New/Update/Close
{id} - Pattern Id
{ticker} - Ticker
{timeframe} - Chart timeframe
{price} - Current price
{patterns} - Identified pattern names
{direction} - Direction - Long/Short
{entry} - Entry Price
{stop} - Stop Price
{target} - Target Price
{orderType} - Limit/Stop - applicable for only New and Update types
{status} - Trade status. Valid values are Pending/Cancelled/Stopped/Success
Template is common for all custom alert types. Hence, updating the template will impact all custom alerts - New/Update/Close
{
"alert" : "{alertType}",
"id" : {id},
"ticker" : "{ticker}",
"timeframe" : "{timeframe}",
"price" : {price},
"patterns" : "{patterns}",
"direction" : "{direction}",
"entry" : {entry},
"stop" : {stop},
"target" : {target},
"orderType" : {orderType}
"status" : {status}
}
Here is a video on how to customise the alerts using templates and placeholders - HOW-TO-Customize-Alerts-With-Placeholders
🎯 Miscellaneous :
These are simple settings to control display and backtest bars. If you are running alerts, we suggest turning of Open Trades and Drawings and limit backtest to minimal value in order to improve efficiency of
🎯 Backtest Engine Parameters :
Default settings are optimised for trend following. Users are encouraged to play around with settings and filters to build strategy out of this tool.
Position sizing is not leveraged. Margin settings makes sure that trades cannot exceed capital.
All measures are taken to avoid repainting. Script does not use request.security and real time bars. This drastically reduces the risk of repainting in scripts.
If you are premium user, please select "Bar Magnifier".
Bollinger Pair TradeNYSE:MA-1.6*NYSE:V
Revision: 1
Author: @ozdemirtrading
Revision 2 Considerations :
- Simplify and clean up plotting
Disclaimer: This strategy is currently working on the 5M chart. Change the length input to accommodate your needs.
For the backtesting of more than 3 months, you may need to upgrade your membership.
Description:
The general idea of the strategy is very straightforward: it takes positions according to the lower and upper Bollinger bands.
But I am mainly using this strategy for pair trading stocks. Do not forget that you will get better results if you trade with cointegrated pairs.
Bollinger band: Moving average & standard deviation are calculated based on 20 bars on the 1H chart (approx 240 bars on a 5m chart). X-day moving averages (20 days as default) are also used in the background in some of the exit strategy choices.
You can define position entry levels as the multipliers of standard deviation (for exp: mult2 as 2 * standard deviation).
There are 4 choices for the exit strategy:
SMA: Exit when touches simple moving average (SMA)
SKP: Skip SMA and do not stop if moving towards 20D SMA, and exit if it touches the other side of the band
SKPXDSMA: Skip SMA if moving towards 20D SMA, and exit if it touches 20D SMA
NoExit: Exit if it touches the upper & lower band only.
Options:
- Strategy hard stop: if trade loss reaches a point defined as a percent of the initial capital. Stop taking new positions. (not recommended for pair trade)
- Loss per trade: close position if the loss is at a defined level but keeps watching for new positions.
- Enable expected profit for trade (expected profit is calculated as the distance to SMA) (recommended for pair trade)
- Enable VIX threshold for the following options: (recommended for volatile periods)
- Stop trading if VIX for the previous day closes above the threshold
- Reverse active trade direction if VIX for the previous day is above the threshold
- Take reverse positions (assuming the Bollinger band is going to expand) for all trades
Backtesting:
Close positions after a defined interval: mark this if you want the close the final trade for backtesting purposes. Unmark it to get live signals.
Use custom interval: Backtest specific time periods.
Other Options:
- Use EMA: use an exponential moving average for the calculations instead of simple moving average
- Not against XDSMA: do not take a position against 20D SMA (if X is selected as 20) (recommended for pairs with a clear trend)
- Not in XDSMA 1 DEV: do not take a position in 20D SMA 1*standart deviation band (recommended if you need to decrease # of trades and increase profit for trade)
- Not in XDSMA 2 DEV: do not take a position in 20D SMA 2*standart deviation band
Session management:
- Not in session: Session start and end times can be defined here. If you do not want to trade in certain time intervals, mark that session.(helps to reduce slippage and get more realistic backtest results)
J2S Backtest: 123-Stormer StrategyThis backtest presents the 123-Stormer strategy created by trader Alexandre Wolwacz "Stormer". The strategy is advocates and shared by the trader through his YouTube channel without restrictions.
Note :
This is not an investment recommendation. The purpose of this study is only to share knowledge with the community on tradingview.
What is the purpose of the strategy?
The strategy is to buy the 123-Stormer pattern at the bottom of an uptrend and sell the 123-Stormer pattern at the top of a downtrend, aiming for a short stop for a long profit target.
To which timeframe of a chart is it applicable to?
Recommended for weekly and daily charts, as the signals are more reliable, being that strategy a good option for swing and position trading.
What about risk management and success rate?
The profit target is established by the author as being twice the risk assumed. Also according to the author, the strategy is mathematically positive, reaching around 65% of success rate in tradings.
How are the trends identified in this strategy?
Two averages are plotted to indicate the trend, a fast EMA average with an 8-week close and a slow EMA average with an 80-week close.
Uptrend happens whenever the fast EMA is above the slow EMA and prices are above the fast EMA. In this case, we should start looking for a LONG entry based on the signal of the 123-Stromer pattern to buying.
On the other hand, downtrend happens when the fast EMA is below the slow EMA and prices are below the fast EMA. In this case, we should start looking for a SHORT entry based on the signal of the 123-Stromer pattern to selling.
How to identify the 123-Stormer pattern for a LONG entry?
This pattern consists of three candles. The first candle has a higher low than the second candle's low, and the third candle has a higher low than the second candle's low. In this pattern, we will buy as soon as a trade occurs above the third candle's high, placing a stop as soon as a trade occurs below the second candle's low, with profit target twice the risk assumed. In another words, the amplitude of the prices of the three candles from the third candle’s high upwards. (you can use fibonacci extension to determine your stops and profit targets).
Importantly, the low of the three candles must be above the fast EMA average and in an uptrend.
How to identify the 123-Stormer pattern for a SHORT entry?
This pattern consists of three candles. The first candle has a lower high than the second candle's high, and the third candle has a lower high than the second candle's high. In this pattern, we will sell as soon as a trade occurs below the third candle's low, placing a stop as soon as a trade occurs above the second candle's high, with profit target twice the risk assumed. In other words, the amplitude of prices of the three candles from the third candle’s low down (you can use fibonacci extension to determine your stops and profit targets).
Importantly, the high of the three candles must be below the fast average and in a downtrend.
Tips and tricks
According to the author, the best signal for both LONG or SHORT entry is when the third candle is a inside bar of second candle.
Backtest features
Backtest parameters are fully customizable. The user chooses to validate only LONG or SHORT entries, or both. It is also possible to determine the specific time period for running the backtests, as well as setting a threshold in candels for entry by the 123-Stormer pattern.
Furthermore, for validation purposes, you can choose to activate the best signal of the pattern recommended by the author of the strategy, as well as change the values of the EMA averages or even deactivate them.
Final message
Feel free to provide me with any improvement suggestions for the backtest script. Bear in mind, feel free to use the ideas in my script in your studies.
Strategy Builder Pro [ChartPrime]ChartPrime Strategy Creator Overview
The ChartPrime Strategy Builder offers traders an innovative, structured approach to building and testing strategies. The Strategy Creator allows users to combine, test, and automate complex strategies with many parameters.
Key Features of the ChartPrime Strategy Builder
1. Customizable Buy and Sell Conditions
The Strategy Creator provides flexibility in establishing entry and exit rules, with separate sections for long and short strategies. Traders can combine multiple conditions in each section to fine-tune when positions are opened or closed. For instance, they might choose to only buy when the indicator signals a buy and the Dynamic Reactor (a low lag filter) indicator shows a bullish trend. Users are able to pick, mix and match the following list of features:
Signal Mode: Select the type of assistive signals you are requiring. Provided are both trend following signals with self optimization using backtest results as well as reversal signals, aiming to provide real time tops and bottoms in markets. Both these signal modes can be fine tuned using the tuning input to refine signals to a trader's liking. ChartPrime Trend Signals leverage audio engineering inspired techniques and low-pass filters in order to achieve and attempt to produce lower lag response times and therefore are designed to have a uniqueness when compared to more classical trend following approaches.
The Dynamic Reactor: provides a simple band passing through the chart. This can provide assistance in support and resistance locations as well as identifying the trend direction expressed via green and red colors. Taking a moving average and applying unique adaptivity calculations gives this plot a unique and fast behavior.
Candlestick structures: analyze candlestick formation putting a spin on classical candlestick patterns and provide the most relevant formations on the chart. These are not classical and are filtered by further analyzing market activity. A trader's classic with a spin.
The Prime Trend Assistant: provides a trend following dynamic support and resistance level. This makes it perfect to use in confluence or as a filter for other supporting indicators. This is an adaptive trend following system designed to handle volatility leveraging filter kernels as opposed to low pass filters.
Money Flow: with further filters applied for early response to money flow changes in the market. This can be a great filter in trends.
Oscillator reversals: are built in leveraging an oscillator focusing on market momentum allowing users to enter based on market shifts and trends along with reversals.
Volume-Inspired Signals: determine overbought and oversold conditions, adding another layer of analysis to the oscillator. These appear as orange labels, providing a simple reading into a possible reversal.
The Volume Matrix: is a volume oscillator that shows whether money is flowing into or out of the market. Green suggests an uptrend with buyers in control, while red indicates a majority of sellers. By incorporating smoothed volume analysis, it distinguishes between bullish and bearish volumes, offering an early indication of potential trend reversals.
The True 7: is a middle-ranking system that evaluates the strength of a move and the overall trend, offering a numeric or visual representation of trend strength. It can also indicate when a trend is starting to reverse, providing leading signals for potential market shifts. Rather than using an oscillator, this offers the unique edge of falling into set categories, making understanding it simple. This can be a great confluence point when designing a strategy.
Take profits: These offer real-time suggestions from our algorithm on when it might be a good time to take profit. Using these as part of a strategy allows for great entries at bottoms and tops of trends.
Using features such as the Dynamic reactor have dual purposes. Traders can use this as both a filter and an entry condition. This allows for true interoperability when using the Strategy Builder. The above conditions are duplicated for short entries too allowing for symmetrical trading systems. By disabling all of the entry conditions on either long or short areas of the settings will create a strategy that only takes a single type of position. For example; a trader that just wants to take longs can disable all short options.
2. Layered Entries
Layered entries, a feature to enhance the uniqueness in the tool. It allows traders to average into positions as the market moves, rather than committing all capital at once. This feature is particularly useful for volatile markets where prices may fluctuate substantially. The Strategy Builder lets users adjust the number of layered entries, which can help in managing risk and optimizing entry points as well as the aggressiveness of the safety orders. With each safety order placed the system will automatically and dynamically scale into positions reducing the average entry price and hence dynamically adjust the potential take profits. Due to the potential complexities of exiting during multiple orders, a smart system is employed to automatically take profits on the layered system aiming to take profits at peaks of trends.
Users are able to override this smart TP system at the bottom of the settings instead targeting percentage profits for both short and long positions.
Entries lowering average buy price
The ability to adjust how quickly the system layers into positions can also be adjusted via the layered entries drop down between fast and slow mode where the slow mode will be more cautious when producing new orders.
3. Flexible Take Profit (TP) and Stop Loss (SL) Options
Traders can set their TP and SL levels according to various parameters, including ATR (Average True Range), risk-reward ratio, trailing stops, or specific price changes. If layered entries are active, an automatic TP method is applied by default, though traders can manually specify TP values if they prefer. This setup allows for precise control over trade exits, tailored to the strategy’s risk profile.
Provided options
The ability to use external take profits and stop losses is also provided. By loading an indicator of your choice the plots will be added to the chart. By navigating to the external sources area of the settings, users can select this plot and use it as part of a wider trading system.
Example: Let’s say a user has entries based on the inbuilt trend signals and wishes to exit whenever the RSI crosses above 70, they can add RSI to the chart, select crossing up and enter the value of 70.
4. Integrated Reinvestment for Compounding Gains
The reinvestment option allows traders to reinvest a portion of their gains into future trades, increasing trade size over time and benefiting from compounding. For example, a user might set 30% of each trade's profit to reinvest, with the remaining 70% allocated for risk management or additional safety orders. This approach can enhance long-term growth while balancing risk.
Generally in trading it can be a good approach to take profits so we suggest a healthy balance. This setting is generally best used for slow steady strategies with the long term aim of accumulating as much of the asset as possible.
5. Leverage and Position Sizing
Users can configure leverage and position sizing to simulate varying risk levels and capital allocations. A dashboard on the interface displays margin requirements based on the selected leverage, allowing traders to estimate trade sizes relative to their available capital. Whenever using leverage especially with layered entries it’s important to keep a close eye on the position sizes to avoid potential liquidations.
6. Pre-Configured Strategies for Immediate Testing
For users seeking a starting point, ChartPrime includes a range of preset strategies. These were developed and backtested by ChartPrime’s team. This allows traders to start with a stable base and adapt it to their own preferences. It is vital to understand that historical performance doesn't guarantee future success, and traders should be mindful of overfitting. These pre-built configurations offer a structured way and base to design strategies off of. These are also subject to changing results as new price action arrives and they become outdated. They serve the purpose of simply being example use cases.
7. In-Depth Specific Backtesting Ranges
The Strategy Builder includes backtesting capabilities, providing a clear view of how different setups would have performed over specified time periods. Traders can select date ranges to target specific market conditions, then review results on TradingView to see how their strategies perform across different market trends.
Example Use Case: Developing a Strategy
Consider a trader who is focused on long positions only and prefers a lower-risk strategy (note these tools can be used for all assets; we are using an undisclosed asset as an example). Using the Strategy Builder, they could:
- Disable short conditions.
- Set long entry rules to trigger when both the ChartPrime oscillator and Quantum Reactor indicators show bullish signals.
- Enable layered entries to improve average entry prices by adding to positions during market dips.
- Run a backtest over a two-year period to see historical performance trends, making adjustments as needed.
The backtest will show where entries and exits would have occurred and how layered entries may have impacted profitability.
8. Iterative design
Strategy builders and creating a strategy is often an iterative process. By experimenting and using logic; a trader can arrive at a more sustainable system. Analyzing the shortcomings of your strategy and iteratively designing and filtering them out is the goal. For example; let’s say a strategy has high drawdown, a user would want to tighten stop losses for example to reduce this and find a balance point between optimizing winning trades and reducing the drawdown. When designing a strategy there are generally tradeoffs and optimizing taking into consideration a wide range of factors is key. This also applies to filtering techniques, entries and exits and every variable in the strategy.
Let’s say a strategy was taking too many long positions in a downtrend and after you’ve analyzed the data, you come to the conclusion this needs to be solved. Filtering these using built in trend following tools can be a great approach and refining with logic is a great approach.
The Strategy Builder also takes into consideration those who seek to automate especially via reinvesting and leverage features.
Considerations
The ChartPrime Strategy Builder aims to help traders build clear, rule-based strategies without excessive complexity. As with all backtesting tools, it's crucial to understand that historical performance doesn't guarantee future success, and traders should be mindful of overfitting. This tool offers a structured way to test strategies against various market conditions, helping traders refine their approaches with data-driven insights. Traders should also ensure they enter the correct fees when designing strategies and ensure usage on standard candle types.
MMTools - Backtester❖ Overview
Backtester is a script implemented as a strategy, featuring multiple conditions and tools to offer an alternative way to work with Catcher. It supports both backtesting and algorithmic trading, allowing you to evaluate the indicator's performance on historical data for any instrument using the Strategy Tester.
❖ Settings
⚙️ Custom Conditions and Signals
This section is intended to provide flexibility when working with Catcher. (If you intend to use Catcher alone, this section can be disregarded). You may combine the primary indicator (Catcher) with additional custom indicators to define entry and exit signals. Simply add the custom indicator to your chart, display it and then select its name in the corresponding dropdown menu. By default, the 'Close' option is selected, meaning custom conditions are disabled.
Operator 'OR': An entry order is activated when either your custom signal or the primary signal occurs.
Operator 'AND': An entry order is activated only when both the custom and primary signals occur simultaneously.
If both 'AND' and 'OR' operators are used, enabling the 'Only Primary' option will apply the 'AND' operator only to the primary indicator.
Custom Exit: Allows the strategy to close a position based on a custom signal, in addition to standard exit conditions. The first condition met will trigger the exit.
Note: The strategy executes orders at the open of the next bar after the custom condition is met.
⚙️ Confirmation
When enabled, the strategy will enter a position only if a specified number of signals occur within a defined lookback period.
⚙️ Exits
Two types of exit mechanisms are available for take-profit and stop-loss:
Timeout: Sets a maximum duration (in bars) that a trade can remain open. If this limit is exceeded, the strategy will close the position.
Percentage-Based: Exit positions based on a specified percentage move.
⚙️ Start Date
Specifies the starting point for the backtest.
⚙️ Plotting
The green line represents the take-profit level, while the red line indicates the stop-loss level. Plotting is limited to the last 250 bars.
⚙️ Other Settings
Remember to configure additional parameters under the “Properties” tab, including commissions, slippage, and pyramiding. Default commission is set at 0.05%.
❖ Access
Please refer to the Author's Instructions field to request access to the script.
-----------------------------------------------------------
Disclaimer
The information provided by my scripts is for informational purposes only and does not constitute financial advice. Past performance is not indicative of future results. Always do your own research before making financial decisions.
Algorithm Builder (Signal version)Gentlemen traders
As promised, here's the Algorithm Builder (Signal Version) that is an alternative version of that previous indicator : Strategy-Builder-Crypto-Single-Trend-Plots/
This one was quite successful and already 11 person bought for me which is unbelievable. Thank you so much guys for your appreciation of my work
The script of this present post is still invite-only because it required years in the making (it's the fruit of all my errors and trials while trading for the past 7 years and when developing trading bots for traders professionally)
What's the Algorithm Builder?
Simply put, the indicator will detect the confluence/convergence of multiple unrelated indicators and alert you when the ones YOU selected will be in the same direction. (if you didn't understand this it's because I'm french)
For example, let's say you select a MM cross and MACD, whenever the MM cross will be green/bullish AND MACD green/bullish also, you'll get a nice .... wait for it..... green/bullish /diamond. Starting to see what I meant before now :)
Not sure if I should go as far as introducing the other example but let's go for it. Still, in the same spirit, a confluence of red/bearish MM cross and red/bearish MACD will give .... (finish the sentence and you'll get my appreciation. hint: the color of the diamond will be red)
So what's cool about it now ... or I should say even cooler... even more awesome (Barney Stinson, please hive five me for this tool...) is that it can be plugged in a single click to a complete Backtest engine
I inspired myself greatly from the Pinescripters Backtesting-Trading-Engine-PineCoders/ but had to make changes to adapt it to my tool.
It took me a few days of work and I'll share it also tomorrow so please stay tuned and give me a follow so that you'll be updated
In the Backtester itself, I added some features like :
- Stop-loss based on supertrend
- Hard Exit based on indicators used by the Algorithm Builder
I just made it more relevant for my indicator
Performance sir?
The period selected for the screenshot below is the last 3 months
Here's a preview of what you should expect tomorrow as well imgur.com
There isn't a BEST configuration for the tool. I made one that matches my psychology and capital. You'll have to find yours by playing with it or asking me for a bit of help if you're lost
Will require a bit of work but could be very worth it in the end :)
What's next sir?
I'm perfectly aware that the indicator doesn't give a lot of signals and that's because it's an entry-level version of all the Algorithm Builders I'm selling now and will be available on my website by end of August (along with the website itself)
More advanced versions already made allow to :
- get more entries
that one is the best addition, in my opinion, it multiplies the gains (and losses :P) as it allows some orders pyramiding and to reinforce a position if the trend is very strong. You won't have to do anything, just to wait for the alerts by email/sms from TradingView
- multiple take profit levels
- connected to systems like Autoview/ProfitView to automatize even more your trading and send those signals to your broker directly (I will strongly advise starting with a demo account for 1 week or 2 here, I don't want you to burn your capital if any unexpected bad event will happen)
- screener
If you're interested please message me. I can develop your custom indicator/strategy/backtest/automatic system or if you're ready the take the leap of faith and try this indicator or the more advanced versions
And before I get asked, yes this is the tool I use for my own trading as initially, I made it for me. Now sharing a bit of my work (and too much of my life) with the community
PS
____________________________________________________________
Feel free to hit the thumbs up as it shows me that I'm not doing this for nothing and will motivate to deliver more quality content in the future.
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
- if you like my work and wants to buy me some coffee :
- BTC TipJar: 3MKDve7stWTe1io99oFxeQXvP8XB4zCQ8m
- LTC TipJar: MC5oeBAhw9BLqyi65TR3J1Lid8io9uHADw
The Adaptive Pairwise Momentum System [QuantraSystems]The Adaptive Pairwise Momentum System
QuantraSystems guarantees that the information created and published within this document and on the Tradingview platform is fully compliant with applicable regulations, does not constitute investment advice, and is not exclusively intended for qualified investors.
Important Note!
The system equity curve presented here has been generated as part of the process of testing and verifying the methodology behind this script.
Crucially, it was developed after the system was conceptualized, designed, and created, which helps to mitigate the risk of overfitting to historical data. In other words, the system was built for robustness, not for simply optimizing past performance.
This ensures that the system is less likely to degrade in performance over time, compared to hyper-optimized systems that are tailored to past data. No tweaks or optimizations were made to this system post-backtest.
Even More Important Note!!
The nature of markets is that they change quickly and unpredictably. Past performance does not guarantee future results - this is a fundamental rule in trading and investing.
While this system is designed with broad, flexible conditions to adapt quickly to a range of market environments, it is essential to understand that no assumptions should be made about future returns based on historical data. Markets are inherently uncertain, and this system - like all trading systems - cannot predict future outcomes.
Introduction
The Adaptive Pairwise Momentum System is not just an indicator but a comprehensive asset rotation and trend-following system. In short, it aims to find the highest performing asset from the provided range.
The system dynamically optimizes capital allocation across up to four high-performing assets, ensuring that the portfolio adapts swiftly to changing market conditions. The system logic consists of sophisticated quantitative methods, rapid momentum analysis, and robust trend filtering. The overarching goal is to ensure that the portfolio is always invested in the highest-performing asset based on dynamic market conditions, while at the same time managing risk through broader market filters and internal mechanisms like volatility and beta analysis.
Legend
System Equity Curve:
The equity curve displayed in the chart is dynamically colored based on the asset allocation at any given time. This color-coded approach allows traders to immediately identify transitions between assets and the corresponding impact on portfolio performance.
Highlighting of Current Highest Performer:
The current bar in the chart is highlighted based on the confirmed highest performing asset. This is designed to give traders advanced notice of potential shifts in allocation even before a formal position change occurs. The highlighting enables traders to prepare in real time, making it easier to manage positions without lag, particularly in fast-moving markets.
Highlighted Symbols in the Asset Table:
In the table displayed on the right hand side of the screen, the current top-performing symbol is highlighted. This clear signal at a glance provides immediate insight into which asset is currently being favored by the system. This feature enhances clarity and helps traders make informed decisions quickly, without needing to analyze the underlying data manually.
Performance Overview in Tables:
The left table provides insight into both daily and overall system performance from inception, offering traders a detailed view of short-term fluctuations and long-term growth. The right-hand table breaks down essential metrics such as Sharpe ratio, Sortino ratio, Omega ratio, and maximum drawdown for each asset, as well as for the overall system and HODL strategy.
Asset-Specific Signals:
The signals column in the table indicates whether an asset is currently held or being considered for holding based on the system's dynamic rankings. This is a critical visual aid for asset reallocation decisions, signaling when it may be appropriate to either maintain or change the asset of the portfolio.
Core Features and Methodologies
Flexibility in Asset Selection
One of the major advantages of this system is its flexibility. Users can easily modify the number and type of assets included for comparison. You can quickly input different assets and backtest their performance, allowing you to verify how well this system might fit different tokens or market conditions. This flexibility empowers users to adapt the system to a wide range of market environments and tailor it to their unique preferences.
Whole System Risk Mitigation - Macro Trend Filter
One of the features of this script is its integration of a Macro-level Trend Filter for the entire portfolio. The purpose of this filter is to ensure no capital is allocated to any token in the rotation system unless Bitcoin itself is in a positive trend. The logic here is that Bitcoin, as the cryptocurrency market leader, often sets the tone for the entire cryptocurrency market. By using Bitcoins trend direction as a barometer for overall market conditions, we create a system where capital is not allocated during unfavorable or bearish market conditions - significantly reducing exposure to downside risk.
Users have the ability to toggle this filter on and off in the input menu, with five customizable options for the trend filter, including the option to use no filter. These options are:
Nova QSM - a trend aggregate combining the Rolling VWAP, Wave Pendulum Trend, KRO Overlay, and the Pulse Profiler provides the market trend signal confirmation.
Kilonova QSM - a versatile aggregate combining the Rolling VWAP, KRO Overlay, the KRO Base, RSI Volatility Bands, NNTRSI, Regression Smoothed RSI and the RoC Suite.
Quasar QSM - an enhanced version of the original RSI Pulsar. The Quasar QSM refines the trend following approach by utilizing an aggregated methodology.
Pairwise Momentum and Strength Ranking
The backbone of this system is its ability to identify the strongest-performing asset in the selected pool, ensuring that the portfolio is always exposed to the asset showing the highest relative momentum. The system continually ranks these assets against each other and determines the highest performer by measure of past and coincident outperformance. This process occurs rapidly, allowing for swift responses to shifts in market momentum, which ensures capital is always working in the most efficient manner. The speed and precision of this reallocation strategy make the script particularly well-suited for active, momentum-driven portfolios.
Beta-Adjusted Asset Selection as a Tiebreaker
In the circumstance where two (or more) assets exhibit the same relative momentum score, the system introduces another layer of analysis. In the event of a strength ‘tie’ the system will preference maintaining the current position - that is, if the previously strongest asset is now tied, the system will still allocate to the same asset. If this is not the case, the asset with the higher beta is selected. Beta is a measure of an asset’s volatility relative to Bitcoin (BTC).
This ensures that in bullish conditions, the system favors assets with a higher potential for outsized gains due to their inherent volatility. Beta is calculated based on the Average Daily Return of each asset compared to BTC. By doing this, the system ensures that it is dynamically adjusting to risk and reward, allocating to assets with higher risk in favorable conditions and lower risk in less favorable conditions.
Dynamic Asset Reallocation - Opposed to Multi-Asset Fixed Intervals
One of the standout features of this system is its ability to dynamically reallocate capital. Unlike traditional portfolio allocation strategies that may rebalance between a basket of assets monthly or quarterly, this system recalculates and reallocates capital on the next bar close (if required). As soon as a new asset exhibits superior performance relative to others, the system immediately adjusts, closing the previous position and reallocating funds to the top-ranked asset.
This approach is particularly powerful in volatile markets like cryptocurrencies, where trends can shift quickly. By reallocating swiftly, the system maximizes exposure to high-performing assets while minimizing time spent in underperforming ones. Moreover, this process is entirely automated, freeing the trader from manually tracking and measuring individual token strength.
Our research has demonstrated that, from a risk-adjusted return perspective, concentration into the top-performing asset consistently outperforms broad diversification across longer time horizons. By focusing capital on the highest-performing asset, the system captures outsized returns that are not achievable through traditional diversification. However, a more risk-averse investor, or one seeking to reduce drawdowns, may prefer to move the portfolio further left along the theoretical Capital Allocation Line by incorporating a blend of cash, treasury bonds, or other yield-generating assets or even include market neutral strategies alongside the rotation system. This hybrid approach would effectively lower the overall volatility of the portfolio while still maintaining exposure to the system’s outsized returns. In theory, such an investor can reduce risk without sacrificing too much potential upside, creating a more balanced risk-return profile.
Position Changes and Fees/Slippage
Another critical and often overlooked element of this system is its ability to account for fees and slippage. Given the increased speed and frequency of allocation logic compared to the buy-and-hold strategy, it is of vital importance that the system recognises that switching between assets may incur slippage, especially in highly volatile markets. To account for this, the system integrates realistic slippage and fee estimates directly into the equity curve, simulating expected execution costs under typical market conditions and gives users a more realistic view of expected performance.
Number of Position Changes
Understanding the number of position changes in a strategy is critical to assessing its feasibility in real world trading. Frequent position changes can lead to increased costs due to slippage and fees. Monitoring the number of position changes provides insight into the system’s behavior - helping to evaluate how active the strategy is and whether it aligns with the trader's desired time input for position management.
Equity Curve and Performance Calculations
To provide a benchmark, the script also generates a Buy-and-Hold (or "HODL") equity curve that represents an equal split across the four selected assets. This allows users to easily compare the performance of the dynamic rotation system with that of a more traditional investment strategy.
The script tracks key performance metrics for both the dynamic portfolio and the HODL strategy, including:
Sharpe Ratio
The Sharpe Ratio is a key metric that evaluates a portfolio’s risk-adjusted return by comparing its ‘excess’ return to its volatility. Traditionally, the Sharpe Ratio measures returns relative to a risk-free rate. However, in our system’s calculation, we omit the risk-free rate and instead measure returns above a benchmark of 0%. This adjustment provides a more universal comparison, especially in the context of highly volatile assets like cryptocurrencies, where a traditional risk-free benchmark, such as the usual 3-month T-bills, is often irrelevant or too distant from the realities of the crypto market.
By using 0% as the baseline, we focus purely on the strategy's ability to generate raw returns in the face of market risk, which makes it easier to compare performance across different strategies or asset classes. In an environment like cryptocurrency, where volatility can be extreme, the importance of relative return against a highly volatile backdrop outweighs comparisons to a risk-free rate that bears little resemblance to the risk profile of digital assets.
Sortino Ratio
The Sortino Ratio improves upon the Sharpe Ratio by specifically targeting downside risk and leaves the upside potential untouched. In contrast to the Sharpe Ratio (which penalizes both upside and downside volatility), the Sortino Ratio focuses only on negative return deviations. This makes it a more suitable metric for evaluating strategies like the Adaptive Pairwise Momentum Strategy - that aim to minimize drawdowns without restricting upside capture. By measuring returns relative to a 0% baseline, the Sortino ratio provides a clearer assessment of how well the system generates gains while avoiding substantial losses in highly volatile markets like crypto.
Omega Ratio
The Omega Ratio is calculated as the ratio of gains to losses across all return thresholds, providing a more complete view of how the system balances upside and downside risk even compared to the Sortino Ratio. While it achieves a similar outcome to the Sortino Ratio by emphasizing the system's ability to capture gains while limiting losses, it is technically a mathematically superior method. However, we include both the Omega and Sortino ratios in our metric table, as the Sortino Ratio remains more widely recognized and commonly understood by traders and investors of all levels.
Case Study
Notes
For the sake of brevity, the Important Notes section found in the header of this text will not be rewritten. Instead, it will be highlighted that now is the perfect time to reread these notes. Reading this case study in the context of what has been mentioned above is of key importance.
As a second note, it is worth mentioning that certain market periods are referred to as either “Bull” or “Bear” markets - terms I personally find to be vague and undefinable - and therefore unfavorable. They will be used nevertheless, due to their familiarity and ease of understanding in this context. Substitute phrases could be “Macro Uptrend” or “Macro Downtrend.”
Overview
This case study provides an in-depth performance analysis of the Adaptive Pairwise Momentum System , a long-only system that dynamically allocates to outperforming assets and moves into cash during unfavorable conditions.
This backtest includes realistic assumptions for slippage and fees, applying a 0.5% cost for every position change, which includes both asset reallocation and moving to a cash position. Additionally, the system was tested using the top four cryptocurrencies by market capitalization as of the test start date of 01/01/2022 in order to minimize selection bias.
The top tokens on this date (excluding Stablecoins) were:
Bitcoin
Ethereum
Solana
BNB
This decision was made in order to avoid cherry picking assets that might have exhibited exceptional historical performance - minimizing skew in the back test. Furthermore, although this backtest focuses on these specific assets, the system is built to be flexible and adaptable, capable of being applied to a wide range of assets beyond those initially tested.
Any potential lookahead bias or repainting in the calculations has been addressed by implementing the lookback modifier for all repainting sensitive data, including asset ratios, asset scoring, and beta values. This ensures that no future information is inadvertently used in the asset allocation process.
Additionally, a fixed lookback period of one bar is used for the trend filter during allocations - meaning that the trend filter from the prior bar must be positive for an allocation to occur on the current bar. It is also important to note that all the data displayed by the indicator is based on the last confirmed (closed) bar, ensuring that the entire system is repaint-proof.
The study spans the 2022 cryptocurrency bear market through the subsequent bull market of 2023 and 2024. The stress test highlights how the system reacted to one of the most challenging market downturns in crypto history - which includes events such as:
Luna and TerraUSD crash
Three Arrows Capital liquidation
Celsius bankruptcy
Voyager Digital bankruptcy
FTX collapse
Silicon Valley + Signature + Silvergate banking collapses
Subsequent USDC deppegging
And arguably more important, 2022 was characterized by a tightening of monetary policy after the unprecedented monetary easing in response to the Covid pandemic of 2020/2021. This shift undeniably puts downward pressure on asset prices, most probably to the extent that this had a causal role to many of the above events.
By incorporating these real-world challenges, the backtest provides a more accurate and robust performance evaluation that avoids overfitting or excessive optimization for one specific market condition.
The Bear Market of 2022: Stress Test and System Resilience
During the 2022 bear market, where the overall crypto market experienced deep and consistent corrections, the Adaptive Pairwise Momentum System demonstrated its ability to mitigate downside risk effectively.
Dynamic Allocation and Cash Exposure:
The system rotated in and out of cash, as indicated by the gray period on the system equity curve. This allocation to cash during downtrending periods, specifically in late 2022, acted as the systems ‘risk-off’ exposure - the purest form of such an exposure. This prevented the system from experiencing the magnitude of drawdown suffered by the ‘Buy-and-Hold (HODL) investors.
In contrast, a passive HODL strategy would have suffered a staggering 75.32% drawdown, as it remained fully allocated to chosen assets during the market's decline. The active Pairwise Momentum system’s smaller drawdown of 54.35% demonstrates its more effective capital preservation mechanisms.
The Bull Market of 2023 and 2024: Capturing Market Upside
Following the crypto bear market, the system effectively capitalized on the recovery and subsequent bull market of 2023 and 2024.
Maximizing Market Gains:
As trends began turning bullish in early 2023, the system caught the momentum and promptly allocated capital to only the quantified highest performing asset of the time - resulting in a parabolic rise in the system's equity curve. Notably, the curve transitions from gray to purple during this period, indicating that Solana (SOL) was the top-performing asset selected by the system.
This allocation to Solana is particularly striking because, at the time, it was an asset many in the market shunned due to its association with the FTX collapse just months prior. However, this highlights a key advantage of quantitative systems like the one presented here: decisions are driven purely from objective data - free from emotional or subjective biases. Unlike human traders, who are inclined (whether consciously or subconsciously) to avoid assets that are ‘out of favor,’ this system focuses purely on price performance, often uncovering opportunities that are overlooked by discretionary based investors. This ability to make data-driven decisions ensures that the strategy is always positioned to capture the best risk-adjusted returns, even in scenarios where judgment might fail.
Minimizing Volatility and Drawdown in Uptrends
While the system captured substantial returns during the bull market it also did so with lower volatility compared to HODL. The sharpe ratio of 4.05 (versus HODL’s 3.31) reflects the system's superior risk-adjusted performance. The allocation shifts, combined with tactical periods of cash holding during minor corrections, ensured a smoother equity curve growth compared to the buy-and-hold approach.
Final Summary
The percentage returns are mentioned last for a reason - it is important to emphasize that risk-adjusted performance is paramount. In this backtest, the Pairwise Momentum system consistently outperforms due to its ability to dynamically manage risk (as seen in the superior Sharpe, Sortino and Omega ratios). With a smaller drawdown of 54.35% compared to HODL’s 75.32%, the system demonstrates its resilience during market downturns, while also capturing the highest beta on the upside during bullish phases.
The system delivered 266.26% return since the backtest start date of January 1st 2022, compared to HODL’s 10.24%, resulting in a performance delta of 256.02%
While this backtest goes some of the way to verifying the system’s feasibility, it’s important to note that past performance is not indicative of future results - especially in volatile and evolving markets like cryptocurrencies. Market behavior can shift, and in particular, if the market experiences prolonged sideways action, trend following systems such as the Adaptive Pairwise Momentum Strategy WILL face significant challenges.
TFi Pivot Reversal V3The Pivot Reversal Study uses pivot points to create a support and resistance level; based on this levels the script creates virtual stop-market orders to catch the trend if the price is crossing the pivot lines.
A "Pyramiding" input allows to configure up to 3 entries; the script enters an additional position if the price falls by a configurable percentage amount (long), the reverse to short orders.
A configurable profit-target and stop-loss is being used to exit an open position.
An optional Moving Average filter can be used to enable only long or short positions.
The script renders a status box at the last bar, which shows the current position status and result of the built-in trading simulation results.
It shows the following statistic values:
current position PnL - also background turns green if position is in profit and red if in loss
the percentage distance to the profit-target and stop-loss level
the overall number of wins and losses and the win/loss ratio
the overall profit and loss amount (assuming a quantity of 1)
the net-profit and profit-ratio
For the correct simulation of entry/exit prices, the script contains inputs for a percentage entry and exit slippage.
The study also creates configurable alerts, which follow the exact position of the entry/exit markers. The default alert messages contain trading instruction to execute orders via Alertatron; but the message content can be replaced if configuring the alert in the Tradingview environment.
The script was mainly backtested with crypto-coins, e.g. XBTUSD at 15min timeframe. But the script also works with any other type of security and timeframe.
How to access
This strategy is a "Invite Only" script. You can can subscribe or purchase the strategy; please use the link below or send me a message via Tradingview to obtain access to the strategy and study script.
For enabling the script in your Tradingview chart window, click on "Indicators" and select "Invite-Only Scripts".
Full list of alerts
'Alertatron Exit' ... Exit all open positions.
'Alertatron Enter Long' ... Enter long position, w/o stop-loss being used.
'Alertatron Enter Short' ... Enter short position, w/o stop-loss being used.
'Alertatron Enter Long SL' ... Enter long position, w/ stop-loss being used.
'Alertatron Enter Short SL' ... Enter short position, w/ stop-loss being used.
Full list of parameters
"Pivot Left Bars" ... Number of bars on the left of the pivot point - used for pivot /peak detection.
"Pivot Right Bars" ... Number of bars on the right of the pivot point - used for pivot /peak detection.
"MA Filter Fast" ... Moving Average filter fast period.
"MA Filter Slow" ... Moving Average filter slow period.
"Profit Target Option" ... Configure the profit-target either as a fix percentage value or an ATR.
"Profit Target " ... Fix percentage profit-target.
"Profit ATR Period" ... ATR profit-target period.
"Profit ATR Factor" ... ATR profit-target factor/multiplier.
"Stop Loss Option" ... Configure the stop-loss either as a fix percentage value or disable the stop-loss completely.
"Stop Loss " ... Fix percentage stop-loss.
"Rebuy Loss " ... Percentage loss of the initial position before script enter a nw position in the same direction.
"Pyramiding" ... Maximum number of positions.
"Show MA Plots" ... Show/hide Moving average plots.
"Slippage Entry " ... Percentage slippage for entering a position.
"Slippage Exit " ... Percentage slippage for exiting a position.
"Statistic Label" ... Defines the position of the statistic label relatively to the last bar in the chart.
"Backtest Start" ... Backtest start time; area outside this timeframe will be grayed out.
"Backtest Stop" ... Backtest stop time; area outside this timeframe will be grayed out.
"Backtest Mode" ... Closes the currently opened position if chart switches to last bar; please only enable if backtesting, otherwise it leads to unwanted alerts.
WARB STARD [v0.5] -- BACKTESTER
WARB*STARD is a more HTF bot script that operates best on the H4 time frame.
Like my other bots, it uses a very very simple technique; just a pair of moving averages... (that's all you need folks). Keeping it simple is almost always the best approach and I feel leans toward more favourable performance, going forward into the unknown. After all, backtests are hypothetical.
Features include
* separate long/short settings (I feel this is justified in e.g. growth markets)
* internally use heikin ashi candles (TV's backtester uses the wrong open/close price for HA)
* multi-exchange weighted price for BTCUSD
* generates take profit warnings
Will update this backtest page when necessary and create a separate published script for signals.
Candlestick Patterns detection and backtester [TrendX_]INTRODUCTION:
The Candlestick Patterns detection and backtester is designed to empower traders by identifying and analyzing candlestick patterns. Leveraging the robust Pine Script's add-in “All Candlestick Patterns”, this indicator meticulously scans the market for candlestick formations, offering insights into potential market movements. With its backtesting capabilities, we evaluate historical data to present traders with performance metrics such as win rates, net profit, and profit factors for each pattern. This allows traders to make informed decisions based on empirical evidence. The customizable settings, including trend filters and exit conditions, provide a tailored experience, adapting to various trading styles and strategies.
CREDIT:
This indicator is powered by the Pinescript add-in, *All Candlestick Patterns*, which provides a comprehensive library of candlestick formations.
TABLE USAGE:
The indicator features a detailed usage table that presents backtested results of all candlestick patterns. This includes:
Win Rates: The percentage of trades that resulted in a profit.
Net Profit: The total profit after subtracting losses from gains.
Profit Factor: A measure of the indicator’s profitability (gross profit / gross loss).
Total Trades: The total number of trades taken for every candlestick pattern's appearance.
CHART CANDLESTICK USAGE:
The indicator integrates candlestick pattern detections directly into the chart, displaying:
Pattern Detections: Each detected pattern is marked on the chart.
Win Rates: The win rate of each pattern is shown in brackets next to the detection.
CHART SETTINGS:
Users can customize the indicator with a variety of trend filters and settings:
Trend Filters: Apply filters based on SMA50, SMA200, Supertrend, and RSI threshold to refine pattern detections.
Exit Condition: Set an exit condition based on the crossing of a simple moving average of customizable length.
Visibility: Choose to show or hide the candlestick patterns’ detections on the chart.
Hull Suite StrategyConverted the hull suite into a strategy script for easy backtesting and added ability to specify a time periods to backtest over.
888 BOT #backtest█ 888 BOT #backtest
This is an Expert Advisor 'EA' or Automated trading script for ‘longs’ and ‘shorts’, which uses only a Take Profit or, in the worst case, a Stop Loss to close the trade.
It's a much improved version of the previous ‘Repanocha’. It doesn`t use 'Trailing Stop' or 'security()' functions (although using a security function doesn`t mean that the script repaints) and all signals are confirmed, therefore the script doesn`t repaint in alert mode and is accurate in backtest mode.
Apart from the previous indicators, some more and other functions have been added for Stop-Loss, re-entry and leverage.
It uses 8 indicators, (many of you already know what they are, but in case there is someone new), these are the following:
1. Jurik Moving Average
It's a moving average created by Mark Jurik for professionals which eliminates the 'lag' or delay of the signal. It's better than other moving averages like EMA, DEMA, AMA or T3.
There are two ways to decrease noise using JMA. Increasing the 'LENGTH' parameter will cause JMA to move more slowly and therefore reduce noise at the expense of adding 'lag'
The 'JMA LENGTH', 'PHASE' and 'POWER' parameters offer a way to select the optimal balance between 'lag' and over boost.
Green: Bullish, Red: Bearish.
2. Range filter
Created by Donovan Wall, its function is to filter or eliminate noise and to better determine the price trend in the short term.
First, a uniform average price range 'SAMPLING PERIOD' is calculated for the filter base and multiplied by a specific quantity 'RANGE MULTIPLIER'.
The filter is then calculated by adjusting price movements that do not exceed the specified range.
Finally, the target ranges are plotted to show the prices that will trigger the filter movement.
Green: Bullish, Red: Bearish.
3. Average Directional Index (ADX Classic) and (ADX Masanakamura)
It's an indicator designed by Welles Wilder to measure the strength and direction of the market trend. The price movement is strong when the ADX has a positive slope and is above a certain minimum level 'ADX THRESHOLD' and for a given period 'ADX LENGTH'.
The green color of the bars indicates that the trend is bullish and that the ADX is above the level established by the threshold.
The red color of the bars indicates that the trend is down and that the ADX is above the threshold level.
The orange color of the bars indicates that the price is not strong and will surely lateralize.
You can choose between the classic option and the one created by a certain 'Masanakamura'. The main difference between the two is that in the first it uses RMA () and in the second SMA () in its calculation.
4. Parabolic SAR
This indicator, also created by Welles Wilder, places points that help define a trend. The Parabolic SAR can follow the price above or below, the peculiarity that it offers is that when the price touches the indicator, it jumps to the other side of the price (if the Parabolic SAR was below the price it jumps up and vice versa) to a distance predetermined by the indicator. At this time the indicator continues to follow the price, reducing the distance with each candle until it is finally touched again by the price and the process starts again. This procedure explains the name of the indicator: the Parabolic SAR follows the price generating a characteristic parabolic shape, when the price touches it, stops and turns (SAR is the acronym for 'stop and reverse'), giving rise to a new cycle. When the points are below the price, the trend is up, while the points above the price indicate a downward trend.
5. RSI with Volume
This indicator was created by LazyBear from the popular RSI.
The RSI is an oscillator-type indicator used in technical analysis and also created by Welles Wilder that shows the strength of the price by comparing individual movements up or down in successive closing prices.
LazyBear added a volume parameter that makes it more accurate to the market movement.
A good way to use RSI is by considering the 50 'RSI CENTER LINE' centerline. When the oscillator is above, the trend is bullish and when it is below, the trend is bearish.
6. Moving Average Convergence Divergence (MACD) and (MAC-Z)
It was created by Gerald Appel. Subsequently, the histogram was added to anticipate the crossing of MA. Broadly speaking, we can say that the MACD is an oscillator consisting of two moving averages that rotate around the zero line. The MACD line is the difference between a short moving average 'MACD FAST MA LENGTH' and a long moving average 'MACD SLOW MA LENGTH'. It's an indicator that allows us to have a reference on the trend of the asset on which it is operating, thus generating market entry and exit signals.
We can talk about a bull market when the MACD histogram is above the zero line, along with the signal line, while we are talking about a bear market when the MACD histogram is below the zero line.
There is the option of using the MAC-Z indicator created by LazyBear, which according to its author is more effective, by using the parameter VWAP (volume weighted average price) 'Z-VWAP LENGTH' together with a standard deviation 'STDEV LENGTH' in its calculation.
7. Volume Condition
Volume indicates the number of participants in this war between bulls and bears, the more volume the more likely the price will move in favor of the trend. A low trading volume indicates a lower number of participants and interest in the instrument in question. Low volumes may reveal weakness behind a price movement.
With this condition, those signals whose volume is less than the volume SMA for a period 'SMA VOLUME LENGTH' multiplied by a factor 'VOLUME FACTOR' are filtered. In addition, it determines the leverage used, the more volume, the more participants, the more probability that the price will move in our favor, that is, we can use more leverage. The leverage in this script is determined by how many times the volume is above the SMA line.
The maximum leverage is 8.
8. Bollinger Bands
This indicator was created by John Bollinger and consists of three bands that are drawn superimposed on the price evolution graph.
The central band is a moving average, normally a simple moving average calculated with 20 periods is used. ('BB LENGTH' Number of periods of the moving average)
The upper band is calculated by adding the value of the simple moving average X times the standard deviation of the moving average. ('BB MULTIPLIER' Number of times the standard deviation of the moving average)
The lower band is calculated by subtracting the simple moving average X times the standard deviation of the moving average.
the band between the upper and lower bands contains, statistically, almost 90% of the possible price variations, which means that any movement of the price outside the bands has special relevance.
In practical terms, Bollinger bands behave as if they were an elastic band so that, if the price touches them, it has a high probability of bouncing.
Sometimes, after the entry order is filled, the price is returned to the opposite side. If price touch the Bollinger band in the same previous conditions, another order is filled in the same direction of the position to improve the average entry price, (% MINIMUM BETTER PRICE ': Minimum price for the re-entry to be executed and that is better than the price of the previous position in a given %) in this way we give the trade a chance that the Take Profit is executed before. The downside is that the position is doubled in size. 'ACTIVATE DIVIDE TP': Divide the size of the TP in half. More probability of the trade closing but less profit.
█ STOP LOSS and RISK MANAGEMENT.
A good risk management is what can make your equity go up or be liquidated.
The % risk is the percentage of our capital that we are willing to lose by operation. This is recommended to be between 1-5%.
% Risk: (% Stop Loss x % Equity per trade x Leverage) / 100
First the strategy is calculated with Stop Loss, then the risk per operation is determined and from there, the amount per operation is calculated and not vice versa.
In this script you can use a normal Stop Loss or one according to the ATR. Also activate the option to trigger it earlier if the risk percentage is reached. '% RISK ALLOWED'
'STOP LOSS CONFIRMED': The Stop Loss is only activated if the closing of the previous bar is in the loss limit condition. It's useful to prevent the SL from triggering when they do a ‘pump’ to sweep Stops and then return the price to the previous state.
█ BACKTEST
The objective of the Backtest is to evaluate the effectiveness of our strategy. A good Backtest is determined by some parameters such as:
- RECOVERY FACTOR: It consists of dividing the 'net profit' by the 'drawdown’. An excellent trading system has a recovery factor of 10 or more; that is, it generates 10 times more net profit than drawdown.
- PROFIT FACTOR: The ‘Profit Factor’ is another popular measure of system performance. It's as simple as dividing what win trades earn by what loser trades lose. If the strategy is profitable then by definition the 'Profit Factor' is going to be greater than 1. Strategies that are not profitable produce profit factors less than one. A good system has a profit factor of 2 or more. The good thing about the ‘Profit Factor’ is that it tells us what we are going to earn for each dollar we lose. A profit factor of 2.5 tells us that for every dollar we lose operating we will earn 2.5.
- SHARPE: (Return system - Return without risk) / Deviation of returns.
When the variations of gains and losses are very high, the deviation is very high and that leads to a very poor ‘Sharpe’ ratio. If the operations are very close to the average (little deviation) the result is a fairly high 'Sharpe' ratio. If a strategy has a 'Sharpe' ratio greater than 1 it is a good strategy. If it has a 'Sharpe' ratio greater than 2, it is excellent. If it has a ‘Sharpe’ ratio less than 1 then we don't know if it is good or bad, we have to look at other parameters.
- MATHEMATICAL EXPECTATION: (% winning trades X average profit) + (% losing trades X average loss).
To earn money with a Trading system, it is not necessary to win all the operations, what is really important is the final result of the operation. A Trading system has to have positive mathematical expectation as is the case with this script: ME = (0.87 x 30.74$) - (0.13 x 56.16$) = (26.74 - 7.30) = 19.44$ > 0
The game of roulette, for example, has negative mathematical expectation for the player, it can have positive winning streaks, but in the long term, if you continue playing you will end up losing, and casinos know this very well.
PARAMETERS
'BACKTEST DAYS': Number of days back of historical data for the calculation of the Backtest.
'ENTRY TYPE': For '% EQUITY' if you have $ 10,000 of capital and select 7.5%, for example, your entry would be $ 750 without leverage. If you select CONTRACTS for the 'BTCUSDT' pair, for example, it would be the amount in 'Bitcoins' and if you select 'CASH' it would be the amount in $ dollars.
'QUANTITY (LEVERAGE 1X)': The amount for an entry with X1 leverage according to the previous section.
'MAXIMUM LEVERAGE': It's the maximum allowed multiplier of the quantity entered in the previous section according to the volume condition.
The settings are for Bitcoin at Binance Futures (BTC: USDTPERP) in 30 minutes.
For other pairs and other timeframes, the settings have to be adjusted again. And within a month, the settings will be different because we all know the market and the trend are changing.
█ 888 BOT (SPANISH)
Este es un Expert Advisor 'EA' o script de trading automatizado para ‘longs’ y ‘shorts’, el cual, utiliza solo un Take Profit o, en el peor de los casos, un Stop Loss para cerrar el trade.
Es una versión muy mejorada del anterior ‘Repanocha’. No utiliza ‘Trailing Stop’, ni funciones ‘security()’ (aunque usar una función security no significa que el script repinte) y todas las señales son confirmadas, por consiguiente, el script no repinta en modo alertas y es preciso en en el modo backtest.
Aparte de los anteriores indicadores se han añadido algunos más y otras funciones para Stop-Loss, de re-entrada y apalancamiento.
Utiliza 8 indicadores, (muchos ya sabéis sobradamente lo que son, pero por si hay alguien nuevo), son los siguientes:
1. Jurik Moving Average
Es una media móvil creada por Mark Jurik para profesionales la cual elimina el ‘lag’ o retardo de la señal. Es mejor que otras medias móviles como la EMA, DEMA, AMA o T3.
Hay dos formas de disminuir el ruido utilizando JMA. El aumento del parámetro 'LENGTH' hará que JMA se mueva más lentamente y, por lo tanto, reducirá el ruido a expensas de añadir ‘lag’
Los parámetros 'JMA LENGTH', 'PHASE' y 'POWER' ofrecen una forma de seleccionar el equilibrio óptimo entre ‘lag’ y sobre impulso.
Verde : Alcista, Rojo: Bajista.
2. Range filter
Creado por Donovan Wall, su función es la de filtrar o eliminar el ruido y poder determinar mejor la tendencia del precio a corto plazo.
Primero, se calcula un rango de precio promedio uniforme 'SAMPLING PERIOD' para la base del filtro y se multiplica por una cantidad específica 'RANGE MULTIPLIER'.
A continuación, el filtro se calcula ajustando los movimientos de precios que no exceden el rango especificado.
Por último, los rangos objetivo se trazan para mostrar los precios que activarán el movimiento del filtro.
Verde : Alcista, Rojo: Bajista.
3. Average Directional Index (ADX Classic) y (ADX Masanakamura)
Es un indicador diseñado por Welles Wilder para medir la fuerza y dirección de la tendencia del mercado. El movimiento del precio tiene fuerza cuando el ADX tiene pendiente positiva y está por encima de cierto nivel mínimo 'ADX THRESHOLD' y para un periodo dado 'ADX LENGTH'.
El color verde de las barras indica que la tendencia es alcista y que el ADX está por encima del nivel establecido por el threshold.
El color Rojo de las barras indica que la tendencia es bajista y que el ADX está por encima del nivel de threshold.
El color naranja de las barras indica que el precio no tiene fuerza y seguramente lateralizará.
Se puede elegir entre la opción clásica y la creada por un tal 'Masanakamura'. La diferencia principal entre los dos es que en el primero utiliza RMA() y en el segundo SMA() en su cálculo.
4. Parabolic SAR
Este indicador, creado también por Welles Wilder, coloca puntos que ayudan a definir una tendencia. El Parabolic SAR puede seguir al precio por encima o por debajo, la particularidad que ofrece es que cuando el precio toca al indicador, este salta al otro lado del precio (si el Parabolic SAR estaba por debajo del precio salta arriba y viceversa) a una distancia predeterminada por el indicador. En este momento el indicador vuelve a seguir al precio, reduciendo la distancia con cada vela hasta que finalmente es tocado otra vez por el precio y se vuelve a iniciar el proceso. Este procedimiento explica el nombre del indicador: el Parabolic SAR va siguiendo al precio generando una característica forma parabólica, cuando el precio lo toca, se para y da la vuelta (SAR son las siglas en inglés de ‘stop and reverse’), dando lugar a un nuevo ciclo. Cuando los puntos están por debajo del precio, la tendencia es alcista, mientras que los puntos por encima del precio indica una tendencia bajista.
5. RSI with Volume
Este indicador lo creo un tal LazyBear de TV a partir del popular RSI.
El RSI es un indicador tipo oscilador utilizado en análisis técnico y creado también por Welles Wilder que muestra la fuerza del precio mediante la comparación de los movimientos individuales al alza o a la baja de los sucesivos precios de cierre.
LazyBear le añadió un parámetro de volumen que lo hace más preciso al movimiento del mercado.
Una buena forma de usar el RSI es teniendo en cuenta la línea central de 50 'RSI CENTER LINE'. Cuando el oscilador está por encima, la tendencia es alcista y cuando está por debajo la tendencia es bajista.
6. Moving Average Convergence Divergence (MACD) y (MAC-Z)
Fue creado por Gerald Appel. Posteriormente se añadió el histograma para anticipar el cruce de medias. A grandes rasgos podemos decir que el MACD es un oscilador consistente en dos medias móviles que van girando en torno a la línea de cero. La línea del MACD no es más que la diferencia entre una media móvil corta 'MACD FAST MA LENGTH' y una media móvil larga 'MACD SLOW MA LENGTH'. Es un indicador que nos permite tener una referencia sobre la tendencia del activo sobre el cual se está operando, generando de este modo señales de entrada y salida del mercado.
Podemos hablar de mercado alcista cuando el histograma del MACD se sitúe por encima de la línea cero, junto con la línea de señal, mientras que hablaremos de mercado bajista cuando el histograma MACD se situará por debajo de la línea cero.
Está la opción de utilizar el indicador MAC-Z creado por LazyBear que según su autor es más eficaz, por utilizar el parámetro VWAP (precio medio ponderado por volumen) 'Z-VWAP LENGTH' junto con una desviación standard 'STDEV LENGTH' en su cálculo.
7. Volume Condition
El volumen indica el número de participantes en esta guerra entre toros y osos, cuanto más volumen más probabilidad de que se mueva el precio a favor de la tendencia. Un volumen bajo de negociación indica un menor número de participantes e interés por el instrumento en cuestión. Los bajos volúmenes pueden revelar debilidad detrás de un movimiento de precios.
Con esta condición se filtran aquellas señales cuyo volumen es inferior a la SMA de volumen para un periodo 'SMA VOLUME LENGTH' multiplicado por un factor 'VOLUME FACTOR'. Además, determina el apalancamiento utilizado, a más volumen, más participantes, más probabilidad de que se mueva el precio a nuestro favor, es decir, podemos utilizar más apalancamiento. El apalancamiento en este script lo determina las veces que está el volumen por encima de la línea de la SMA.
El apalancamiento máximo es de 8.
8. Bollinger Bands
Este indicador fue creado por John Bollinger y consiste en tres bandas que se dibujan superpuestas al gráfico de evolución del precio.
La banda central es una media móvil, normalmente se emplea una media móvil simple calculada con 20 períodos. ('BB LENGTH' Número de periodos de la media móvil)
La banda superior se calcula sumando al valor de la media móvil simple X veces la desviación típica de la media móvil. ('BB MULTIPLIER' Número de veces la desviación típica de la media móvil)
La banda inferior de calcula restando a la media móvil simple X veces la desviación típica de la media móvil.
la franja comprendida entre las bandas superior e inferior contiene, estadísticamente, casi un 90% de las posibles variaciones del precio, lo que significa que cualquier movimiento del precio fuera de las bandas tiene especial relevancia.
En términos prácticos, las bandas de Bollinger se comporta como si de una banda elástica se tratara de manera que, si el precio las toca, éste tiene mucha probabilidad de rebotar.
En ocasiones, después de rellenarse la orden de entrada, el precio se devuelve hacia el lado contrario. Si toca la banda de Bollinger se rellena otra orden en la misma dirección de la posición para mejorar el precio medio de entrada, (% MINIMUM BETTER PRICE': Precio mínimo para que se ejecute la re-entrada y que sea mejor que el precio de la posición anterior en un % dado) de esta manera damos una oportunidad al trade de que el Take Profit se ejecute antes. La desventaja es que se dobla el tamaño de la posición. 'ACTIVATE DIVIDE TP': Divide el tamaño del TP a la mitad. Más probabilidad de que se cierre el trade pero menos ganancias.
█ STOP LOSS y RISK MANAGEMENT.
Una buena gestión de las pérdidas o gestión del riesgo es lo que puede hacer que tu cuenta suba o se liquide en poco tiempo.
El % de riesgo es el porcentaje de nuestro capital que estamos dispuestos a perder por operación. Este se aconseja que debe estar comprendido entre un 1-5%.
% Risk = (% Stop Loss x % Equity per trade x Leverage) / 100
Primero se calcula la estrategia con Stop Loss, después se determina el riesgo por operación y a partir de ahí se calcula el monto por operación y no al revés.
En este script puedes usar un Stop Loss normal o uno según el ATR. También activar la opción de que salte antes si se alcanza el porcentaje de riesgo. '% RISK ALLOWED'
'STOP LOSS CONFIRMED': Solamente se activa el Stop Loss si el cierre de la barra anterior se encuentra en la condición de límite de pérdidas. Es útil para evitar que se dispare el SL cuando hacen un ‘pump’ para barrer Stops y luego se devuelve el precio a la normalidad.
█ BACKTEST
El objetivo del Backtest es evaluar la eficacia de nuestra estrategia. Un buen Backtest lo determinan algunos parámetros como son:
- RECOVERY FACTOR: Consiste en dividir el ‘beneficio neto’ entre el ‘drawdown’. Un excelente sistema de trading tiene un recovery factor de 10 o más; es decir, genera 10 veces más beneficio neto que drawdown.
- PROFIT FACTOR: El ‘Profit Factor’ es otra medida popular del rendimiento de un sistema. Es algo tan simple como dividir lo que ganan las operaciones con ganancias entre lo que pierden las operaciones con pérdidas. Si la estrategia es rentable entonces por definición el ‘Profit Factor’ va a ser mayor que 1. Las estrategias que no son rentables producen factores de beneficio menores que uno. Un buen sistema tiene un profit factor de 2 o más. Lo bueno del ‘Profit Factor’ es que nos dice lo que vamos a ganar por cada dolar que perdemos. Un profit factor de 2.5 nos dice que por cada dolar que perdamos operando vamos a ganar 2.5.
- SHARPE: (Retorno sistema – Retorno sin riesgo) / Desviación de los retornos.
Cuando las variaciones de ganancias y pérdidas son muy altas, la desviación es muy elevada y eso conlleva un ratio de ‘Sharpe’ muy pobre. Si las operaciones están muy cerca de la media (poca desviación) el resultado es un ratio de ‘Sharpe’ bastante elevado. Si una estrategia tiene un ratio de ‘Sharpe’ mayor que 1 es una buena estrategia. Si tiene un ratio de ‘Sharpe’ mayor que 2, es excelente. Si tiene un ratio de ‘Sharpe’ menor que 1 entonces no sabemos si es buena o mala, hay que mirar otros parámetros.
- MATHEMATICAL EXPECTATION:(% operaciones ganadoras X ganancia media) + (% operaciones perdedoras X pérdida media).
Para ganar dinero con un sistema de Trading, no es necesario ganar todas las operaciones, lo verdaderamente importante es el resultado final de la operativa. Un sistema de Trading tiene que tener esperanza matemática positiva como es el caso de este script.
El juego de la ruleta, por ejemplo, tiene esperanza matemática negativa para el jugador, puede tener rachas positivas de ganancias, pero a la larga, si se sigue jugando se acabará perdiendo, y esto los casinos lo saben muy bien.
PARAMETROS
'BACKTEST DAYS': Número de días atrás de datos históricos para el calculo del Backtest.
'ENTRY TYPE': Para % EQUITY si tienes 10000$ de capital y seleccionas 7.5% tu entrada sería de 750$ sin apalancamiento. Si seleccionas CONTRACTS para el par BTCUSDT sería la cantidad en Bitcoins y si seleccionas CASH sería la cantidad en dólares.
'QUANTITY (LEVERAGE 1X)': La cantidad para una entrada con apalancamiento X! según el apartado anterior.
'MAXIMUM LEVERAGE': Es el máximo multiplicador permitido de la cantidad introducida en el apartado anterior según la condición de volumen.
Los settings son para Bitcoin en Binance Futures (BTC:USDTPERP) en 30 minutos.
Para otro pares y otras temporalidades se tienen que ajustar las opciones de nuevo. Además para dentro de un mes, los ajustes serán otros distintos ya que el mercado y la tendencia es cambiante.
2nd Day Stats / BACKTESTING TOOL//English version below
## Deutsche Version
Was passiert am 2. Tag, nachdem wir X % am ersten Tag zurückgelegt haben? Genau dies lässt sich sehr gut backtesten und die Erkenntnisse im Markt anwenden. Dieses Tool eignet sich besonders für kleinere Aktien (Small-Caps) oder Aktien, die am Tag der Quartalszahlen große Bewegungen zurückgelegt haben. Backtesting war selten so einfach.
## English version
What happens after a strong day 1 move? Use the custom input to test, what happened after a 10% move on day one. Change the day 1 move % and the number of years to backtest. It's that simple. The tool is especially helpful for small-cap traders and for stocks after earnings.