逆転ブレイクアウト戦略は,資産が過剰購入または過剰販売されたときに潜在的な逆転点を特定するためにボリンジャーバンドとストコスタティックオシレーターを使用する.日中トレーダーは利益のために小さな価格変動を資本化するのに適しています.主なアイデアは,価格がボリンジャーバンドとストコスタティックから突破したときの取引機会を探すこと.
この戦略は,ボリンジャーバンドとストコスタスティックの両方を主要な技術指標として使用する.ボリンジャーバンドは,単純な移動平均値以上および以下の標準偏差レベルでプロットされる.上帯に達する価格は過買いとみなされ,下帯は過売りとみなされる.ストコスタスティック振動器は,価格があまりにも遠くに移動し,逆転を起こすかどうかを決定する.80以上の読み方は過買い状態を示唆し,20未満は過売り状態を示唆する.
取引規則は,価格がボリンジャー帯の下位に突破しストコスタスティックは20以下になるとロング,価格が上位に突破しストコスタスティックは80以上になるとショート.ストップロスは低値 (ロング) の下に数ピップまたは高値 (ショート) の上に置かれます.収益目標を取ることは,最近のバーを超えた平均価格変動で設定されます.
クロスオーバーはバンドブレイクを識別する. 形状マーカーはエントリー信号をプロットする. ストップと利益目標はエントリー後に定義される.
サポート/レジスタンスのバンドとオーバーバイト/オーバーセールスのストカスティックを組み合わせることで,単一の指標と比較して信号の質が向上します.バンドブレイク後の逆転取引は,より大きな利益をもたらす可能性があります.
ストレートストップ・ロスは損失を制限するのに役立ちます.平均的な真の範囲に基づいて利益を得ることは,バランスの取れた報酬/リスクを目指します.高周波取引は小さな動きを捉えます.
バンドブレイクでは 中間逆転が想定され 失敗する可能性があります ストカスティック遅延価格なので 動きが見逃されることがあります
小規模なストップは利益の可能性を抑制する.頻繁な取引には強い心理が必要です.
質の向上のために,長いボリンガー周期をテストするか,バンドの外の閉店を確認します.
MACD や KD などの他の指標をストカスティックと組み合わせると,よりよいオーバー買い/オーバーセールシグナルが得られます.
固定ピップではなく 波動性に基づく ダイナミックストップを考える
この戦略は,サポート/レジスタンスのためのボリンジャー帯とオーバーバイト/オーバーセール条件のためのストーカスティックを組み合わせて逆転を特定することを目指している.微調整パラメータ,リスク制御,継続的な最適化は現実世界のパフォーマンスにとって鍵である.取引コストは考慮されるべきである.過去のパフォーマンスは将来の結果の保証ではない.
/*backtest start: 2022-10-20 00:00:00 end: 2023-10-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Bollinger Bands & Stochastic Scalping Strategy", shorttitle="BB & Stoch Scalp", overlay=true) // Bollinger Bands length = input(20, title="Bollinger Bands Length") src = input(close, title="Source") mult = input(2, title="Multiplier") basis = sma(src, length) dev = mult * stdev(src, length) upperBB = basis + dev lowerBB = basis - dev // Stochastic stochLength = input(14, title="Stochastic Length") smoothK = input(5, title="Stochastic %K Smoothing") smoothD = input(3, title="Stochastic %D Smoothing") k = sma(stoch(close, high, low, stochLength), smoothK) d = sma(k, smoothD) // Entry Conditions longCondition = crossover(close, lowerBB) and crossover(k, 20) shortCondition = crossunder(close, upperBB) and crossunder(k, 80) // Exit Conditions takeProfit = input(50, title="Take Profit (pips)") plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) // Stop Loss stopLossPips = input(3, title="Stop Loss (pips)") stopLossLong = close - stopLossPips * syminfo.mintick stopLossShort = close + stopLossPips * syminfo.mintick strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Long", profit=takeProfit, stop=stopLossLong) strategy.exit("Take Profit/Stop Loss", from_entry="Short", profit=takeProfit, stop=stopLossShort) plot(upperBB, title="Upper Bollinger Band", color=color.red) plot(lowerBB, title="Lower Bollinger Band", color=color.green) hline(80, "Overbought", color=color.red) hline(20, "Oversold", color=color.green)