分割チャネル ドンチャン ブレイクアウト戦略


作成日: 2023-12-26 10:18:51 最終変更日: 2023-12-26 10:18:51
コピー: 0 クリック数: 749
1
フォロー
1621
フォロワー

分割チャネル ドンチャン ブレイクアウト戦略

この戦略は,上線ブレイクを購入し,下線ブレイクを売却する取引戦略を実現するために,唐津通道指標に基づいています.

戦略原則

戦略は,異なるパラメータの上線と下線を計算して,それぞれ買取と販売のシグナルを実現する.

上軌計算式:上軌 = 最高値 ((長さ1) 下軌計算式:下軌 = 最低値 ((長さ2) 中軸計算式: 中軸 = (上線 + 下線) / 2

閉盘価格が上線を超えると買入シグナルが生成され,閉盘価格が下線を下回ると売り出せシグナルが生成される.

この戦略の利点は,上線と下線のパラメータを調整することで,より柔軟な取引ルールを実現できるということです.

戦略的優位性

  1. 購入と販売のルールを独立に制御し,より柔軟にできるように,上下軌道のパラメータをカスタマイズできます.

  2. 中軸指標で上下線平均位置を測定することで,価格突破をより明確に判断できます.

  3. トンチアン通路はトレンド追跡機能を持ち,トレンドの機会を効果的に捉えることができます.

  4. 戦略操作はシンプルで実行しやすい.

戦略リスク

  1. 偽突破が起こりやすいため,他の指標と組み合わせたフィルタリングが必要です.

  2. 動向の逆転を判断できず,人工または他の指標を組み合わせる必要があります.

  3. 上下軌道パラメータの設定が不適切である場合,極端なまたは保守的なパラメータの調整に注意する必要があります.

戦略最適化の方向性

  1. 移動平均などの指標のフィルタリングで偽突破を考慮することができる.

  2. 波動率の指標と組み合わせて本当の突破確率を判断できる.

  3. 動的に上下軌道パラメータを調整し,自己適応の取引ルールを実現する.

要約する

この戦略は,双軌道のドンチアン通路によって柔軟な突破操作を実現する. 戦略は単純に操作しやすいが,ある程度の虚偽突破の確率がある. 戦略の効果を向上させるために,パラメータ最適化および他の指標と組み合わせてフィルターすることができる.

ストラテジーソースコード
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Modified Donchian Channel with separate adjustments for upper and lower levels, with offset
// Strategy to buy on break upper Donchian and sell on lower Donchian
strategy("Donchian Backtest", overlay=true)

length1 = input(20, minval=1, title="Upper Channel")
length2 = input(20, minval=1, title="Lower Channel")
offset_bar = input(0,minval=0, title ="Offset Bars")
max_length = max(length1,length2)

upper = highest(length1)
lower = lowest(length2)

basis = avg(upper, lower)

l = plot(lower, style=line, linewidth=3, color=red, offset=1)
u = plot(upper, style=line, linewidth=3, color=green, offset=1)

plot(basis, color=yellow, style=line, linewidth=1, title="Mid-Line Average")
//break upper Donchian (with 1 candle offset) (buy signal)
break_up = (close >= upper[1])
//break lower Donchian (with 1 candle offset) (sell signal)
break_down = (close <= lower[1])


if break_up
    strategy.entry("buy", strategy.long,1)
if break_down
    strategy.close("buy")

//plot(strategy.equity)