市場の売られすぎと買われすぎを判断するためにMACDを用い、ボリンジャーバンドの上限と下限にタッチしたら逆張りエントリーする手法が、どの程度通用するのか?。本記事では、この戦略をバックテストし、そのパフォーマンスを評価します。
オシレーターを使った逆張り
一般的に、オシレーターを使った逆張りは、あまりボリンジャーバンドは用いません。複数を組み合わせて判断することが多いです。それについては、こちらの記事にまとめました。一部、バックテストしてます。
ボリンジャーバンドとMACDを組み合わせた逆張りについて
ボリンジャーバンドとMACDを組み合わせた逆張りは、テクニカル分析を用いたトレード戦略の一つで、市場の売られすぎと買われすぎを判断して、その逆にトレードする方法です。
例えば、市場が買われすぎと判断された場合には、ボリンジャーバンドの上限にタッチした時に、ショートポジションを取ることができます。逆に、市場が売られすぎと判断された場合には、ボリンジャーバンドの下限にタッチした時に、ロングポジションを取ることができます。
アルゴリズム案
ロング
- MACDのヒストグラムが0より下
- ボリンジャーバンドの下限にローソク足タッチ
- 逆張りエントリー
- クローズは20pips
- 損切りは20pips
ショート
- MACDのヒストグラムが0より上
- ボリンジャーバンドの上限にローソク足タッチ
- 逆張りエントリー
- クローズは20pips
- 損切りは20pips
TradingViewのソースコード
実際に作ってみました。
//@version=5
strategy("BB-MACD Heikin Ashi Reversal Strategy", overlay=true)
// パラメータ設定
length = input(20, title="BB Length")
mult = input(2, title="BB StdDev")
src = input(close, title="BB Source")
fast_length = input(12, title="MACD Fast Length")
slow_length = input(26, title="MACD Slow Length")
signal_length = input(9, title="MACD Signal Length")
buy_level = input(20, title="MACD Oversold Level")
sell_level = input(80, title="MACD Overbought Level")
take_profit = input(20, title="take profit")
stop_loss = input(20, title="stop loss")
// ボリンジャーバンドの計算
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// MACDの計算
[macd_line, signal_line, hist_line] = ta.macd(src, fast_length, slow_length, signal_length)
// ロング/ショートエントリーの判断
buy_signal = hist_line < 0 and low < lower
sell_signal = hist_line > 0 and high > upper
// ロング
if buy_signal
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", "Long", profit=take_profit)
strategy.exit("Stop Loss", "Long", loss=stop_loss)
//ショート
if sell_signal
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", "Short", profit=take_profit)
strategy.exit("Stop Loss", "Short", loss=stop_loss)
バックテストの結果
意外と勝率は高めですが、がんがん利益は減りますね。これでは使い物になりません。
エントリーポイントで確認してみると、やってほしい動きは行ってくれています。ただ利確ポイントが早すぎるのと、損切りがうまく出来ていないのが分かります。
この後、パラメーター調整してみたのですが、うまくいかず。初期設定でも上記を見る限り、ちゃんと動いていますからね。問題は利確と損切りのポイントです。
まとめ(検証失敗!)
ボリンジャーバンドをサインで使うのは、なかなかムズいです。
ボリンジャーバンドとストキャスの組み合わせについて
ストキャスティクスとの組み合わせは、苦労しながらも意外とうまくいきました。
コメント