Artikel ini memberikan analisis mendalam tentang strategi perdagangan gap rata-rata bergerak yang dikodekan oleh Noro. Strategi ini mengidentifikasi pembalikan tren dengan menghitung penyimpangan antara harga penutupan dan rata-rata bergerak sederhana, dan mencapai beli rendah dan jual tinggi.
Strategi ini pertama-tama menghitung rata-rata bergerak sederhana 3 hari (SMA). Kemudian menghitung rasio harga penutupan (pendek) ke SMA dikurangi satu sebagai indikator (ind). Ketika ind melintasi di atas batas parameter yang telah ditetapkan sebelumnya, itu berarti harga penutupan telah melampaui SMA secara signifikan dan posisi panjang dianggap. Ketika ind melintasi di bawah -limit, itu berarti harga penutupan telah turun jauh di bawah SMA dan posisi pendek dianggap.
Strategi ini juga memetakan sumbu 0, sumbu batas dan sumbu batas. Indikator berwarna berbeda di area yang terpisah untuk membantu penilaian. Ketika ind melintasi batas atau batas, itu menandakan entri panjang atau pendek.
Pada sinyal panjang/pendek, strategi akan menutup posisi berlawanan terlebih dahulu, kemudian membuka posisi panjang/pendek.
Mengadopsi prinsip perdagangan gap untuk menangkap pembalikan tren, tidak seperti strategi mengikuti tren.
Menggambar sumbu indikator untuk penilaian intuitif posisi indikator dan persilangan.
Logika dekat yang dioptimalkan, menutup posisi yang ada sebelum membalikkan arah.
Jangka waktu perdagangan yang ditentukan untuk menghindari posisi overnight yang tidak perlu.
Fleksibilitas untuk mengaktifkan/menonaktifkan perdagangan panjang/pendek.
Strategi rata-rata bergerak cenderung menghasilkan banyak perdagangan yang kalah, yang membutuhkan kesabaran dalam memegang.
Rata-rata bergerak tidak memiliki fleksibilitas dalam menangkap perubahan harga real-time.
Parameter batas yang telah ditetapkan adalah statis, yang membutuhkan penyesuaian untuk produk dan lingkungan pasar yang berbeda.
Tidak dapat mengidentifikasi fluktuasi dalam tren, membutuhkan kombinasi dengan indikator volatilitas.
Perlu mengoptimalkan aturan kepemilikan misalnya stop loss, mengambil keuntungan; atau hanya menangkap celah awal.
Uji pengaturan parameter yang berbeda misalnya periode SMA, atau rata-rata bergerak adaptif seperti EMA.
Tambahkan arah rata-rata bergerak dan validasi kemiringan untuk menghindari perdagangan yang tidak berarti.
Pertimbangkan untuk menggabungkan dengan indikator volatilitas seperti Bollinger Bands untuk menghentikan perdagangan ketika volatilitas meningkat.
Menerapkan aturan ukuran posisi misalnya jumlah tetap, piramida tambahan, manajemen uang.
Atur garis stop loss/take profit, atau jeda order baru ketika stop loss persentase tetap dipicu, untuk mengendalikan per risiko perdagangan.
Artikel ini secara komprehensif menganalisis strategi perdagangan selisih rata-rata 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()