Strategi Pembalikan Kunci Backtest

Penulis:ChaoZhang, Tanggal: 2024-01-17 10:56:52
Tag:

img

Gambaran umum

Strategi backtest reversal kunci mendeteksi peluang pendek potensial di pasar dengan memeriksa apakah harga saham mencapai level tertinggi baru dan kemudian menutup lebih rendah. Ini adalah strategi perdagangan jangka pendek. Strategi ini menggabungkan pengenalan pola visual untuk membantu mengidentifikasi sinyal pembalikan harga, dan kemudian backtest untuk memverifikasi kelayakan strategi.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada teori key reversal indicator, dengan menilai apakah ada tanda-tanda penurunan yang jelas setelah harga mencapai level tertinggi baru, untuk mengidentifikasi peluang pendek potensial.

  1. Mendefinisikan parameter nLength, yang mewakili periode lookback untuk menentukan apakah harga mencapai level tertinggi baru atau tidak;

  2. Tentukan variabel xHH untuk menyimpan harga tertinggi dalam siklus nLength yang lalu;

  3. Mendefinisikan variabel C1 untuk menentukan apakah harga tertinggi hari ini melebihi xHH, yaitu mencapai level tertinggi baru, sementara harga penutupan lebih rendah dari harga penutupan hari sebelumnya, yang memenuhi kondisi yang mungkin merupakan pola pembalikan kunci;

  4. Gambar segitiga untuk menunjukkan potensi pembalikan kunci K-line hari ini;

  5. Saat mengidentifikasi pola pembalikan kunci, buat perdagangan pendek jangka pendek dan atur logika stop profit dan stop loss.

Melalui proses di atas, pola pembalikan kunci potensial dapat diidentifikasi secara efektif, sinyal pembalikan harga dapat dinilai, dan perdagangan pendek jangka pendek dapat dilakukan.

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Mengidentifikasi sinyal pembalikan berdasarkan pola harga yang sebenarnya lebih dapat diandalkan;

  2. Indikator grafis visual membuat sinyal perdagangan lebih intuitif;

  3. Menerapkan logika stop profit dan stop loss dapat membantu pengendalian risiko;

  4. Pengujian kembali untuk memverifikasi kelayakan strategi lebih meyakinkan.

Secara keseluruhan, strategi menggabungkan beberapa faktor untuk menentukan sinyal perdagangan dan pengujian kembali untuk memverifikasi keakuratan pembalikan harga relatif tinggi, dengan nilai praktis yang baik.

Analisis Risiko

Meskipun strategi ini memiliki keuntungan yang jelas, masih ada beberapa risiko yang perlu dicatat:

  1. Pola pembalikan kunci tidak selalu mengarah pada pembalikan tren, ada risiko sinyal palsu tertentu;

  2. Ukuran sampel dari satu persediaan mungkin kecil dan mungkin tidak sepenuhnya mewakili keseluruhan pasar;

  3. Pengaturan stop loss point yang tidak tepat dapat menyebabkan kerugian modal yang lebih besar.

Untuk menghindari risiko di atas, hal-hal berikut dapat dipertimbangkan:

  1. Memverifikasi sinyal perdagangan dengan lebih banyak faktor, seperti volume perdagangan yang tidak normal;

  2. Meningkatkan ukuran sampel backtest, backtest kombinasi dari berbagai varietas;

  3. Mengoptimalkan dan menguji titik stop loss yang berbeda untuk menemukan parameter yang optimal.

Arahan Optimasi

Masih ada beberapa arah yang dapat dioptimalkan dalam strategi ini:

  1. Meningkatkan algoritma pembelajaran mesin untuk melatih model untuk menentukan probabilitas pola pembalikan kunci untuk meningkatkan akurasi;

  2. Mengoptimalkan algoritma stop loss, seperti trailing stop loss, average stop loss, dll, untuk mengurangi stop loss tunggal;

  3. Menggabungkan lebih banyak faktor seperti analisis sentimen untuk menentukan kemungkinan pembalikan pasar dan menetapkan sinyal perdagangan dinamis;

  4. memperkaya jenis strategi, seperti menggabungkan indikator momentum, indikator volatilitas, dll untuk menentukan sinyal pembalikan;

  5. Menggunakan fungsi backtesting dan optimasi dari sistem perdagangan yang lebih kompleks untuk meningkatkan fleksibilitas strategi.

Melalui aspek optimasi di atas, akurasi dan tingkat praktis dari strategi perdagangan ini dapat ditingkatkan lebih lanjut.

Ringkasan

Strategi reversal backtest utama mengidentifikasi sinyal reversal jangka pendek dengan menilai pola harga, dan memverifikasi mereka melalui backtesting. Ini dapat secara efektif menangkap peluang reversal. Strategi ini memiliki indikator grafis yang intuitif dan logika stop profit dan stop loss lengkap, dengan nilai praktis yang baik. Tentu saja, risiko sinyal palsu tertentu masih perlu dicatat. Dengan terus mengoptimalkan model penilaian dan algoritma stop loss, efek strategi dapat lebih baik. Secara keseluruhan, strategi ini memberikan ide-ide baru untuk menilai pembalikan pasar dan merupakan metode perdagangan kuantitatif yang sangat menjanjikan.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/01/2020
//
// A key reversal is a one-day trading pattern that may signal the reversal of a trend. 
// Other frequently-used names for key reversal include "one-day reversal" and "reversal day."
// How Does a Key Reversal Work?
// Depending on which way the stock is trending, a key reversal day occurs when:
// In an uptrend -- prices hit a new high and then close near the previous day's lows.
// In a downtrend -- prices hit a new low, but close near the previous day's highs
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Key Reversal Down Backtest", shorttitle="KRD Backtest", overlay = true)
input_takeprofit = input(20, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
nLength = input(1, minval=1, title="Enter the number of bars over which to look for a new high in prices.")
xHH = highest(high[1], nLength)
C1 = iff(high > xHH and close < close[1], true, false)
plotshape(C1, style=shape.triangledown, size = size.small, color=color.red)
posprice = 0.0
pos = 0
barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) 
posprice := iff(C1== true, close, nz(posprice[1], 0)) 
pos := iff(posprice > 0, -1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == -1)
    strategy.entry("Short", strategy.short)
posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))

Lebih banyak