Menggabungkan beberapa indikator teknis


Tanggal Pembuatan: 2023-12-20 11:04:15 Akhirnya memodifikasi: 2023-12-20 11:04:15
menyalin: 0 Jumlah klik: 662
1
fokus pada
1621
Pengikut

Menggabungkan beberapa indikator teknis

Ringkasan

Strategi ini menggunakan kombinasi dari berbagai indikator teknis untuk mewujudkan strategi perdagangan short line yang kuat. Strategi ini memiliki beberapa cara perdagangan seperti trend tracking, breakout trading, dan reversal trading, yang dapat disesuaikan dengan sebagian besar lingkungan pasar, dan merupakan strategi short line yang sangat umum dan praktis.

Prinsip Strategi

  1. Strategi ini pertama kali menggunakan indikator candle body channel untuk menilai arah dan kekuatan tren saat ini, yang dikombinasikan dengan harga tertinggi dan terendah.
  2. Kedua, menggunakan indikator rata-rata EMA yang umum digunakan untuk menentukan arah tren garis tengah. Menggunakan kombinasi indikator EMA ganda untuk memfilter sinyal palsu.
  3. Strategi ini kemudian menggunakan indikator Hull MA untuk menentukan apakah harga saat ini sudah overbought atau oversold. Indikator Hull MA memiliki kemampuan untuk lebih akurat menentukan titik balik.
  4. Akhirnya, strategi ini menggunakan fungsi keamanan untuk membuka siklus yang lebih tinggi untuk menentukan arah tren siklus besar, menghasilkan sinyal perdagangan.

Kombinasi dari beberapa sub-strategi di atas memungkinkan strategi untuk menangkap tren pada periode menengah dan juga untuk menilai arah keseluruhan dari periode panjang, sehingga memungkinkan strategi perdagangan universal serbaguna.

Analisis Keunggulan

Keuntungan terbesar dari strategi ini adalah penggunaan komprehensif dari berbagai indikator teknis untuk perdagangan portofolio, yang dapat melakukan beberapa cara perdagangan sekaligus seperti trend tracking, reversal trading, dan breakout trading, yang sangat universal dan cocok untuk sebagian besar lingkungan pasar.

Secara khusus, keuntungan utama dari strategi ini adalah:

  1. Dengan menggunakan indikator candle body channel untuk menilai penembusan entitas, sinyal penembusan dapat diidentifikasi secara efektif.
  2. Penggunaan kombinasi dua EMA untuk memfilter sinyal palsu, meningkatkan akurasi sinyal.
  3. Menggunakan indikator Hull MA untuk menilai area overbought dan oversold, memiliki kemampuan untuk menilai titik pivot dengan lebih akurat.
  4. Dengan menggunakan garis K dengan siklus yang lebih tinggi, sinyal yang dihasilkan dapat terhindar dari kebisingan.
  5. Kombinasi dari berbagai metode perdagangan membuat strategi ini lebih serbaguna dan universal.

Analisis risiko

Meskipun strategi ini menggabungkan berbagai indikator untuk mencapai strategi perdagangan universal, ada risiko tertentu dalam perdagangan, dengan risiko utama sebagai berikut:

  1. Peretasan transaksi mudah disesatkan oleh peretasan palsu yang menghasilkan sinyal yang salah.
  2. Perdagangan reversal dapat menyebabkan kerugian dalam situasi yang tidak stabil.
  3. Kemampuan filter kombinasi dua EMA masih terbatas dan mungkin menghapus sinyal normal.
    1. Hull MA masih kurang akurat dalam penyesuaian kurva.

Ada beberapa cara untuk mengoptimalkan risiko di atas:

  1. Menggunakan indikator yang lebih stabil untuk membantu penilaian, menghindari terobosan palsu.
  2. Meningkatkan strategi stop loss dan mengendalikan kerugian tunggal.
  3. Menyesuaikan parameter EMA ganda untuk mencari kombinasi optimal.
  4. Cobalah untuk mengintegrasikan lebih banyak indikator untuk menilai overbuying dan overselling.

Arah optimasi

Berdasarkan analisis di atas, strategi ini dapat dioptimalkan dari beberapa arah:

  1. Penghakiman tambahan menggunakan kombinasi indikator yang lebih mainstream dan stabil, seperti Garis Persamaan Karman, Blink, dan lain-lain.
  2. Meningkatkan strategi stop loss dan kontrol ketat terhadap kerugian tunggal.
  3. Optimalisasi parameter, menemukan kombinasi parameter yang optimal.
  4. Menambahkan penilaian model pembelajaran mesin, menggunakan AI untuk menilai zona overbought dan oversold.
  5. Menambahkan logika penilaian yang beradaptasi, menyesuaikan strategi sesuai dengan dinamika lingkungan pasar yang berbeda.

Meringkaskan

Strategi ini mengintegrasikan beberapa indikator untuk melakukan perdagangan kombinasi, mencapai kombinasi organik dari beberapa metode perdagangan untuk mengikuti tren, melakukan perdagangan yang terobosan, dan membalikkan perdagangan, merupakan strategi perdagangan garis pendek yang sangat serbaguna dan universal. Keuntungan terbesar dari strategi ini adalah bahwa itu dapat disesuaikan luas, dapat digunakan di sebagian besar lingkungan pasar, dan merupakan salah satu strategi yang lebih umum. Tentu saja, meskipun ada risiko tertentu dalam perdagangan, kita dapat mengoptimalkan strategi dalam banyak hal, mulai dari memperkenalkan indikator yang lebih stabil, meningkatkan stop loss, optimasi parameter, dan aplikasi pembelajaran mesin, sehingga efek dari strategi ini dapat ditingkatkan lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//╭╮╱╱╭╮╭╮╱╱╭╮
//┃╰╮╭╯┃┃┃╱╱┃┃
//╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮
//╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫
//╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃
//╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯
//╭━━━┳╮╱╱╱╱╱╱╱╭╮
//┃╭━╮┃┃╱╱╱╱╱╱╱┃┃
//┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃
//┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃
//┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮
//╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯
//━╯
// http://www.vdubus.co.uk/
strategy(title='Vdub FX SniperVX3 / Strategy  v3', shorttitle='Vdub_FX_SniperVX3_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD)

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:',  defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
Piriod=input('720')
ch1 = request.security(syminfo.tickerid, Piriod, open)
ch2 = request.security(syminfo.tickerid, Piriod, close)
longCondition = crossover(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

///////////////////////////////////////////////////////////////////////////////////////////