
Strategi pengesanan trend binari menggunakan perbezaan antara pengesanan linear cepat dan pengesanan linear perlahan untuk menilai trend harga, dan menggunakannya sebagai isyarat masuk. Apabila pengesanan linear cepat lebih banyak apabila melewati batas atas, ia akan rata apabila melewati batas bawah.
Strategi ini mula-mula mengira dua kurva pengembalian linear yang berbeza, satu untuk pengembalian linear cepat, dengan kitaran yang lebih pendek, dan yang lain untuk pengembalian linear perlahan, dengan kitaran yang lebih lama. Kemudian menghitung perbezaan antara kedua-dua pengembalian linear, apabila pengembalian linear cepat lebih tinggi daripada pengembalian linear perlahan, perbezaan yang lebih besar daripada 0 menunjukkan harga berada dalam trend naik; apabila pengembalian linear cepat lebih rendah daripada pengembalian linear perlahan, perbezaan yang lebih kecil daripada 0 menunjukkan harga berada dalam trend menurun.
Strategi menggunakan garis perbezaan untuk melintasi had pintu sebagai isyarat beli, dan garis perbezaan untuk melintasi had pintu sebagai isyarat kedudukan kosong. Pada masa yang sama, meminta harga lebih tinggi daripada 200 kitaran EMA, ini untuk menyaring tindakan yang tidak trend.
Menggunakan regresi binari untuk menangkap trend harga, pengesanan semula lebih berkesan.
Menambah penapis EMA yang boleh menapis beberapa pergerakan bukan trend dan mengelakkan isyarat yang salah.
Logik strategi mudah difahami dan dilaksanakan.
Pengaturan kitaran regresi linear yang tidak betul boleh menyebabkan banyak isyarat bising.
EMA Filter mungkin terlepas beberapa peluang dalam keadaan trend yang kuat.
Dalam keadaan yang tidak menentu, ia boleh menyebabkan perdagangan yang kerap dan kerugian.
Penyelesaian:
Mengoptimumkan parameter kitaran pengembalian linear, mengurangkan kebisingan.
Tempoh EMA boleh diubah mengikut keadaan pasaran.
Tambah Stop Loss untuk mengawal kerugian.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mengoptimumkan parameter kitaran regresi linear cepat dan regresi linear perlahan untuk mencari kombinasi parameter yang optimum.
Cuba penapisan lain daripada EMA, seperti Brinband, KDJ dan lain-lain, untuk melihat apakah ia dapat meningkatkan kesan strategi.
Tambah Hentian Dinamis untuk mengawal risiko dan mengelakkan kerugian daripada berkembang.
Berkongsi dengan mekanisme pemilihan saham, pilih saham yang lebih cenderung untuk diperdagangkan.
Fungsi penyesuaian sendiri parameter pembangunan, menyesuaikan parameter secara automatik mengikut keadaan pasaran.
Strategi pengesanan trend regresi binari secara keseluruhan lebih mudah dan langsung, menggunakan perbezaan regresi binari untuk menentukan trend harga, dan menggunakan EMA sebagai penapis indikator, dapat mengesan trend dengan berkesan. Tetapi strategi ini juga mempunyai risiko tertentu, perlu memberi perhatian kepada pengoptimuman parameter, kawalan henti kerugian, dan sebagainya, untuk memberi kesan maksimum kepada 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)