
Strategi ini adalah sistem perdagangan kuantitatif berdasarkan KDJ, yang direka khas untuk garis K 5 minit, menggunakan parameter yang sangat ringkas yang mengoptimumkan kepekaan dan kelajuan tindak balas indikator. Inti strategi ini adalah dengan mengenal pasti keadaan pasaran yang berlebih-lebihan dan berlebih-lebihan, membina kedudukan berlebih-lebihan di kawasan yang sangat berlebih-lebihan, meletakkan kedudukan kosong atau mendirikan kedudukan kosong di kawasan yang sangat berlebih-lebihan.
Strategi ini membuat keputusan perdagangan berdasarkan ciri-ciri turun naik penunjuk KDJ secara rawak. Penunjuk KDJ terdiri daripada tiga garis: garis K, garis D dan garis J, di mana:
Strategi ini menggunakan tetapan kitaran yang sangat pendek (panjang 5, K dan D mempunyai faktor penyelarasan masing-masing 1) yang memastikan penunjuk dapat bertindak balas dengan cepat terhadap perubahan harga, yang sangat sesuai untuk ciri-ciri turun naik pada carta kitaran pendek 5 minit.
Logik urus niaga adalah seperti berikut:
Strategi keseluruhan mengehadkan tempoh dagangan melalui penapis masa, hanya menjalankan isyarat dagangan dalam julat tarikh yang ditetapkan oleh pengguna (dengan lalai 1 Januari 2018 hingga 31 Disember 2069) [2].
Keupayaan tindak balas pasaran yang sangat sensitifDengan menetapkan parameter yang sangat pendek ((panjang 5, faktor kelancaran 1), strategi dapat menangkap isyarat pada peringkat awal pergerakan pasaran, dengan berkesan mengurangkan kelewatan.
Peraturan perdagangan yang jelasStrategi menggunakan nilai terhad berangka yang ketat ((K < 5 masuk, K> 90 keluar, K> 95 masuk, K < 10 keluar) sebagai syarat pemicu perdagangan, menghilangkan penilaian subjektif, memudahkan pengukuran dan pengoptimuman kuantitatif.
Pengurusan wang dinamikStrategi: Menghitung saiz kedudukan secara automatik berdasarkan kepentingan akaun dan harga semasa, capai 100% penggunaan dana, dan secara automatik membesarkan skala perdagangan apabila akaun berkembang.
Penapisan masa yang fleksibelDengan menggunakan penapis masa, strategi ini boleh mengehadkan perdagangan dalam tempoh masa tertentu, mengelakkan keadaan pasaran yang tidak stabil atau tidak cekap.
Mekanisme perdagangan dua halaIa juga menyokong perdagangan dua hala yang boleh digunakan untuk mengambil kesempatan daripada pergerakan dua hala pasaran.
Fungsi bantuan visualStrategi: Menunjukkan nilai K, D, J dan garis sempadan overbought dan oversold dengan label, memudahkan peniaga untuk memantau keadaan penunjuk secara langsung.
Risiko isyarat palsu pasaran yang bergolakDalam keadaan yang tidak stabil, KDJ sering melintasi kawasan yang lebih baik daripada yang lebih baik dan boleh menyebabkan perdagangan yang lebih kerap dan kerugian berterusan.
Ancaman untuk trend berterusanDalam trend yang kuat, pasaran mungkin berada dalam keadaan terlalu beli atau terlalu jual untuk jangka masa yang lama, yang menyebabkan penutupan prematur atau perdagangan berlawanan.
Kesan slippageWalaupun terdapat 3 titik slip dalam strategi, dalam keadaan yang bergelombang tinggi, titik slip sebenarnya mungkin lebih besar dan mempengaruhi pelaksanaan strategi.
Risiko pengurusan danaPerdagangan satu arah dengan dana 100% membawa kepada pendedahan risiko yang lebih tinggi, kurangnya pelaburan terdesentralisasi dan mekanisme kawalan risiko.
Kepekaan ParameterPrestasi strategi sangat bergantung kepada tetapan parameter KDJ, dan perubahan kecil dalam parameter boleh menyebabkan hasil dagangan yang berbeza dengan ketara.
Risiko jurang pasaranDalam keadaan melompat, harga mungkin secara langsung melangkaui harga mencetuskan, menyebabkan harga pelaksanaan sebenar jauh dari titik masuk yang ideal.
Penyelesaian:
Tambah penapis trendGabungan dengan penunjuk arah seperti ADX atau sistem purata bergerak, pelaksanaan perdagangan hanya ke arah trend utama, dapat mengurangkan isyarat palsu dan meningkatkan keuntungan.
Mengoptimumkan sistem pengurusan wangMemperkenalkan pengurusan kedudukan berdasarkan kadar turun naik, seperti ATR Stop Loss atau Kelly Criteria yang mengira kedudukan optimum untuk mengimbangi risiko dan keuntungan.
Tambah pengesahan tempoh masa: Sebelum melaksanakan isyarat 5 minit, pastikan keadaan pasaran dalam jangka masa yang lebih tinggi (seperti 15 minit atau 1 jam) untuk meningkatkan kualiti isyarat.
Parameter dinamik menyesuaikan diri: Mengubah parameter KDJ berdasarkan turun naik pasaran atau jumlah transaksi yang dinamik, supaya strategi dapat menyesuaikan diri dengan keadaan pasaran yang berbeza.
Menambah syarat penapisan transaksiSebagai contoh, pengesahan jumlah transaksi, pengesahan bentuk harga atau sekatan waktu bukaan pasaran, mengelakkan isyarat berkualiti rendah.
Pengenalan pengurusan kedudukan separaMenggunakan mekanisme pembinaan dan pengurangan gudang secara berturutan dan bukannya operasi penuh sekali gus untuk mengurangkan risiko satu titik.
Peningkatan mekanisme penghentian dan penangguhan: Setting stop loss based on ATR atau peratusan tetap, untuk melindungi keselamatan dana; dan juga menyediakan mekanisme penangguhan yang sesuai untuk mengunci keuntungan.
Tujuan utama dari arah pengoptimuman ini adalah untuk meningkatkan kestabilan dan adaptasi strategi, yang membolehkan mereka mengekalkan prestasi yang stabil dalam pelbagai persekitaran pasaran, dan tidak hanya bergantung pada parameter dan keadaan pasaran tertentu.
Ini adalah strategi perdagangan garis pendek berdasarkan prinsip overbought dan oversold dalam indikator KDJ, menangkap peluang pembalikan harga cepat pada carta 5 minit melalui penetapan parameter yang sangat sensitif. Strategi ini ringkas, mudah difahami dan dilaksanakan, dengan mekanisme penjanaan isyarat yang lengkap dan sistem pengurusan wang.
Kelebihan utamanya adalah kebolehan untuk bertindak balas dengan cepat, kepastian peraturan dan kemampuan untuk berdagang dua arah, tetapi pada masa yang sama juga menghadapi risiko isyarat palsu dan trend yang berterusan di pasaran yang bergolak. Prestasi strategi dijangka meningkat dengan ketara dengan menambah penapis trend, pengesahan pelbagai kitaran masa dan pengoptimuman sistem pengurusan dana.
Kerangka strategi asas untuk peniaga jangka pendek paling sesuai untuk bekerjasama, di mana ia dapat dioptimumkan dan disesuaikan lebih lanjut mengikut jenis perdagangan tertentu dan keadaan pasaran. Ia sangat sesuai untuk jenis perdagangan yang lebih bergelombang tetapi mempunyai batasan jangkauan tertentu, di mana pasaran seperti ini dapat memanfaatkan sepenuhnya kelebihan indikator KDJ untuk menangkap titik balik.
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Demo GPT - KDJ Strategy", overlay=false, slippage=3)
// Note: PineScript v6 doesn’t support setting commission in code.
// To apply 0.1% commission, set it manually in TradingView Strategy Properties > Commission.
// Inputs optimized for 5-minute chart
length = input.int(5, "Length", minval=1) // Shorter lookback for sensitivity
smoothK = input.int(1, "Smooth K", minval=1) // Minimal smoothing for quick response
smoothD = input.int(1, "Smooth D", minval=1) // Minimal smoothing for quick response
// KDJ Calculation (no lookahead)
raw_k = ta.stoch(high, low, close, length)
k = ta.sma(raw_k, smoothK)
d = ta.sma(k, smoothD)
j = 3 * k - 2 * d
// Label Workaround for Visuals
label.new(bar_index, k, "K: " + str.tostring(k), color=color.blue, textcolor=color.white, style=label.style_label_down)
label.new(bar_index, d, "D: " + str.tostring(d), color=color.red, textcolor=color.white, style=label.style_label_down)
label.new(bar_index, j, "J: " + str.tostring(j), color=color.purple, textcolor=color.white, style=label.style_label_down)
// Static overbought/oversold levels
label.new(bar_index, 80, "Overbought: 80", color=color.gray, textcolor=color.gray, style=label.style_none)
label.new(bar_index, 20, "Oversold: 20", color=color.gray, textcolor=color.gray, style=label.style_none)
// Calculate quantity for 100% of capital
qty = math.floor(strategy.equity / close)
// Entry and Exit Logic
long_entry = k < 5 // Enter Long when K < 5
long_exit = k > 90 // Exit Long when K > 90
short_entry = k > 95 // Enter Short when K > 95
short_exit = k < 10 // Exit Short when K < 10
// Trade Execution (Enter and hold until exit condition)
if (long_entry)
strategy.entry("Long", strategy.long, qty=qty) // Enter Long with 100% capital
if (long_exit)
strategy.close("Long") // Close Long
if (short_entry)
strategy.entry("Short", strategy.short, qty=qty) // Enter Short with 100% capital
if (short_exit)
strategy.close("Short") // Close Short