Strategi Perdagangan Teknis Komposit Tiga Naga


Tanggal Pembuatan: 2023-12-21 11:56:31 Akhirnya memodifikasi: 2023-12-21 11:56:31
menyalin: 0 Jumlah klik: 383
1
fokus pada
1224
Pengikut

Strategi Perdagangan Teknis Komposit Tiga Naga

Ringkasan

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.

Prinsip Strategi

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.

Analisis Keunggulan

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:

  1. Indikator tren volume harga yang diperpanjang dapat secara akurat mengidentifikasi titik perubahan tren dan kekuatan tren, dengan dasar yang baik;
  2. Indikator saluran Dongxian dapat membedakan arah tren dengan lebih jelas dan lebih baik menangkap tren;
  3. Parabolic SAR, yang digunakan dalam kombinasi dengan indikator tren, dapat lebih akurat menentukan titik jual beli.

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.

Analisis risiko

Sebagai strategi kombinasi indikator, risiko keseluruhan dapat dikontrol, tetapi masih ada risiko tertentu yang perlu diperhatikan:

  1. Perpanjangan indikator tren volume harga untuk menilai risiko kesalahan dalam kasus terobosan palsu dan pembalikan volume besar;
  2. Dalam proses penyusunan data gempa, saluran Tongxian mungkin akan menyempit, dan kemungkinan besar akan menghasilkan sinyal yang salah.
  3. Salah pengaturan parameter SAR pada garis paralon juga dapat berdampak pada identifikasi titik jual beli.

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.

Optimasi Strategi

Namun, masih ada ruang untuk optimalisasi lebih lanjut:

  1. Dapat memasukkan algoritma pembelajaran mesin untuk mengoptimalkan parameter indikator secara otomatis;
  2. Dapat mempertimbangkan untuk memperkenalkan indikator volatilitas untuk membantu penilaian dan meningkatkan stabilitas strategi;
  3. Ini dapat dikombinasikan dengan indikator sentimen untuk menilai dampak perubahan sentimen publik terhadap strategi.

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.

Meringkaskan

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.

Kode Sumber Strategi
/*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 ///////////