
Strategi pembalikan trend jangka panjang adalah sistem perdagangan mekanikal yang menggabungkan trend dan pembalikan jangka pendek. Strategi ini menggunakan tinggi dan rendah 7 hari untuk membina saluran, dan menggunakan purata bergerak 200 hari untuk menentukan arah trend jangka panjang. Dalam pasaran lembu, strategi ini dibeli semasa penurunan dan dijual semasa kenaikan; dalam pasaran beruang, strategi ini dijual semasa kenaikan dan dibeli semasa penurunan.
Strategi ini berdasarkan kepada prinsip-prinsip berikut:
Buat saluran dengan menggunakan paras tertinggi dan terendah dalam 7 hari untuk menilai kadar kenaikan dan penurunan dalam 7 hari terakhir.
200 hari purata bergerak menentukan arah trend jangka panjang.
Sinyal beli dihasilkan apabila harga jatuh di bawah paras 7 hari dan di atas purata bergerak 200 hari. Ini menandakan bahawa penurunan penyesuaian jangka pendek telah berakhir dan trend mungkin berbalik ke atas.
Apabila harga menembusi paras tertinggi selama 7 hari dan berada di bawah purata bergerak 200 hari, ia menghasilkan isyarat jual. Ini menandakan bahawa kenaikan jangka pendek telah berakhir dan trend mungkin berbalik ke bawah.
Menggunakan 2 kali ganda ATR untuk mengawal kerugian tunggal.
Kunci strategi ini adalah untuk mempertimbangkan trend dalam dua dimensi masa dalam jangka masa pendek dan jangka panjang pada masa yang sama. Saluran pada hari ke-7 menilai penurunan dalam minggu terakhir, dan purata bergerak pada hari ke-2 menilai arah trend jangka panjang sekitar setengah tahun.
Kelebihan utama strategi ini ialah:
Isyarat strategi mudah dan jelas, berdasarkan harga dan purata sahaja, mudah untuk dilaksanakan.
Mengambil kira trend jangka pendek dan jangka panjang untuk menyaring bunyi bising.
Ia menggunakan kaedah perdagangan trend-following dan reverse combination, dan hasilnya agak stabil.
Risiko pengendalian kerugian dengan ATR, pengunduran maksimum agak kecil.
Ia boleh digunakan secara meluas dalam pelbagai pasaran seperti saham, pertukaran asing, dan mata wang kripto.
Ia boleh beroperasi dalam persekitaran frekuensi tinggi dan rendah.
Risiko utama strategi ini ialah:
Dalam keadaan yang kuat, strategi mungkin terlepas sebahagian besar kenaikan.
Stop loss mungkin sering dicetuskan dalam keadaan gegaran.
Pengaturan parameter yang tidak betul boleh menyebabkan perdagangan yang terlalu kerap.
Tidak betul menetapkan piawaian untuk menilai trend jangka pendek dan jangka panjang, dan ia boleh menyaring sebahagian besar peluang.
Data luar sampel boleh menyebabkan model tidak berfungsi.
Langkah-langkah kawalan risiko utama termasuk:
Mengoptimumkan parameter untuk memastikan penghentian kerugian dan frekuensi dagangan adalah wajar.
Pengesahan semula yang ketat untuk memeriksa kestabilan pasaran dan tempoh masa yang berbeza.
Menggunakan pelaburan gabungan untuk mengurangkan risiko strategi tunggal.
Mengurangkan kerugian tunggal dengan menggunakan indeks stop loss.
Strategi ini boleh dioptimumkan dengan:
Mengoptimumkan parameter panjang saluran untuk mencari kriteria yang lebih sesuai untuk menilai trend jangka pendek.
Mengoptimumkan parameter purata bergerak untuk mencari kriteria yang lebih sesuai untuk trend jangka panjang.
Cubalah kaedah lain untuk menangguhkan kerugian, seperti peratusan, pergerakan, dan sebagainya.
Kriteria penilaian peningkatan jumlah transaksi. Apabila trend berbalik, ia sering disertai dengan peningkatan jumlah transaksi.
Parameter terbaik untuk trend jangka pendek dan panjang berdasarkan latihan data masa lalu.
Menubuhkan mekanisme keluar yang dinamik dengan menggunakan indikator emosi dan asas.
Mengoptimumkan algoritma henti rugi untuk mencapai henti rugi indeks atau henti rugi perlindungan keuntungan.
Dengan mengoptimumkan dan menggabungkan parameter secara sistematik, strategi ini dapat meningkatkan lagi indeks penyesuaian pulangan dan risiko.
Strategi pembalikan trend jangka panjang adalah strategi perdagangan algoritma yang tipikal yang menggabungkan trend dan pembalikan. Ia menghasilkan isyarat perdagangan dengan menilai perubahan trend dalam dua dimensi masa jangka pendek dan jangka panjang secara serentak dan pada titik pembalikan trend. Berbanding dengan strategi pembalikan trend atau pembalikan murni, strategi ini dapat menyaring kebisingan pasaran jangka pendek dengan berkesan dan memperoleh keuntungan yang stabil dengan syarat mengawal risiko.
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 45m
basePeriod: 5m
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/
// © racer8
//@version=4
// This Algo Strategy Has Only 3 rules and 62% Win Rate (Youtube)
strategy("Trend Bounce", overlay=true)
nn = input(7,"Channel Length")
hi = highest(high,nn)
lo = lowest(low,nn)
n2 = input(200,"Ma Length")
ma = sma(close,n2)
if close>ma and close<lo[1]
strategy.entry("Buy",strategy.long)
if close>hi[1]
strategy.close("Buy")
if close<ma and close>hi[1]
strategy.entry("Sell",strategy.short)
if close<lo[1]
strategy.close("Sell")
plot(hi,"high",color=color.aqua)
plot(lo,"low",color=color.aqua)
plot(ma,"sma",color=color.yellow)
//-----------------------------------------Stop Loss-------------------------------------------------------
atr = sma(tr,10)[1]
bought = strategy.position_size[0] > strategy.position_size[1]
sold = strategy.position_size[0] < strategy.position_size[1]
slm = input(2.0,"ATR Stop Loss",minval=0)
StopPrice_Long = strategy.position_avg_price - slm*atr // determines stop loss's price
StopPrice_Short = strategy.position_avg_price + slm*atr // determines stop loss's price
FixedStopPrice_Long = valuewhen(bought,StopPrice_Long,0) // stores original StopPrice
FixedStopPrice_Short = valuewhen(sold,StopPrice_Short,0) // stores original StopPrice
plot(FixedStopPrice_Long,"ATR Stop Loss Long",color=color.blue,linewidth=1,style=plot.style_cross)
plot(FixedStopPrice_Short,"ATR Stop Loss Short",color=color.red,linewidth=1,style=plot.style_cross)
if strategy.position_size > 0
strategy.exit(id="Stop", stop=FixedStopPrice_Long) // commands stop loss order to exit!
if strategy.position_size < 0
strategy.exit(id="Stop", stop=FixedStopPrice_Short) // commands stop loss order to exit!