Strategi perdagangan pengenalan pola garis K gabungan multi-periode

JSC CP TS
Tanggal Pembuatan: 2024-12-11 11:04:35 Akhirnya memodifikasi: 2024-12-11 11:04:35
menyalin: 0 Jumlah klik: 117
1
fokus pada
1225
Pengikut

Strategi perdagangan pengenalan pola garis K gabungan multi-periode

Ringkasan

Strategi ini adalah sistem perdagangan otomatis yang didasarkan pada identifikasi bentuk K-line. Ini mengintegrasikan sepuluh bentuk K-line klasik, termasuk lima bentuk bullish ((Picker Line, Multihead Swallow, Penetration Line, Morning Star, dan Three White Soldiers) dan lima bentuk bearish ((Online Hanging, Airhead Swallow, Clouds Overhead, Twilight Star, dan Three Black Lanterns). Strategi ini memberikan sinyal dan peluang perdagangan potensial bagi pedagang melalui identifikasi dan analisis real-time dari bentuk-bentuk ini.

Prinsip Strategi

Inti dari strategi ini adalah dengan memprogram berbagai bentuk garis K untuk diidentifikasi secara akurat. Setiap bentuk memiliki definisi dan penilaian matematis yang unik:

  1. Untuk bentuk K-line tunggal (misalnya, kabel kalung, kabel suspensi), penghakiman didasarkan pada hubungan proporsional antara entitas dan garis bayangan
  2. Untuk dua bentuk K-line (misalnya absorber, penetrator), dengan membandingkan hubungan posisi harga buka dan tutup dua garis K yang berdekatan
  3. Untuk tiga bentuk garis K (seperti tiga tentara putih, tiga burung merpati hitam), perlu memenuhi arah dan hubungan posisi tiga garis K berturut-turut secara bersamaan Kebijakan ini memungkinkan pengguna untuk secara fleksibel memilih untuk mengaktifkan atau menonaktifkan identifikasi bentuk tertentu melalui pengaturan parameter.

Keunggulan Strategis

  1. Komprehensif: mencakup sepuluh bentuk garis K yang paling representatif, mampu menangkap berbagai jenis sinyal reversal pasar
  2. Fleksibilitas: Pengguna bebas memilih portofolio bentuk yang perlu diidentifikasi berdasarkan kondisi pasar dan gaya perdagangan individu
  3. Visualisasi: dengan sistem penanda yang jelas, menunjukkan secara intuitif lokasi dan jenis berbagai bentuk
  4. Otomatisasi: proses penilaian yang sepenuhnya terprogram, menghindari penilaian manusia yang subjektif dan emosional
  5. Praktis: Strategi logis yang jelas, mudah digunakan dalam kombinasi dengan indikator teknis lainnya atau sistem perdagangan

Risiko Strategis

  1. Risiko keterlambatan: Konfirmasi status K-line perlu menunggu K-line ditutup, yang dapat menyebabkan sedikit penundaan waktu masuk
  2. Risiko sinyal palsu: Dalam pasar yang bergoyang, mengandalkan bentuk K-line saja dapat menghasilkan lebih banyak sinyal palsu
  3. Ketergantungan pada kondisi pasar: strategi bekerja dengan baik di pasar yang jelas sedang tren, tetapi mungkin kurang efektif di pasar horizontal
  4. Risiko pengaturan parameter: Terlalu banyak dimatikan pengenalan bentuk dapat menyebabkan sinyal terlalu padat, mempengaruhi penilaian
  5. Risiko pengendalian kerugian: Strategi itu sendiri tidak menyertakan mekanisme pengendalian kerugian yang baik, dan memerlukan langkah-langkah pengendalian risiko tambahan

Arah optimasi strategi

  1. Memperkenalkan filter tren: memfilter sinyal reversal dengan menggunakan moving average atau indikator tren
  2. Peningkatan Konfirmasi Volume Transaksi: Efektivitas Verifikasi Format Melalui Perubahan Volume Transaksi
  3. Pengendalian risiko yang lebih baik: Tambahkan fitur pengaturan stop loss dan profit target yang dinamis
  4. Optimalkan parameter bentuk: menyesuaikan kriteria parameter untuk mengidentifikasi bentuk untuk pasar dan periode waktu yang berbeda
  5. Tambahkan bobot bentuk: mengatur sistem bobot sinyal yang berbeda sesuai dengan keandalan bentuk yang berbeda

Meringkaskan

Ini adalah strategi perdagangan K-line form identifikasi yang dirancang secara rasional dan logis. Dengan cara yang diprogram, ini memungkinkan penilaian K-line form yang paling umum digunakan dalam analisis teknis tradisional, dan menyediakan pedagang dengan alat perdagangan yang objektif dan sistematis. Meskipun ada beberapa keterbatasan yang melekat, dengan pengoptimalan yang tepat dan kerja sama dengan alat teknis lainnya, strategi ini dapat memberikan sinyal referensi yang berharga untuk keputusan perdagangan.

Kode Sumber Strategi
/*backtest
start: 2024-11-10 00:00:00
end: 2024-12-09 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Author: Raymond Ngobeni
strategy('Candlestick Pattern Strategy [Ubaton]', 'Ubaton - Candlestick Pattern Strategy', overlay = true, max_labels_count = 500, max_lines_count = 500, max_boxes_count = 500)

// User Inputs: Enable/Disable Patterns
// Bullish Patterns
enableHammer = input.bool(true, "Show Hammer")
enableBullEngulfing = input.bool(true, "Show Bullish Engulfing")
enablePiercingLine = input.bool(true, "Show Piercing Line")
enableMorningStar = input.bool(true, "Show Morning Star")
enableThreeWhiteSoldiers = input.bool(true, "Show Three White Soldiers")

// Bearish Patterns
enableHangingMan = input.bool(true, "Show Hanging Man")
enableBearEngulfing = input.bool(true, "Show Bearish Engulfing")
enableDarkCloudCover = input.bool(true, "Show Dark Cloud Cover")
enableEveningStar = input.bool(true, "Show Evening Star")
enableThreeBlackCrows = input.bool(true, "Show Three Black Crows")

// Helper Functions
isHammer() =>
    bodySize = math.abs(open - close)
    shadowSize = low < math.min(open, close) ? math.min(open, close) - low : na
    shadowSize >= 2 * bodySize and high - math.max(open, close) <= bodySize

isBullishEngulfing() =>
    close[1] < open[1] and close > open and open <= close[1] and close >= open[1]

isPiercingLine() =>
    close[1] < open[1] and close > close[1] + (open[1] - close[1]) * 0.5 and close < open[1]

isMorningStar() =>
    close[2] < open[2] and math.abs(close[1] - open[1]) < (high[1] - low[1]) * 0.3 and close > open

isThreeWhiteSoldiers() =>
    close > open and close[1] > open[1] and close[2] > open[2] and open > close[1] and open[1] > close[2]

isHangingMan() =>
    bodySize = math.abs(open - close)
    shadowSize = low < math.min(open, close) ? math.min(open, close) - low : na
    shadowSize >= 2 * bodySize and high - math.max(open, close) <= bodySize and close < open

isBearishEngulfing() =>
    close[1] > open[1] and close < open and open >= close[1] and close <= open[1]

isDarkCloudCover() =>
    close[1] > open[1] and open > close[1] and close < open[1] and close < close[1] + (open[1] - close[1]) * 0.5

isEveningStar() =>
    close[2] > open[2] and math.abs(close[1] - open[1]) < (high[1] - low[1]) * 0.3 and close < open

isThreeBlackCrows() =>
    close < open and close[1] < open[1] and close[2] < open[2] and open < close[1] and open[1] < close[2]

// Detect Patterns
// Bullish
hammerDetected = enableHammer and isHammer()
bullEngulfDetected = enableBullEngulfing and isBullishEngulfing()
piercingDetected = enablePiercingLine and isPiercingLine()
morningStarDetected = enableMorningStar and isMorningStar()
threeWhiteDetected = enableThreeWhiteSoldiers and isThreeWhiteSoldiers()

// Bearish
hangingManDetected = enableHangingMan and isHangingMan()
bearEngulfDetected = enableBearEngulfing and isBearishEngulfing()
darkCloudDetected = enableDarkCloudCover and isDarkCloudCover()
eveningStarDetected = enableEveningStar and isEveningStar()
threeBlackDetected = enableThreeBlackCrows and isThreeBlackCrows()

// Plot Bullish Patterns
plotshape(enableHammer and hammerDetected, title="Hammer", location=location.belowbar, color=color.green, style=shape.labelup, text="Hammer")
plotshape(enableBullEngulfing and bullEngulfDetected, title="Bullish Engulfing", location=location.belowbar, color=color.green, style=shape.labelup, text="Engulf")
plotshape(enablePiercingLine and piercingDetected, title="Piercing Line", location=location.belowbar, color=color.green, style=shape.labelup, text="Piercing")
plotshape(enableMorningStar and morningStarDetected, title="Morning Star", location=location.belowbar, color=color.green, style=shape.labelup, text="Morning")
plotshape(enableThreeWhiteSoldiers and threeWhiteDetected, title="Three White Soldiers", location=location.belowbar, color=color.green, style=shape.labelup, text="3 Soldiers")

// Plot Bearish Patterns
plotshape(enableHangingMan and hangingManDetected, title="Hanging Man", location=location.abovebar, color=color.red, style=shape.labeldown, text="Hanging")
plotshape(enableBearEngulfing and bearEngulfDetected, title="Bearish Engulfing", location=location.abovebar, color=color.red, style=shape.labeldown, text="Engulf")
plotshape(enableDarkCloudCover and darkCloudDetected, title="Dark Cloud Cover", location=location.abovebar, color=color.red, style=shape.labeldown, text="Dark Cloud")
plotshape(enableEveningStar and eveningStarDetected, title="Evening Star", location=location.abovebar, color=color.red, style=shape.labeldown, text="Evening")
plotshape(enableThreeBlackCrows and threeBlackDetected, title="Three Black Crows", location=location.abovebar, color=color.red, style=shape.labeldown, text="3 Crows")

// Strategy Execution
if hammerDetected or bullEngulfDetected or piercingDetected or morningStarDetected or threeWhiteDetected
    strategy.entry("Bullish Entry", strategy.long)

if hangingManDetected or bearEngulfDetected or darkCloudDetected or eveningStarDetected or threeBlackDetected
    strategy.entry("Bearish Entry", strategy.short)