Strategi mengikuti tren grafik awan skala seimbang


Tanggal Pembuatan: 2024-02-01 11:34:23 Akhirnya memodifikasi: 2024-02-01 11:34:23
menyalin: 3 Jumlah klik: 634
1
fokus pada
1617
Pengikut

Strategi mengikuti tren grafik awan skala seimbang

Nama strategi: Strategi pelacakan tren pada grafik awan skala keseimbangan

Kedua, gambaran strategi

Strategi ini menggunakan berbagai sinyal yang disediakan oleh indikator Equilibrium Scale Cloud Graph dan dirancang sebagai strategi pelacakan tren murni yang bertujuan untuk menangkap tren jangka menengah dan panjang, menyaring konsolidasi yang bergoyang, dan melacak arah tren yang kuat.

Ketiga, prinsip strategi.

Strategi ini menggunakan garis transisi, garis acuan, dan garis keterlambatan dalam indikator grafik awan skala ekuilibrium sebagai sinyal utama. Dalam penilaian tren jangka panjang, fokus pada hubungan perubahan atas dan bawah awan pra-kelas dan awan belakang untuk menilai tren; Dalam pilihan waktu masuk dan keluar tertentu, persilangan garis transisi dan garis acuan dan perubahan hubungan harga dengan grafik awan adalah dasar utama.

Secara keseluruhan, logika inti dari strategi ini adalah: mengkonfirmasi arah tren jangka menengah dan panjang-> menunggu kesempatan untuk memulai kembali tren yang kuat-> masuk untuk melacak tren-> melacak stop loss untuk keluar.

Secara khusus, ketika menilai tren jangka menengah dan panjang, dengan hubungan perubahan awan di depan dan awan di belakang untuk menentukan (jika awan di depan berada di atas dan hijau, mewakili tren naik, sebaliknya mewakili tren turun). Setelah mengkonfirmasi tren jangka menengah dan panjang, dengan sinyal transisi garis dan garis acuan dan harga melintasi grafik awan untuk menilai tren dimulai kembali, mengirim sinyal masuk; Setelah masuk, gunakan garis acuan sebagai stop loss untuk melacak stop loss exit.

Dengan cara ini, Anda dapat menyaring guncangan jangka pendek dan menengah, dan memanfaatkan peluang tren yang kuat untuk mendapatkan keuntungan ekstra yang stabil dalam jangka panjang di pasar saham.

Keunggulan Strategis

(a) Menggunakan grafik awan skala keseimbangan untuk menentukan arah tren jangka menengah dan panjang, yang membantu menentukan arah utama

(ii) Peralihan garis dan garis acuan dan perubahan harga dengan grafik awan untuk menentukan waktu masuk, dapat secara efektif menyaring getaran dan menangkap tren yang kuat

(iii) Melacak mekanisme stop loss dan exit, yang memungkinkan untuk mendapatkan keuntungan dari tren besar, tetapi juga untuk mengontrol kerugian individu secara efektif

(D) mengintegrasikan berbagai sinyal skala awan keseimbangan, membentuk strategi pelacakan tren yang sistematis, kinerja stabil yang baik

Kelima, risiko strategis.

(i) risiko sistematis dari kesalahan penilaian jangka menengah dan jangka panjang. Jika salah penilaian tren jangka menengah dan jangka panjang, maka operasi selanjutnya akan menghadapi risiko ke arah yang salah.

(ii) Risiko yang ditimbulkan oleh pilihan waktu masuk yang tidak tepat. Jika pilihan waktu masuk yang tidak tepat, mudah dibungkus.

(III) Mengikuti risiko yang ditimbulkan oleh stop loss terlalu dekat. Jika stop loss terlalu dekat, situasi ekstrem dapat menerobos stop loss dan menyebabkan kerugian.

(D) beban biaya transaksi yang disebabkan oleh frekuensi transaksi yang terlalu tinggi. Biaya transaksi juga akan meningkat jika frekuensi transaksi terlalu tinggi karena pengaturan parameter yang tidak tepat.

Keenam, Optimalkan Strategi

(a) menguji kombinasi dari berbagai parameter siklus skala ekuilibrium untuk menemukan parameter optimal

(ii) Mengoptimalkan kondisi masuk, merancang filter yang lebih ketat, dan memastikan masuk yang efektif

(iii) Menyesuaikan Stop Loss Distance untuk menemukan keseimbangan optimal antara risiko dan keuntungan

(iv) Menambahkan target harga laba-laba, yang dikombinasikan dengan jarak harga dari indikator kunci ekuilibrium, untuk membentuk mekanisme laba-laba dinamis

VII. Kesimpulan

Strategi pelacakan tren skala ekuilibrium ini, mengintegrasikan beberapa sinyal untuk menentukan arah tren, waktu masuk, dan stop loss exit. Praktik menunjukkan bahwa strategi ini dapat secara efektif menangkap tren jangka menengah dan panjang, menyaring getaran, dan secara stabil mendapatkan keuntungan tambahan. Di masa depan, melalui pengujian optimasi berkelanjutan, diharapkan untuk meningkatkan kinerja strategi, dan mendapatkan hasil yang lebih baik.

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