
Strategi ini didasarkan pada panjang entitas dari garis K untuk menilai arah polygon. Ini menghitung panjang entitas rata-rata dari 30 garis K terbaru, dengan lebih banyak jika panjang entitas sinar matahari lebih besar dari panjang entitas rata-rata, dan kosong jika panjang entitas sinar matahari lebih besar dari panjang entitas rata-rata.
Strategi ini pertama-tama menghitung panjang badan entitas dari garis K, dan rata-rata panjang badan entitas dari 30 garis K terakhir.
Jika K hari ini adalah bar ==-1), dan panjang entitasnya lebih besar dari panjang entitas rata-rata, buka polynomial ((up1) ).
Buka formulir kosong bila hari ini garis K adalah garis bujur ((bar==1), dan panjang entitas lebih besar dari panjang entitas rata-rata.
Setelah membuka banyak opsi, jika hari ini K garis adalah garis lurus ((bar==1), dan posisi saat ini adalah profitabilitas, maka posisi kosong banyak opsi。
Setelah kartu kosong dibuka, jika hari ini garis K adalah garis negatif ((bar==-1), dan posisi saat ini dalam keadaan menguntungkan, maka kartu kosong kosong akan kosong.
Strategi ini secara sederhana dan efektif menggunakan panjang entitas garis K untuk menilai tren pasar, semakin panjang entitas menunjukkan semakin kuat tren, sehingga menggunakan panjang entitas sebagai dasar untuk menilai polygon.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini sederhana, mudah dipahami, dan mudah diterapkan.
Menggunakan panjang entitas garis K untuk menilai tren dan menghindari gangguan suara.
Menggunakan perhitungan rata-rata dinamis, dapat beradaptasi dengan perubahan pasar.
Dengan menetapkan kondisi posisi terdepan yang menguntungkan, strategi ini dapat meningkatkan tingkat pengembalian.
Parameter kebijakan yang dapat dikonfigurasi untuk berbagai lingkungan pasar.
Strategi ini juga memiliki beberapa risiko:
Entitas yang lebih panjang tidak selalu mewakili tren yang kuat, tetapi mungkin fluktuasi normal.
Penetapan jendela waktu dengan panjang entitas rata-rata yang tidak tepat dapat menyebabkan kehilangan peluang perdagangan.
Kejadian tak terduga dapat menyebabkan kerugian strategis.
Berpegang pada posisi kosong terlalu lama dapat menyebabkan kerugian yang lebih besar.
Solusi untuk menghadapi risiko:
Ini adalah salah satu indikator yang digunakan untuk mengevaluasi tren dan menghindari salah trading.
Uji nilai dari parameter yang berbeda untuk mengoptimalkan perhitungan panjang entitas rata-rata.
Tetapkan kondisi stop loss dan kendalikan kerugian tunggal.
Mengoptimalkan logika pembukaan dan penutupan untuk menghindari jangka waktu yang terlalu lama.
Strategi ini dapat dioptimalkan dengan:
Menggabungkan indikator MACD, RSI dan lain-lain untuk menilai tren, untuk menghindari kesalahan sinyal karena fluktuasi rutin.
Uji parameter jendela waktu dengan panjang entitas rata-rata yang berbeda untuk mencari kombinasi optimal.
Tambahkan logika pengendalian volume posisi terbuka, mengurangi volume posisi terbuka secara bertahap seiring dengan peningkatan jumlah kerugian.
Setting mobile stop loss or profit rate stop loss withdrawal condition, untuk mengontrol rasio kerugian tunggal.
Mengoptimalkan kondisi posisi terbuka dan aman, menghindari transaksi yang tidak valid. Misalnya, 3 entitas K-line berturut-turut yang lebih panjang kemudian membuka posisi.
Menghindari perdagangan pada periode tertentu atau sebelum dan sesudah terbitnya data penting untuk mengendalikan kerugian akibat kejutan nilai tukar.
Strategi ini memiliki konsep yang jelas dan mudah dimengerti, dengan membandingkan entitas K-line dengan panjang rata-rata untuk menentukan waktu masuk. Strategi ini memiliki ruang yang lebih besar untuk dioptimalkan, dan dapat disesuaikan secara optimal dari berbagai sisi, sehingga parameter strategi lebih sesuai dengan lingkungan pasar yang berbeda. Secara keseluruhan, strategi ini cukup sederhana dan dapat diandalkan sebagai strategi awal perdagangan kuantitatif yang cocok untuk digunakan dan dipelajari oleh pedagang pemula.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's ColorBar Strategy v1.0", shorttitle = "ColorBar str v1.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")
usebody = input(true, defval = true, title = "Use body")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, 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")
//Signals
bar = close > open ? 1 : close < open ? - 1 : 0
body = abs(close - open)
sbody = ema(body, 30)
up1 = bar == -1 and (body > sbody or usebody == false)
dn1 = bar == 1 and (body > sbody or usebody == false)
plus = (close > strategy.position_avg_price and strategy.position_size > 0) or (close < strategy.position_avg_price and strategy.position_size < 0)
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and plus
if up1
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if dn1
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
strategy.close_all()