Strategi pengembalian min

SMA DEV MA
Tarikh penciptaan: 2024-06-17 14:57:59 Akhirnya diubah suai: 2024-06-17 14:57:59
Salin: 0 Bilangan klik: 600
1
fokus pada
1617
Pengikut

Strategi pengembalian min

Gambaran keseluruhan

Strategi ini berdasarkan pada prinsip regresi rata-rata, menggunakan keadaan harga yang menyimpang dari rata-rata bergerak untuk membuat keputusan perdagangan. Apabila harga bergerak ke atas dari arah atas, ia melakukan penyingkiran, apabila ia bergerak ke bawah, ia melakukan penyingkiran, dan apabila harga kembali ke arah rata-rata bergerak, ia akan kembali ke tahap rata-rata.

Prinsip Strategi

  1. Hitung purata bergerak sederhana (SMA) untuk tempoh yang ditetapkan (default 20) sebagai purata harga.
  2. Hitung perbezaan piawai harga ((DEV) dan dengan itu binalah orbit atas ke bawah. Peringkat atas adalah SMA ditambah kali ganda perbezaan piawai ((default 1.5)), dan yang bawah adalah SMA tolak kali ganda perbezaan piawai.
  3. Buat kosong apabila harga naik dan buat lebih banyak apabila turun.
  4. Apabila harga yang lebih tinggi turun melalui SMA, harga yang lebih rendah turun melalui SMA, dan harga yang lebih rendah turun melalui SMA, harga yang lebih rendah turun melalui SMA.
  5. Tandakan pada carta rata-rata bergerak, tren atas, tren bawah dan isyarat jual beli.

Analisis kelebihan

  1. Strategi pulangan nilai purata adalah berdasarkan prinsip statistik bahawa harga sentiasa kembali ke nilai purata, dengan kebarangkalian keuntungan tertentu dalam jangka masa panjang.
  2. Pengaturan laluan atas dan bawah menyediakan tempat masuk dan keluar yang jelas untuk memudahkan pelaksanaan dan pengurusan.
  3. Logik strategi mudah difahami dan dilaksanakan.
  4. Digunakan untuk varieti dan kitaran yang mempunyai ciri kemerosotan purata yang jelas.

Analisis risiko

  1. Apabila trend pasaran berubah, harga mungkin menyimpang dari nilai purata dan tidak kembali, menyebabkan strategi gagal.
  2. Perbezaan piawaian yang tidak betul boleh menyebabkan frekuensi dagangan yang terlalu tinggi atau terlalu rendah, yang menjejaskan keuntungan.
  3. Dalam kes-kes yang melampau, harga boleh berubah-ubah dengan ketara, dan aliran atas dan bawah mungkin tidak berfungsi.
  4. Strategi ini mungkin tidak menguntungkan jika tidak ada ciri-ciri regresi rata-rata untuk varieti atau kitaran.

Arah pengoptimuman

  1. Ujian optimum untuk kitaran dan perkalian standard perbezaan SMA untuk mencari parameter terbaik.
  2. Memperkenalkan indikator untuk menilai trend, mengelakkan perdagangan berlawanan apabila trend jelas.
  3. Tambahan indikator kadar turun naik seperti ATR di luar perbezaan standard, membina orbit dinamik.
  4. Mengambil kira kos urus niaga seperti slippage, bayaran, dan lain-lain untuk mengawal keaslian pengukuran.
  5. Tambahan modul kawalan angin, seperti penangguhan kerugian, pengurusan kedudukan dan sebagainya.

ringkaskan

Strategi pulangan rata-rata adalah strategi perdagangan kuantitatif berdasarkan prinsip statistik, membuat keputusan perdagangan dengan membina harga rata-rata naik dan turun. Logik strategi ini mudah, dilaksanakan dengan jelas, tetapi berhati-hati dengan pilihan dan optimasi parameter varieti. Dalam aplikasi praktikal, faktor-faktor seperti trend, kos perdagangan, dan kawalan risiko juga perlu dipertimbangkan untuk meningkatkan kestabilan dan keuntungan strategi.

Kod 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")