逆転ブレイクアウト戦略

作者: リン・ハーンチャオチャン開催日:2023年10月27日 16:14:16
タグ:

img

概要

逆転ブレイクアウト戦略は,資産が過剰購入または過剰販売されたときに潜在的な逆転点を特定するためにボリンジャーバンドとストコスタティックオシレーターを使用する.日中トレーダーは利益のために小さな価格変動を資本化するのに適しています.主なアイデアは,価格がボリンジャーバンドとストコスタティックから突破したときの取引機会を探すこと.

戦略の論理

この戦略は,ボリンジャーバンドとストコスタスティックの両方を主要な技術指標として使用する.ボリンジャーバンドは,単純な移動平均値以上および以下の標準偏差レベルでプロットされる.上帯に達する価格は過買いとみなされ,下帯は過売りとみなされる.ストコスタスティック振動器は,価格があまりにも遠くに移動し,逆転を起こすかどうかを決定する.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)


もっと