
Strategi ini adalah strategi trend-tracking berbasis garis rata. Strategi ini menggunakan indikator grafik awan Ichimoku untuk menentukan arah tren, yang dikombinasikan dengan sinyal filter rata-rata bergerak 200 hari, untuk mencapai trend-tracking.
Strategi ini terutama menggunakan garis konversi dan garis dasar dari grafik awan untuk menentukan arah tren. Garis konversi adalah rata-rata harga rata-rata dari 9 hari terakhir, dan garis dasar adalah rata-rata harga rata-rata dari 26 hari terakhir. Ketika garis konversi melintasi garis dasar sebagai sinyal beli, melintasi bawah sebagai sinyal jual.
Strategi ini juga menggunakan 200-day moving average untuk memfilter sinyal. Hanya jika harga penutupan berada di atas garis 200-day, sinyal beli akan muncul. Ini dapat memfilter sebagian besar sinyal palsu.
Pada exit, strategi sederhana adalah menggunakan transisi di bawah garis yang menembus garis dasar sebagai sinyal posisi.
Strategi ini menggabungkan indikator penilaian tren dari grafik awan dan indikator penyaringan tren jangka panjang dari garis 200 hari, yang dapat secara efektif melacak tren dan menyaring sebagian besar sinyal palsu. Menggunakan parameter seperti rata-rata harga rata-rata dapat mengurangi dampak pada garis rata-rata karena fluktuasi harga yang tidak normal.
Strategi ini dapat menangkap titik-titik perubahan tren dengan lebih baik daripada menggunakan indikator seperti rata-rata bergerak saja, sehingga dapat menyesuaikan posisi tepat waktu.
Strategi ini terutama bergantung pada indikator grafik awan untuk menentukan arah tren, dan grafik awan itu sendiri juga akan menghasilkan sinyal yang salah. Jika penilaian menyimpang, strategi ini dapat menyebabkan kerugian.
Selain itu, pengaturan parameter yang tidak tepat juga dapat menyebabkan kinerja strategi yang buruk. Jika parameter garis konversi terlalu pendek, sinyal palsu dapat terbentuk; Jika parameter garis dasar terlalu panjang, efek pelacakan akan berubah.
Anda dapat mempertimbangkan untuk meningkatkan kualitas sinyal dengan menggunakan indikator lain, seperti indikator KDJ untuk menentukan area overbought dan oversold untuk memfilter sinyal. Atau menggunakan indikator ATR untuk mengatur stop loss.
Lebih banyak kombinasi parameter dapat diuji, seperti penyesuaian parameter garis konversi selama 5 atau 7 hari, untuk mendapatkan sinyal perdagangan yang lebih sensitif. Selain itu, dapat juga diuji perubahan parameter garis dasar selama sekitar 20 hari untuk menyeimbangkan efek pelacakan.
Selain itu, Anda juga dapat mempertimbangkan untuk mematikan strategi dalam situasi tertentu yang berfluktuasi, untuk menghindari dampak dari situasi yang dramatis.
Strategi ini mengintegrasikan keuntungan dari penilaian tren dan indikator penyaringan jangka panjang, sehingga dapat secara efektif melacak tren jangka menengah dan panjang. Pada saat yang sama, pengaturan parameter dan langkah-langkah pengendalian angin juga perlu terus dioptimalkan untuk mengurangi dampak dari sinyal palsu dan fluktuasi. Secara keseluruhan, strategi ini dapat berkinerja baik dan memiliki nilai operasi yang nyata.
/*backtest
start: 2023-10-27 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="TK Cross > EMA200 Strat", overlay=true)
ema200 = ema(close, 200)
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#0496ff, title="Conversion Line", linewidth=3)
plot(baseLine, color=#991515, title="Base Line", linewidth=3)
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement, color=green,
title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red,
title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
plot(ema200, color=purple, linewidth=4,title='ema200')
strategy.initial_capital = 50000
strategy.entry('tkcross', strategy.long, strategy.initial_capital / close, when=conversionLine>baseLine and close > ema200)
strategy.close('tkcross', when=conversionLine<baseLine)
start = input(2, minval=0, maxval=10, title="Start - Default = 2 - Multiplied by .01")
increment = input(2, minval=0, maxval=10, title="Step Setting (Sensitivity) - Default = 2 - Multiplied by .01" )
maximum = input(2, minval=1, maxval=10, title="Maximum Step (Sensitivity) - Default = 2 - Multiplied by .10")
sus = input(true, "Show Up Trending Parabolic Sar")
sds = input(true, "Show Down Trending Parabolic Sar")
disc = input(false, title="Start and Step settings are *.01 so 2 = .02 etc, Maximum Step is *.10 so 2 = .2")
//"------Step Setting Definition------"
//"A higher step moves SAR closer to the price action, which makes a reversal more likely."
//"The indicator will reverse too often if the step is set too high."
//"------Maximum Step Definition-----")
//"The sensitivity of the indicator can also be adjusted using the Maximum Step."
//"While the Maximum Step can influence sensitivity, the Step carries more weight"
//"because it sets the incremental rate-of-increase as the trend develops"
startCalc = start * .01
incrementCalc = increment * .01
maximumCalc = maximum * .10
sarUp = sar(startCalc, incrementCalc, maximumCalc)
sarDown = sar(startCalc, incrementCalc, maximumCalc)
colUp = close >= sarDown ? lime : na
colDown = close <= sarUp ? red : na
plot(sus and sarUp ? sarUp : na, title="Up Trending SAR", style=circles, linewidth=3,color=colUp)
plot(sds and sarDown ? sarDown : na, title="Up Trending SAR", style=circles, linewidth=3,color=colDown)