Strategi pembalikan rata-rata

SMA DEV MA
Tanggal Pembuatan: 2024-06-17 14:57:59 Akhirnya memodifikasi: 2024-06-17 14:57:59
menyalin: 0 Jumlah klik: 600
1
fokus pada
1617
Pengikut

Strategi pembalikan rata-rata

Ringkasan

Strategi ini didasarkan pada prinsip regresi rata-rata, memanfaatkan harga yang menyimpang dari rata-rata bergerak untuk membuat keputusan perdagangan. Ketika harga menyimpang ke atas dari jalur atas, lakukan shorting, ketika harga menyimpang ke bawah dari jalur bawah, lakukan shorting, dan ketika harga kembali ke rata-rata bergerak, lakukan equalisation. Inti dari strategi ini adalah asumsi bahwa harga akan selalu kembali ke level rata-rata.

Prinsip Strategi

  1. Hitung rata-rata bergerak sederhana (SMA) untuk periode yang ditentukan (default 20) sebagai tingkat rata-rata harga.
  2. Hitung perbedaan standar harga ((DEV) dan dengan demikian membangun orbit naik turun. Garis atas adalah SMA ditambah kelipatan perbedaan standar ((default 1.5)), Garis bawah adalah SMA dikurangi kelipatan perbedaan standar.
  3. Jika harga naik, maka Anda harus melakukan penarikan, dan jika turun, maka Anda harus melakukan penarikan.
  4. Ketika harga melakukan over, harga turun melalui SMA dan harga melakukan over, harga turun melewati SMA dan harga turun melewati SMA.
  5. Tanda pada grafik adalah moving average, uptrend, downtrend, dan sinyal jual beli.

Analisis Keunggulan

  1. Strategi Regresi Mean Value didasarkan pada prinsip statistik bahwa harga selalu kembali ke mean value, dengan probabilitas keuntungan tertentu dalam jangka panjang.
  2. Pengaturan jalur atas dan bawah menyediakan titik masuk dan keluar yang jelas untuk memudahkan pelaksanaan dan manajemen.
  3. Strategi logisnya sederhana dan jelas, mudah dipahami dan diterapkan.
  4. Digunakan untuk varietas dan siklus yang memiliki karakteristik regressi rata-rata yang jelas.

Analisis risiko

  1. Ketika tren pasar berubah, harga dapat menyimpang dari rata-rata dan tidak kembali, menyebabkan strategi gagal.
  2. Setting standar deviasi yang tidak tepat dapat menyebabkan frekuensi perdagangan yang terlalu tinggi atau terlalu rendah, yang mempengaruhi pendapatan.
  3. Dalam kondisi ekstrem, harga akan berfluktuasi secara dramatis, sehingga tren naik turun dapat hilang.
  4. Strategi ini mungkin tidak menguntungkan jika tidak ada karakteristik regresi rata-rata pada varietas atau siklus.

Arah optimasi

  1. Tes optimasi pada siklus SMA dan perkalian standar untuk menemukan parameter optimal.
  2. Memperkenalkan indikator untuk menilai tren, menghindari perdagangan kontra saat tren jelas.
  3. Tambahkan indikator volatilitas seperti ATR di luar standar deviasi untuk membangun orbit dinamis.
  4. Pertimbangan biaya transaksi, seperti slippage, biaya, dan lain-lain, untuk mengontrol keaslian pengukuran.
  5. Tambahkan modul pengendalian angin, seperti Stop Loss Stop, Manajemen Posisi, dll.

Meringkaskan

Strategi Mean reversion adalah strategi perdagangan kuantitatif yang didasarkan pada prinsip-prinsip statistik untuk membuat keputusan perdagangan dengan membangun harga rata-rata naik atau turun. Logika strategi ini sederhana, pelaksanaan yang jelas, tetapi harus memperhatikan pilihan varietas dan optimasi parameter. Dalam aplikasi praktis, juga perlu mempertimbangkan faktor-faktor seperti tren, biaya perdagangan, kontrol risiko, untuk meningkatkan kehandalan strategi dan profitabilitas.

Kode Sumber Strategi
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Mean Regression Strategy", overlay=true)

// Define the lookback period for the moving average
length = input.int(20, title="Moving Average Length")
mult = input.float(1.5, title="Standard Deviation Multiplier")

// Calculate the moving average and standard deviation
ma = ta.sma(close, length)
dev = mult * ta.stdev(close, length)

// Calculate upper and lower bands
upper_band = ma + dev
lower_band = ma - dev

// Plot the moving average and bands
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(upper_band, color=color.red, linewidth=2, title="Upper Band")
plot(lower_band, color=color.green, linewidth=2, title="Lower Band")

// Entry conditions
long_condition = ta.crossover(close, lower_band)
short_condition = ta.crossunder(close, upper_band)

// Exit conditions
exit_long_condition = ta.crossunder(close, ma)
exit_short_condition = ta.crossover(close, ma)

// Strategy orders
if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

if (exit_long_condition)
    strategy.close("Long")
if (exit_short_condition)
    strategy.close("Short")

// Plot signals on the chart
plotshape(series=long_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")