Strategi ini menetapkan titik stop-loss berdasarkan tertinggi dan terendah terbaru untuk dengan cepat memasuki tren dan mengontrol risiko secara ketat. Ini memasuki posisi panjang ketika harga naik berturut-turut dan posisi pendek ketika harga turun berturut-turut. Saat memegang posisi, tingkat stop-loss untuk posisi panjang adalah yang terendah dari beberapa bar baru-baru ini, dan tingkat stop-loss untuk posisi pendek adalah yang tertinggi. Pendekatan stop-loss dinamis ini dapat secara efisien menangkap tren sambil membatasi kerugian secara ketat.
input
fungsi untuk mengatur periode lookbackhiLen
danloLen
untuk tertinggi tertinggi dan terendah terendah, default ke 20.hiHighs
sampai ke bar sebelumnya menggunakanta.highest(high, hiLen)[1]
, dan terendah terendahloLows
menggunakanta.lowest(low, loLen)[1]
.loLows
untuk posisi panjang danhiHighs
Jangan memetakan ketika rata untuk konfirmasi yang mudah.higherCloses
: 3 bar terakhir memiliki penutupan yang lebih tinggi berturut-turutlowerCloses
: 3 bar terakhir memiliki penutupan yang lebih rendah berturut-turutisFlat
: tidak ada posisi saat iniisFlat
danhigherCloses
, masukkan short ketikaisFlat
danlowerCloses
.loLows
; untuk posisi pendek, berhenti dihiHighs
.Singkatnya, strategi ini menggunakan tertinggi terbaru dan terendah untuk menetapkan trailing stops, dengan cepat memasuki tren yang kuat dan membatasi kerugian secara ketat, sehingga secara efisien menangkap keuntungan tren.
Strategi stop terendah dan terendah ini menetapkan stop dinamis berdasarkan harga untuk menangkap tren yang kuat secara efisien dan mengontrol risiko secara ketat. Keuntungannya adalah kesederhanaan, efektivitas, entri cepat, stop ketat, dan kemampuan beradaptasi yang tinggi. Namun, kinerja yang buruk dalam pasar yang bergolak, akhir tren, dan gerakan ekstrem, dan membutuhkan perhatian pada pengaturan parameter. Peningkatan di masa depan dapat menambahkan konfirmasi tren dan momentum, mengoptimalkan stop dan ukuran posisi. Secara keseluruhan, ini adalah strategi yang sederhana dan efektif menyeimbangkan trend-capture dan kontrol risiko yang layak penelitian mendalam dan optimalisasi dalam praktek.
/*backtest start: 2023-03-02 00:00:00 end: 2024-03-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Highest high/lowest low stop", overlay=true) // STEP 1: // Make inputs for length of highest high and lowest low hiLen = input.int(20, title="Highest High Lookback", minval=2) loLen = input.int(20, title="Lowest Low Lookback", minval=2) // STEP 2: // Calculate recent extreme high and low hiHighs = ta.highest(high, hiLen)[1] loLows = ta.lowest(low, loLen)[1] // Plot stop values for visual confirmation plot(strategy.position_size > 0 ? loLows : na, style=plot.style_circles, color=color.green, linewidth=3, title="Lowest Low Stop") plot(strategy.position_size < 0 ? hiHighs : na, style=plot.style_circles, color=color.red, linewidth=3, title="Highest High Stop") // Trading conditions for this example strategy higherCloses = close > close[1] and close[1] > close[2] and close[2] > close[3] lowerCloses = close < close[1] and close[1] < close[2] and close[2] < close[3] isFlat = strategy.position_size == 0 // Submit entry orders if isFlat and higherCloses strategy.entry("EL", strategy.long) if isFlat and lowerCloses strategy.entry("ES", strategy.short) // STEP 3: // Submit stops based on highest high and lowest low if strategy.position_size > 0 strategy.exit("XL HH", stop=loLows) if strategy.position_size < 0 strategy.exit("XS LL", stop=hiHighs)