Arah aliran carta awan skala seimbang mengikut strategi


Tarikh penciptaan: 2024-02-01 11:34:23 Akhirnya diubah suai: 2024-02-01 11:34:23
Salin: 3 Bilangan klik: 634
1
fokus pada
1617
Pengikut

Arah aliran carta awan skala seimbang mengikut strategi

Nama strategi: Strategi pengesanan trend pada carta awan skala seimbang

Kedua, gambaran strategi

Strategi ini menggunakan pelbagai isyarat yang disediakan oleh indikator grafik awan skala keseimbangan, merancang strategi pemantauan trend murni yang bertujuan untuk menangkap trend jangka menengah dan panjang, menapis penyusunan goyah, dan mengesan arah trend yang kuat.

Ketiga, asas strategi

Strategi ini menggunakan garis peralihan, garis rujukan dan garis kelewatan dalam indikator carta awan skala keseimbangan sebagai isyarat utama. Dalam penghakiman trend jangka panjang, fokus pada hubungan perubahan ke atas dan ke bawah awan terdahulu dan awan terdahulu untuk menilai trend; dalam pilihan masa masuk dan keluar tertentu, persilangan garis peralihan dan garis rujukan dan perubahan hubungan harga dengan carta awan adalah asas utama.

Secara keseluruhannya, logik utama strategi ini adalah: mengesahkan arah trend jangka panjang-> menunggu peluang untuk memulakan semula trend yang kuat-> mengikuti trend masuk-> mengikuti keluar dari henti-henti.

Khususnya, untuk menilai trend jangka panjang, hubungan perubahan awan depan dan awan belakang ditentukan dengan: “jika awan depan berada di atas dan hijau, mewakili tren naik, sebaliknya mewakili tren menurun”. Apabila trend jangka panjang dan pertengahan disahkan, dengan tanda-tanda penembusan awan harga dan tanda-tanda penembusan awan harga, mulakan semula trend penilaian, keluarkan isyarat masuk; gunakan garis dasar sebagai garis hentian untuk menjejaki keluar dari kerugian selepas masuk.

Dengan cara ini, anda boleh menyaring kejutan jangka pendek dan menengah, dan mengambil peluang dari trend yang kuat untuk mendapatkan keuntungan tambahan yang stabil dalam jangka panjang di pasaran sekuriti.

Keunggulan Strategi

(a) Menggunakan carta awan skala keseimbangan untuk menentukan arah trend jangka panjang, membantu menentukan arah utama

(ii) Persaingan garis peralihan dan garis asas serta perubahan harga dan hubungan awan untuk menentukan masa masuk, yang dapat menyaring gegaran dan menangkap trend yang kuat

(iii) Mengesan mekanisme penangguhan kerugian untuk mendapatkan keuntungan daripada trend besar dan mengawal kerugian individu dengan berkesan

(D) menggabungkan pelbagai isyarat grafik awan skala keseimbangan, membentuk strategi trend pengesanan yang sistematik, prestasi yang stabil

Lima, Risiko Strategik

(a) risiko sistematik kesalahan penghakiman jangka menengah dan jangka panjang. Jika trend jangka menengah dan jangka panjang salah, maka operasi seterusnya akan menghadapi risiko ke arah yang salah.

(ii) Risiko yang timbul daripada pilihan masa masuk yang salah. Jika pilihan masa masuk yang salah, ia mudah dicurang.

(iii) Mengesan risiko yang disebabkan oleh halangan yang terlalu dekat. Jika halangan yang terlalu dekat, keadaan yang melampau mungkin akan melanggar halangan dan menyebabkan kerugian.

(D) Beban kos transaksi yang disebabkan oleh frekuensi transaksi yang terlalu tinggi. Kos transaksi akan meningkat jika frekuensi transaksi terlalu tinggi kerana parameter yang tidak ditetapkan.

Enam, Optimumkan Strategi

(a) Uji kombinasi parameter kitaran skala ekuilibrium yang berbeza untuk mencari parameter yang optimum

(ii) Mengoptimumkan syarat kemasukan, reka bentuk penapis yang lebih ketat, memastikan kemasukan yang berkesan

(iii) Menyesuaikan jarak henti kerugian untuk mencari keseimbangan yang optimum antara risiko dan keuntungan

(iv) Menambah sasaran harga keuntungan, berpasangan dengan jarak harga dengan penunjuk kunci keseimbangan, membentuk mekanisme keuntungan dinamik

VII

Strategi pengesanan trend pada carta awan skala keseimbangan ini, merangkumi pelbagai isyarat untuk menentukan arah trend, masa masuk, dan berhenti keluar. Amalan menunjukkan bahawa strategi ini dapat menangkap trend jangka panjang dan sederhana dengan berkesan, menyaring gegaran, dan memperoleh keuntungan tambahan secara stabil.

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

//@version=3
strategy("Ichimoku trendfollowing", overlay=true, initial_capital=1000, commission_type=strategy.commission.cash_per_order, commission_value=0.04, slippage=2)

//***************************
//  INPUT BACKTEST RANGE    *
//***************************
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2010, title = "From Year", minval = 2000) 
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2000)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true

//***************
//*  ICHIMOKU   *
//***************
//inizializzazione parametri,,
tenkanPeriods = input(9, minval=1, title="Tenkan-Sen")
kinjunPeriods = input(26, minval=1, title="Kinjun-Sen")
senkouSpanBPeriods = input(52, minval=1, title="Senkou Span B")
displacement = input(26, minval=1, title="-ChinkouSpan/+SenkouSpan A")

//definizione Tenkan-Sen (9 Period), Kinjun-Sen (26 Period), Chinkou Span (Lagging Line)
averageHighLow(period) => avg(lowest(period), highest(period))
tenkan= averageHighLow(tenkanPeriods)
kinjun = averageHighLow(kinjunPeriods)
senkouSpanA = avg(tenkan, kinjun)
senkouSpanB = averageHighLow(senkouSpanBPeriods)

//definisco il colore della kumo in base al trend.
senkouSpan1Above = senkouSpanA >= senkouSpanB ? 1 : na
senkouSpan2Below = senkouSpanA <= senkouSpanB ? 1 : na

span1plotU = senkouSpan1Above ? senkouSpanA : na
span2plotU = senkouSpan1Above ? senkouSpanB : na
span1plotD = senkouSpan2Below ? senkouSpanA : na
span2plotD = senkouSpan2Below ? senkouSpanB : na

col = senkouSpanA >= senkouSpanB ? lime : red

//plots Ichimoku
plot(tenkan, title = 'Tenkan-Sen', linewidth=1, color=blue)
plot(kinjun, title = 'Kinjun-Sen', linewidth=1, color=red)
plot(close, title = 'Chinkou Span', linewidth=1, offset = -displacement, color=aqua)
plot( senkouSpanA, title = 'Senkou Span A', style=line, linewidth=1, offset = displacement, color=lime)
plot(senkouSpanB, title = 'Senkou Span B', style=line, linewidth=1, offset = displacement, color=red)

//Cloud Lines Plot 
p1 = plot(span1plotU ? span1plotU  : na, title = 'Senkou Span A Above Senkou Span B', style=linebr, linewidth=1, offset = displacement, color=col)
p2 = plot(span2plotU ? span2plotU  : na, title = 'Senkou Span B (52 Period) Below Span A Cloud', style=linebr, linewidth=1, offset = displacement, color=col)
p3 = plot(span1plotD ? span1plotD  : na, title = 'Senkou Span A (26 Period) Below Span B Cloud', style=linebr, linewidth=1, offset = displacement, color=col)
p4 = plot(span2plotD ? span2plotD  : na, title = 'Senkou Span B (52 Period) Above Span A Cloud', style=linebr, linewidth=1, offset = displacement, color=col)
//Fills that color cloud based on Trend.
fill(p1, p2, color=lime, transp=70, title='Kumo (Cloud)')
fill(p3, p4, color=red, transp=70, title='Kumo (Cloud)')

//***********************************************
//*     condizioni ingresso ed uscita mercato   *
//***********************************************
isKumoRialzista = senkouSpanA >= senkouSpanB ? true : false
isSopraKumo = (close > max(senkouSpanA[displacement], senkouSpanB[displacement]))
isSottoKumo = (close < min(senkouSpanA[displacement], senkouSpanB[displacement]))
isChinkouSpanSopra = high[displacement]<close
isChinkouSpanSotto = low[displacement]>close

filtroLong=isSopraKumo and isChinkouSpanSopra
filtroShort=isSottoKumo and isChinkouSpanSotto

//rimbalzato su kijun quando i prezzi stavano ritracciando e il trend era già in atto(tenkan >kijun x entrare long
isPullBackLijunEntryLong = kinjun<tenkan and low<kinjun and (close>kinjun) 
isPullBackLijunEntryShort =kinjun>tenkan and high>kinjun and  (close<kinjun) 

//Breackout Kumo
isBreackoutKumoEntryLong =  crossover(close, max(senkouSpanA[displacement], senkouSpanB[displacement])) and (close>tenkan) and (close>kinjun) 
isBreackoutKumoEntryShort =  crossunder(close, min(senkouSpanA[displacement], senkouSpanB[displacement])) and (close<tenkan) and (close<kinjun)

ConditionEntryLong = (isPullBackLijunEntryLong or isBreackoutKumoEntryLong ) and filtroLong
ConditionEntryShort = (isPullBackLijunEntryShort or isBreackoutKumoEntryLong ) and filtroShort

isExitLong = close<kinjun
isExitShort = close>kinjun

//ingressi ed uscite Mercato
strategy.entry ("Long",long=true, when = window() and ConditionEntryLong)
strategy.entry ("Short",long=false, when = window() and ConditionEntryShort)

strategy.close(id="Long", when=isExitLong)
strategy.close(id="Short", when=isExitShort)
strategy.close_all(when=not window())