アダプティブ・トライプル・スーパートレンド戦略の核心構想は,複数のスーパートレンド指標を組み合わせて市場のトレンドを特定し,トレンドが一致するときにロング,トレンドが逆転するときにポジションを退場することです.
戦略は3つのスーパートレンド指標を利用しています
貿易の論理はこうです
この論理は,ストップ・ロスを用いて下向きのリスクを制御しながら,日付範囲内の上昇傾向から利益を得ることを目的としています.
アダプティブ・トリプル・スーパートレンド戦略にはいくつかの重要な利点があります.
概要すると,この戦略は手動取引を支援する戦略の核心トレンドとして非常にうまく機能しています.リスクを制御しながら主要なトレンドから利益を得るために高品質のトレード信号を提供することで,定量的な取引のための重要なツールです.
アダプティブ・トリプル・スーパートレンド戦略には多くの強みがあるにもかかわらず,いくつかの重要なリスクがあります.
これらのリスクは以下によって軽減できます.
適応型三重スーパートレンドは 戦略に従うための 多用的なトレンドとして 改善の余地があります
これらの最適化により,戦略はより多くの市場環境で安定したパフォーマンスを維持し,より高い利益率を達成することができます.これは,今後もエキサイティングな研究方向性を提示します.
/*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