Dual Color K-line Tracking Strategy

Penulis:ChaoZhang, Tanggal: 2023-10-11 14:53:41
Tag:

Ringkasan

Strategi ini mengamati perubahan warna garis K untuk menentukan tren pasar dan menetapkan posisi panjang dan pendek sesuai.

Prinsip

Strategi ini menilai warna K-line berdasarkan hubungan antara harga penutupan dan harga pembukaan.

Ketika ada garis K berturut-turut yang ditentukan dengan warna yang sama (bisa disesuaikan), lakukan tindakan yang sesuai:

  • Jika merah, pergi panjang.

  • Jika hijau, pergi pendek.

Saat warna garis K berubah, tutup semua posisi.

Keuntungan

  • Prinsipnya jelas dan sederhana, mudah dimengerti dan diterapkan.

  • Dapat melacak tren jangka pendek dan sering berdagang.

  • Jumlah K-line dapat disesuaikan untuk menyesuaikan sensitivitas strategi.

  • Dapat pergi panjang atau pendek hanya untuk mengurangi frekuensi perdagangan.

  • Kerangka waktu perdagangan dapat diatur untuk menghindari periode tertentu.

Risiko

  • Tidak dapat menentukan arah tren, risiko dicambuk.

  • Tidak dapat menentukan waktu masuk yang optimal, risiko masuk dini atau kesempatan yang hilang.

  • Risiko pembalikan sebagai perubahan warna tidak selalu mewakili perubahan tren yang sebenarnya.

  • Menjaring jangka pendek dapat menyebabkan tekanan perdagangan dan komisi yang berlebihan.

  • Pengaturan parameter yang tidak tepat dapat menyebabkan kinerja strategi yang buruk.

Optimalisasi

  • Pertimbangkan untuk menambahkan indikator penilaian tren untuk menghindari reverse entry, misalnya MACD, KD.

  • Atur stop loss untuk mengurangi risiko kerugian.

  • Meredakan kriteria keluar dengan tepat untuk menghindari keluar yang terlalu sering.

  • Gabungkan faktor lain untuk mengoptimalkan waktu masuk, misalnya volume yang meningkat, memecahkan rekor tertinggi sebelumnya.

  • Gunakan pesanan pasar untuk mengurangi dampak slippage.

Kesimpulan

Strategi ini berasal dari analisis teknis K-line yang paling sederhana, mencapai pelacakan tren dasar dengan menilai warna K-line. Keuntungannya adalah kesederhanaan, frekuensi perdagangan yang tinggi, dan penyesuaian parameter yang fleksibel. Tetapi juga memiliki beberapa kebutaan, tidak dapat menentukan kualitas tren. Ini dapat ditingkatkan dengan menambahkan indikator penilaian tren sambil tetap sederhana, sehingga meningkatkan kinerja strategi.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//2018
//Noro

//@version=2
strategy("Noro's Candles Strategy v1.0", shorttitle = "Candles str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
bq = input(2, defval = 2, minval = 2, maxval = 6, title = "Bars Q")

fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")

//Bars Q
bar = close > open ? 1 : close < open ? -1 : 0
gb = bar == 1
rb = bar == -1
redbars = bq == 2 and rb and rb[1] ? 1 : bq == 3 and rb and rb[1] and rb[2] ? 1 : bq == 4 and rb and rb[1] and rb[2] and rb[3] ? 1 : bq == 5 and rb[1] and rb[2] and rb[3] and rb[4] ? 1 : bq == 6 and rb[1] and rb[2] and rb[3] and rb[4] and rb[5] ? 1 : 0
greenbars = bq == 2 and gb and gb[1] ? 1 : bq == 3 and gb and gb[1] and gb[2] ? 1 : bq == 4 and gb and gb[1] and gb[2] and gb[3] ? 1 : bq == 5 and gb[1] and gb[2] and gb[3] and gb[4] ? 1 : bq == 6 and gb[1] and gb[2] and gb[3] and gb[4] and gb[5] ? 1 : 0

//Signals
up1 = redbars == 1
dn1 = greenbars == 1
exit = bar != bar[1]

if up1
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if dn1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()

Lebih banyak