ATRとトレーリングストップに基づくスーパートレンド戦略
概要
本戦略は、平均真実範囲(ATR)指標に基づいて移動ストップロスラインと反転ラインを設計します。価格変動に応じてトレーリングストップロス(ストップロスラインを追跡調整)します。具体的には、価格が1%以上変動した場合、ストップロスラインは利益方向に固定比率で移動します。価格がストップロスラインを突破すると、ポジションは自動的にクローズされます。これにより、利益を確定し、損失を軽減することができます。
戦略の原理
本戦略はATR指標を使用してストップロスラインを計算します。具体的な計算式は以下の通りです。
atr = multiplyFactor * atr(barsBack)
longStop = hl2 - atr
shortStop = hl2 + atr
ここで、multiplyFactorはATR倍率、barsBackはATR期間です。ATRの値が大きいほど、市場の変動が大きいことを示します。
ATR値に基づいてロングポジションのストップロスラインlongStopとショートポジションのストップロスラインshortStopを計算します。価格がこれらのラインを超えると取引シグナルが発生します。
さらに、この戦略はdirection変数を導入してトレンドの方向を判断します。
direction = 1
direction := nz(direction[1], direction)
direction := direction == -1 and close > shortStopPrev ? 1 : direction == 1 and close < longStopPrev ? -1 : direction
directionが1の場合は強気トレンド、-1の場合は弱気トレンドを示します。
directionの値に応じて、異なる色のストップロスラインを描画します。
if (direction == 1)
valueToPlot := longStop
colorToPlot := color.green
else
valueToPlot := shortStop
colorToPlot := color.red
これにより、現在のトレンド方向とストップロスラインの位置が明確に確認できます。
トレーリングストップロスメカニズム
この戦略の重要なポイントは、トレーリングストップロスメカニズムを導入し、価格の動きに応じてリアルタイムでストップロスラインを調整できることです。
具体的なロジックは以下の通りです。
strategyPercentege = (close - updatedEntryPrice) / updatedEntryPrice * 100.00
rideUpStopLoss = hasOpenTrade() and strategyPercentege > 1
if (rideUpStopLoss)
stopLossPercent := stopLossPercent + strategyPercentege - 1.0
newStopLossPrice = updatedEntryPrice + (updatedEntryPrice * stopLossPercent) / 100
stopLossPrice := max(stopLossPrice, newStopLossPrice)
updatedEntryPrice := stopLossPrice
エントリー価格に対して価格が1%以上上昇した場合、ストップロスラインを上方向に追跡調整します。調整幅は1%を超えた部分です。
これにより、より多くの利益を確定し、損失も軽減できます。
優位性分析
従来の移動ストップロス戦略と比較して、この戦略の最大の利点は、市場の状況に応じてストップロスラインを動的に調整できることです。具体的な優位性は以下の通りです。
-
トレンド相場での高い利益確定が可能
トレーリングストップロスメカニズムにより、ストップロスラインが利益方向に継続的に移動するため、相場が強い際により高い利益を確定できます。
-
レンジ相場でのストップロス飛び越えを軽減
市場のトレンドが変化する際、固定の移動ストップロスラインは簡単に飛び越えられることがあります。一方、本戦略のストップロスラインは市場の変動性に基づいて計算されるため、価格変動を適切に追跡し、レンジ相場でのストップロス飛び越えを回避できます。
-
操作が簡単で、自動化が容易
本戦略は指標演算に完全に基づいており、複雑なトレンド判断ロジックがありません。非常に簡単に自動売買を実装できます。
-
パラメータをカスタマイズでき、様々な銘柄に適用可能
ATR期間、倍率、ストップロス幅などのパラメータをカスタマイズでき、銘柄に応じたパラメータ最適化により、戦略の汎用性を高めることができます。
リスク分析
本戦略には多くの利点がありますが、以下のリスクに注意が必要です。
-
トレンド転換点を判断できず、高値追い・安値売りのリスク
本戦略にはトレンド終了を判断するロジックがありません。強気相場の末期には、高値追いや安値売りが発生しやすくなります。
-
パラメータ設定の不適切による損失拡大のリスク
ATR期間パラメータが短すぎると、ストップロスラインが過敏になり、レンジ相場で頻繁にトリガーされる可能性があります。
-
底値を拾って反発した際にストップロスされるリスク
本戦略は、フラクタルポイントをストップロスのサポートポイントとして考慮していません。そのため、短期的な反発時に市場から振り落とされる可能性があります。
上記のリスクに対して、以下の点から最適化を行うことができます。
-
トレンドフィルター指標を組み合わせ、トレンド反転を事前に判断する
-
パラメータ最適化テストを実施し、最適なパラメータ組み合わせを選択する
-
特定のサポートライン付近でストップロス範囲を広げる
最適化の方向性
本戦略には更なる最適化の余地があります。
-
ローソク足パターンの判断を組み合わせる
代表的なローソク足パターン(ダイバージェンス、シューティングスターなど)を識別することで、トレンド反転の可能性を判断できます。これにより、高値追い・安値売りのリスクを回避できます。
-
動的追跡パラメータの最適化
ATR期間や倍率などのパラメータも動的に変化させ、ボラティリティの高い市場ではより長いATR期間と広いストップロス範囲を使用するようにします。
-
機械学習モデルの組み合わせ
LSTM、RNNなどの深層学習モデルを使用して今後の価格レンジを予測し、ストップロス距離を動的に調整します。
まとめ
本戦略は、ATR指標を利用して移動ストップロスラインを設計し、トレーリングストップロスメカニズムを導入することで、相場の動きに応じてストップロスラインの位置をリアルタイムで調整します。これにより、より高い利益確定が可能となり、リスクも軽減されます。更なる最適化により、様々な市場状況への適応性を高め、汎用性の高い取引戦略とすることができます。
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
// ------------------------------------------------------------------------------ 1

