Artikel ini memberikan analisis mendalam mengenai strategi perdagangan jurang purata bergerak yang dikodkan oleh Noro. Strategi ini mengenal pasti pembalikan trend dengan mengira penyimpangan antara harga penutupan dan purata bergerak mudah, dan mencapai membeli rendah dan menjual tinggi.
Strategi ini mula-mula mengira purata bergerak mudah 3 hari (SMA). Kemudian ia mengira nisbah harga penutupan (dekat) kepada SMA tolak satu sebagai penunjuk (ind). Apabila ind melintasi di atas had parameter yang telah ditetapkan, ini bermakna harga penutupan telah melebihi SMA dengan ketara dan kedudukan panjang dianggap. Apabila ind melintasi di bawah - had, ini bermakna harga penutupan telah jatuh jauh di bawah SMA dan kedudukan pendek dianggap.
Strategi ini juga memetakan paksi 0, paksi had dan paksi had. Indikator ini berwarna berbeza di kawasan yang berasingan untuk membantu penilaian. Apabila ind melintasi had atau had, ia menandakan masuk panjang atau pendek.
Pada isyarat panjang/pendek, strategi akan menutup kedudukan bertentangan terlebih dahulu, kemudian membuka kedudukan panjang/pendek.
Mengambil prinsip perdagangan jurang untuk menangkap pembalikan trend, tidak seperti strategi mengikut trend.
Menggambarkan paksi penunjuk untuk penilaian intuitif kedudukan penunjuk dan persilangan.
Logik dekat yang dioptimumkan, menutup kedudukan sedia ada sebelum membalik arah.
Julat masa dagangan yang ditakrifkan untuk mengelakkan kedudukan semalam yang tidak perlu.
Fleksibiliti untuk membolehkan/menonaktifkan perdagangan panjang/pendek.
Strategi purata bergerak cenderung menghasilkan banyak perdagangan yang rugi, yang memerlukan kesabaran dalam memegang.
Purata bergerak tidak mempunyai fleksibiliti dalam menangkap perubahan harga masa nyata.
Parameter had yang telah ditetapkan adalah statik, yang memerlukan penyesuaian untuk produk dan persekitaran pasaran yang berbeza.
Tidak dapat mengenal pasti turun naik dalam trend, memerlukan gabungan dengan penunjuk turun naik.
Perlu mengoptimumkan peraturan pegangan e.g. hentikan kerugian, mengambil keuntungan; atau hanya menangkap jurang awal.
Uji tetapan parameter yang berbeza misalnya tempoh SMA, atau purata bergerak adaptif seperti EMA.
Tambah arah purata bergerak dan pengesahan cerun untuk mengelakkan perdagangan yang tidak bermakna.
Pertimbangkan untuk menggabungkan dengan penunjuk turun naik seperti Bollinger Bands untuk menghentikan perdagangan apabila turun naik meningkat.
Melaksanakan peraturan saiz kedudukan e.g. kuantiti tetap, piramid tambahan, pengurusan wang.
Tetapkan barisan stop loss/take profit, atau hentikan pesanan baru apabila stop loss peratusan tetap dicetuskan, untuk mengawal setiap risiko perdagangan.
Artikel ini menganalisis secara komprehensif strategi perdagangan jurang purata bergerak Noro
/*backtest start: 2022-10-19 00:00:00 end: 2023-10-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 strategy(title = "Noro's Shift Close Strategy v1.0", shorttitle = "Shift Close 1.0", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") limit = input(10) 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") //Shift MA sma = sma(ohlc4, 3) ind = ((close / sma) - 1) * 100 //Oscilator plot(3 * limit, color = na, transp = 0) plot(limit, color = black, transp = 0) plot(0, color = black, transp = 0) plot(-1 * limit, color = black, transp = 0) plot(-3 * limit, color = na, transp = 0) plot(ind, linewidth = 3, transp = 0) col = ind > limit ? red : ind < -1 * limit ? lime : na bgcolor(col, transp = 0) //Signals size = strategy.position_size up = ind < -1 * limit dn = ind > limit exit = ind > -1 * limit and ind < limit //Trading lot = 0.0 lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1] if up if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if exit strategy.close_all()