The Adaptive Triple Supertrend Strategy is a trend-following trading approach that harnesses the power of three Supertrend indicators to identify potential market trends and capitalize on them. With a focus on adaptability and precision, this strategy aims to provide traders with clear entry and exit signals while managing risk effectively. By combining multiple Supertrend indicators with defined parameters, the strategy seeks to capture trends across various market conditions, making it a versatile tool for traders seeking profitable opportunities in both traditional and cryptocurrency markets.
The core idea behind the Adaptive Triple Supertrend Strategy is to combine multiple Supertrend indicators to identify market trends, go long when the trends agree, and exit positions when trends reverse.
Specifically, the strategy utilizes three Supertrend indicators:
When all three Supertrend indicators simultaneously show a bullish (green) signal, the strategy will open a long position within a defined date range (Jan 1, 2023 to Oct 1, 2023). When any one of the Supertrend indicators shows a bearish (red) signal, the strategy will exit the long position. In addition, the strategy sets a 10% take profit and 1% stop loss to lock in profits and manage risk.
So the specific trade logic is:
This logic aims to capture profits from bull trends within the date range while controlling downside risk with the stop loss.
The Adaptive Triple Supertrend Strategy has several key advantages:
In summary, this strategy works excellently as a core trend following strategy to assist manual trading. By providing high quality trade signals to profit from major trends while controlling risk, it is an important tool for quantitative trading.
Despite its many strengths, the Adaptive Triple Supertrend Strategy has some key risks to note:
These risks can be mitigated by:
As a versatile trend following strategy, the Adaptive Triple Supertrend has much room for enhancement:
With these optimizations, the strategy can maintain steady performance across more market environments and achieve higher profit factors. This presents exciting research directions going forwards.
The Adaptive Triple Supertrend Strategy is a valuable quantitative strategy. By combining multiple Supertrend indicators to determine trends and setting take profit/stop loss to control risk, it aims to steadily track major trends for outsized gains. Despite some risks, these can be alleviated via parameter optimization and auxiliary indicators. The strategy can be used standalone or combined with others. It also has significant enhancement potential for even better performance. As such, this is a quality strategy worth continual research and application.
/*backtest start: 2023-01-25 00:00:00 end: 2024-01-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Custom Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, shorttitle="Supertrend Strategy") // Define the parameters for Supertrend 1 factor1 = input.float(3.0, "Factor 1", step = 0.01) atrPeriod1 = input(12, "ATR Length 1") // Define the parameters for Supertrend 2 factor2 = input.float(1.0, "Factor 2", step = 0.01) atrPeriod2 = input(10, "ATR Length 2") // Define the parameters for Supertrend 3 factor3 = input.float(2.0, "Factor 3", step = 0.01) atrPeriod3 = input(11, "ATR Length 3") [_, direction1] = ta.supertrend(factor1, atrPeriod1) [_, direction2] = ta.supertrend(factor2, atrPeriod2) [_, direction3] = ta.supertrend(factor3, atrPeriod3) // Define the start and end dates as Unix timestamps (in seconds) start_date = timestamp("2023-01-01T00:00:00") end_date = timestamp("2023-10-01T00:00:00") // Determine Buy and Sell conditions within the specified date range in_date_range = true buy_condition = direction1 > 0 and direction2 > 0 and direction3 > 0 and in_date_range sell_condition = direction1 < 0 or direction2 < 0 or direction3 < 0 // Track the position with a variable var isLong = false if buy_condition and not isLong strategy.entry("Long Entry", strategy.long) isLong := true if sell_condition and isLong // Define take profit and stop loss percentages take_profit_percentage = 10 // Increased to 10% stop_loss_percentage = 1 // Calculate take profit and stop loss levels take_profit_level = close * (1 + take_profit_percentage / 100) stop_loss_level = close * (1 - stop_loss_percentage / 100) // Exit the long position with take profit and stop loss strategy.exit("Take Profit/Stop Loss", from_entry="Long Entry", limit=take_profit_level, stop=stop_loss_level) isLong := false