Strategi terobosan momentum berdasarkan mengikuti tren


Tanggal Pembuatan: 2024-01-05 13:38:18 Akhirnya memodifikasi: 2024-01-05 13:38:18
menyalin: 0 Jumlah klik: 695
1
fokus pada
1621
Pengikut

Strategi terobosan momentum berdasarkan mengikuti tren

Ringkasan

Strategi ini diberi nama strategi tren based momentum breakout strategi. Strategi ini menggunakan indikator supertrend untuk menentukan arah tren saat ini dan menggabungkan arah entitas K-line untuk melakukan trend tracking dan melakukan transaksi tren breakout.

Prinsip Strategi

Strategi ini terutama mengandalkan indikator SuperTrend untuk menentukan arah tren saat ini. Indikator SuperTrend dikombinasikan dengan rata-rata gelombang nyata (ATR) untuk menghitung naik dan turun, sinyal bullish saat harga menerobos naik, sinyal bearish saat harga turun.

Ketika indikator supertrend dinilai sebagai tren naik, jika garis K ini adalah entitas merah ((harga penutupan lebih rendah dari harga bukaan), lakukan lebih banyak; ketika indikator supertrend dinilai sebagai tren menurun, jika garis K ini adalah entitas hijau ((harga penutupan lebih tinggi dari harga bukaan), lakukan kosong. Dengan demikian, tercapai momentum terobosan perdagangan di bawah pelacakan tren.

Analisis Keunggulan

Strategi ini menggabungkan penilaian tren dan karakteristik momentum, yang dapat secara efektif memfilter penipuan, meningkatkan efektivitas sinyal perdagangan. Selain itu, mengikuti tren untuk melakukan perdagangan, menghindari operasi berlawanan arah, dan meningkatkan probabilitas keuntungan secara signifikan.

Keunggulan yang disimpulkan sebagai berikut:

  1. Kombinasi penilaian tren dan karakteristik momentum, penyaringan false breaks
  2. Menelusuri arah tren dan menghindari perdagangan berlawanan
  3. Probabilitas keuntungan yang tinggi

Analisis risiko

Strategi ini memiliki beberapa risiko utama:

  1. Pertanyaan tentang bagaimana indikator supertrend mengatur parameter. Jika parameter tidak diatur dengan benar, dapat menyebabkan kesalahan penilaian indikator dan menghasilkan sinyal yang salah.
  2. Hanya dengan mengikuti arah entitas, tidak dapat menentukan kekuatan entitas atau kelemahannya, dan mungkin ada risiko kerugian.
  3. Keuntungan dan kerugian tetap tidak dapat disesuaikan secara dinamis dan tidak dapat dikontrol oleh kerugian tunggal.

Langkah-langkahnya adalah sebagai berikut:

  1. Optimalkan parameter indikator supertrend untuk membuat penilaian indikator lebih akurat.
  2. Indikator yang digunakan untuk menilai kekuatan suatu entitas adalah volume transaksi, aliran dana, dan sebagainya.
  3. Meningkatkan Stop Loss Dinamis untuk Mengontrol Kerugian Tunggal.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Untuk meningkatkan efektifitas strategi, sinyal harus disaring dengan lebih banyak indikator teknis, seperti Brinline, KDJ, dan lain-lain.
  2. Menambahkan algoritma pembelajaran mesin, mengoptimalkan parameter secara dinamis, membuat indikator supertrend lebih stabil.
  3. Bergabunglah dengan mekanisme stop loss yang dapat menghentikan kerugian sebelum memperluas kerugian.
  4. Menggunakan varietas yang memiliki karakteristik perdagangan dua arah seperti futures, memanfaatkan peluang perdagangan dua arah baik dan buruk.

Meringkaskan

Strategi ini secara keseluruhan sangat cocok untuk memegang posisi jangka pendek dan menengah. Kombinasi penilaian tren dan fitur momentum terobosan, dapat secara efektif menyaring kebisingan, meningkatkan kemenangan perdagangan. Strategi ini juga memiliki ruang untuk mengoptimalkan parameter tertentu, dan dengan pengoptimalan lebih lanjut dapat memperoleh efek strategi yang lebih baik.

Kode 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)