Strategi penembusan pembalikan menggunakan Bollinger Bands dan Stochastic Oscillator untuk mengenal pasti titik pembalikan yang berpotensi apabila aset terlalu banyak dibeli atau terlalu banyak dijual. Ia sesuai untuk peniaga intraday untuk memanfaatkan turun naik harga kecil untuk keuntungan.
Strategi ini menggunakan kedua-dua Bollinger Bands dan Stochastic sebagai penunjuk teknikal utama. Bollinger Bands dicatatkan pada tahap penyimpangan standard di atas dan di bawah purata bergerak mudah. Harga yang mencapai band atas dianggap terlalu banyak dibeli sementara band bawah terlalu banyak dijual.
Peraturan perdagangan adalah: pergi lama apabila harga pecah di bawah band Bollinger yang lebih rendah dan Stochastic di bawah 20; pergi pendek apabila harga pecah di atas band atas dan Stochastic di atas 80. Stop loss diletakkan beberapa pip di bawah rendah (untuk panjang) atau di atas tinggi (untuk pendek).
Crossover mengenal pasti penembusan band. Penanda bentuk merangka isyarat masuk. Henti dan sasaran keuntungan ditakrifkan selepas masuk.
Menggabungkan band untuk sokongan / rintangan dan Stochastic untuk overbought / oversold meningkatkan kualiti isyarat berbanding satu penunjuk tunggal.
Stop loss ketat membantu mengehadkan kerugian. Ambil keuntungan berdasarkan purata julat sebenar bertujuan untuk imbalan ganjaran / risiko yang seimbang. Perdagangan frekuensi tinggi menangkap pergerakan kecil.
Penembusan band mengandaikan pembalikan purata yang mungkin gagal.
Perhentian kecil menghalang potensi keuntungan. Perdagangan kerap memerlukan psikologi yang kuat - mengelakkan berhenti terlalu banyak.
Uji tempoh Bollinger yang lebih lama atau mengesahkan penutupan di luar jalur untuk meningkatkan kualiti.
Gabungkan penunjuk lain seperti MACD dan KD dengan Stochastic untuk isyarat overbought / oversold yang lebih baik.
Pertimbangkan berhenti dinamik berdasarkan turun naik dan bukannya pip tetap.
Strategi ini bertujuan untuk mengenal pasti pembalikan dengan menggabungkan Bollinger Bands untuk sokongan / rintangan dan Stochastic untuk keadaan overbought / oversold. Parameter penyesuaian halus, mengawal risiko, dan pengoptimuman berterusan adalah kunci untuk prestasi dunia nyata. Kos urus niaga harus dipertimbangkan. Prestasi masa lalu tidak menjamin hasil masa depan.
/*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)