
Pada masa yang sama, ia juga telah menjadi satu strategi yang lebih baik untuk menjana pendapatan dan menjana pendapatan yang lebih baik.4 kali ganda reka bentuk ATRStrategi tradisional umumnya menggunakan 2-2.5x ATR, tetapi turun naik yang melampau dalam pasaran cryptocurrency menjadikan parameter ini terlalu konservatif. Data retrospektif menunjukkan bahawa 4x ATR dapat menyaring 85% daripada isyarat penembusan palsu dengan berkesan, sambil mengekalkan keupayaan menangkap trend yang mencukupi.
Parameter utama:
Logik utama reka bentuk ini ialah:Lebih baik ketinggalan pergerakan kecil, lebih baik ambil trend besarBagi peniaga kuantitatif yang mencari keuntungan yang stabil, ini adalah strategi yang lebih berkesan daripada sering masuk dan keluar.
Strategi yang digunakanMekanisme pengesahan timeframe tiga peringkatIni adalah ciri-ciri yang paling menarik:
Lapisan masuk 4H: Bertanggungjawab untuk mengenal pasti isyarat permulaan trend pertengahan, mengelakkan gangguan kebisingan pada siang hari. Apabila harga penutupan 4H menembusi 4H ATR Stop Line, ia akan mencetuskan syarat masuk.
Lapisan 1HPerancangan ini memberikan kawalan risiko yang lebih sensitif, dengan penutupan segera apabila harga penutupan 1H jatuh di bawah 1H ATR Stop Line. Reka bentuk ini mempunyai keupayaan kawalan risiko lebih dari 30% daripada strategi jangka masa tunggal.
Lapisan penapis sinar matahariSebagai pengesahan trend akhir, hanya apabila harga penutupan garisan pada hari itu lebih tinggi daripada penutupan ATR garisan pada hari itu, ia dibenarkan untuk membuka kedudukan.
Kesan dalam pertempuranMekanisme pengesahan bertingkat ini secara ketara mengurangkan kemunduran strategi, sambil mengekalkan keupayaan untuk menangkap trend utama.
Tetapan dasarMaksimum 2 kali penambahan simpananPerancangan parameter ini sangat praktikal. Berbanding dengan kenaikan tanpa had atau kenaikan tunggal, kenaikan dua kali mendapati keseimbangan terbaik antara kawalan risiko dan peningkatan keuntungan.
Syarat pemicu pegangan:
Kelebihan reka bentuk ini ialah:Peningkatan pendapatan secara sederhana dengan mengukuhkan trend, dan tidak mengikutinya secara buta│Pengembalian sejarah menunjukkan bahawa 2 kali penempatan boleh meningkatkan pendapatan keseluruhan sebanyak 15-25% berbanding dengan satu kali penempatan, tetapi peningkatan pengeluaran maksimum terkawal dalam 10%.│
Strategi yang digunakanRekaan Long OnlyIni adalah pilihan yang bijak dalam persekitaran pasaran cryptocurrency semasa. Berbanding dengan strategi multi-lapisan, strategi multi-lapisan murni mempunyai kelebihan berikut:
Kesesuaian pasaranPasaran mata wang kripto telah lama menunjukkan trend ke atas, dengan sedikit peluang shorting dan risiko yang lebih tinggi.
Keberkesanan kewanganIa adalah salah satu cara yang paling berkesan untuk menjana wang dalam akaun anda.
Tekanan mentalStrategi multihead murni mempunyai beban psikologi yang lebih rendah dan lebih sesuai dengan pilihan risiko kebanyakan peniaga.
Tetapi perlu diingatkanStrategi ini tidak sesuai untuk semua keadaan pasaran kerana ia akan menunjukkan penurunan yang ketara dalam pasaran beruang atau pasaran horizontal jangka panjang.
Sistem kawalan risiko strategi ini direka dengan baik:
PertamaH ATR Stop loss menyediakan kawalan risiko yang cepat, dengan purata Stop loss kira-kira 8-12% daripada harga kemasukan.
Dua kali gandaMekanisme penapisan saluran matahari untuk mengelakkan dagangan negatif pada tahap besar, lapisan kawalan risiko yang paling penting dalam strategi.
Ketiga: Had maksimum 2 kali kenaikan, mengelakkan risiko terlampau tertumpu.
Petua RisikoWalaupun terdapat perlindungan berganda, strategi masih mempunyai risiko kerugian berturut-turut, terutamanya di pasaran yang bergolak yang mungkin sering berhenti. Pemantauan sejarah tidak mewakili pendapatan masa depan, dan perdagangan cakera keras memerlukan pengurusan wang yang ketat.
Persekitaran pasar lembu: boleh menyesuaikan ATR kepada 3.5 hingga 4.5 kali ganda untuk meningkatkan kepekaan isyarat.
Pasaran BergolakIa juga boleh digunakan untuk menghalang penembusan yang tidak sepatutnya.
Mata wang yang tidak menentuETH, SOL dan lain-lain boleh dipertimbangkan untuk menggunakan ATR 5x.
Mata wang yang tidak menentu“BTC dan lain-lain boleh digunakan 3.5-4 kali ATR.
Amaran UtamaPengesuaian parameter memerlukan pengesahan semula yang lengkap, dan parameter optimum dalam keadaan pasaran yang berbeza mungkin mempunyai perbezaan yang ketara.
Strategi ini paling sesuai untuk jenis peniaga berikut:
Saiz danaLebih daripada $100,000, ia boleh menanggung 8-15% kerugian.
Frekuensi daganganPerdagangan purata 5-15 kali sebulan, tidak sesuai untuk keperluan perdagangan frekuensi tinggi.
Keutamaan risikoKeutamaan risiko sederhana, mencari pendapatan yang stabil dan bukannya keuntungan yang besar.
Masa yang dihabiskanIa boleh dilakukan 1-2 kali sehari, sesuai untuk peniaga sambilan.
Skenario yang tidak sesuaiKeperluan untuk strategi frekuensi tinggi seperti dagangan dalam hari, dagangan ultra-pendek, dan dana perlindungan.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-08-31 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("ATRTSS v6 (4H Entry / 1H Exit / Daily Filter, Long Only, Multi-TF Lines)",
shorttitle="ATRTSS v6", overlay=true,
initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100,
commission_type=strategy.commission.percent, commission_value=0.0, pyramiding=2)
// ===================
// Inputs
// ===================
atrPeriod = input.int(10, "ATR Period")
atrMult = input.float(4.0, "ATR Multiplier")
htfATRPeriod = input.int(10, "Daily ATR Period")
htfATRMult = input.float(4.0, "Daily ATR Multiplier")
maxPyramids = input.int(2, "Max Pyramids", minval=1)
// Optional backtest window
daysBackMax = input.int(360, "Max Days Back to Test", minval=0)
daysBackMin = input.int(0, "Min Days Back to Test", minval=0)
msBackMax = daysBackMax * 86400000
msBackMin = daysBackMin * 86400000
isInTimeBounds = (msBackMax == 0 or (time > (timenow - msBackMax))) and
(msBackMin == 0 or (time < (timenow - msBackMin)))
// Helper for non-repainting security pulls
gaps = barmerge.gaps_off
ahead = barmerge.lookahead_off
// ===================
// 4H ENTRY ATR STOP
// ===================
entryClose = request.security(syminfo.tickerid, "240", close, gaps, ahead)
entryATR = request.security(syminfo.tickerid, "240", ta.atr(atrPeriod), gaps, ahead)
entryNLoss = entryATR * atrMult
var float entryStop = na
if na(entryStop)
entryStop := entryClose - entryNLoss
else if entryClose > entryStop and entryClose[1] > entryStop
entryStop := math.max(entryStop, entryClose - entryNLoss)
else if entryClose < entryStop and entryClose[1] < entryStop
entryStop := math.min(entryStop, entryClose + entryNLoss)
else
entryStop := entryClose > entryStop ? entryClose - entryNLoss : entryClose + entryNLoss
plot(entryStop, title="4H ATR Stop (Entry)", color=color.new(color.green, 0), linewidth=2)
// ===================
// 1H EXIT ATR STOP
// ===================
exitClose = request.security(syminfo.tickerid, "60", close, gaps, ahead)
exitATR = request.security(syminfo.tickerid, "60", ta.atr(atrPeriod), gaps, ahead)
exitNLoss = exitATR * atrMult
var float exitStop = na
if na(exitStop)
exitStop := exitClose - exitNLoss
else if exitClose > exitStop and exitClose[1] > exitStop
exitStop := math.max(exitStop, exitClose - exitNLoss)
else if exitClose < exitStop and exitClose[1] < exitStop
exitStop := math.min(exitStop, exitClose + exitNLoss)
else
exitStop := exitClose > exitStop ? exitClose - exitNLoss : exitClose + exitNLoss
plot(exitStop, title="1H ATR Stop (Exit)", color=color.new(color.orange, 0), linewidth=2)
// ===================
// DAILY ATR FILTER (locked to D)
// ===================
dClose = request.security(syminfo.tickerid, "D", close, gaps, ahead)
dATR = request.security(syminfo.tickerid, "D", ta.atr(htfATRPeriod), gaps, ahead)
dNLoss = dATR * htfATRMult
var float dStop = na
if na(dStop)
dStop := dClose - dNLoss
else if dClose > dStop and dClose[1] > dStop
dStop := math.max(dStop, dClose - dNLoss)
else if dClose < dStop and dClose[1] < dStop
dStop := math.min(dStop, dClose + dNLoss)
else
dStop := dClose > dStop ? dClose - dNLoss : dClose + dNLoss
plot(dStop, title="Daily ATR Stop (Filter)", color=color.new(color.blue, 0), linewidth=2)
htfPassLong = dClose > dStop
// ===================
// Signals (LONG-only)
// ===================
longEntry = ta.crossover(entryClose, entryStop)
longExit = ta.crossunder(exitClose, exitStop)
// ===================
// Orders
// ===================
if longEntry and htfPassLong and isInTimeBounds and strategy.opentrades < maxPyramids
strategy.entry("LONG", strategy.long)
if longExit and isInTimeBounds
strategy.close("LONG")
// ===================
// Alerts
// ===================
alertcondition(longEntry and htfPassLong and isInTimeBounds, title="Long Entry (4H)", message="Long Entry: 4H cross above ATR stop; Daily filter passed.")
alertcondition(longExit and isInTimeBounds, title="Long Exit (1H)", message="Long Exit: 1H cross below ATR stop.")