人気が高くトップクラスに有名なSuperTrend(スーパートレンド)。
今回このインジケーターをストラテジー化し、使い続けて本当にプラスになるのかを検証、調査しました。
スーパートレンドとは

スーパートレンドは、ATR(平均真の値幅)を使ったトレンドフォロー型のテクニカル指標です。チャート上に1本のラインが表示され、価格がラインの上にあれば上昇トレンド(緑)、下にあれば下降トレンド(赤) と視覚的に判断できます。
計算式はシンプルで、「直近の高値・安値の中心値 ± ATR × 係数」で上下のバンドを算出し、価格がどちらを突き抜けたかでトレンド方向を決定します。
スーパートレンドを検証
今回の検証条件はそのままBUYサインが出たら買い。SELLサインが出たら売りに転換。
数量は毎回一定。手数料は片道0.05%。往復なので実質0.1%計算です。
GOLD
5分足

まさに地獄。損失&手数料で無限に資産が減るという結果が出ました。
1時間足

短い時間足だと上下が激しすぎて使い物にならない。そこで1時間足検証は、プラス圏もあればほとんどがマイナス。
5分足ほど大きなマイナスにはなっていませんが、上下が激しすぎてやめたほうがいいですね。
4時間足

Goldの4時間足は大幅プラス。とはいえ2020年~2026年までずっとマイナス圏だったことを考えると果たして喜んでいいのか不明です。

この大幅プラスの理由は簡単で、2025年頃からGOLDはキレイな右肩上がりのトレンドが起きているため。
上昇トレンド中、ずっとプラスになり続けているので一気にプラスで大逆転が起きたのです。
1日足

ならば4時間足よりもっと大きな1日足は?と思いましたが、微妙。
プラス圏ですし、大幅プラスになった瞬間もありましたが、レンジが始まったとたん一気に損失が起きていますね。
これなら以前紹介したQQEの方が結果が良かったですね。

BTC(ビットコイン)
5分足

5分足はGOLD同様に地獄。組み合わせで変わると思いますが、手数料考えるとスーパートレンド単体で指標にはしないほうがイイですね。
1時間足

GOLDは上下に移動していましたがBTCはマイナス一辺倒。計測時期にも夜とは思いますが、1時間足ではBTCはGOLDよりも細かいレンジが多いということですね。
4時間足

4時間足は現時点ではプラス。ただ、マイナスになっている期間も長いので単体では使い物になりません。
1日足

こちらも結果はよくありませんね。大きなトレンドが起きるとまたプラスになる可能性はありますが、一時的でしょう。
その他SUPERTRENDの成績のいい通貨と時間足は?
人気の高い通貨、
- EUR/USD
- USD/JPY
- GBP/USD
- AUD/USD
- USD/CAD
で検証しました。
EUR/USD 1日足

マイナス圏もありましたが、2003年以降のトレンドによって大きなプラスになっています。
現状はまたもみ合いで右肩が下がっているので変化するかもしれませんが、計測時では大きなプラスです。
AUD/USD 1D

コチラも現状大きくプラス。比較的大きく安定したトレンドが起きやすい通貨と言えますね。
USD/CAD 1週間足

CADも大幅プラス。ただコチラの場合一週間足なのでかなり長い目で見る必要があります。
ただ、現時点では一番プロフィットファクターも高く成績のいい通貨と時間足と言えますね。
まとめ
今回SUPERTRENDを調べて分かりましたが、基本的に単体使いは向いていないと思います。
プラスになっている通貨もありますが、基本的には不安定。
トレード判断に使うのではなく、あくまでフィルターとして他の反応の早いインジケーターと組み合わせないと危うすぎるという印象でした。
インジケーターを使っての検証でしたが、必ずしも今後の結果が保証されるものではないということをご理解ください。
SUPERTRENDストラテジー
今回検証で使ったオリジナルインジケーターは
SuperTrend Strategy [Long/Short]
という名前でトレーディングビューで無料公開しています。

ソースコードは日本語版にしてあるので、英語が苦手という方はコチラをお使いください。
//@version=6
strategy(title="SuperTrend Backtest Fixed", shorttitle="ST Backtest Fixed", overlay=true,
scale=scale.right,
default_qty_type=strategy.fixed,
default_qty_value=1.0,
calc_on_every_tick=true,
commission_type=strategy.commission.percent,
commission_value=0.05,
slippage=3)
// 設定
useStrategy = input.bool(true, title="ストラテジー機能 ON/OFF")
atrPeriod = input.int(10, minval=1, title="ATR Length")
multiplier = input.float(3.0, minval=0.01, step=0.01, title="Factor")
lotSize = input.float(1.0, minval=0.01, step=0.01, title="ロット数")
// SuperTrend
[stLineRaw, stDir] = ta.supertrend(multiplier, atrPeriod)
stLine = barstate.isfirst ? na : stLineRaw
isBull = stDir < 0
isBear = stDir > 0
buySignal = ta.change(stDir) != 0 and isBull
sellSignal = ta.change(stDir) != 0 and isBear
// ライン表示
plot(isBull ? stLine : na, title="Up Trend", color=color.green, linewidth=2, style=plot.style_linebr)
plot(isBear ? stLine : na, title="Down Trend", color=color.red, linewidth=2, style=plot.style_linebr)
// ストラテジー
if useStrategy
if buySignal
strategy.close("Sell")
strategy.entry("Buy", strategy.long, qty=lotSize)
if sellSignal
strategy.close("Buy")
strategy.entry("Sell", strategy.short, qty=lotSize)
// ロング時:STが現在価格より下にある時だけSL
if strategy.position_size > 0 and not na(stLine) and stLine < close
strategy.exit("Buy SL", from_entry="Buy", stop=stLine, comment_loss="SL: SuperTrend")
// ショート時:STが現在価格より上にある時だけSL
if strategy.position_size < 0 and not na(stLine) and stLine > close
strategy.exit("Sell SL", from_entry="Sell", stop=stLine, comment_loss="SL: SuperTrend")
// サイン表示
plotshape(buySignal, title="買いサイン", location=location.belowbar,
style=shape.labelup, color=color.green, textcolor=color.white, text="BUY", size=size.normal)
plotshape(sellSignal, title="売りサイン", location=location.abovebar,
style=shape.labeldown, color=color.red, textcolor=color.white, text="SELL", size=size.normal)
// アラート
alertcondition(buySignal, title="買いアラート", message="SuperTrend: 買いサイン発生 ({{ticker}}, {{interval}})")
alertcondition(sellSignal, title="売りアラート", message="SuperTrend: 売りサイン発生 ({{ticker}}, {{interval}})")
アラート機能もあるので検証してみたい方は使ってみてください。


コメント