Beberapa indikator teknis melacak tren saluran terobosan strategi perdagangan dan sistem penyaringan pola K-line

EMA ATR
Tanggal Pembuatan: 2025-02-20 16:26:40 Akhirnya memodifikasi: 2025-02-27 17:30:47
menyalin: 0 Jumlah klik: 312
2
fokus pada
319
Pengikut

Beberapa indikator teknis melacak tren saluran terobosan strategi perdagangan dan sistem penyaringan pola K-line Beberapa indikator teknis melacak tren saluran terobosan strategi perdagangan dan sistem penyaringan pola K-line

Ringkasan

Strategi ini adalah sistem perdagangan indikator teknis multi-dimensi yang menggabungkan Keltner Channel, K-line morphology, dan analisis volume transaksi. Strategi ini meningkatkan keandalan sinyal perdagangan dengan memantau penembusan harga ke saluran, dan menggabungkan volume transaksi dan morphology chart sebagai syarat penyaringan. Sistem ini dirancang untuk mekanisme manajemen dana yang lengkap, termasuk stop loss dan stop loss yang dinamis berdasarkan ATR.

Prinsip Strategi

Strategi ini dibangun berdasarkan komponen inti berikut:

  1. Menggunakan 20 siklus EMA sebagai rel tengah tren, digabungkan dengan 1.5 kali lipat ATR untuk membangun rel atas dan bawah, untuk membentuk Kentner Channel
  2. Identifikasi peluang perdagangan potensial dengan memantau harga close out yang menembus batas channel
  3. Filter dengan indikator volume transaksi yang mengharuskan volume transaksi pada saat terobosan lebih tinggi dari rata-rata 20 siklus
  4. Kombinasi dengan bullish/bullish melonjak sebagai sinyal konfirmasi tambahan
  5. Kombinasi menggunakan 1,5 kali ATR sebagai stop loss, 2 kali ATR sebagai stop loss, untuk mencapai rasio risiko-keuntungan sekitar 1: 1.33

Keunggulan Strategis

  1. Verifikasi silang multi-indikator teknis untuk meningkatkan keandalan sinyal perdagangan
  2. Jarak saluran dinamis untuk beradaptasi dengan perubahan volatilitas pasar
  3. Konfirmasi jumlah transaksi meningkatkan efektivitas sinyal transaksi
  4. K-linearity filter mengurangi gangguan penembusan palsu
  5. Sistem Stop Loss yang Baik untuk Melindungi Keamanan Dana
  6. Tanda-tanda visual membantu pedagang mengidentifikasi terobosan palsu

Risiko Strategis

  1. Pasar yang bergoyang dapat menghasilkan sinyal palsu yang sering terjadi.
  2. Stop loss mungkin terlalu besar saat volatilitas tinggi
  3. Kondisi multi-filter mungkin melewatkan beberapa sinyal yang valid
  4. Pencernaan mengurangi keandalan dalam beberapa kondisi pasar
  5. Pengaturan stop loss dengan pengganda tetap mungkin tidak cocok untuk semua kondisi pasar

Arah optimasi strategi

  1. Memperkenalkan indikator intensitas tren (seperti ADX) yang menyaring pasar yang bergoyang
  2. Mengembangkan mekanisme regulasi ATR adaptif
  3. Menambahkan lebih banyak linearitas K untuk meningkatkan kualitas sinyal
  4. Stop loss multiplier yang disesuaikan dengan dinamika volatilitas pasar
  5. Tambahkan filter waktu untuk menghindari perdagangan pada waktu yang tidak menguntungkan
  6. Mengembangkan sistem klasifikasi status pasar, menggunakan parameter yang berbeda untuk pasar yang berbeda

Meringkaskan

Strategi ini membangun sistem perdagangan yang relatif lengkap dengan mengintegrasikan beberapa alat analisis teknis. Keunggulan strategi ini adalah mekanisme pengakuan sinyal ganda dan sistem manajemen risiko yang baik, tetapi masih memerlukan penyesuaian yang dioptimalkan sesuai dengan karakteristik pasar tertentu.

Kode Sumber Strategi
/*backtest
start: 2024-06-01 00:00:00
end: 2024-12-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Keltner Channel Breakout with Candlestick Patterns (Manual) - Visualize False Breakouts with Chinese Labels", overlay=true)

// 输入参数
length = input.int(20, title="EMA 长度")
mult = input.float(1.5, title="ATR 乘数")  // 让通道稍微紧一点,增加突破机会
atrLength = input.int(14, title="ATR 长度")
volLength = input.int(20, title="成交量长度")
stopLossMultiplier = input.float(1.5, title="止损ATR倍数")
takeProfitMultiplier = input.float(2.0, title="止盈ATR倍数")

// 计算 Keltner 通道
ema20 = ta.ema(close, length)
atr = ta.atr(atrLength)
upper = ema20 + mult * atr
lower = ema20 - mult * atr

// 绘制 Keltner 通道
plot(upper, color=color.green, linewidth=2, title="上轨")
plot(lower, color=color.red, linewidth=2, title="下轨")
plot(ema20, color=color.blue, linewidth=2, title="中轨 (EMA20)")

// 判断突破
breakout_up = close > upper
breakout_down = close < lower

// 成交量过滤:当前成交量是否高于过去 N 根 K 线的平均成交量
volume_above_avg = volume > ta.sma(volume, volLength)

// 手动判断 K线形态:看涨吞没和看跌吞没
bullish_engulfing = close > open and open[1] > close[1] and close > open[1] and open < close[1]
bearish_engulfing = close < open and open[1] < close[1] and close < open[1] and open > close[1]

// 只在突破上轨和下轨时应用 K线形态过滤
valid_breakout_up = breakout_up and volume_above_avg and bullish_engulfing
valid_breakout_down = breakout_down and volume_above_avg and bearish_engulfing

// 交易信号
long_condition = valid_breakout_up
short_condition = valid_breakout_down

// 交易策略
if (long_condition)
    strategy.entry("Long", strategy.long, comment="做多")

if (short_condition)
    strategy.entry("Short", strategy.short, comment="做空")

// 止损 & 止盈
long_stop_loss = close - stopLossMultiplier * atr
long_take_profit = close + takeProfitMultiplier * atr
short_stop_loss = close + stopLossMultiplier * atr
short_take_profit = close - takeProfitMultiplier * atr

strategy.exit("Exit Long", from_entry="Long", stop=long_stop_loss, limit=long_take_profit)
strategy.exit("Exit Short", from_entry="Short", stop=short_stop_loss, limit=short_take_profit)

// 可视化假突破事件
plotshape(series=breakout_up and not bullish_engulfing, location=location.abovebar, color=color.red, style=shape.triangledown, title="假突破-上")
plotshape(series=breakout_down and not bearish_engulfing, location=location.belowbar, color=color.green, style=shape.triangleup, title="假突破-下")

// 可视化 K线形态(中文标签)
plotshape(series=bullish_engulfing and breakout_up, location=location.belowbar, color=color.green, style=shape.labelup, title="看涨吞没", text="看涨吞没")
plotshape(series=bearish_engulfing and breakout_down, location=location.abovebar, color=color.red, style=shape.labeldown, title="看跌吞没", text="看跌吞没")