
Strategi pengesanan trend keluar lampion dengan purata bergerak linear pengembalian sifar adalah sistem perdagangan kuantitatif yang menggabungkan indikator ZLSMA dan CE. Strategi ini digunakan untuk menentukan masa masuk berdasarkan kedudukan harga berbanding ZLSMA dan perubahan arah dalam indikator CE. Strategi ini adalah salah satu daripada jenis strategi pengesanan trend yang biasa.
Prinsip utama strategi ini adalah berdasarkan kepada kerjasama antara dua indikator utama:
Rata-rata Bergerak Regresen Garis Sifar ((ZLSMA)):
Keluar lampu gantung (Chandelier Exit):
Logik perdagangan strategi ini adalah seperti berikut:
Strategi ini pada dasarnya menggabungkan pengesahan trend ((ZLSMA) dengan stop loss pengesanan kadar turun naik ((CE) dan mencetuskan isyarat perdagangan hanya jika kedua-duanya memenuhi syarat secara serentak, dengan berkesan mengurangkan isyarat palsu.
Dengan analisis kod yang mendalam, strategi ini mempunyai kelebihan yang jelas:
Mekanisme pengesahan dua kaliStrategi yang memerlukan isyarat arah CE dan harga untuk kedudukan ZLSMA pada masa yang sama memenuhi syarat, meningkatkan kebolehpercayaan isyarat.
Kebolehan menyesuaikan diri:
Trend Tracking dan Keseimbangan Kawalan Risiko:
Parameter yang boleh disesuaikanStrategi menyediakan beberapa parameter yang boleh disesuaikan, termasuk panjang ZLSMA, kitaran ATR dan kelipatan CE, yang boleh dioptimumkan mengikut keadaan pasaran dan jenis perdagangan yang berbeza.
Beralih arah yang bersihStrategi ini akan menutup kedudukan terbalik sebelum memasuki arah baru, mengelakkan keadaan memegang kedudukan kosong pada masa yang sama, dan menjelaskan arah perdagangan.
Pengurusan risiko berdasarkan kadar turun naikMenggunakan ATR sebagai standard untuk mengukur kadar turun naik, menjadikan kedudukan hentian sepadan dengan turun naik sebenar pasaran, mengelakkan masalah yang mungkin terlalu ketat atau terlalu longgar.
Walaupun strategi ini direka dengan baik, terdapat risiko yang berpotensi:
Perkembangan pasaran yang kurang baik dalam tempoh gegaran:
Kepekaan Parameter:
Kekurangan mekanisme penangguhan awalStrategi ini bergantung kepada CE sebagai stop loss dinamik, tetapi tidak mempunyai tetapan stop loss awal yang jelas, dan boleh menanggung kerugian yang lebih besar jika pasaran berubah secara mendadak.
Sekatan kerangka masa tunggalStrategi hanya dioptimumkan dalam jangka masa 15 minit, kekurangan pengesahan pelbagai jangka masa, dan mungkin kehilangan maklumat trend penting dalam jangka masa yang lebih besar.
Keseimbangan antara frekuensi dan kos: Perubahan arah dalam penunjuk CE mungkin lebih kerap, terutamanya dengan tetapan kitaran ATR yang lebih kecil (default 1) yang boleh menyebabkan perdagangan berlebihan.
Untuk menangani risiko ini, langkah-langkah berikut disyorkan:
Berdasarkan analisis kod, strategi ini boleh dioptimumkan dengan cara berikut:
Pengesahan pelbagai kerangka masa:
Penapis isyarat dipertingkatkan:
Optimumkan parameter dinamik:
Peningkatan dalam strategi penghentian kerugian:
Pengoptimuman pengurusan kedudukan:
Masa pengesahan isyarat:
Strategi pengesanan trend eksport pergerakan purata linear regresi dan lampu sorong adalah satu sistem perdagangan lengkap yang menggabungkan analisis teknikal dan pengurusan risiko. Dengan menggabungkan ZLSMA yang rendah dan indikator CE yang berasaskan kadar turun naik, strategi ini dapat menangkap trend pasaran dengan berkesan dan menyediakan mekanisme kawalan risiko yang dinamik.
Walaupun strategi mungkin tidak berfungsi dengan baik dalam pasaran yang bergolak, ia dapat ditingkatkan lagi dengan memperkenalkan langkah-langkah seperti pengesahan bingkai masa berbilang, penapis isyarat yang dipertingkatkan, parameter pengoptimuman dan strategi hentian yang lebih baik. Terutama pengenalan pengurusan kedudukan dinamik dan tetapan hentian pintar akan membantu mengawal risiko sambil mengekalkan kadar kemenangan yang tinggi.
Secara keseluruhannya, ini adalah strategi trend-following yang direka dengan logik dan jelas, yang mencerminkan falsafah analisis teknikal klasik dan bersepadu dengan pemikiran pengurusan risiko perdagangan kuantitatif moden. Dengan pengoptimuman berterusan dan penyesuaian parameter yang sesuai, strategi ini berpotensi untuk mencapai prestasi yang stabil dalam pelbagai persekitaran pasaran.
/*backtest
start: 2024-04-30 00:00:00
end: 2025-04-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script® strategy uses the Zero-Lag LSMA (ZLSMA) and a Chandelier Exit (CE) mechanism.
// It enters long or short trades based on CE direction signals, confirmed by the position of price relative to ZLSMA.
// Long trades only trigger if price is above ZLSMA; short trades only if price is below it.
// @version=6
//@version=6
strategy("ZLSMACE Strategy", overlay=true)
// ───── ZLSMA Settings ─────
var string calcGroup_zlsma = 'Calculation of ZLSMA'
length_zlsma = input.int(200, title="Length of ZLSMA", group=calcGroup_zlsma)
offset_zlsma = input.int(0, title="Offset of ZLSMA", group=calcGroup_zlsma)
src_zlsma = input.source(close, title="Source of ZLSMA", group=calcGroup_zlsma)
// ZLSMA Calculation
lsma_zlsma = ta.linreg(src_zlsma, length_zlsma, offset_zlsma)
lsma2_zlsma = ta.linreg(lsma_zlsma, length_zlsma, offset_zlsma)
eq_zlsma = lsma_zlsma - lsma2_zlsma
zlsma_value = lsma_zlsma + eq_zlsma
// ───── Chandelier Exit (CE) Settings ─────
var string calcGroup_ce = 'Calculation of CE'
length_ce = input.int(title='ATR Period of CE', defval=14, group=calcGroup_ce)
mult_ce = input.float(title='ATR Multiplier of CE', step=0.1, defval=2.0, group=calcGroup_ce)
useClose_ce = input.bool(title='Use Close Price for Extremums', defval=true, group=calcGroup_ce)
// CE Stop Level Calculations
atr_ce = mult_ce * ta.atr(length_ce)
longStop_ce = (useClose_ce ? ta.highest(close, length_ce) : ta.highest(length_ce)) - atr_ce
longStopPrev_ce = nz(longStop_ce[1], longStop_ce)
longStop_ce := close[1] > longStopPrev_ce ? math.max(longStop_ce, longStopPrev_ce) : longStop_ce
shortStop_ce = (useClose_ce ? ta.lowest(close, length_ce) : ta.lowest(length_ce)) + atr_ce
shortStopPrev_ce = nz(shortStop_ce[1], shortStop_ce)
shortStop_ce := close[1] < shortStopPrev_ce ? math.min(shortStop_ce, shortStopPrev_ce) : shortStop_ce
// CE Direction Detection
var int dir_ce = 1
dir_ce := close > shortStopPrev_ce ? 1 : close < longStopPrev_ce ? -1 : dir_ce
// Entry Signals
buySignal_ce = dir_ce == 1 and dir_ce[1] == -1
sellSignal_ce = dir_ce == -1 and dir_ce[1] == 1
// ───── Strategy Execution ─────
// Long Entry: Direction turns long AND price is above ZLSMA
if (buySignal_ce and close > zlsma_value)
strategy.entry("Long", strategy.long)
// Exit Short if long signal appears
if (buySignal_ce)
strategy.close("Short")
// Short Entry: Direction turns short AND price is below ZLSMA
if (sellSignal_ce and close < zlsma_value)
strategy.entry("Short", strategy.short)
// Exit Long if short signal appears
if (sellSignal_ce)
strategy.close("Long")