Strategi momentum breakout terutama menggunakan indikator stochastic oscillator untuk menentukan arah tren pasar, dikombinasikan dengan indikator ADX untuk menentukan tren yang kuat, membentuk sinyal perdagangan. Strategi ini terutama berlaku untuk perdagangan tren garis panjang dan menengah.
Strategi ini didasarkan pada dua indikator teknis:
Stochastic oscillator: digunakan untuk menentukan arah tren pasar. Nilai stochastic oscillator adalah 0 hingga 100, dan ketika periode adalah 14, nilai di antara 45 dan 55 berarti tidak ada tren yang jelas. Stochastic di atas 55 adalah sinyal bullish, di bawah 45 adalah sinyal bearish.
Indikator ADX: digunakan untuk menilai tren kuat. ADX di bawah 20 menunjukkan tren lemah.
Strategi pertama berdasarkan nilai osilator Stochastic menilai apakah pasar saat ini memiliki tren naik atau turun yang jelas. Ketika Stochastic di atas 55, dianggap ada tren bullish; Ketika Stochastic di bawah 45, dianggap ada tren bearish.
Strategi kemudian akan mendeteksi apakah ADX berada di atas 20, jika ADX di atas 20 menunjukkan tren yang kuat, perdagangan tren dapat dilakukan. Jika ADX di bawah 20 menunjukkan tren yang tidak cukup jelas, maka strategi tidak akan menghasilkan sinyal perdagangan.
Berdasarkan penilaian gabungan dari Stochastic oscillator dan ADX, strategi menghasilkan sinyal beli/beli jika kedua kondisi berikut ini terpenuhi:
Strategi menghasilkan sinyal jual jika kedua kondisi berikut ini terpenuhi:
Dengan aturan penilaian seperti itu, strategi ini membentuk strategi perdagangan lini tengah yang dipandu oleh tren.
Strategi ini memiliki keuntungan sebagai berikut:
Capture the mid-long trend: Dengan kombinasi Stochastic dan ADX, Anda dapat secara efektif menilai arah dan kekuatan tren mid-long dan menangkap tren utama.
Kontrol penarikan: hanya berdagang saat tren jelas, dan dapat secara efektif mengendalikan penarikan yang disebabkan oleh perdagangan yang tidak perlu dibalik.
Optimasi parameter ruang: Siklus Stochastic dan ADX dapat dioptimalkan, dapat menyesuaikan parameter untuk pasar yang berbeda.
Intuisi sederhana: Logika keseluruhan strategi ini sederhana dan jelas, terdiri dari dua indikator teknis yang umum digunakan, dan mudah dipahami secara intuitif.
universality:The strategy can be applied to different markets with parameter tuning.
Strategi ini juga memiliki beberapa risiko:
Melewatkan titik-titik terobosan: Stochastic dan ADX adalah indikator yang mengikuti tren dan mungkin akan melewatkan titik-titik terobosan yang potensial dan kehilangan peluang perdagangan terobosan awal.
Pada akhir tren, Stochastic dan ADX mungkin salah menilai tren masih berlanjut, dan kehilangan kesempatan untuk keluar tepat waktu, menyebabkan kerugian meningkat.
Kesulitan mengoptimalkan parameter: Parameter Stochastic dan ADX perlu dioptimalkan untuk pasar yang berbeda, ada beberapa kesulitan.
Whipsaws: Strategi ini dapat menghasilkan beberapa sinyal perdagangan yang tidak valid di pasar tanpa tren yang jelas.
Divergence:When the price trend conflicts with the Stochastic oscillator trend, divergence emerges, which may lead to losing trades.
Risiko dapat dikurangi dengan melakukan hal berikut:
Ini adalah indikator yang digunakan untuk menilai tren lokal dan menemukan titik terobosan potensial.
Meningkatkan sinyal pembalikan tren, dan keluar tepat waktu saat tren jelas berbalik.
Parameter yang dioptimalkan secara otomatis melalui metode pembelajaran mesin.
Increase the ADX threshold to filter out weak trend signals in ranging markets.
Apply additional indicators to confirm the Stochastic signals and avoid divergence trades.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Optimalkan parameter Stochastic: menyesuaikan parameter seperti siklus K, siklus D, dan lain-lain untuk mengoptimalkan posisi titik jual beli.
Mengoptimalkan parameter ADX: menyesuaikan siklus ADX untuk menentukan parameter terbaik yang menentukan tren yang kuat atau lemah.
Meningkatkan sinyal pembalikan tren: Meningkatkan posisi di area overbought dan oversold Stochastic, dan mengatur stop loss.
Kombinasi dengan indikator lain: Kombinasi dengan indikator seperti RSI, MACD, dan lain-lain untuk menentukan kapan harus membeli atau menjual.
Pembelajaran mesin: Menggunakan pembelajaran mesin untuk mendapatkan kombinasi parameter yang optimal.
Meningkatkan strategi stop loss: mengatur strategi stop loss yang bergerak atau bergeser untuk mengendalikan kerugian tunggal.
Trailong stop loss: Add trailing stop loss to lock in profits as the trend extends.
Money management: Optimize the risk management by adjusting position sizing based on ADX strength.
Secara keseluruhan, strategi pemecahan momentum ini berorientasi pada tren, menggunakan Stochastic untuk menilai arah tren, ADX untuk menilai kekuatan tren, dan membentuk strategi perdagangan garis panjang dan menengah. Keunggulan strategi adalah menangkap tren, mengendalikan pengunduran diri, dan intuisi sederhana. Kelemahannya adalah kemungkinan melewatkan titik pecah awal, dan ada risiko pembalikan tren.
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Created by Bitcoinduke
//Original Creator is Jake Bernstein
// Link: https://school.stockcharts.com/doku.php?id=trading_strategies:stochastic_pop_drop
// Tested: XBTUSD 3h | BTCPERP FTX 3h
//@version=4
// strategy(shorttitle="Stochastic Pop and Drop", title="Pop and Drop", overlay=false,
// calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash,
// default_qty_value=1000, currency=currency.USD, initial_capital=1000,
// commission_type=strategy.commission.percent, commission_value=0.075)
upper_threshold_buy = input(55, minval=50, title="Buy Entry/Exit Line")
lower_threshold_sell = input(45, maxval=50, title="Sell Entry/Exit Line")
oscillator_length = input(14, minval=1, title="Stochastic Length - Default 14")
sma_length = input(2, minval=1, title="SMA Length - 3-day (3 by default) simple moving average of stoch")
stoch_oscillator = sma(stoch(close, high, low, oscillator_length), sma_length)
//Upper and Lower Entry Lines
upper_line = upper_threshold_buy
lower_line = lower_threshold_sell
stoch_color = stoch_oscillator >= upper_line ? green : stoch_oscillator <= lower_line ? red : purple
//Charts
plot(stoch_oscillator, title="Stochastic", style=histogram, linewidth=4, color=stoch_color)
upper_threshold = plot(upper_line, title="Upper Line", style=line, linewidth=4, color=green)
lower_threshold = plot(lower_line, title="Lower Line", style=line, linewidth=4, color=red)
// Strategy Logic
LongSignal = stoch_oscillator >= upper_line and not (stoch_oscillator > lower_line and stoch_oscillator < upper_line) ? true : false
ShortSignal = stoch_oscillator <= lower_line and not (stoch_oscillator > lower_line and stoch_oscillator < upper_line) ? true : false
strategy.entry("POP_Short", strategy.short, when=ShortSignal)
strategy.entry("POP_Long", strategy.long, when=LongSignal)
// === Backtesting Dates === thanks to Trost
testPeriodSwitch = input(true, "Custom Backtesting Dates")
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(5, "Backtest Stop Day")
testStopHour = input(0, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0)
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
testPeriod_1 = testPeriod()
isPeriod = testPeriodSwitch == true ? testPeriod_1 : true
// === /END