Strategi Hentian Tertinggi Tinggi/Tinggi Rendah

Penulis:ChaoZhang, Tarikh: 2024-03-08 14:32:30
Tag:

img

Ringkasan

Strategi ini menetapkan titik stop-loss berdasarkan tertinggi dan terendah terkini untuk memasuki trend dengan cepat dan mengawal risiko dengan ketat. Ia memasuki kedudukan panjang apabila harga meningkat secara berturut-turut dan kedudukan pendek apabila harga jatuh secara berturut-turut. Apabila memegang kedudukan, tahap stop-loss untuk kedudukan panjang adalah yang terendah dari beberapa bar baru-baru ini, dan tahap stop-loss untuk kedudukan pendek adalah yang tertinggi. Pendekatan stop-loss dinamik ini dapat menangkap trend dengan cekap sambil membatasi kerugian dengan ketat.

Prinsip Strategi

  1. Gunakaninputfungsi untuk menetapkan tempoh melihat balikhiLendanloLenuntuk tertinggi tertinggi dan terendah terendah, lalai kepada 20.
  2. Mengira tertinggi tinggihiHighssehingga bar sebelumnya menggunakanta.highest(high, hiLen)[1], dan terendah terendahloLowsmenggunakanta.lowest(low, loLen)[1].
  3. Menggambarkan paras stop-loss, denganloLowsuntuk kedudukan panjang danhiHighsJangan merangka ketika rata untuk pengesahan mudah.
  4. Menentukan syarat isyarat perdagangan:
    • higherCloses: 3 bar terakhir mempunyai penutupan yang lebih tinggi berturut-turut
    • lowerCloses: 3 bar terakhir mempunyai penutupan yang lebih rendah berturut-turut
    • isFlat: tiada kedudukan semasa
  5. Masuk: masukkan lama apabilaisFlatdanhigherCloses, masuk pendek apabilaisFlatdanlowerCloses.
  6. Stop-loss: untuk kedudukan panjang, stop out padaloLows; untuk kedudukan pendek, berhenti dihiHighs.

Singkatnya, strategi ini menggunakan tertinggi terkini dan terendah untuk menetapkan hentian, dengan cepat memasuki trend yang kuat dan dengan ketat mengehadkan kerugian, dengan itu menangkap keuntungan trend dengan cekap.

Analisis Kelebihan

  1. Sederhana dan berkesan: strategi mempunyai logik yang jelas dan mudah, menetapkan berhenti berdasarkan harga itu sendiri untuk menangkap trend dengan berkesan.
  2. Masuk cepat: memasuki 3 bar berturut-turut bergerak ke arah yang sama membolehkan masuk dengan cepat trend baru.
  3. Hentikan ketat: Hentikan ditetapkan pada harga melampau baru-baru ini, yang berkait rapat dengan harga semasa untuk kawalan risiko yang ketat.
  4. Stop Trailing: paras berhenti sentiasa dikemas kini dengan harga, kedua-dua mengunci keuntungan dan mengekalkan ruang trend.
  5. Sangat mudah disesuaikan: sesuai untuk pelbagai pasaran dan instrumen, dengan parameter yang boleh disesuaikan dengan fleksibel.

Analisis Risiko

  1. Risiko pasaran bergolak: pasaran bergolak boleh menyebabkan kemasukan dan berhenti yang kerap, merosakkan prestasi.
  2. Risiko akhir trend: apabila trend akan berbalik, entri baru boleh segera menghadapi pembalikan dan kerugian.
  3. Risiko pergerakan yang melampau: dalam lompatan oversold yang melampau atau penurunan overbought, hentian yang tertinggal mungkin tidak melindungi kedudukan dengan baik. Tetapkan tahap hentian tetap.
  4. Risiko parameter: parameter yang tidak betul boleh menyebabkan masuk dan keluar yang terlalu kerap. Melakukan pengoptimuman parameter.

Arahan pengoptimuman

  1. Pengesanan trend: tambahkan penunjuk trend seperti purata bergerak dan hanya berdagang dalam arah trend utama untuk meningkatkan kadar kemenangan.
  2. Menggabungkan turun naik: menyesuaikan parameter berdasarkan penunjuk turun naik seperti ATR untuk menyesuaikan diri dengan turun naik yang berbeza.
  3. Pengesahan momentum: menambah penunjuk momentum seperti MACD untuk mengesahkan entri hanya dengan sokongan momentum.
  4. Mengoptimumkan hentian: menggabungkan dengan peratusan hentian untuk pergerakan melampau; menambah hentian perlindungan untuk mengurangkan kerugian setiap perdagangan.
  5. Ukuran kedudukan: mengoptimumkan saiz kedudukan, contohnya menyesuaikan saiz berdasarkan tahap risiko untuk meningkatkan nisbah risiko-balasan.

Ringkasan

Strategi berhenti tertinggi / terendah rendah ini menetapkan berhenti dinamik berdasarkan harga itu sendiri untuk menangkap trend yang kuat dengan cekap dan mengawal risiko dengan ketat. Kelebihannya adalah kesederhanaan, keberkesanan, kemasukan cepat, berhenti ketat, dan kemampuan beradaptasi yang tinggi. Walau bagaimanapun, ia berprestasi rendah dalam pasaran yang bergolak, akhir trend, dan pergerakan melampau, dan memerlukan perhatian kepada tetapan parameter. Penambahbaikan masa depan dapat menambah pengesahan trend dan momentum, mengoptimumkan berhenti dan saiz kedudukan. Secara keseluruhan, ini adalah strategi keseimbangan trend-penangkapan dan kawalan risiko yang mudah dan berkesan yang layak penyelidikan dan pengoptimuman yang mendalam dalam amalan.


/*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)

Lebih lanjut