スーパートレンド強化ピボット反転戦略


作成日: 2023-10-25 11:15:40 最終変更日: 2023-10-25 11:15:40
コピー: 0 クリック数: 533
1
フォロー
1166
フォロワー

スーパートレンド強化ピボット反転戦略

概要

超トレンド強化枢軸反転戦略は,枢軸反転の精度と超トレンド指標のトレンド追跡能力を組み合わせたユニークな取引方法である.この戦略は,トレーダーに明確な入場と出場シグナルを提供し,同時に超トレンド指標を使用して誤った信号をフィルターする目的である.

伝統的な枢軸反転戦略とは異なり,この戦略は超トレンド指標をフィルターとして使用する.これは,全体的なトレンドと一致する取引信号のみを採取することを意味し,超トレンド指標は全体的なトレンドの方向を決定する.これは,誤った信号の数を減らすのに役立ち,戦略の全体的な収益性を向上させる.

強化された枢軸反転戦略は,暗号通貨市場が非常に変動する特徴があるため,特に適しています. これは,価格が非常に短い時間で大きく変化し,迅速に利益を得ることを意味します. この戦略は,枢軸を使用して,これらの急速な価格変化を捉え,潜在的な反転点を識別できます.

戦略原則

この策略の働きは,価格グラフで価格が反転する可能性のあるピボット・ターニング・ポイントの識別である. これらのポイントは,ta.pivothighとta.pivotlowの関数の組み合わせを使用して識別され,それらは,特定の周期で価格グラフの最高点と最低点を見つけることができる.

枢軸の転換点が認識されると,この戦略は超トレンド指標の方向をチェックする.超トレンドが正の場合は,この戦略は多頭取引のみを行う.超トレンドが負の場合は,この戦略は空頭取引のみを行う.

この戦略には,入場価格の一定パーセントに設定されたストップ・ロスのレベルも含まれている.これは,価格が取引の方向と反対の方向に移動した場合の潜在的な損失を制限するのに役立ちます.

取引方向のパラメータは,多頭,空頭,または双方向に設定できます.これは,トレーダーに,多頭のみを取引する (低価格で高価格で販売する),空頭のみを取引する (高価格で低価格で販売する),または両方を行うという選択を可能にします.これは,トレーダーの市場観とリスク承受能力の両方に役立ちます.

この戦略を使用する場合は,必要なパラメータをスクリプトに入力し,それを取引する資産の価格グラフに適用するだけです. この戦略は,潜在的な入場と出場点を認識し,価格グラフに表示します.

このポリシーのデフォルト設定は以下の通りです.

  • ATRの長さ:5
  • 素因子:2.618
  • 取引方向:双方向
  • ストップダストレベル:20%
  • 手数料: 0.1%
  • スライドポイント:1
  • 通貨:アメリカドル
  • 取引額: 口座所有権の10%
  • 初期資金:10000ドル

これらの設定は,トレーダーの好みとリスク承受能力に応じて調整できます. 設定の変更を実際の取引に適用する前に,歴史データを使用してテストすることを確認してください.

優位分析

この戦略の最大の強みは,枢軸反転戦略の精度と超トレンド指標のトレンドフィルタリング能力の組み合わせである.

枢軸反転戦略は,重要なサポートとレジスタンス領域を識別し,急速な突破を捕捉します.超トレンド指標は,ほとんどの偽の突破をフィルターし,真のトレンド反転時にのみ入場します.この組み合わせは,大量のノイズをフィルターし,戦略の勝利率と収益率を大幅に向上させることができます.

もう一つの優点は,この戦略が適応性があることであり,パラメータ配置を調整することで異なる市場環境に適応することができる.例えば,ATR周期パラメータを異なる変動率市場に適応させ,リスクを管理するためにストップ・ローズレベルを調整し,取引方向を制限して多額の取引を制限するか,空っぽの取引を制限するなどである.

超トレンドをフィルター指標として加えることで,トレンド状況で戦略のパフォーマンスを向上させることができる.超トレンド指標は,トレンドの方向を正確に判断し,震動状況で引っ込まれるのを防ぐことができます.

リスク分析

この策略の最大のリスクは,枢軸反転点の偽突破が起こる可能性である.つまり,価格が重要なポイントを突破した直後に再び回調する.このとき,策略がすぐに入場した場合,セットされる可能性がある.したがって,合理的な止損レベルを設定することが特に重要です.

もう一つのリスクは,トレンド反転の失敗である.時には,価格が枢軸を突破した後,トレンド反転ではなく,元のトレンドを継続する.このとき,超トレンド指標は,誤った入場を避けるためにフィルタリングの役割を果たすことができる.しかし,強いトレンドの状況では,このリスクは依然として存在する.

超トレンドをフィルタリング指標として加えることは利弊がある.超トレンドが判断を間違えると,本当の反転の機会を逃す可能性もある.これは,異なる市場状況に合わせてパラメータを調整する必要がある.

全体的に,適切なストップポイントの調整,合理的な資金使用率の配置,適切なタイミングで戦略パラメータの調整により,リスクを効果的に制御できます.

最適化の方向

この戦略は以下の点で最適化できます.

  1. 複数のタイムサイクル判断を追加し,複数のタイム軸の検証を行い,被套を避ける.

  2. 取引量の突破など,突破を確認するための指標判断をすることができる.

  3. 価格の動きに応じてストップを設定し,利益の後にストップを拡大するなど,ストップ・メカニズムを最適化します.

  4. 機械学習の要素を追加し,戦略が異なる市場環境に自律的に適応できるようにする.例えば,自動最適化パラメータ,ダイナミック調整の止損など.

  5. 期間を超えた取引を増やす,すなわち,一つの期間に入場し,別の期間で止損または止まる.

  6. 異なるフィルター指標をテストし,超トレンドの代替に適した指標を探し,戦略の効果を向上させる.

  7. 組み合わせの最適化は,他の非関連戦略と組み合わせることで,関連性を低下させ,安定性を高めることができる.

上記の点の最適化により,戦略のパフォーマンスを大幅に向上させることができる. それは,複雑な変動する市場環境により適応し,より優れた収益率を得ることができる.

要約する

超トレンド強化枢軸反転戦略は,高効率の取引戦略である. それは枢軸の高精度と超トレンド指標の強力なトレンド追跡能力を組み合わせ,騒音をフィルターし,成功率を向上させる. この戦略は,パラメータを調整して異なる市場環境に適応させることができ,非常に強い適応性がある.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading

//@version=5
strategy("SuperTrend Enhanced Pivot Reversal - Strategy [PresentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash, 
 commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, 
  currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000)

// Pivot Reversal parameters
leftBars = input(6)
rightBars = input(3)
swh = ta.pivothigh(leftBars, rightBars)
swl = ta.pivotlow(leftBars, rightBars)

// SuperTrend parameters
atrPeriod = input(5, "ATR Length")
factor = input.float(2.618, "Factor", step = 0.01)

[superTrend, direction] = ta.supertrend(factor, atrPeriod)

// Plot the SuperTrend
plot(superTrend, title="SuperTrend", color=color.blue)


// Trade Direction parameter
tradeDirection = input.string(title="Trade Direction", defval="Both", options=["Long", "Short", "Both"])

// Stop Loss Level (in %)
stopLossLevel = input(20, title="Stop Loss Level (%)")

// Convert the stop loss level to a price difference
stopLossPrice = stopLossLevel / 100


// Long entry
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])
if (le and direction > 0 and (tradeDirection == "Long" or tradeDirection == "Both"))
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)
    strategy.exit("Exit Long", "PivRevLE", stop = hprice * (1 - stopLossPrice))

// Short entry
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])
if (se and direction < 0 and (tradeDirection == "Short" or tradeDirection == "Both"))
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)
    strategy.exit("Exit Short", "PivRevSE", stop = lprice * (1 + stopLossPrice))


// Closing positions when the tradeDirection is one-sided or when SuperTrend direction changes
if ((tradeDirection == "Long" and se and direction < 0) or (tradeDirection == "Long" and direction < 0))
    strategy.close("PivRevLE")
if ((tradeDirection == "Short" and le and direction > 0) or (tradeDirection == "Short" and direction > 0))
    strategy.close("PivRevSE")

// Plot pivot highs and lows
plotshape(swh_cond, title="Pivot Highs", location=location.belowbar, color=color.green, style=shape.triangleup)
plotshape(swl_cond, title="Pivot Lows", location=location.abovebar, color=color.red, style=shape.triangledown)

// Closing positions when the tradeDirection is one-sided
if (tradeDirection == "Long" and se and direction < 0)
    strategy.close("PivRevLE")
if (tradeDirection == "Short" and le and direction > 0)
    strategy.close("PivRevSE")