ボリンジャーバンドとストキャスティクスは、FXにおいて非常に有用なテクニカル指標で人気です。ボリンジャーバンドの中心線を使ったエントリータイミングは、トレンド反転の確率が高く、逆張りトレードにおいて非常に効果的な手法です。本記事では、ボリンジャーバンドとストキャスティクスを組み合わせた逆張りの方法について詳しく解説します。
ボリンジャーバンドとストキャスティクスの組み合わせの手法について
具体的には2種類あります。こちらの記事で詳しく解説しました。
ボリジャーバンド中心線を使ったスキャルピング
今回は、ボリジャーバンドの中心線をエントリータイミングの基準にする方法でプログラムを組んでみます。ボリジャーバンドの中心線とストキャスティクスを組み合わせたスキャルピングは、FX取引でよく用いられる手法の一つです。
ボリジャーバンドの中心線を利用することで、トレンドの方向性を確認すると同時に、ストキャスティクスを使用してオーバーソールド、オーバーバウトの状態を捉え、エントリータイミングを狙います。
この手法は、短期的なトレードを行うスキャルピングに適した手法であり、短時間で複数回のトレードを行うことができるため、利益を積み上げることができます。
アルゴリズムの案
ボリジャーバンドの中心線は、移動平均線を表します。通常は20期移動平均線を使用することが多いです。この中心線を基準に、下降トレンドから反転して上昇トレンドに転じるタイミングを探します。
エントリータイミングは、以下の条件を満たしたときに行います。
- 値動きが下降トレンドから反転して上昇トレンドに転じていることを確認する。
- 下降トレンドで下に突き抜けたローソク足が、ボリジャーバンドの下側に位置していることを確認する。
- ストキャスティクスが、売り方が過剰になっていることを示す80%以上の高水準に達していることを確認する。
- ボリジャーバンドの中心線に価格が戻ってきていることを確認する。
- ストキャスティクスが下降し、売り方が抑えられていることを確認する。
以上の条件を満たす場合、買いエントリーを行います。この方法は、下降トレンドからの反転を見極め、エントリーすることで利益を狙う手法です。
ChatGPTで原型作成
ゼロから作るのは面倒なので、原型は流行りのAIでつくりました。エラーはめちゃくちゃでます。
ChatGPTに質問した内容
かなり具体的に質問しないと、こちらが望む内容で返ってきません。
ChatGPTが作ったソース
便利な世の中になったのですが、このままだと実行時にエラーが出ます。
修正したソースコード
PineScriptのバージョンが4と5で、混同した内容でAIは出力してます。現在はバージョン5なので、互換性はなく、エラーが出ます。その修正は必要です。以下は修正した内容です。
//@version=5
strategy("Bollinger Bands and Stochastic Reversal", overlay=true)
// Bollinger Bands
source = input(close, title="Source")
length = input(20, title="Length")
mult = input(2.0, title="Multiplier")
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
midline = (upper + lower) / 2
// Stochastic
lengthK = input(14, title="K Length")
smoothK = input(3, title="K Smooth")
lengthD = input(3, title="D Length")
smoothD = input(3, title="D Smooth")
//Close
stoch_under_close = input(20,title="Close stochastics under")
stoch_upper_close = input(80,title="Close stochastics upper")
k = ta.sma(ta.stoch(close, high, low, lengthK), smoothK)
d = ta.sma(k, lengthD)
// Entry rule
longCondition = ta.crossover(close, midline) and k < stoch_under_close and d < stoch_under_close
shortCondition = ta.crossunder(close, midline) and k > stoch_upper_close and d > stoch_upper_close
// Exit rule
exitCondition = ta.crossover(midline, close) or ta.crossunder(close, midline)
// Trading logic
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Sell", strategy.short)
if (exitCondition)
strategy.close_all()
結果のグラフ
結果は、ドル円5分足0.1ロットでのバックテスト結果です。勝率は7割と高めですが、プロフィットファクターが0.4
パラメータを調整した結果
ボリンジャーの設定やストキャスの設定値を変えて調整してみました。勝率は45%と下がりましたが、トレード回数が劇的に増えて、プロフィットファクターも2.09と超高い。ドローダウンも低めです。
利益が出たパラメーターの設定値
パスワードは、LINEお友達になった方にお伝えしています。
まとめ
ボリンジャーバンドとストキャスティクスの組み合わせのスキャルピングですが、バックテストした限りでは通常のパラメーターでは無理ですね。
しかし、パラメーターの調整次第で、かなり勝負できる感触です。これでEAを作ってみようかなと考えてます。
コメント