Strategi Pembalikan Gap Down

Penulis:ChaoZhang, Tanggal: 2023-09-19 16:19:51
Tag:

Gambaran umum

Ketika lilin saat ini dibuka di bawah penutupan sebelumnya dan berakhir pada hari dengan penutupan yang lebih besar dari yang terbuka, strategi masuk panjang pada hari berikutnya s terbuka atau ditutup.

Prinsip Strategi

  1. Periksa apakah terjadi celah ke bawah, yaitu saat ini terbuka di bawah penutupan sebelumnya.

  2. Jika diputar ke bawah, perhatikan apakah penutupan saat ini berada di atas terbuka, menunjukkan pembalikan ke atas.

  3. Jika kondisi pembalikan gap down terpenuhi, pergi panjang pada hari berikutnya dibuka atau ditutup.

  4. Tetapkan stop loss trailing pada persentase, misalnya 5%, setelah masuk.

  5. Ketika harga turun untuk mencapai stop loss, posisi ditutup.

Analisis Keuntungan

Keuntungan utama dari strategi ini:

  1. Menangkap peluang trading reversal dari gap down pattern.

  2. Pola pembalikan kemungkinan tinggi selaras dengan ketakutan/keserakahan bergantian.

  3. Trailing stop mengunci keuntungan tanpa perlu pemantauan manual.

  4. Pengaturan yang fleksibel untuk masuk dan stop loss sesuai dengan stok individu.

  5. Pelaksanaan otomatis dan backtesting/optimasi yang mudah.

Analisis Risiko

Risiko utama dari strategi ini:

  1. Kegagalan pengembalian celah ke bawah dapat terjadi, perlu verifikasi pola.

  2. Stop loss yang terlalu besar cenderung diambil yang mengarah pada kerugian yang diperkuat.

  3. Seleksi stok yang buruk dapat menyebabkan pembalikan yang sulit.

  4. Data backtest yang tidak cukup menyebabkan risiko overfit.

  5. Eksekusi berbeda antara backtest dan hidup.

Solusi:

  1. Optimalkan tingkat stop loss dan persentase cap loss per perdagangan.

  2. Mengukur tren pasar secara keseluruhan untuk menghindari overstock.

  3. Periksa pola dan perubahan volume.

  4. Meningkatkan ukuran sampel untuk backtest, mensimulasikan perdagangan langsung.

Arahan Optimasi

Beberapa cara untuk meningkatkan strategi:

  1. Tambahkan filter tren untuk menghindari entri kontra-tren.

  2. Secara dinamis menyesuaikan persentase stop loss untuk melindungi keuntungan.

  3. Pertimbangkan untuk menambahkan filter waktu untuk perdagangan pada tanggal tertentu.

  4. Uji kekuatan pola untuk ukuran posisi.

  5. Uji periode tunggu yang berbeda untuk menemukan titik keluar yang optimal.

Ringkasan

Strategi pembalikan gap down memanfaatkan pola pembalikan probabilitas tinggi. Stop secara efektif mengontrol risiko tetapi berhati-hatilah terhadap bouncing palsu dan perubahan kondisi pasar. Ketika berdagang secara langsung, evaluasi pola dan tren yang hati-hati bersama dengan optimasi yang sedang berlangsung dianjurkan.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 04:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RolandoSantos

//@version=2

strategy(title="Gap Down reversal strat", overlay=true, pyramiding=1, default_qty_type =  strategy.cash, default_qty_value = 10000, initial_capital = 10000 )

/// Start date

startDate = input(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", defval=2009, minval=1800, maxval=2100)


// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0))

// STEP 1:
// Configure trail stop level with input options (optional)
longTrailPerc = input(title="Trail Long Loss (%)",
     type=float, minval=0.0, step=0.1, defval=5.0) * 0.01


// Calculate trading conditions
gap_d_r = open < close[1] and close > open


// Plot Shapes
plotshape(gap_d_r, style=shape.triangleup, location=location.belowbar)
///plotshape(gap_u_r, style=shape.triangledown, location=location.abovebar)

///// Use Low, or close/////

//hlco = input(title="Stop Modifier", defval="close", options=["open", "high", "low"])


// STEP 2:
// Determine trail stop loss prices
longStopPrice = 0.0   ///, shortStopPrice = 0.0

longStopPrice := if (strategy.position_size > 0)
    stopValue = close * (1 - longTrailPerc)
    max(stopValue, longStopPrice[1])
else
    0


// Plot stop loss values for confirmation
plot(series=(strategy.position_size > 0) ? longStopPrice : na,
     color=red, style=circles,
     linewidth=1, title="Long Trail Stop")


// Submit entry orders
if (afterStartDate and gap_d_r)
    strategy.entry(id="EL", long=true)


// Submit exit orders for trail stop loss price
if (strategy.position_size > 0)
    strategy.exit(id="Stop out", stop=longStopPrice)















Lebih banyak