Terobosan Dinamis dari Garis Tren Falling Wedge Strategi Perdagangan Kuantitatif

Pivot SL TP Trend
Tanggal Pembuatan: 2025-02-21 13:12:56 Akhirnya memodifikasi: 2025-07-15 09:58:16
menyalin: 1 Jumlah klik: 411
2
fokus pada
319
Pengikut

Terobosan Dinamis dari Garis Tren Falling Wedge Strategi Perdagangan Kuantitatif Terobosan Dinamis dari Garis Tren Falling Wedge Strategi Perdagangan Kuantitatif

Ringkasan

Strategi ini adalah sistem perdagangan pemecahan tren yang didasarkan pada bentuk kerucut menurun dalam analisis teknis. Dengan mengidentifikasi secara dinamis titik tinggi dan rendah dalam harga, membangun garis tren ke atas dan ke bawah, memasuki posisi multihead saat harga menembus garis tren. Strategi ini menggunakan mekanisme stop loss stop loss dinamis untuk mengendalikan risiko dan mengunci keuntungan. Ini adalah implementasi program dari metode perdagangan analisis teknis klasik, terutama cocok untuk menangkap peluang berbalik saat tren turun akan segera berakhir.

Prinsip Strategi

Logika inti dari strategi ini mencakup beberapa langkah penting berikut:

  1. Menggunakan pendekatan pivot untuk secara dinamis mengidentifikasi titik tinggi dan rendah dalam pergerakan harga
  2. Mencatat dan menyimpan dua titik tertinggi dan terendah terbaru dan indeks waktu yang sesuai
  3. Berdasarkan titik-titik ini, perhitungkan kemiringan garis tren ke atas dan ke bawah.
  4. Untuk menentukan apakah ada bentuk kurva penurunan, diperlukan dua penurunan titik tinggi, dua penurunan titik rendah, dan garis tren atas lebih kecil dari garis tren bawah
  5. Ketika harga menembus garis tren ke atas, memicu sinyal beli
  6. Tetapkan Stop Loss Persentase Berdasarkan Harga Masuk

Keunggulan Strategis

  1. Struktur pasar identifikasi dinamis: Strategi dapat secara otomatis mengidentifikasi titik-titik penting dalam struktur harga, tanpa intervensi manusia
  2. Trend reversal capture: berfokus pada peluang untuk menangkap potensi reversal dari tren turun, yang biasanya merupakan peluang perdagangan dengan risiko dan keuntungan yang lebih tinggi
  3. Pembuatan sinyal yang tepat: dengan metode matematis menghitung dengan tepat posisi garis tren dan titik-titik penembusan
  4. Pengelolaan risiko yang baik: termasuk mekanisme stop-loss yang terpasang, yang dapat mengontrol risiko setiap transaksi secara efektif
  5. Operasi sistematis: logika strategi sepenuhnya sistematis, menghindari gangguan emosional manusia

Risiko Strategis

  1. Risiko Penembusan Palsu: Pasar Bisa Terjerat Penembusan Palsu, Membuat Sinyal Yang Salah
  2. Sensitivitas parameter: Efek strategi sensitif terhadap pengaturan parameter, dan lingkungan pasar yang berbeda mungkin memerlukan penyesuaian parameter.
  3. Kepercayaan kondisi pasar: Strategi dapat menghasilkan terlalu banyak sinyal salah di pasar yang bergoyang
  4. Risiko Stop Loss: Pergerakan cepat dapat menyebabkan penurunan harga Stop Loss
  5. Dampak Biaya Transaksi: Transaksi yang lebih sering dapat menyebabkan biaya transaksi yang lebih tinggi

Arah optimasi strategi

  1. Mekanisme konfirmasi sinyal: dapat ditambahkan indikator seperti volume lalu lintas, momentum sebagai konfirmasi terobosan
  2. Optimasi parameter dinamis: memperkenalkan mekanisme adaptasi, menyesuaikan parameter sesuai dengan fluktuasi pasar
  3. Verifikasi multi-siklus waktu: menambah mekanisme konfirmasi multi-siklus waktu, meningkatkan keandalan sinyal
  4. Peningkatan Stop Loss: Peningkatan Stop Loss dapat dilakukan dengan menggunakan stop loss dinamis, seperti tracking stop loss
  5. Filter lingkungan pasar: Tambahkan filter tren untuk berdagang di lingkungan pasar yang tepat

Meringkaskan

Ini adalah strategi perdagangan tren yang dirancang secara rasional, yang menerapkan metode analisis teknis tradisional dengan cara pemrograman. Keunggulan strategi ini adalah kemampuan untuk mengotomatiskan identifikasi struktur pasar dan menangkap peluang pembalikan tren potensial. Namun, juga perlu memperhatikan masalah seperti false breakout dan optimasi parameter. Dengan pengoptimalan dan perbaikan lebih lanjut, strategi ini diharapkan untuk mendapatkan hasil yang lebih baik dalam perdagangan nyata.

Kode Sumber Strategi
/*backtest
start: 2025-04-11 00:00:00
end: 2025-07-10 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Binance","currency":"BTC_USDT","balance":200000}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

//@version=6
strategy("Falling Wedge Strategy by Nitin", overlay=true)

// Input parameters
leftBars = input.int(5, "Left Bars for Pivot", minval=1, maxval=20)
rightBars = input.int(5, "Right Bars for Pivot", minval=1, maxval=20)
takeProfitPercent = input.float(6, "Take Profit %", minval=0.1, maxval=100)/100
stopLossPercent = input.float(2, "Stop Loss %", minval=0.1, maxval=100)/100

// Global variables
var float buyPrice = na

// Detect pivot highs and lows
ph = ta.pivothigh(leftBars, rightBars)
pl = ta.pivotlow(leftBars, rightBars)

// Track last two pivot highs
var float[] highs = array.new_float()
var int[] highIndices = array.new_int()
if not na(ph)
    array.unshift(highs, ph)
    array.unshift(highIndices, bar_index[rightBars])
    if array.size(highs) > 2
        array.pop(highs)
        array.pop(highIndices)

// Track last two pivot lows
var float[] lows = array.new_float()
var int[] lowIndices = array.new_int()
if not na(pl)
    array.unshift(lows, pl)
    array.unshift(lowIndices, bar_index[rightBars])
    if array.size(lows) > 2
        array.pop(lows)
        array.pop(lowIndices)



// Calculate trendlines and detect falling wedge pattern
isFallingWedge = false
var float currentUpper = na
var float currentLower = na

if array.size(highs) >= 2 and array.size(lows) >= 2
    h1 = array.get(highs, 0)
    h2 = array.get(highs, 1)
    i1 = array.get(highIndices, 0)
    i2 = array.get(highIndices, 1)
    
    l1 = array.get(lows, 0)
    l2 = array.get(lows, 1)
    j1 = array.get(lowIndices, 0)
    j2 = array.get(lowIndices, 1)
    
    m_upper = (h1 - h2) / (i1 - i2)
    m_lower = (l1 - l2) / (j1 - j2)
    
    currentUpper := h2 + m_upper * (bar_index - i2)
    currentLower := l2 + m_lower * (bar_index - j2)
    
    // Falling wedge pattern condition
    isFallingWedge := h1 < h2 and l1 < l2 and m_upper < m_lower and m_upper < 0 and m_lower < 0

// Trading strategy execution
if isFallingWedge and ta.crossover(close, currentUpper) and strategy.position_size == 0
    strategy.entry("Buy", strategy.long)
    buyPrice := close
    strategy.exit("Take Profit/Stop Loss", "Buy", stop=buyPrice * (1 - stopLossPercent), limit=buyPrice * (1 + takeProfitPercent))

// Plotting
plot(strategy.position_size > 0 ? buyPrice * (1 - stopLossPercent) : na, "Stop Loss", color=color.red, linewidth=2)
plot(strategy.position_size > 0 ? buyPrice * (1 + takeProfitPercent) : na, "Take Profit", color=color.green, linewidth=2)