Strategi Penembak Jitu Universal

Penulis:ChaoZhang, Tanggal: 2023-12-20 11:04:15
Tag:

img

Gambaran umum

Strategi ini mengadopsi kombinasi dari beberapa indikator teknis untuk menerapkan strategi perdagangan jangka pendek yang serbaguna. Ini memiliki pelacakan tren, perdagangan breakout, perdagangan reversi rata-rata dan metode perdagangan lainnya, yang dapat beradaptasi dengan sebagian besar lingkungan pasar. Ini merupakan strategi jangka pendek yang sangat universal dan praktis.

Prinsip Strategi

  1. Strategi pertama menggunakan indikator saluran tubuh lilin, dikombinasikan dengan saluran harga tertinggi dan terendah, untuk menentukan arah tren dan kekuatan saat ini.

  2. Kemudian, menggunakan indikator EMA umum untuk menentukan arah tren jangka menengah dan panjang.

  3. Selanjutnya, strategi menggunakan indikator Hull MA untuk menentukan apakah harga saat ini terlalu banyak dibeli atau terlalu banyak dijual.

  4. Akhirnya, strategi menggunakan fungsi keamanan untuk membuka siklus yang lebih tinggi untuk menentukan arah tren siklus besar dan menghasilkan sinyal perdagangan.

Kombinasi dari beberapa sub-strategi memungkinkan strategi untuk menangkap tren siklus menengah sambil menilai arah tren keseluruhan berdasarkan siklus panjang, sehingga mewujudkan strategi perdagangan universal yang serbaguna.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah bahwa ia menggabungkan beberapa indikator teknis untuk perdagangan portofolio, yang dapat secara bersamaan mewujudkan pelacakan tren, perdagangan reversi rata-rata, perdagangan breakout dan metode perdagangan lainnya, yang sangat serbaguna dan beradaptasi dengan sebagian besar lingkungan pasar.

Secara khusus, keuntungan utama dari strategi ini adalah:

  1. Menggunakan indikator saluran tubuh lilin untuk menentukan entitas breakout dapat secara efektif mengidentifikasi sinyal breakout.

  2. Menggunakan kombinasi EMA ganda untuk menyaring sinyal palsu meningkatkan akurasi sinyal.

  3. Menggunakan indikator Hull MA untuk menentukan area overbought dan oversold memiliki kemampuan yang lebih akurat untuk menentukan titik balik.

  4. Mengadopsi penyeberangan harga pembukaan dan penutupan jalur K siklus yang lebih tinggi untuk menghasilkan sinyal dapat menghindari ditipu oleh kebisingan.

  5. Kombinasi dari beberapa metode perdagangan membuat strategi lebih serbaguna dan universal.

Analisis Risiko

Meskipun strategi menggabungkan beberapa indikator untuk mencapai strategi perdagangan serbaguna, masih ada risiko tertentu dalam perdagangan, terutama:

  1. Perdagangan breakout cenderung tertipu oleh breakout palsu dan menghasilkan sinyal yang salah.

  2. Perdagangan reversi rata-rata cenderung menyebabkan kerugian di pasar yang terikat rentang.

  3. Kemampuan penyaringan kombinasi EMA ganda masih terbatas, yang dapat menyaring sinyal normal.

  4. Indikator Hull MA masih kurang akurat dalam kurva penyesuaian.

Menanggapi risiko di atas, optimasi dapat dilakukan dalam aspek berikut:

  1. Gunakan indikator yang lebih stabil untuk membantu menilai dan menghindari kebocoran palsu.

  2. Tingkatkan strategi stop loss untuk mengendalikan kerugian tunggal.

  3. Sesuaikan parameter EMA ganda untuk menemukan kombinasi yang optimal.

  4. Cobalah untuk mengintegrasikan lebih banyak indikator untuk menentukan kondisi overbought dan oversold.

Arahan Optimasi

Menurut analisis di atas, strategi dapat dioptimalkan terutama dalam arah berikut:

  1. Gunakan kombinasi indikator yang lebih mainstream dan stabil sebagai penilaian tambahan, seperti Garis Kalman, Bollinger Band, dll.

  2. Tingkatkan strategi stop loss untuk mengontrol kerugian tunggal secara ketat.

  3. Optimasi parameter untuk menemukan kombinasi parameter yang optimal.

  4. Meningkatkan penilaian model pembelajaran mesin untuk memanfaatkan AI untuk menentukan area overbought dan oversold.

  5. Meningkatkan penilaian logika adaptif untuk menyesuaikan secara dinamis metode strategi berdasarkan lingkungan pasar yang berbeda.

Ringkasan

Strategi ini menggabungkan beberapa indikator untuk perdagangan portofolio, mencapai integrasi organik dari beberapa metode perdagangan seperti pelacakan tren, perdagangan breakout, dan perdagangan reversi rata-rata. Ini adalah strategi perdagangan jangka pendek yang sangat serbaguna dan universal. Keuntungan terbesar dari strategi ini adalah penerapannya yang luas untuk sebagian besar lingkungan pasar. Ini termasuk dalam ide strategi yang lebih universal. Tentu saja, masih ada risiko tertentu dalam perdagangan. Kita dapat mengoptimalkan strategi dari memperkenalkan indikator yang lebih stabil, meningkatkan stop loss, pengoptimalan parameter, menerapkan pembelajaran mesin dan banyak aspek lainnya untuk meningkatkan kinerja strategi. Secara umum, ini adalah strategi perdagangan jangka pendek universal yang sangat berharga untuk dirujuk dan dipelajari.


/*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)

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

Lebih banyak