Strategi pelarian momentum berdasarkan aliran mengikuti


Tarikh penciptaan: 2024-01-05 13:38:18 Akhirnya diubah suai: 2024-01-05 13:38:18
Salin: 0 Bilangan klik: 695
1
fokus pada
1621
Pengikut

Strategi pelarian momentum berdasarkan aliran mengikuti

Gambaran keseluruhan

Strategi ini dinamakan strategi pemecahan momentum berdasarkan trend tracking. Strategi ini menggunakan indikator super trend untuk menentukan arah trend semasa, dan menggabungkan arah entiti K-line untuk mengikuti trend, untuk mencapai perdagangan pemecahan momentum.

Prinsip Strategi

Strategi ini bergantung kepada petunjuk SuperTrend untuk menentukan arah trend semasa. Indeks SuperTrend digabungkan dengan purata gelombang sebenar (ATR) untuk mengira tren naik dan tren turun, tanda bullish apabila harga menembusi tren naik, dan tanda bearish apabila harga jatuh dari tren turun.

Apabila indikator super trend menilai sebagai trend naik, jika garis K ini adalah entiti merah ((harga penutupan lebih rendah daripada harga pembukaan), maka lebih banyak; apabila indikator super trend menilai sebagai trend menurun, jika garis K ini adalah entiti hijau ((harga penutupan lebih tinggi daripada harga pembukaan), maka kosong. Dengan demikian, pergerakan terobosan perdagangan yang dijejaki oleh trend dicapai.

Analisis kelebihan

Strategi ini menggabungkan penghakiman trend dan ciri-ciri momentum, yang dapat menyaring penembusan palsu dengan berkesan, meningkatkan keberkesanan isyarat perdagangan. Selain itu, mengikuti trend untuk berdagang, mengelakkan operasi berlawanan arah, dan meningkatkan kemungkinan keuntungan.

Kelebihan yang boleh diringkaskan ialah:

  1. Penapis penembusan palsu yang menggabungkan penilaian trend dan ciri momentum
  2. Mengesan arah trend dan mengelakkan perdagangan berlawanan arah
  3. Kemungkinan keuntungan yang lebih tinggi

Analisis risiko

Strategi ini mempunyai beberapa risiko utama:

  1. Masalah bagaimana penunjuk trend super menetapkan parameter. Pengaturan parameter yang tidak betul boleh menyebabkan kesalahan penilaian indikator dan menghasilkan isyarat yang salah.
  2. Hanya mengikut arah entiti, tidak dapat menentukan kekuatan entiti, dan mungkin ada risiko kerugian.
  3. Keuntungan dan kerugian tetap tidak dapat disesuaikan secara dinamik dan tidak dapat mengawal kerugian tunggal.

Langkah-langkah yang diambil adalah seperti berikut:

  1. Optimumkan parameter indikator Super Trend untuk membuat penilaian indikator lebih tepat.
  2. Indikator yang digunakan untuk menilai kekuatan entiti adalah jumlah transaksi, aliran dana dan sebagainya.
  3. Tambahlah stop loss dinamik untuk mengawal kerugian tunggal.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Menambah kesan strategi dengan penapisan isyarat dengan lebih banyak petunjuk teknikal, seperti garis Brin, KDJ dan sebagainya.
  2. Menambah algoritma pembelajaran mesin untuk mengoptimumkan parameter secara dinamik, menjadikan indikator Super Trend lebih stabil.
  3. Menyertai mekanisme penangguhan kerugian, yang membolehkan penangguhan kerugian sebelum kerugian meningkat.
  4. Menggunakan jenis yang mempunyai ciri perdagangan dua hala, seperti niaga hadapan, untuk memanfaatkan peluang perdagangan dua hala baik dan buruk.

ringkaskan

Strategi ini secara keseluruhan sangat sesuai untuk memegang kedudukan jangka pendek dan sederhana. Ia menggabungkan penilaian trend dan ciri momentum terobosan, yang dapat menyaring kebisingan dengan berkesan, meningkatkan kemenangan perdagangan. Strategi ini juga mempunyai ruang untuk pengoptimuman parameter tertentu, dengan pengoptimuman lanjut, anda boleh mendapatkan kesan strategi yang lebih baik.

Kod sumber strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's SuperTrend Strategy v1.0", shorttitle = "ST str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
cloud = input(25, defval = 25, minval = 5, maxval = 50, title = "cloud, % of ATR")
Factor = input(title = "Super Trend", defval = 3, minval = 1, maxval = 100)
ATR = input(title = "ATR", defval = 7, minval = 1,maxval = 100)
centr = input(true, defval = true, title = "need center of ATR?")
border = input(false, defval = false, title = "need border?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Super Trend ATR 1
src = close
Up=hl2-(Factor*atr(ATR))
Dn=hl2+(Factor*atr(ATR))
TUp=close[1]>TUp[1]? max(Up,TUp[1]) : Up
TDown=close[1]<TDown[1]? min(Dn,TDown[1]) : Dn
Trend = close > TDown[1] ? 1: close< TUp[1]? -1: nz(Trend[1],1)
Tsl1 = Trend==1? TUp: TDown
Tsl2 = Trend==1? TDown: TUp
limit = (Tsl1 - Tsl2) / 100 * cloud
upcloud = Tsl1 - limit
dncloud = Tsl2 + limit

//Cloud
linecolor = Trend == 1 ? green : red
centercolor = centr == true ? blue : na
cloudcolor = Trend == 1 ? green : red
cline = (Tsl1 + Tsl2) / 2
P1 = plot(Tsl1, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-1")
P2 = plot(Tsl2, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-2")
P3 = plot(cline, color = centercolor , style = line , linewidth = 1,title = "SuperTrend Center")
P4 = plot(upcloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center+1")
P5 = plot(dncloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center-1")
fill(P1, P4, color = linecolor == red ? red : lime, transp = 50)
fill(P2, P5, color = linecolor == red ? red : lime, transp = 50)

//Signals
up = Trend == 1 and close < open //and low < cline 
dn = Trend == -1 and close > open //and high > cline

//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("Long", strategy.long, needlong ? lot : 0)

if dn
    strategy.entry("Short", strategy.short, needshort ? lot : 0)