
Strategi ini berdasarkan panjang entiti K baris untuk menilai arah kosong. Ia mengira panjang entiti purata 30 K baris yang paling baru-baru ini, lebih apabila panjang entiti solar lebih besar daripada panjang entiti purata, dan kosong apabila panjang entiti cincin lebih besar daripada panjang entiti purata.
Strategi ini mulakan dengan mengira panjang badan entiti K, dan purata panjang badan entiti K 30 kali terakhir.
Apabila K hari ini adalah bar ==-1), dan panjang entiti lebih besar daripada panjang entiti rata-rata, buka banyak baris ===up1) [2].
Apabila K hari ini adalah bar == 1 dan panjang entiti lebih besar daripada panjang entiti purata, buka lembaran kosong == d n 1 == .
Selepas membuka banyak pilihan, jika hari ini K garis adalah garis berlian ((bar == 1) dan kedudukan semasa adalah keadaan yang menguntungkan, maka posisi kosong banyak pilihan △
Selepas membuka borang kosong, jika K hari ini adalah garis negatif ((bar==-1), dan kedudukan semasa adalah keadaan yang menguntungkan, maka borang kosong kosong akan ditutup.
Strategi ini mudah dan berkesan menggunakan panjang entiti K untuk menilai trend pasaran, entiti yang lebih panjang menunjukkan trend yang lebih kuat, oleh itu menggunakan panjang entiti sebagai asas untuk menilai ruang kosong.
Strategi ini mempunyai kelebihan berikut:
Strategi ini ringkas, mudah difahami dan dilaksanakan.
Menggunakan panjang entiti K untuk menilai trend, dan mengelakkan gangguan bunyi.
Menggunakan pengiraan purata dinamik untuk menyesuaikan diri dengan perubahan pasaran.
Menetapkan syarat-syarat kedudukan setaraf yang menguntungkan dapat meningkatkan kadar pulangan strategi.
Parameter strategi yang boleh dikonfigurasi untuk persekitaran pasaran yang berbeza.
Strategi ini mempunyai beberapa risiko:
Entiti yang lebih panjang tidak semestinya menunjukkan trend yang kuat, mungkin turun naik normal.
Tetapan yang tidak betul dalam jangka masa entiti purata boleh menyebabkan peluang perdagangan yang terlewatkan.
Kejadian yang tidak dijangka boleh menyebabkan kerugian strategi.
Berpegang pada kedudukan kosong terlalu lama boleh menyebabkan kerugian meningkat.
Penyelesaian untuk menghadapi risiko:
Mengambil kira trend dalam kombinasi dengan petunjuk lain, untuk mengelakkan perdagangan yang salah.
Uji nilai parameter yang berbeza untuk mengoptimumkan pengiraan panjang entiti purata.
Tetapkan keadaan stop loss untuk mengawal kerugian tunggal.
Mengoptimumkan logik pembukaan dan penyimpanan untuk mengelakkan pemegang saham terlalu lama.
Strategi ini boleh dioptimumkan dengan:
Kaedah ini digunakan untuk mengesan trend dengan menggunakan indikator MACD, RSI dan lain-lain untuk mengelakkan isyarat yang salah disebabkan oleh pergerakan biasa.
Uji pelbagai parameter tingkap masa panjang entiti purata untuk mencari kombinasi parameter yang optimum.
Menambah logik kawalan jumlah kedudukan terbuka, mengurangkan jumlah kedudukan terbuka secara beransur-ansur dengan peningkatan kerugian.
Tetapkan syarat keluar dari stop loss bergerak atau stop loss kadar keuntungan, mengawal peratusan kerugian tunggal.
Mengoptimumkan keadaan pembukaan dan kedudukan untuk mengelakkan transaksi yang tidak sah. Sebagai contoh, 3 entiti K-line berturut-turut yang lebih panjang kemudian membuka kedudukan.
Mengelakkan perdagangan pada jangka masa tertentu atau sebelum data penting dikeluarkan, untuk mengawal kerugian akibat kejutan kadar pertukaran.
Strategi ini mempunyai konsep keseluruhan yang jelas dan mudah difahami, untuk menilai masa masuk dengan membandingkan entiti K-line dengan panjang rata-rata. Strategi ini mempunyai ruang yang lebih besar untuk pengoptimuman dan boleh disesuaikan dengan cara yang lebih baik, menjadikan parameter strategi lebih sesuai dengan keadaan pasaran yang berbeza. Secara keseluruhan, strategi ini cukup mudah dan boleh dipercayai sebagai strategi permulaan perdagangan kuantitatif yang sesuai untuk digunakan dan dipelajari oleh pedagang pemula. Dengan terus mengoptimumkan dan menggabungkan lebih banyak indikator, anda dapat meningkatkan kadar keuntungan dan kestabilan strategi.
/*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()