Sistem SamRong adalah strategi perdagangan teknologi komposit yang menggabungkan indikator tren volume harga yang diperpanjang, indikator saluran Dongxian, dan indikator SAR garis paralel. Strategi ini menggunakan keunggulan komplementer dari tiga indikator untuk mengidentifikasi arah tren pasar dan sinyal jual beli potensial.
Strategi ini pertama-tama menggunakan indikator tren volume harga yang diperpanjang dan saluran Dongxian untuk menentukan arah tren pasar. Ketika indikator tren volume harga yang diperpanjang berada di atas garis dasar dan harga lebih tinggi dari saluran Dongxian, itu menunjukkan tren naik. Sebaliknya, indikator tren volume harga yang diperpanjang berada di bawah garis dasar dan harga lebih rendah dari saluran Dongxian, itu menunjukkan tren turun.
Setelah mengidentifikasi arah tren pasar, strategi ini memperkenalkan parameter SAR pada garis parabola untuk mengidentifikasi waktu pembelian dan penjualan yang spesifik. Ketika parameter SAR di bawah garis parabola melewati harga, sinyal beli dihasilkan; Ketika parameter SAR di atas garis parabola melewati harga, sinyal jual dihasilkan.
Untuk lebih memvalidasi sinyal, strategi ini juga mengkonfirmasi arah tren dalam beberapa periode waktu, menghindari masuk ke dalam permainan selama pasar yang bergejolak. Selain itu, strategi ini juga mengatur beberapa level stop-loss untuk mengunci keuntungan dan mengendalikan risiko.
Keuntungan terbesar dari sistem ini adalah bahwa kombinasi indikator menggunakan tiga jenis indikator yang saling komplementer, yang dapat lebih akurat menilai tren pasar secara menyeluruh. Secara khusus, keuntungan utama adalah:
Melalui kombinasi organik indikator, Anda dapat memanfaatkan keunggulan masing-masing indikator, sehingga sistem Samsung dapat menilai dengan akurat tren lini panjang dan menengah, dan mengidentifikasi titik jual beli dengan lebih akurat, sehingga Anda dapat memperoleh rasio risiko / keuntungan yang lebih baik.
Sebagai strategi kombinasi indikator, risiko keseluruhan dapat dikontrol, tetapi masih ada risiko tertentu yang perlu diperhatikan:
Untuk risiko di atas, kami sarankan untuk menyesuaikan pengaturan parameter indikator dengan tepat, dan membantu menilai dengan merujuk pada indikator lain, untuk mengurangi probabilitas kegagalan indikator tunggal. Selain itu, pengelolaan stop loss dan posisi yang masuk akal juga sangat penting untuk pengendalian risiko keseluruhan strategi.
Namun, masih ada ruang untuk optimalisasi lebih lanjut:
Dengan optimasi parameter algoritmik, penilaian kombinasi multi-indikator, dan analisis kuantitatif perilaku, diharapkan dapat meningkatkan tingkat keuntungan dan stabilitas sistem Sanlong lebih lanjut. Kami akan terus memperhatikan teknologi terdepan di industri, dan terus mengoptimalkan sistem strategi perbaikan.
Sistem SamRong adalah strategi kombinasi indikator teknis, dengan memperpanjang indikator tren kuantitas harga, indikator saluran Dongxian dan indikator SAR garis paralel tiga saling melengkapi keuntungan untuk menilai tren pasar dan menemukan titik jual beli. Strategi ini menilai dengan tepat, risiko dapat dikontrol, setelah banyak verifikasi, adalah sistem strategi yang efektif yang cocok untuk investor menengah dan panjang. Kami akan terus mengoptimalkan sistem SamRong untuk mendapatkan rasio risiko-pengembalian yang lebih baik.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="TRIPLE DRAGON SYSTEM", overlay=true,default_qty_type = strategy.percent_of_equity,default_qty_value=100,initial_capital=1000,pyramiding=0,commission_value=0.01)
/////////////// DRAG-ON ///// EMA'S ///////////////
emar = ta.ema(close,5)
plot(emar, color=color.blue, title="S-Fast EMA")
//EMAlengthTRF = input.int(200, minval=1,title = "EMA Filter")
//ematrf = ta.ema(close,EMAlengthTRF)
//plot(ematrf, "EMA-TREND FILTER", color=color.red,linewidth = 4)
/////////////// 1-DRAG-ON /////EXTENDED PRICE VOLUME TREND ///////////////
lenght = input(200,"EPVT - Trend Lenght")
var cumVol = 0.
cumVol += nz(volume)
if barstate.islast and cumVol == 0
runtime.error("No volume is provided by the data vendor.")
src = close
vt = ta.cum(ta.change(src)/src[1]*volume)
upx = ta.highest(vt,lenght)
downx = ta.lowest(vt,lenght)
basex = (upx +downx)/2
VTX = vt - basex
/////////////// 2-DRAG-ON ///// DON TREND ///////////////
length = input.int(200, minval=1, title = "Donchian Lenght")
lower = ta.lowest(length)
upper = ta.highest(length)
basis = math.avg(upper, lower)
updiff = upper - close
downdiff = lower - close
dontrend = -(updiff + downdiff)
xupx = ta.highest(dontrend,length) >0 ? ta.highest(dontrend,length) : 0
xdownx = ta.lowest(dontrend,length) < 0 ?ta.lowest(dontrend,length) :0
xxbasisxx = math.avg(xdownx, xupx)
inversedragup = xupx[1]
inversedragdown = xdownx[1]
inversedragon = (inversedragup+inversedragdown)/2
/////////////// 3-DRAG-ON ///// SUPER SAR-X ///////////////
start = input(0.02)
increment = input(0.02)
maximum = input(0.8)
entry_bars = input(1, title='Entry on Nth trend bar')
atr = ta.atr(14)
atr := na(atr) ? ta.tr : atr
psar = 0.0 // PSAR
af = 0.0 // Acceleration Factor
trend_dir = 0 // Current direction of PSAR
ep = 0.0 // Extreme point
trend_bars = 0
sar_long_to_short = trend_dir[1] == 1 and close <= psar[1] // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and close >= psar[1] // PSAR switches from short to long
trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long
// Calculate trend direction
trend_dir := barstate.isfirst[1] and close[1] > open[1] ? 1 : barstate.isfirst[1] and close[1] <= open[1] ? -1 : sar_long_to_short ? -1 : sar_short_to_long ? 1 : nz(trend_dir[1])
trend_bars := sar_long_to_short ? -1 : sar_short_to_long ? 1 : trend_dir == 1 ? nz(trend_bars[1]) + 1 : trend_dir == -1 ? nz(trend_bars[1]) - 1 : nz(trend_bars[1])
// Calculate Acceleration Factor
af := trend_change ? start : trend_dir == 1 and high > ep[1] or trend_dir == -1 and low < ep[1] ? math.min(maximum, af[1] + increment) : af[1]
// Calculate extreme point
ep := trend_change and trend_dir == 1 ? high : trend_change and trend_dir == -1 ? low : trend_dir == 1 ? math.max(ep[1], high) : math.min(ep[1], low)
// Calculate PSAR
psar := barstate.isfirst[1] and close[1] > open[1] ? low[1] : barstate.isfirst[1] and close[1] <= open[1] ? high[1] : trend_change ? ep[1] : trend_dir == 1 ? psar[1] + af * atr : psar[1] - af * atr
//////////////// MELODY ///////////////////
VTY = ta.valuewhen(ta.cross(VTX,0),close,0)
//plot(VTY, color=color.black, title="Extended-PVT")
//DONTRENDX = ta.valuewhen(ta.cross(dontrend,0),close,0)
//plot(DONTRENDX, color=color.red, title="DONCHIAN TREND")
SSARX = ta.valuewhen(ta.cross(psar,close),close,0)
//plot(SSARX, color=color.black, title="SSAR-X")
MAXDRAG = math.max(SSARX,VTY)
//plot(MAXDRAG, color=color.black, title="MAX DRAG")
MINDRAG = math.min(SSARX,VTY)
//plot(MINDRAG, color=color.black, title="MIN DRAG")
BASEDRAG = math.avg(MAXDRAG,MINDRAG)
//plot(BASEDRAG, color=color.red, title="BASE DRAG")
/////BUY AND SELL LOGIC ///////////
DRAGONBUY = (ta.crossover(close,MAXDRAG) or ta.crossover(close,MINDRAG) )
DRAGONBUYSTOP = (ta.crossunder(close,MAXDRAG) or ta.crossunder(close,MINDRAG))
DRAGONBUYPLOT = ta.valuewhen(DRAGONBUY==true,close,0)
plot(DRAGONBUYPLOT, color=color.red, title="BUY LINE")
DRAGONSELL = (ta.crossunder(close,MAXDRAG) or ta.crossunder(close,MINDRAG) )
DRAGONSELLSTOP = (ta.crossover(close,MAXDRAG) or ta.crossover(close,MINDRAG))
DRAGONSELLPLOT = ta.valuewhen(DRAGONSELL==true,close,0)
plot(DRAGONSELLPLOT, color=color.red, title="SELL LINE")
/////TAKE PROFIT LOGIC ///////////
tp1 = input.int(5, minval=1,title = "TP-1")
tp2 = input.int(10, minval=1,title = "TP-2")
tp3 = input.int(15, minval=1,title = "TP-3")
TPTAKA1B = DRAGONBUYPLOT*(1+tp1/100)
//plot(TPTAKA1B, "BUY-TP1", color=color.red,linewidth = 1)
TPTAKA2B = DRAGONBUYPLOT*(1+tp2/100)
//plot(TPTAKA2B, "BUY-TP2", color=color.red,linewidth = 1)
TPTAKA3B = DRAGONBUYPLOT*(1+tp3/100)
//plot(TPTAKA3B, "BUY-TP3", color=color.red,linewidth = 1)
TPTAKA1S = DRAGONSELLPLOT*(1-tp1/100)
//plot(TPTAKA1S, "SELL-TP1", color=color.red,linewidth = 1)
TPTAKA2S = DRAGONSELLPLOT*(1-tp2/100)
//plot(TPTAKA2S, "SELL-TP2", color=color.red,linewidth = 1)
TPTAKA3S = DRAGONSELLPLOT*(1-tp3/100)
//plot(TPTAKA3S, "SELL-TP3", color=color.red,linewidth = 1)
BUYTP = ta.crossunder(emar,TPTAKA1B) or ta.crossunder(emar,TPTAKA2B) or ta.crossunder(emar,TPTAKA3B)
SELLTP = ta.crossover(emar,TPTAKA1B) or ta.crossover(emar,TPTAKA2B) or ta.crossover(emar,TPTAKA3B)
/////STRATEGY ///////////
// Enter condition
longCondition = DRAGONBUY==true
if longCondition
strategy.entry('Long', strategy.long, comment = "ENTER-LONG")
// Exit condition
strategy.close('Long', when=DRAGONBUYSTOP, comment = "EXIT-LONG")
// Enter condition
ShortCondition = DRAGONSELL
if ShortCondition
strategy.entry('Short', strategy.short, comment = "ENTER-SHORT")
// Exit condition
strategy.close('Short', when=DRAGONSELLSTOP, comment = "EXIT-SHORT")
///// END OF STRATEGY ///////////