Strategi Mengikuti Tren Regresi Linier Ganda


Tanggal Pembuatan: 2023-11-17 16:51:33 Akhirnya memodifikasi: 2023-11-17 16:51:33
menyalin: 0 Jumlah klik: 616
1
fokus pada
1617
Pengikut

Strategi Mengikuti Tren Regresi Linier Ganda

Ringkasan

Strategi pelacakan tren regresi biner menggunakan perbedaan regresi linier cepat dan regresi linier lambat untuk menilai tren harga dan menggunakannya sebagai sinyal masuk. Strategi ini juga menggunakan EMA sebagai kondisi penyaringan dan hanya masuk jika harga lebih tinggi dari EMA.

Prinsip Strategi

Strategi ini pertama-tama menghitung dua kurva regresi linier dengan periode yang berbeda, satu untuk regresi linier cepat, dengan periode yang lebih pendek, dan yang lain untuk regresi linier lambat, dengan periode yang lebih lama. Kemudian menghitung perbedaan antara dua regresi linier, yang berarti bahwa harga berada dalam tren naik ketika regresi linier cepat lebih tinggi dari regresi linier lambat, dan yang berarti bahwa harga berada dalam tren turun ketika regresi linier cepat lebih rendah dari regresi linier lambat, dengan perbedaan kurang dari 0.

Strategi ini menggunakan garis spread yang melewati batas pintu sebagai sinyal beli, dan garis spread yang melewati batas pintu sebagai sinyal posisi kosong. Pada saat yang sama, permintaan harga lebih tinggi dari 200 siklus EMA, ini untuk menyaring non-trend.

Analisis Keunggulan

  1. Dengan menggunakan regresi biner untuk menangkap tren harga, pengukuran kembali akan lebih efektif.

  2. Menambahkan filter EMA untuk memfilter beberapa non-trend dan menghindari sinyal yang salah.

  3. Strategi logisnya sederhana dan jelas, mudah dipahami dan diterapkan.

Analisis risiko

  1. Linear Regression Cycle tidak diatur dengan benar, dan dapat menyebabkan banyak sinyal noise.

  2. Dalam situasi tren yang kuat, filter EMA mungkin melewatkan beberapa peluang.

  3. Dalam situasi yang tidak stabil, transaksi sering terjadi dan kerugian dapat terjadi.

Solusi:

  1. Optimalkan parameter siklus regresi linier, mengurangi noise.

  2. Periode EMA dapat disesuaikan secara dinamis dengan kondisi pasar.

  3. Meningkatkan Stop Loss untuk mengendalikan kerugian.

Optimasi Strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Mengoptimalkan parameter periodik dari regresi linear cepat dan regresi linear lambat untuk menemukan kombinasi parameter yang optimal.

  2. Cobalah filter lain sebagai pengganti EMA, seperti Blink, KDJ, dan lain-lain, untuk melihat apakah itu dapat meningkatkan efektivitas strategi.

  3. Meningkatkan Stop Loss Dinamis untuk Mengontrol Risiko dan Mencegah Pertumbuhan Kerugian

  4. Bergabung dengan mekanisme pilihan saham, memilih saham yang lebih cenderung untuk diperdagangkan.

  5. Adaptasi parameter pengembangan, menyesuaikan parameter secara otomatis sesuai dengan kondisi pasar.

Meringkaskan

Strategi pelacakan tren regresi biner secara keseluruhan lebih sederhana dan langsung, menggunakan perbedaan regresi biner untuk menentukan tren harga, dan dengan EMA sebagai indikator penyaringan, dapat secara efektif melacak tren. Namun, strategi ini juga memiliki risiko tertentu, perlu memperhatikan optimasi parameter, pengendalian kerugian, dan lain-lain, agar strategi dapat memberikan efek maksimal.

Kode Sumber Strategi
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TradingAmmo

//@version=4
strategy("Linear trend", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)

src = close
len1 = input(defval=13, minval=1, title="Fast LR")
len2 = input(defval=55, minval=1, title="Slow LR")

lag1 = input(0, title="Lag for fast")
lag2 = input(0, title="Lag for slow")

threshold  = input(0,step=0.5, title="Threshold")

fast_lr = linreg(src, len1, lag1)
slow_lr = linreg(src, len2, lag2)
lr = fast_lr - slow_lr
plot_fast = plot(lr, color = lr > 0 ? color.green : color.red)
plot(threshold, color=color.purple)

long_condition = crossover(lr, threshold) and close > ema(close, 200) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition) 

short_condition = crossunder(lr, threshold) 
strategy.close('BUY', when=short_condition)