Strategi supertrend berdasarkan ATR dan trailing stop
Gambaran keseluruhan
Strategi ini merancang garis berhenti bergerak dan garis berbalik berdasarkan purata pergerakan sebenar (ATR). Ia akan mengikuti perubahan harga untuk trailing stop loss. Secara khusus, jika perubahan harga melebihi 1%, garis berhenti akan bergerak ke arah keuntungan secara tetap. Apabila harga menembusi garis berhenti, kedudukan akan dipadamkan secara automatik.
Prinsip Strategi
Strategi ini menggunakan indikator ATR untuk mengira garis hentian. Rumus khusus adalah seperti berikut:
pine
atr = multplierFactor * atr(barsBack)
longStop = hl2 - atr
shortStop = hl2 + atr
MultiplierFactor adalah ATR yang diperbesar, dan barBack adalah jumlah kitaran ATR. Semakin besar nilai ATR, semakin besar turun naik pasaran.
Berdasarkan nilai ATR, garis stop longStop dan garis stop shortStop dihitung. Isyarat perdagangan dikeluarkan apabila harga melebihi kedua-dua garis tersebut.
Selain itu, strategi ini juga memperkenalkan pembolehubah arah untuk menentukan arah trend:
mylang
direction = 1
direction := nz(direction[1], direction)
direction := direction == -1 and close > shortStopPrev ? 1 : direction == 1 and close < longStopPrev ? -1 : direction
Jika arah 1 menunjukkan berada dalam trend multihead, jika arah -1 menunjukkan berada dalam trend kosong.
Berdasarkan nilai pembolehubah arah, garis hentian akan diwarnakan dengan warna yang berbeza:
mylang
if (direction == 1)
valueToPlot := longStop
colorToPlot := color.green
else
valueToPlot := shortStop
colorToPlot := color.red
Ini membolehkan anda melihat dengan jelas arah trend semasa dan kedudukan garis hentian.
Mekanisme Hentikan Kerosakan
Titik penting dalam strategi ini adalah pengenalan mekanisme pengesanan yang boleh menyesuaikan garis penangguhan dalam masa nyata mengikut pergerakan harga.
Logiknya ialah:
mylang
strategyPercentege = (close - updatedEntryPrice) / updatedEntryPrice * 100.00
rideUpStopLoss = hasOpenTrade() and strategyPercentege > 1
if (rideUpStopLoss)
stopLossPercent := stopLossPercent + strategyPercentege - 1.0
newStopLossPrice = updatedEntryPrice + (updatedEntryPrice * stopLossPercent) / 100
stopLossPrice := max(stopLossPrice, newStopLossPrice)
updatedEntryPrice := stopLossPrice
Jika harga naik lebih daripada 1% berbanding harga masuk, maka susulan ke atas untuk membetulkan garisan stop loss.
Ini akan mengunci lebih banyak keuntungan dan mengurangkan kerugian.
Analisis kelebihan
Kelebihan terbesar strategi ini berbanding strategi berhenti bergerak tradisional ialah ia dapat menyesuaikan garis berhenti secara dinamik mengikut keadaan pasaran. Kelebihan khusus adalah sebagai berikut:
-
Menerima keuntungan yang lebih tinggi dalam keadaan trend
Mekanisme tracking stop loss membolehkan garisan stop loss terus bergerak ke arah keuntungan, untuk mengunci keuntungan yang lebih tinggi jika pasaran terus meningkat.
-
Ia boleh mengurangkan kerugian yang timbul akibat kegagalan penyelesaian.
Apabila trend pasaran berubah, garis hentian bergerak yang tetap mudah dilangkau. Garis hentian strategi ini adalah berdasarkan perhitungan turun naik pasaran, yang dapat mengesan perubahan harga dengan munasabah, dan mengelakkan terlewatkan semasa pencatatan.
-
Operasi mudah dan mudah untuk diotomatiskan
Strategi ini sepenuhnya berdasarkan operasi penunjuk, tanpa logik penilaian trend yang rumit. Ia boleh dengan sangat mudah mewujudkan perdagangan automatik.
-
Parameter yang boleh disesuaikan untuk pelbagai jenis
Parameter seperti kitaran ATR, faktor penguatan, dan margin henti boleh disesuaikan dan dapat dioptimumkan untuk parameter yang berbeza, menjadikan strategi lebih universal.
Analisis risiko
Walaupun terdapat banyak kelebihan, terdapat risiko yang perlu diperhatikan:
-
Tidak dapat menentukan titik perubahan trend, ada risiko untuk mengejar kenaikan atau penurunan
Strategi ini tidak menilai apakah trend akan berakhir atau tidak. Pada akhir pasaran lembu, ia mudah untuk mengejar kenaikan dan penurunan.
-
Parameter yang tidak betul boleh meningkatkan kerugian
Jika parameter kitaran ATR ditetapkan terlalu pendek, barisan kemusnahan akan menjadi terlalu sensitif dan mungkin akan dicetuskan oleh pergerakan gegaran yang kerap.
-
Terdapat risiko untuk menghalang bouncing balik transkrip.
Strategi ini tidak mempertimbangkan titik pemisahan sebagai titik sokongan berhenti. Oleh itu, ia mungkin dikeluarkan dari pasaran apabila garis pendek bangkit.
Menghadapi risiko tersebut, anda boleh mengoptimumkan dari beberapa aspek:
-
Kaedah untuk menilai perubahan trend dengan menggunakan indikator gelombang trend
-
Uji optimasi parameter, memilih kombinasi parameter yang optimum
-
Peningkatan jangkauan stop loss berhampiran tahap sokongan tertentu
Arah pengoptimuman
Strategi ini masih boleh dioptimumkan lagi:
-
Penghakiman bentuk garis K
Anda boleh mengenal pasti beberapa bentuk garis K tipikal, seperti tulang belakang, bintang penembak, dan lain-lain untuk menilai kemungkinan pembalikan trend. Ini dapat mengelakkan risiko mengejar kenaikan dan penurunan.
-
Optimumkan parameter pengesanan dinamik
Ia juga membolehkan parameter seperti kitaran ATR, faktor penguatan dan lain-lain berubah secara dinamik, menggunakan kitaran ATR yang lebih lama dan lebih luas dalam pasaran yang bergolak.
-
Model Pembelajaran Mesin
Menggunakan model pembelajaran mendalam seperti lstm, rnn, dan lain-lain untuk meramalkan julat harga yang mungkin berlaku di pasaran pasca dan secara dinamik menyesuaikan jarak berhenti.
ringkaskan
Strategi overall menggunakan indikator ATR untuk merancang garis hentian bergerak, dan memperkenalkan mekanisme hentian pengesanan yang dapat menyesuaikan penempatan hentian dalam masa nyata mengikut perubahan keadaan pasaran. Ini mewujudkan penguncian keuntungan yang lebih tinggi, tetapi juga mengurangkan risiko. Dengan pengoptimuman lanjut, strategi ini dapat disesuaikan dengan pelbagai keadaan pasaran, menjadi strategi perdagangan yang lebih fleksibel.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
// ------------------------------------------------------------------------------ 1

