Strategi Trailing Moving Average Gap


Tanggal Pembuatan: 2023-10-26 16:05:01 Akhirnya memodifikasi: 2023-10-26 16:05:01
menyalin: 0 Jumlah klik: 700
1
fokus pada
1617
Pengikut

Strategi Trailing Moving Average Gap

Artikel ini memberikan analisis terperinci tentang strategi pergerakan rata-rata yang dilacak oleh Noro. Strategi ini dilakukan dengan menghitung seberapa jauh harga penutupan dari rata-rata bergerak sederhana untuk menentukan kapan tren pasar berbalik dan mencapai posisi jual beli rendah.

Prinsip Strategi

Strategi ini pertama-tama menghitung SMA selama 3 hari. Kemudian menghitung rasio harga tutup close dengan sma, kemudian dikurangi dengan 1, untuk mendapatkan indikator ind. Ketika ind di atas melewati parameter default limit, menunjukkan bahwa harga tutup telah jelas melebihi sma, pertimbangkan untuk melakukan over; Ketika ind di bawah melewati-limit, menunjukkan bahwa harga tutup telah jauh di bawah sma, pertimbangkan untuk melakukan over.

Strategi ini juga memetakan sumbu 0, sumbu limit, dan sumbu -limit. Indikator ind di berbagai daerah, dengan warna yang berbeda untuk penilaian tambahan.

Strategi ini menghasilkan sinyal untuk melakukan over atau under. Strategi ini akan menghapuskan posisi yang berlawanan dengan arah saat ini, dan kemudian membuka posisi untuk melakukan over atau under. Ketika indikator ind kembali ke antara sumbu 0, semua posisi akan dihapuskan.

Keunggulan Strategis

  1. Menggunakan prinsip lompat tinggi, ketika harga muncul jelas meninggalkan rata-rata bergerak, mengambil operasi berlawanan arah, yang berbeda dari trend tracking, strategi lompat tinggi mengejar menangkap titik balik.

  2. Menggambar sumbu indikator, intuitif menilai posisi indikator dan melintasi.

  3. Optimalkan logika posisi kosong, hanya membuka posisi baru secara terbalik setelah posisi saat ini kosong, untuk menghindari kepemilikan posisi terbalik yang tidak perlu.

  4. Tetapkan jangka waktu perdagangan untuk menghindari posisi bermalam yang tidak perlu.

  5. Hal ini memungkinkan untuk mengatur tombol transaksi untuk masuk ke dua sisi dari multi-ruang, hanya dapat melakukan lebih atau hanya melakukan kosong.

Risiko Strategis

  1. Strategi bergerak rata-rata yang mudah untuk menghasilkan beberapa perdagangan yang merugikan, cocok untuk posisi yang sabar.

  2. Rata-rata bergerak tidak memiliki fleksibilitas sebagai indikator penilaian dan tidak dapat mencerminkan perubahan harga secara tepat waktu.

  3. Default parameter limit lebih statis dan perlu disesuaikan dengan varietas dan kondisi pasar.

  4. Tracking moving averages tidak dapat mengidentifikasi fluktuasi dalam tren, dan harus dikombinasikan dengan indikator fluktuasi.

  5. Perlu mengoptimalkan aturan memegang posisi, seperti mengatur stop loss, stop stop; atau hanya menangkap lompatan di awal tren.

Arah optimasi strategi

  1. Anda dapat menguji parameter yang berbeda, seperti siklus sma; atau menggunakan rata-rata bergerak yang disesuaikan, seperti rata-rata bergerak indeks.

  2. Anda dapat menambahkan arah, sudut, dan lain-lain ke dalam rata-rata bergerak untuk menghindari transaksi yang sia-sia selama periode platform.

  3. Anda dapat mempertimbangkan untuk menangguhkan perdagangan jika volatilitas meningkat dalam kombinasi dengan indikator volatilitas, seperti Bollinger Bands.

  4. Anda dapat mengatur aturan manajemen posisi, seperti membuka posisi dengan jumlah tetap, meningkatkan posisi, dan mengelola dana.

  5. Anda dapat mengatur stop loss barrier, atau menghentikan pesanan baru pada stop loss dalam proporsi tetap, untuk mengontrol risiko tunggal.

Meringkaskan

Strategi ini menggunakan karakteristik harga yang melompat rata-rata bergerak, merancang garis indikator dan gambar warna, untuk menentukan waktu masuk. Pada saat yang sama, logika urutan posisi kosong dioptimalkan, dan jangka waktu perdagangan ditetapkan. Namun, strategi ini memiliki kelemahan yang melekat pada melacak rata-rata bergerak, yang memerlukan pengoptimalan lebih lanjut pada pengaturan parameter, aturan stop loss, dan kombinasi lainnya dengan indikator untuk meningkatkan stabilitas.

Kode Sumber Strategi
/*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()