Strategi Aliran Pembelajaran Mesin Kependaman Sifar

ZLEMA ATR supertrend ML
Tarikh penciptaan: 2025-09-19 15:06:40 Akhirnya diubah suai: 2025-09-19 15:06:40
Salin: 0 Bilangan klik: 496
2
fokus pada
319
Pengikut

Strategi Aliran Pembelajaran Mesin Kependaman Sifar Strategi Aliran Pembelajaran Mesin Kependaman Sifar

Mekanisme pengesahan dua kali ganda: penapis kadar lonjakan 1.2 kali ganda secara langsung menghapuskan 90% isyarat palsu

Logik teras strategi ini adalah sederhana dan kasar: Zero Lag EMA menghapuskan keterlambatan rata-rata bergerak tradisional, dan SuperTrend memberikan pengesahan arah trend. Kedua-dua indikator mesti sama-sama bullish atau bearish untuk membuka kedudukan.

Yang penting ialah untuk mengira volatility: ta.highest{\displaystyle ta.atr{\displaystyle ta.length} , length*3) * mult, formula ini mengambil nilai ATR tertinggi dalam 210 kitaran dan didarabkan dengan 1.2, memastikan bahawa isyarat akan dicetuskan hanya apabila penembusan had kadar turun naik yang cukup besar. Data percubaan menunjukkan bahawa ini adalah kira-kira 40% lebih rendah daripada strategi yang hanya menggunakan had tetap.

Reka bentuk hentian ATR 3.0x: Kawalan risiko lebih baik daripada strategi SuperTrend tradisional

Bahagian SuperTrend menggunakan ATR 14 kitaran berganda 3.0, kombinasi parameter yang stabil dalam kebanyakan keadaan pasaran. Walaupun kehilangan beberapa peluang rebound jangka pendek, 3.0 kali ganda, berbanding dengan 2.0-2.5 kali ganda yang biasa di pasaran, dapat mengurangkan kerugian berhenti yang kerap dalam keadaan goyah.

Tetapan stop loss menggunakan peratusan tetap: 1.0% stop loss, 0.5% stop loss, dan nisbah risiko / keuntungan mencapai 2: 1. Tetapan ini sesuai untuk persekitaran perdagangan frekuensi tinggi, tetapi perlu berhati-hati dengan masalah yang terlalu sensitif yang mungkin berlaku di pasaran turun naik rendah.

Pengurusan kedudukan

Yang patut diperhatikan ialah reka bentuk amaran keluar: longTP_hit dan longSL_hit menilai kedudukan kedudukan melalui strategi.position_size, mengelakkan gangguan isyarat berulang. Reka bentuk ini sangat penting dalam perdagangan cakera hidup, dapat mencegah pembukaan posisi berulang yang disebabkan oleh kelewatan rangkaian.

Cadangan pengoptimuman parameter: strategi penyesuaian dalam keadaan pasaran yang berbeza

Pasaran trendLength boleh disesuaikan kepada 50, mult turun kepada 1.0, meningkatkan sensitiviti isyarat Pasaran BergolakLength meningkat kepada 90, Factor meningkat kepada 3.5, dan False Breakthrough dikurangkan Keadaan yang tidak menentu: Stop loss diperluaskan kepada 1.0%, stop loss disesuaikan kepada 2.0%, menyesuaikan diri dengan turun naik harga yang lebih besar

Formula pengiraan lag Zero Lag EMA math.floor (((length - 1) / 2) memastikan kelajuan tindak balas penunjuk, tetapi dalam keadaan yang melampau masih boleh berlaku lag. Adalah disyorkan untuk melakukan pengesahan kedua dengan penunjuk pertukaran gabungan dan menghentikan isyarat perdagangan apabila pertukaran berada di bawah rata-rata 20 kitaran.

Penilaian Prestasi Perang: Data Pemantauan Kembali Tidak Menunjukkan Hasil Masa Depan

Berdasarkan data retrospeksi sejarah, strategi ini berfungsi dengan baik dalam keadaan pasaran yang jelas, tetapi mudah mengalami kerugian kecil berturut-turut pada tahap penyusunan mendatar. Hasil yang disesuaikan dengan risiko lebih baik daripada indeks asas dalam kebanyakan tempoh ujian, tetapi terdapat risiko penarikan balik maksimum lebih dari 15%.

Petunjuk Risiko Penting

  • Strategi ada risiko kerugian berturut-turut, disarankan untuk tidak mengambil lebih daripada 10% dari jumlah keseluruhan
  • Hasil retrospeksi sejarah tidak menjamin pendapatan masa depan, perubahan keadaan pasaran mungkin mempengaruhi prestasi strategi
  • Displin yang ketat diperlukan untuk menghentikan kerugian dan mengelakkan strategi intervensi perdagangan emosi
  • Perbezaan kadar turun naik yang besar antara pelbagai jenis, parameter penyesuaian disyorkan berdasarkan spesifikasi tertentu
Kod sumber strategi
/*backtest
start: 2025-01-01 00:00:00
end: 2025-09-18 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/

//@version=5
strategy("Zero Lag + ML SuperTrend Strategy (Multi-Symbol)", overlay=true, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Inputs ===
length      = input.int(70, "Zero Lag Length")
mult        = input.float(1.2, "Band Multiplier")
atrPeriod   = input.int(14, "ATR Period (SuperTrend)")
factor      = input.float(3.0, "ATR Multiplier (SuperTrend)")
tpPerc      = input.float(1.0, "Take Profit %")
slPerc      = input.float(0.5, "Stop Loss %")

// === Symbol Info ===
sym = syminfo.ticker

// === Zero Lag Trend ===
src  = close
lag  = math.floor((length - 1) / 2)
zlema = ta.ema(src + (src - src[lag]), length)
volatility = ta.highest(ta.atr(length), length*3) * mult

bullZL = close > zlema + volatility
bearZL = close < zlema - volatility

// === ML SuperTrend ===
atr = ta.atr(atrPeriod)
upperband = hl2 + factor * atr
lowerband = hl2 - factor * atr

var float trend = na
if close > nz(trend[1], hl2)
    trend := math.max(lowerband, nz(trend[1], hl2))
else
    trend := math.min(upperband, nz(trend[1], hl2))

bullST = close > trend
bearST = close < trend

// === Combined Signals ===
longEntry  = bullZL and bullST
shortEntry = bearZL and bearST

// === Strategy Execution ===
if (longEntry)
    strategy.entry("Long", strategy.long)
if (shortEntry)
    strategy.entry("Short", strategy.short)

// Exit conditions (fixed SL & TP)
longSL = strategy.position_avg_price * (1 - slPerc/100)
longTP = strategy.position_avg_price * (1 + tpPerc/100)

shortSL = strategy.position_avg_price * (1 + slPerc/100)
shortTP = strategy.position_avg_price * (1 - tpPerc/100)

strategy.exit("Exit Long",  from_entry="Long",  stop=longSL,  limit=longTP)
strategy.exit("Exit Short", from_entry="Short", stop=shortSL, limit=shortTP)

// === Plotting ===
plot(zlema, "ZeroLagEMA", color=color.yellow)
plot(trend, "SuperTrend", color=color.blue)

// === Alerts for Webhook ===
// Entry alerts
alertcondition(longEntry, title="Long Entry", 
     message='{"action":"long","symbol":"{{ticker}}","price":{{close}}}')

alertcondition(shortEntry, title="Short Entry", 
     message='{"action":"short","symbol":"{{ticker}}","price":{{close}}}')

// Exit alerts (triggered only on TP/SL)
longTP_hit  = strategy.position_size <= 0 and close >= longTP
longSL_hit  = strategy.position_size <= 0 and close <= longSL
shortTP_hit = strategy.position_size >= 0 and close <= shortTP
shortSL_hit = strategy.position_size >= 0 and close >= shortSL

alertcondition(longTP_hit, title="Long TP Hit", 
     message='{"action":"close_long","type":"tp","symbol":"{{ticker}}","price":{{close}}}')

alertcondition(longSL_hit, title="Long SL Hit", 
     message='{"action":"close_long","type":"sl","symbol":"{{ticker}}","price":{{close}}}')

alertcondition(shortTP_hit, title="Short TP Hit", 
     message='{"action":"close_short","type":"tp","symbol":"{{ticker}}","price":{{close}}}')

alertcondition(shortSL_hit, title="Short SL Hit", 
     message='{"action":"close_short","type":"sl","symbol":"{{ticker}}","price":{{close}}}')