
ブリン帯平均回帰取引戦略は,価格変動と平均回帰の原理に基づいた定量取引方法である.この戦略はブリン帯指標を使用して,市場の超売り地域を特定し,価格が平均に戻り始めると多額の入場を行う.戦略の核心思想は,ブリン帯の下軌道から反発して中軌道 (すなわち20周期平均線) に戻る動きを捉え,比較的信頼性の高い短期利益の機会を実現することである.
この戦略の基本原理は平均値回帰理論とブリン帯の指標の適用に基づいている.ブリン帯は3つの線で構成される:中軌道 ((20周期の単純移動平均線),上軌道 ((中軌道加倍標準差) と下軌道 ((中軌道減倍標準差)).戦略の具体的実行論理は以下の通りである.
応募条件:
ストップ設定:
ストップダスト設定:
この戦略の入場シグナルは,市場が超売り状態にあり,反発し始める可能性があることを意味し,ストップを中軌道に設定することは,平均値回帰の理念を体現する.
明確な入場・出場条件:戦略は,正確な入場条件 (((2つの線の特定のパフォーマンス) と明確な利益目標 (((20周期平均線) を提供し,取引過程で主観的な判断を減らす.
統計学原理に基づく:ブリン帯は標準差計算に基づく. 統計学的な根拠がある. 価格が平均から遠く離れている場合,平均に戻る可能性が高い.
リスク管理は合理的:入場信号の線の最低点にストップロスを設定し,単一の取引の最大損失を制限する.
資金管理は明瞭である.戦略は,口座総資産のパーセント (<100%) をポジション管理に使用し,リスク評価を容易にする.
ビジュアル化サポート:コードにはブリン帯と入場シグナルのビジュアル化が含まれ,トレーダーが市場状況とシグナルのトリガーポイントを直視的に理解できるようにする.
連続した不良取引を避ける:戦略は,ポジションを開いていない場合にのみ新しい入場シグナルを考慮する制限を設けた.
震動市場リスク:横盤震動市場では,ブリン帯の下軌道と中軌道の間に価格が何度も波動し,頻繁に取引され,効果が低下する.
トレンド市場リスク: 強い下落のトレンドでは,価格が一時的な反発の後,さらに下落し,前回の低値を突破し,ストップが引き起こされる可能性があります.
過剰な資金使用率:戦略的に100%の口座資金を使って取引する.この高度なレバレッジ操作は,連続した損失の場合,口座資金が急速に縮小する可能性があります.
偽の突破リスク: 時々,価格はブリン帯の下線を一時的に突破し,その後急速に下がり,誤った入場信号を引き起こす.
市場環境フィルターの欠如:戦略は,市場環境の全体 (トレンドの方向,波動率など) を考慮せずに,シグナルをフィルターし,不適切な市場条件で取引シグナルを生成する可能性があります.
トレンドフィルターの導入: 長期移動平均や他のトレンド指標を追加し,上昇傾向または中性傾向の環境でのみ複数のシグナルを実行し,下降傾向での取引を避ける.
資金管理の最適化:取引量を固定100%から動的比率に調整し,市場変動や口座の撤回状況に基づいてポジションサイズを調整してリスクを低減する.
複数のタイムフレームの分析を追加: 市場方向をより大きなタイムフレームで確認し,その後,より小さなタイムフレームで取引シグナルを実行し,勝利率を上げます.
取引フィルター条件を追加:取引量確認,RSI超売りゾーン確認などの追加の条件,偽信号を減らす.
部分利益メカニズムの導入:複数の利益目標を設定できます.例えば,ブリン帯の中央線に達すると,部分的なポジションを平らげて,残りのポジションが利益を得ることを許可します.
ダイナミックストップ調整:ストップを追跡する機能が導入され,価格が有利な方向に動くとストップ位置が自動的に調整され,既得利益を保護する.
最適化パラメータ設定:異なるブリン帯周期 (<20年) と標準差倍数 (<2.0年) を回測することで,特定の市場に適したパラメータの組み合わせを見つけます.
ブリン帯均等回帰取引戦略は,市場の均等回帰特性を利用して,価格が超売り地域から均等値に戻る過程を捉える簡単な,効果的な量化取引方法である.この戦略は,明確な入場,停止,および停止の条件があり,容易に実行および再測される.しかし,戦略の安定性を高めるために,トレンドフィルタリング,複数の時間枠の分析,および資金管理の最適化などの改善措置を導入することが推奨されている.同時に,トレーダーは,市場の環境の変化が戦略のパフォーマンスに影響を与える可能性があることを認識する必要があります.
/*backtest
start: 2024-07-09 00:00:00
end: 2025-07-04 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Bollinger Reversal | 100% Take at 20 MA", overlay=true,
default_qty_type=strategy.percent_of_equity, default_qty_value=100,
initial_capital=1000, currency=currency.EUR)
// === PARAMETERS ===
bb_length = 20
bb_mult = 2.0
// === BOLLINGER BANDS ===
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// === DETECTION OF 2 CANDLES ===
candle1 = close[1] < lower[1]
candle2 = close > lower
valid_entry = candle1 and candle2
entry_price = high
stop_price = math.min(low, low[1])
final_target = basis // Final take profit is the 20-period moving average
// === ENTRY SIGNAL ===
entry_condition = valid_entry and strategy.opentrades == 0
if entry_condition
strategy.entry("Bollinger Entry", strategy.long, stop=entry_price)
// === FULL EXIT AT 20 MA ===
if strategy.position_size > 0 and close >= final_target
strategy.close("Bollinger Entry", comment="🎯 Take at 20 MA")
// === STOP LOSS ===
if strategy.position_size > 0 and low <= stop_price
strategy.close("Bollinger Entry", comment="🛑 Initial Stop")
// === VISUALIZATION ===
plot(upper, title="Upper Band", color=color.red)
plot(lower, title="Lower Band", color=color.green)
plot(basis, title="20 MA", color=color.gray)
plotshape(valid_entry, location=location.belowbar, style=shape.arrowup, color=color.green, title="Bollinger Signal")