動的区间ブレイクアウト戦略
概要
本戦略は、ボリンジャーバンド指標に基づいて設計されたダイナミックなブレイクアウト取引戦略です。ローソク足の実体フィルターとカラーフィルターの条件を組み合わせ、ボリンジャーバンドの下限バンド付近でブレイクアウトのエントリー機会を探します。エグジットは実体フィルターに基づきます。この戦略は、ポジション数とリスクを自動的に管理します。
戦略の原理
指標の計算
まず、安値に基づいてボリンジャーバンドの基準線と下限バンドを計算します。
src = low
basis = sma(src, length)
dev = mult * stdev(src, length)
lower = basis - dev
ここで、src は安値、length は計算期間、basis は移動平均線、dev は標準偏差、lower は下限バンドです。
mult は通常 2 に設定され、下限バンドが 1 標準偏差であることを意味します。
フィルター条件
戦略には2つのフィルター条件が含まれます。
ローソク足実体フィルター
実体サイズ nbody とその平均値 abody を使用して判断し、nbody が abody の半分より大きい場合にのみ取引シグナルを生成します。
カラーフィルター
ローソク足が陽線(close > open)の場合、買い注文は出しません。これは、hboxの頭部での偽のブレイクアウトを避けるためです。
取引シグナル
以下の条件が満たされた場合に買いシグナルが生成されます。
low < lower // 価格が下限バンドをブレイク
close < open or usecol == false // カラーフィルター
nbody > abody / 2 or usebod == false // 実体フィルター
実体サイズが再び平均値の半分より大きくなった場合、ポジションを決済します。
close > open and nbody > abody / 2
ポジション管理
戦略は取引数量を自動的に計算し、指数関数的な成長を実現します。
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
リスク管理
年、月、日の条件を追加し、指定された日付範囲内でのみ取引を行うように制限します。
when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))
戦略の利点
動的な取引レンジ
ボリンジャーバンドの下限バンドは動的なサポートゾーンであり、市場のトレンド後の反発機会を捉えることができます。
二重フィルター機構
ローソク足の実体とカラー判断を組み合わせることで、偽のブレイクアウトを効果的にフィルタリングします。
自動ポジション管理
ポジションは指数関数的に100%まで増加し、リスクを自動的に管理します。
指定取引時間範囲
日付範囲を設定することで、特定の時間における市場のボラティリティによるリスクを低減します。
戦略のリスク
ポジション不在期間が長すぎる
市場が長期的な強気相場の場合、ボリンジャーバンドの中央バンドと上限バンドが急速に上昇し、ポジション不在期間が長くなりやすいです。
解決方法
トレンド指標と組み合わせて判断し、中長期的に強気相場と判断された場合に戦略を一時停止し、ポジション不在期間が長くなりすぎるのを防ぎます。
ブレイクアウトの失敗
下限バンドのブレイクアウト後に、調整や下限バンドへの再挑戦が発生する可能性があります。
解決方法
ストップロスラインを追加し、サポートラインの下方で一定割合のストップロスを設定します。または、再挑戦失敗の判断ロジックを追加して、迅速にストップロスします。
戦略の最適化
ストップロスロジックの追加
バックテストデータの状況に基づいて、適切なサポートライン下方のストップロス位置を設定します。
フィルター条件パラメータの最適化
実体フィルターの abody 期間、COLOR フィルターの使用などを調整します。最適なパラメータの組み合わせを見つけます。
トレンド判断との組み合わせ
中長期的なトレンド判断を追加し、強気相場と判断された場合に戦略の実行を停止します。ポジション不在期間を短縮します。
まとめ
本戦略は、ボリンジャーバンドのサポートと組み合わせ、実体フィルター、カラーフィルター、ブレイクアウト取引の戦略ロジックを設計することで、確率の高い反発機会を探ります。実際の適用においては、バックテストの結果に基づいて継続的にパラメータを最適化し、ストップロスやトレンド判断モジュールを追加してリスクを制御することで、良好なパフォーマンスを得ることができます。
- 1

