Strategi perdagangan pelbagai rangka masa berdasarkan Supertrend dan penunjuk CCI


Tarikh penciptaan: 2024-01-18 15:09:33 Akhirnya diubah suai: 2024-01-18 15:09:33
Salin: 2 Bilangan klik: 855
1
fokus pada
1617
Pengikut

Strategi perdagangan pelbagai rangka masa berdasarkan Supertrend dan penunjuk CCI

Gambaran keseluruhan

Strategi ini menggabungkan indikator supertrend dan indikator Commodity Channel Index (CCI) untuk mewujudkan trend pengesanan dan penjanaan isyarat dagangan pada pelbagai jangka masa. Gagasan utama strategi ini adalah untuk menggunakan indikator CCI untuk menentukan arah trend jangka pendek, sementara digabungkan dengan indikator supertrend untuk menentukan arah trend jangka panjang.

Prinsip Strategi

Indeks CCI menilai trend jangka pendek

Indikator CCI dapat menilai fenomena overbought dan oversold. Apabila indikator CCI melintasi 0 dari bawah ke atas, ia adalah isyarat multihead, sebaliknya isyarat kosong. Strategi ini menggunakan ciri ini untuk menentukan arah trend jangka pendek.

cci_period = input(28, "CCI Period")  
cci = cci(source, cci_period)
ML = input(0, "CCI Mid Line pivot")

Kod di atas mentakrifkan kitaran dan kedudukan sumbu tengah untuk penunjuk CCI.

TrendUp := cci[1] > ML ? max(Up,TrendUp[1]) : Up 
TrendDown := cci[1]< ML ? min(Dn,TrendDown[1]) : Dn

Bahagian kod ini menentukan sama ada CICI berada di atas atau di bawah garis 0 dan, jika ya, ia akan mengemas kini tren super di atas dan di bawah.

Indeks Super Trend menilai trend jangka panjang

Indikator Supertrend dapat menentukan arah trend jangka panjang dan menengah dengan menggabungkan indikator ATR dengan harga. Apabila harga menembusi Supertrend, ia adalah isyarat multihead dan isyarat kosong.

Formula untuk mengira indikator super trend dalam strategi ini adalah seperti berikut:

Up=hl2-(Factor*atr(Pd)) 
Dn=hl2+(Factor*atr(Pd))

Factor dan Pd sebagai parameter yang boleh disesuaikan.

Trend Variable menilai arah semasa Super Trend:

Trend := cci > ML ? 1: cci < ML ? -1: nz(Trend[1],1)

Penggabungan CCI dan Supertrend

Dengan menggabungkan penunjuk CCI dan penunjuk super trend, strategi ini mencapai penilaian trend dalam pelbagai bingkai masa. Penunjuk CCI menangkap trend jangka pendek, penunjuk super trend menilai trend jangka panjang.

Apabila kedua-dua arah bersesuaian, ia menghasilkan isyarat dagangan yang lebih dipercayai.

isLong  = st_trend == 1
isShort = st_trend == -1

Masa masuk adalah jangka pendek dan jangka panjang, dan masa keluar adalah jangka pendek dan jangka panjang.

Kelebihan Strategik

Penghakiman jangka masa

Strategi ini menggabungkan indikator penilaian trend jangka pendek dan jangka menengah untuk menjadikan isyarat perdagangan lebih dipercayai.

Parameter boleh disesuaikan

Factor parameter dalam indikator trend super dan cc_period dalam indikator CCI boleh disesuaikan mengikut pasaran, menjadikan strategi lebih fleksibel.

Mudah dan jelas

Struktur strategi yang ringkas dan jelas, mudah difahami dan dilaksanakan, sangat sesuai untuk pemula dalam perdagangan kuantitatif.

Kesan yang luas

Ia boleh digunakan untuk pasaran seperti saham, forex, cryptocurrency, dan lain-lain, dan boleh disesuaikan mengikut parameter untuk pelbagai jenis.

Risiko strategi dan penyelesaian

Harga Bergolak

Terdapat banyak isyarat palsu yang muncul apabila harga bergelombang dengan kuat. Dengan cara yang sesuai, parameter faktor untuk trend super boleh diperbesar, mengurangkan kekerapan perdagangan strategi.

Tak cukup kuat

Supertrend sendiri tidak cukup untuk mengikuti kekuatan, ia boleh dipertimbangkan untuk digabungkan dengan indikator momentum untuk mengesan trend pada tahap peningkatan trend.

Strategi menghentikan kerugian

Strategi ini tidak mempunyai seting stop loss, yang boleh digabungkan dengan ukuran indikator ATR seting trails stop loss.

Arah pengoptimuman strategi

Relevansi pasaran

Mengubah parameter supertrend dan CCI mengikut ciri-ciri pasaran yang berbeza untuk meningkatkan kestabilan strategi.

Gabungan Indeks Kinerja

Gabungan dengan penunjuk momentum seperti MACD, KDJ, dan lain-lain, untuk menjejaki trend pada tahap peningkatan trend, dapat memperoleh keuntungan yang lebih tinggi.

Pembelajaran bersepadu

Menggunakan kaedah pembelajaran mesin dan pembelajaran bersepadu untuk mengoptimumkan parameter strategi dan peraturan perdagangan.

ringkaskan

Strategi ini berjaya menggabungkan super trend dan indikator CCI, mewujudkan penilaian trend dalam bingkai masa yang banyak. Strategi ini mudah difahami, parameter boleh disesuaikan, potensi keuntungan yang besar.

Kod sumber strategi
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//@author=Daveatt

StrategyName = "Best Supertrend CCI Strategy"
ShortStrategyName = "Best Supertrend CCI Strategy"

strategy(title=StrategyName, shorttitle=ShortStrategyName, overlay=true )

//////////////////////////
//* COLOR CONSTANTS *//
//////////////////////////

AQUA = #00FFFFFF
BLUE = #0000FFFF
RED  = #FF0000FF
LIME = #00FF00FF
GRAY = #808080FF
DARKRED   = #8B0000FF
DARKGREEN = #006400FF
GOLD = #FFD700
WHITE = color.white

// Plots
GREEN_LIGHT     = color.new(color.green, 40)
RED_LIGHT       = color.new(color.red, 40) 
BLUE_LIGHT      = color.new(color.aqua, 40)
PURPLE_LIGHT    = color.new(color.purple, 40) 

source = input(close)

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// CCI /////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

cci_period = input(28, "CCI Period")
cci = cci(source, cci_period)
//UL = input(80, "Upper level")
//LL = input(20, "Lower Level")
ML = input(0, "CCI Mid Line pivot")

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////// SUPERTREND /////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

Factor=input(3,title="[ST] Factor", minval=1,maxval = 100, type=input.float)
Pd=input(3, title="[ST] PD", minval=1,maxval = 100)

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/////////////////////// SUPERTREND DETECTION //////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

f_supertrend(Factor, Pd) =>

    Up=hl2-(Factor*atr(Pd))
    Dn=hl2+(Factor*atr(Pd))
    
    TrendUp = 0.0
    TrendUp := cci[1] > ML ? max(Up,TrendUp[1]) : Up
    TrendDown = 0.0
    TrendDown := cci[1]< ML ? min(Dn,TrendDown[1]) : Dn
    Trend = 0.0
    Trend := cci > ML ? 1: cci < ML ? -1: nz(Trend[1],1)
    Tsl = Trend==1? TrendUp: TrendDown

    [Trend, Tsl]

[st_trend, st_tsl] = f_supertrend(Factor, Pd)

// Plot the ST
linecolor = close >= st_tsl ? color.green : color.red
plot(st_tsl, color = linecolor , linewidth = 3,title = "SuperTrend", transp=0)

isLong  = st_trend == 1
isShort = st_trend == -1

longClose   = isLong[1] and isShort
shortClose  = isShort[1] and isLong

strategy.entry("Long", 1, when=isLong)
strategy.close("Long", when=longClose )

strategy.entry("Short", 0,  when=isShort)
strategy.close("Short", when=shortClose )