Beberapa indikator menggabungkan strategi tren adaptif


Tanggal Pembuatan: 2023-12-19 11:01:05 Akhirnya memodifikasi: 2023-12-19 11:01:05
menyalin: 1 Jumlah klik: 608
1
fokus pada
1621
Pengikut

Beberapa indikator menggabungkan strategi tren adaptif

Ringkasan

Strategi ini memberikan penilaian yang akurat tentang tren dengan menggunakan kombinasi indikator Hull Moving Average, Capacity Weighted Moving Average, MACD, dan Indeks Kekuatan Nyata. Strategi ini dapat secara otomatis beradaptasi dengan perubahan lingkungan pasar dan memiliki kemampuan beradaptasi yang kuat.

Prinsip Strategi

Indikator inti dari strategi ini adalah Double Hull Moving Average, yang dihitung dengan dua parameter yang dikendalikan oleh keh dan teh. Kedua parameter ini masing-masing menentukan periode garis cepat dan lambat.

Indikator ini memiliki kapasitas rata-rata bergerak berbobot meh1 . Ketika harga lebih tinggi dari meh1 , untuk situasi bullish; Ketika harga lebih rendah dari meh1 , untuk situasi bearish .

Indikator penilaian tambahan lainnya adalah MACD. Ia diperoleh dengan mengurangi rata-rata bergerak cepat dari rata-rata bergerak lambat untuk mendapatkan MACD, dan kemudian menggunakan rata-rata bergerak dari MACD untuk mendapatkan garis sinyal. Ketika MACD lebih tinggi dari garis sinyal, maka ia adalah bullish.

Indikator penilaian tambahan terakhir adalah TSI, yang diperoleh dengan perhitungan ganda dari tingkat perubahan harga. Ukuran nilainya yang mutlak mewakili momentum perubahan harga. Dalam kondisi pembelian dan penjualan, penilaian terhadap jalur sinyal TSI, mengontrol waktu entri dan keluar.

Sinyal dari beberapa indikator ini dapat digunakan untuk menilai tren secara akurat, dan secara otomatis menyesuaikan parameter agar sesuai dengan pasar.

Keunggulan Strategis

  1. Menggunakan Hull Moving Average ganda sebagai indikator penilaian utama, ditambah dengan beberapa kombinasi indikator lainnya, dapat meningkatkan akurasi penilaian dan mengurangi sinyal palsu.

  2. Menggunakan indikator TSI untuk menentukan kapan masuk dan keluar dari pasar, dapat mengendalikan risiko.

  3. Berbagai parameter dapat disesuaikan sendiri, beradaptasi, dan dapat secara otomatis beradaptasi dengan perubahan pasar.

  4. Menggunakan kombinasi indikator dan parameter yang beradaptasi sendiri, membuat strategi stabil dan menguntungkan secara terus menerus.

Analisis risiko

  1. Meskipun ada penambahan indikator TSI untuk menentukan waktu, namun indikator yang digunakan algoritma adalah jenis tren, yang akan meningkatkan volatilitas keuntungan dan kerugian jika terjadi pasar yang bergoyang.

  2. Parameter yang tidak tepat dapat menyebabkan kegagalan strategi, dan parameter harus diatur secara rasional berdasarkan pengalaman Anda sendiri.

  3. Portfolio multi-indikator meningkatkan jumlah perhitungan, meningkatkan kemungkinan kesalahan pada saham dan periode waktu dengan jumlah data yang besar, dan perlu mengontrol ruang lingkup data.

  4. Perlu untuk memantau efek perhitungan indikator untuk mencegah gangguan data yang tidak normal.

Arah optimasi strategi

  1. Anda dapat menambahkan indikator tambahan, seperti indikator BOLL, untuk membuat sinyal lebih akurat dan dapat diandalkan.

  2. Mengoptimalkan masuk dan keluar dari pasar logis, mengatur kondisi stop loss, dan mengontrol keuntungan dan kerugian.

  3. Pelatihan dan pengoptimalan parameter varietas perdagangan agar lebih sesuai dengan varietas yang berbeda.

  4. Menambahkan modul penyesuaian parameter, sehingga parameter kebijakan dapat disesuaikan secara otomatis berdasarkan efek perdagangan terbaru.

Meringkaskan

Strategi ini mengintegrasikan keunggulan dari berbagai indikator, menggunakan kombinasi indikator untuk menentukan arah tren, meningkatkan akurasi penilaian sambil mengendalikan risiko. Dengan optimasi parameter dan optimasi logika, strategi dapat disesuaikan dengan perubahan pasar dengan lebih baik, mendapatkan lebih banyak keuntungan dengan mengurangi kerugian berturut-turut. Strategi ini stabil dan dapat diterapkan dalam jangka panjang pada varietas seperti saham dan cryptocurrency.

Kode Sumber Strategi
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//                                                    Quad-HullMA-cross & VWMA & MacD & TSI combination  <<<<< by SeaSide420 >>>>>>
strategy("MultiCross420", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)
keh=input(title="Double HullMA 1",defval=7, minval=1)
teh=input(title="Double HullMA 2",defval=14, minval=1)
meh=input(title="VWMA",defval=1, minval=1)
meh1=vwma(close,round(meh))
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
n2ma3=2*wma(close,round(teh/2))
nma2=wma(close,teh)
diff2=n2ma3-nma2,sqn2=round(sqrt(teh))
n2ma4=2*wma(close[2],round(teh/2))
nma3=wma(close[2],teh)
diff3=n2ma4-nma3,sqn3=round(sqrt(teh))
n3=wma(diff2,sqn2)
n4=wma(diff3,sqn3)
fastLength = input(title="MacD fastLength", defval=7)
slowlength = input(title="MacD slowlength", defval=14)
MACDLength = input(title="MacD Length", defval=3)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
a1=plot(n1,color=c),a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = cross, color=b, linewidth = 3)
a3=plot(n3,color=c),a4=plot(n4,color=c)
plot(cross(n3, n4) ? n1 : na, style = cross, color=b, linewidth = 3)
//a5=plot(meh1,color=c)
long = input(title="TSI Long Length",  defval=5)
short = input(title="TSI Short Length",  defval=3)
signal = input(title="TSI Signal Length",  defval=2)
linebuy = input(title="TSI Upper Line",  defval=4)
linesell = input(title="TSI Lower Line",  defval=-4)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
closelong = n1<n2 and n3<n4 and n1>meh1
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n3>n4 and n1<meh1
if (closeshort)
    strategy.close("Short") 
longCondition = strategy.opentrades<1 and n1>n2 and MACD>aMACD and n1<meh1 and n3>n4 and ema(tsi_value, signal)>linesell
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = strategy.opentrades<1  and n1<n2 and MACD<aMACD and n1>meh1 and n3<n4 and ema(tsi_value, signal)<linebuy
if (shortCondition)
    strategy.entry("Short",strategy.short)