このページでは、英語で紹介されている手法を日本語で分かりやすく紹介。
主に、Youtube再生数の多いものをピックアップしています。
そして、その手法で使うトレーディングビュー用インジケーターのアラートを、扱いやすくカスタムしています。
今回は】SUPERTREND Vとボリンジャーバンドを使った分かりやすい手法。基本的に順張り。トレンドフォローですね。
SUPERTREND Vとボリンジャーバンド手法
この手法で使うインジケーターは主に
- SUPERTREND V
- Bollinger Bands Plus
の2つです。
有名なインジケーターでスーパートレンドがありますが、基本的な仕組みは一緒です。
しいて言えば、
SUPERTREND Vはより多くの市場情報(ボリューム、スプレッドなど)を計算に入れたシグナルを生成。
スーパートレンドはより単純で理解しやすいという感じです。
まぁ大体一緒です。
Bollinger Bands Plusも一般的なボリンジャーバンドと計算方法は一緒。
どちらでもいいのですが、設定をいじる部分があるので動画に沿って説明しますね。
インジケーター数値設定
まず、SUPERTREND Vの設定画面で数値を
- Tf:720 → 72
- SUPERTREND manipulator:1 → 5
- SUPERTREND period:10 → 15
- TP:2 → 4
に変更します。これで範囲が狭くなりサインが多く出るようになります。
インジケーターには「TP」というサインも出ていますが、使うサインは「BUY」と「SELL」だけです。
このインジだけだとめちゃくちゃ振り回されることになるので単品使用はやめた方がいいです。
次にBollinger Bands Plusの設定から、
- Simple Moving Average candle history : 21 → 50
- Hull Moving Average candle history :21 → 50
に変更。
Style画面から「simple Moving Average signal」だけ残してチェックを外す。(下から2個のlabels~とvalues~は残す)

この画像の通り。線の太さとか色は好みで変えてください。
これで完成

設定が終わるとこんな感じになるはずです。
手法の使い方
ボリンジャーバンド+で設定したSMA50でまずトレンドを判断します。
SMAより上にあるならBUYサインだけ。下にあるならSELLサインだけという感じですね。
ボリンジャーバンドのSMAよりローソク足が上にある状態で、SUPERTREND VのBUYサインが出る。
そのままインして、直近の最安値が損切ライン。
リスクリワードは1:1.5です。
SUPERTREND Vのアラートを変更
今回変更するインジケーターはSUPERTREND VのBUYサインとSELLサインのアラートです。
デフォルトだと
- BUY
- SELL
- BUY TP
- SELL TP
この4つです。
今回使うのは BUYとSELL だけですが、これだとアラート枠が1つの時間足で2つ必要ですよね。
なのでBUY と SELL を1つにしちゃいます。
「とりあえずサインが出ればアラートが鳴る」にした方が後は自分で判断出来て設定も楽です。
一応デフォルトでTP(利確ライン)というサインがあります。
紹介した手法ではTPは使わないのですが、一応好みがあると思うので残しておきます。
で、こちらもデフォルトはアラートが分かれていますが、改造して1つにまとめておきます。
改造 SUPERTREND V 楽々アラート
名前が絶望的にダサいですが思いつかなかったです。
//@version=4
study(title="ST", overlay=true)
source = close
hilow = ((high - low)*100)
openclose = ((close - open)*100)
vol = (volume / hilow)
spreadvol = (openclose * vol)
VPT = spreadvol + cum(spreadvol)
window_len = 28
v_len = 14
price_spread = stdev(high-low, window_len)
v = spreadvol + cum(spreadvol)
smooth = sma(v, v_len)
v_spread = stdev(v - smooth, window_len)
shadow = (v - smooth) / v_spread * price_spread
out = shadow > 0 ? high + shadow : low + shadow
src = out
src1=open
tf =input(720)
len = timeframe.isintraday and timeframe.multiplier >= 1 ?
tf / timeframe.multiplier * 7 :
timeframe.isintraday and timeframe.multiplier < 60 ?
60 / timeframe.multiplier * 24 * 7 : 7
c = ema(src, len)
o = ema(src1,len)
plot(c, color=color.red)
plot(o, color=color.blue)
col=c > o? color.lime : color.orange
vl = c
ll = o
m1 = plot(vl, color=color.new(col, 60), linewidth=1)
m2 = plot(ll, color=color.new(col, 80), linewidth=2)
fill(m1, m2, color=color.new(col, 70))
vpt=ema(out,len)
st_mult = input(1)
st_period = input(10)
up_lev = vpt - (st_mult * atr(st_period))
dn_lev = vpt + (st_mult * atr(st_period))
up_trend = 0.0
up_trend := close[1] > up_trend[1] ? max(up_lev, up_trend[1]) : up_lev
down_trend = 0.0
down_trend := close[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev
trend = 0
trend := close > down_trend[1] ? 1: close < up_trend[1] ? -1 : nz(trend[1], 1)
st_line = trend ==1 ? up_trend : down_trend
plot(st_line[1], color = trend == 1 ? color.green : color.red, style = plot.style_cross, linewidth = 2)
buy = crossover(close, st_line) and close>o
sell = crossunder(close, st_line) and close<o
plotshape(buy, text="Buy", color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white)
plotshape(sell, text="Sell", color=color.red, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white)
multiplier = input(2)
len5 = input(150)
offset = 0
calcSlope(src5, len5) =>
sumX = 0.0
sumY = 0.0
sumXSqr = 0.0
sumXY = 0.0
for i = 1 to len5
val = src5[len5-i]
per = i + 1.0
sumX := sumX + per
sumY := sumY + val
sumXSqr := sumXSqr + per * per
sumXY := sumXY + val * per
slope = (len5 * sumXY - sumX * sumY) / (len5 * sumXSqr - sumX * sumX)
average = sumY / len5
intercept = average - slope * sumX / len5 + slope
[slope, average, intercept]
[s, a, i] = calcSlope(close, len5)
vwap1=(i + s * (len5 - offset))
sdev = stdev(close, len5)
dev = multiplier * sdev
z1 = vwap1 + dev
x1 = vwap1 - dev
low1 = crossover(close, x1)
high1 = crossunder(close, z1)
plotshape(low1, text="TP", color=color.red, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white)
plotshape(high1, text="TP", color=color.green, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white)
alertcondition(buy or sell, title="1:BUY/SELL", message="{{ticker}} {{interval}}分足 | シグナルが発生しました")
alertcondition(low1 or high1, title="2:TP", message="{{ticker}} {{interval}}分足 | TPに到達しました")
コピーして使えるはずです。

アラート部分はこんな感じです。
アラート枠を1枠分節約できるはずです。
それと、アラートメッセージに「通貨名」と「時間足」を自動で入るようにしておきました。
これにより、適当にアラートは設定しても、どの通貨でどの足なのかアラート画面で簡単にわかるので楽ですよ。
インジケーター名は「ST」になっています。特に意味はないです。
手法の結果と感じたこと
正確に計算したわけではないのであくまで個人的な感想ですが、
成功率は5割か、ほんの少し高い…?ぐらいでした。
比較はBTCです。
ただ、リスクリワードが1:1.5なので、ルール通りなら3歩進んで2歩下がる 見たいな感じになるのかなと。
この手法はトレンドに乗っかって成功率が上がる手法なので、このまま使ってもいいのですが、自分の見ている足より1段か2段大きな足でまずトレンドを確認(ボリンジャーバンドのSMAとかでいいと思います)、
そして下位足で入る みたいにした方がもう少し成功率上がるのかなと感じました。
あくまで自分で感じたことなので、まずはご自身で設定して確認してみるのが一番だと思います。
参考にしてください。


コメント