アダプティブ・トリプル・スーパートレンド戦略

作者: リン・ハーンチャオチャン
タグ:

img

概要

戦略の論理

アダプティブ・トライプル・スーパートレンド戦略の核心構想は,複数のスーパートレンド指標を組み合わせて市場のトレンドを特定し,トレンドが一致するときにロング,トレンドが逆転するときにポジションを退場することです.

戦略は3つのスーパートレンド指標を利用しています

  1. 超トレンド1: ATR 期間 = 12,因数 = 3
  2. 超トレンド2:ATR期間 = 10,ファクター = 1
  3. 超トレンド3:ATR期間=11,因数=2

貿易の論理はこうです

  1. 3つのスーパートレンドが日付範囲内での上昇信号を示したときにロングを開く
  2. ロングポジションで逆転信号のスーパートレンドをモニター
  3. スーパートレンドが下落するとロングアウト
  4. 10%で利益を取るか 1%でストップロスを取るか

この論理は,ストップ・ロスを用いて下向きのリスクを制御しながら,日付範囲内の上昇傾向から利益を得ることを目的としています.

利点分析

アダプティブ・トリプル・スーパートレンド戦略にはいくつかの重要な利点があります.

  1. 複数のスーパートレンドを組み合わせることで,より正確なトレンド判断が得られ,誤った信号は減少します.
  2. スーパートレンドはノイズをフィルタリングし,振動の影響を軽減します
  3. パラメータは,異なる市場環境に適応するように調整できます
  4. 牛市で大きな利益を得ることができ 熊市で大きな引き下げを避けることができます

概要すると,この戦略は手動取引を支援する戦略の核心トレンドとして非常にうまく機能しています.リスクを制御しながら主要なトレンドから利益を得るために高品質のトレード信号を提供することで,定量的な取引のための重要なツールです.

リスク分析

アダプティブ・トリプル・スーパートレンド戦略には多くの強みがあるにもかかわらず,いくつかの重要なリスクがあります.

  1. 市場 の 大きな 変動 は 誤った 信号 を 引き起こす こと が でき ます
  2. パラメータの調節が悪ければパフォーマンスに影響する
  3. 小規模ストップロスはリスクをコントロールできない可能性があります
  4. 悪い長期入場タイミングは損失につながる

これらのリスクは以下によって軽減できます.

  1. 振動を判断するための他の指標を追加する
  2. 異なる市場のためのパラメータの最適化
  3. 効果を保証するためにストップロスの割合を増加させる
  4. 入力信号に対してより安定した指標を使用する

増進 の 機会

適応型三重スーパートレンドは 戦略に従うための 多用的なトレンドとして 改善の余地があります

  1. スーパートレンドパラメータのダイナミック最適化
  2. 導入のタイミングを改善するために他の指標を追加する
  3. バックテストに基づいて利益とストップ損失をさらに最適化
  4. トレンド指向の超トレンドでブレイクアウトを試みる
  5. シンプルなプラグアンドプレイの機能としてのパッケージング戦略

これらの最適化により,戦略はより多くの市場環境で安定したパフォーマンスを維持し,より高い利益率を達成することができます.これは,今後もエキサイティングな研究方向性を提示します.

結論


/*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

もっと