Strategi perdagangan kuantitatif berdasarkan saluran trend super


Tarikh penciptaan: 2024-02-05 13:57:28 Akhirnya diubah suai: 2024-02-05 13:57:28
Salin: 1 Bilangan klik: 697
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif berdasarkan saluran trend super

Gambaran keseluruhan

Strategi ini adalah berdasarkan pada penunjuk saluran hypertrend yang direka untuk memberi isyarat Entries dan Exits, untuk membolehkan perdagangan kuantitatif yang automatik. Penunjuk saluran hypertrend dapat menentukan titik pecah dan menyokong titik rintangan, membantu menentukan arah trend. Strategi ini menggabungkan kelebihan penunjuk ini, untuk perdagangan dua hala pendek dan pendek.

Prinsip Strategi

Strategi ini menggunakan ATR dan saluran Dongxian untuk mengira dua garis berhenti yang panjang. Secara khusus, nilai ATR dikira melalui kitaran ATR dan parameter pengganda ATR, dan kemudian ditambah dengan nilai purata harga tertinggi dan terendah, untuk mendapatkan dua garis berhenti yang panjang.

Selepas melakukan penutupan tambahan, garis berhenti akan dikemas kini dalam masa nyata untuk mengunci keuntungan. Garis berhenti baru tidak akan lebih rendah atau lebih tinggi daripada nilai sebelumnya, untuk mengelakkan penutupan dari penembusan. Apabila terdapat tinggi baru atau rendah baru antara garis berhenti dan garis berhenti sebelumnya, perbarui garis berhenti ke harga terkini.

Analisis kelebihan

Kelebihan utama strategi ini ialah penunjuk saluran hypertrend dapat menentukan dengan jelas arah trend dan tahap rintangan sokongan utama. Bersama-sama dengan ATR, stop loss dinamik dapat mengawal kerugian tunggal dengan berkesan.

Khususnya, dua garis berhenti dalam indikator saluran hypertrend, satu mewakili kos pegangan dan satu mewakili tahap sokongan atau tekanan terkini. Ini memberikan asas yang sangat jelas untuk Entries dan Exits.

Secara keseluruhannya, strategi ini adalah strategi perdagangan kuantitatif yang agak mantap, dengan entries yang tepat pada masanya selepas menentukan trend, dan kawalan risiko dengan hentian kerugian yang dinamik.

Analisis risiko

Risiko utama strategi ini adalah bahawa mungkin terdapat situasi di mana garis stop-loss akan ditembusi. Apabila harga bergelombang dengan kuat, garis stop-loss baru mungkin berada di bawah atau di atas nilai sebelumnya, menyebabkan penembusan dan peningkatan kerugian.

Selain itu, dalam keadaan gegaran, isyarat Entries yang dihasilkan oleh penunjuk saluran hypertrend tidak berfungsi dengan baik dan mudah membentuk perdagangan yang salah. Dalam kes ini, campur tangan manusia diperlukan untuk menilai trend dan kemudian memulakan strategi.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan ATR kitaran dan ATR perkalian parameter, mencari kombinasi yang terbaik. Ia boleh dianalisis dengan mengkaji semula parameter yang berbeza, analisis kadar pulangan, nisbah Sharpe dan lain-lain.

  2. Menambah penapis indikator lain untuk mengelakkan kesilapan dalam keadaan gegaran. Entries. Anda boleh mempertimbangkan untuk memasukkan indikator seperti purata bergerak, Brinband dan lain-lain untuk menentukan arah trend.

  3. Indeks kuantiti gabungan dapat mengoptimumkan kedudukan hentian. Garis hentian boleh disesuaikan dengan kedudukan peningkatan kuantiti transaksi, untuk mengunci keuntungan lebih lanjut.

  4. Menambah model pembelajaran mesin untuk mengoptimumkan penyesuaian parameter. Model seperti RNN, LSTM dan lain-lain boleh digunakan untuk meramalkan nilai parameter dan mencapai pengoptimuman dinamik parameter.

ringkaskan

Strategi ini adalah berdasarkan reka bentuk indikator saluran hypertrend, menentukan arah trend dengan jelas, mempunyai kadar kemenangan yang tinggi. Pada masa yang sama, penggunaan ATR dinamika mengesan kerugian untuk mengawal kerugian tunggal.

Kod sumber strategi
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//EU ESCREVI ISSO TUDO, PARA FICAR BEM CLARO

strategy("SuperTrend Strategy", overlay=true)


//AQUI OS INPUTS PARA A SUPERTREND
length = input(title="ATR Period", type=input.integer, defval=7)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=7)
showLabels = input(title="Show Buy/Sell Labels ?", type=input.bool, defval=true)

//AQUI O CALCULO DO ATR STOPS
atr = mult * atr(length)



//AQUI A TRANSFORMAÇÃO DO ATR STOPS EM SUPERTREND
//-
//A LÓGICA PARA LONGSTOP
longStop = hl2 - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop

//A LÓGICA PARA SELLSTOP
shortStop = hl2 + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop


//DIREÇÃO DO INDICADOR
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and close > shortStopPrev ? 1 : 
   dir == 1 and close < longStopPrev ? -1 : dir


//DEFININDO AS CORES DAS LINHAS DA SUPERTREND
longColor = color.lime
shortColor = color.red


//PLOTANDO NO GRÁFICO A SUPERTREND E A ESTRATÉGIA
plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=3, color=longColor)
buySignal = dir == 1 and dir[1] == -1
plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=3, color=shortColor)
sellSignal = dir == -1 and dir[1] == 1

//DEFININDO AS FUNÇÕES DE COMPRA E VENDA
strategy.entry("long", strategy.long, when = buySignal)
strategy.entry("short", strategy.short, when = sellSignal)