Strategi kuantitatif berdasarkan indikator TSI dan rata-rata pergerakan Hull


Tanggal Pembuatan: 2023-12-18 16:56:22 Akhirnya memodifikasi: 2023-12-18 16:56:22
menyalin: 0 Jumlah klik: 794
1
fokus pada
1621
Pengikut

Strategi kuantitatif berdasarkan indikator TSI dan rata-rata pergerakan Hull

Ringkasan

Strategi ini disebut strategi perdagangan kuantitatif berdasarkan indikator TSI dan Hull Moving Average. Ide utamanya adalah menggabungkan indikator TSI dan Hull Moving Average untuk mengidentifikasi tren dalam saham, mata uang digital, atau mata uang asing, dan menghasilkan sinyal perdagangan ketika tren dimulai.

Prinsip Strategi

Strategi ini menggunakan indikator TSI untuk menentukan tren dan momentum harga. Indikator TSI adalah rata-rata bergerak ganda yang disesuaikan dengan tingkat perubahan harga.

Strategi ini juga menggunakan Hull Moving Average untuk menilai tren harga. Hull Moving Average dibangun dengan Moving Average dengan bobot ganda, yang secara efektif menyaring kebisingan pasar.

Jika Hull Moving Average juga mengkonfirmasi trend ke arah yang sama, sinyal perdagangan yang sesuai akan dihasilkan pada saat indikator TSI mengirim sinyal. Selain itu, strategi juga memeriksa arah entitas K-line untuk mengkonfirmasi tren.

Analisis Keunggulan

Strategi ini menggabungkan berbagai indikator seperti tren, momentum, dan rata-rata untuk secara efektif mengidentifikasi awal tren pasar dan menghindari banyak sinyal palsu. Rata-rata bergerak ganda juga dapat menyaring beberapa kebisingan.

Strategi ini dapat meningkatkan kualitas sinyal secara signifikan dengan menggabungkan beberapa indikator filter dibandingkan dengan satu indikator. Beberapa kondisi konfirmasi juga membuat strategi memiliki kepastian yang sangat kuat ketika menghasilkan sinyal.

Analisis risiko

Strategi ini, meskipun efektif untuk mengidentifikasi awal tren, akan menghasilkan beberapa sinyal yang salah dan over-trading ketika pasar bergejolak. Selain itu, pengaturan parameter yang tidak tepat juga dapat menyebabkan posisi yang tidak perlu.

Untuk mengurangi risiko, Hull Moving Average Cycle atau TSI parameter dapat disesuaikan dengan tepat, atau stop loss dapat ditambahkan untuk mengontrol kerugian. Dalam proses optimasi, Anda perlu memperhatikan rasio bising sinyal untuk mendapatkan parameter terbaik.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Optimalkan parameter Hull Moving Average, smooth curve untuk memfilter sinyal palsu
  2. Mengoptimalkan parameter TSI, menyeimbangkan sensitivitas dan stabilitas
  3. Termasuk strategi stop loss dan loss control
  4. Sesuaikan panjang sinyal untuk memfilter kebisingan singkat
  5. Uji varietas dan siklus waktu dari berbagai strategi
  6. Verifikasi sinyal dalam kombinasi dengan indikator lainnya

Meringkaskan

Strategi ini menggabungkan indikator TSI dan Hull Moving Average untuk menghasilkan sinyal perdagangan setelah menentukan tren pasar. Strategi ini memiliki ketepatan waktu dan kualitas sinyal yang tinggi. Dengan pengoptimalan parameter dan kombinasi strategi, profitabilitas dapat ditingkatkan secara signifikan dan risiko dapat dikurangi.

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

//@version=2
strategy("TSI/HullMA/VWMA strategy", shorttitle="TSI/HullMA/VWMA", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=420, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0)
TP = input(defval=200.00, title="TargetPoint in $", type=float, step=1)
SL = input(defval=-2000.00, title="StopLoss in $", type=float, step=1)
signal = input(title="Signal Length",  defval=6)
keh=input(title="HullMA cross",defval=2)
a=input(title="VWMA",defval=2)
long=35,short=35,linebuy=4,linesell=-4,ot=1,p=ohlc4[0]
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(p)
rvwma=vwma(p,round(a))
rvwma2=vwma(p,round(a*2))
n2ma=2*wma(p,round(keh/2))
nma=wma(p,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(p[1],round(keh/2))
nma1=wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
hullbuy=n1>n2 and n1>n2[1] and rvwma>rvwma2
hullsell=n1<n2 and n1<n2[1] and rvwma<rvwma2
candlebuy=ohlc4[0]>ohlc4[1] and ohlc4[0]>ohlc4[2] and ohlc4[0]>ohlc4[3]
candlesell=ohlc4[0]<ohlc4[1] and ohlc4[0]<ohlc4[2] and ohlc4[0]<ohlc4[3]
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)
strategy.entry("buy", true, na, when = tsi_value>ema(tsi_value, signal) and candlebuy and hullbuy)
strategy.entry("sell", false, na, when = tsi_value<ema(tsi_value, signal) and candlesell and hullsell)
strategy.close_all(when = strategy.openprofit>TP or strategy.openprofit<SL)