Strategi Perdagangan Purata Pergerakan Momentum Breakout


Tarikh penciptaan: 2023-12-18 18:01:59 Akhirnya diubah suai: 2023-12-18 18:01:59
Salin: 0 Bilangan klik: 630
1
fokus pada
1621
Pengikut

Strategi Perdagangan Purata Pergerakan Momentum Breakout

Gambaran keseluruhan

Strategi ini adalah strategi pengesanan trend yang menggabungkan penunjuk pergerakan dan penunjuk garis rata. Ia menggunakan purata bergerak indeks sebagai alat penghakiman trend utama, dan digabungkan dengan jumlah transaksi yang tinggi untuk menghantar isyarat beli dan jual.

Prinsip Strategi

  1. Menggunakan EMA 34 kitaran sebagai alat penghakiman trend utama. Apabila harga naik melalui EMA sebagai isyarat bullish, apabila turun melalui EMA sebagai isyarat bearish.

  2. Bandingkan purata pergerakan 21 hari transaksi dengan purata 1.5 kali ganda yang paling baru. Jika jumlah transaksi semasa lebih besar daripada 1.5 kali ganda purata, ia dianggap sebagai jumlah yang tinggi.

  3. isyarat beli dikeluarkan hanya apabila harga dan EMA membentuk garisan emas dan jumlah yang tinggi; isyarat jual dikeluarkan hanya apabila harga dan EMA membentuk garisan mati dan jumlah yang tinggi.

  4. Tetapkan stop loss dan stop loss ratio selepas membuka kedudukan, boleh disesuaikan.

Dengan cara ini, pelbagai faktor seperti trend, momentum dan kawalan risiko telah dipertimbangkan secara menyeluruh dan stabil.

Analisis kelebihan

  1. Menggunakan EMA untuk menentukan arah trend utama pasaran, anda boleh mengesan trend garis panjang dengan berkesan.

  2. Untuk mengelakkan penipuan, anda boleh menggunakan FILTER dengan jumlah transaksi yang tinggi.

  3. Tetapkan nisbah stop loss untuk mengawal risiko perdagangan tunggal secara berkesan.

  4. Menggunakan strategi pegangan jangka panjang, tidak terjejas oleh bunyi pasaran frekuensi tinggi, pegangan stabil.

Risiko dan Penyelesaian

  1. Kemungkinan besar akan disesatkan oleh penyelarasan palsu frekuensi tinggi. Penyelesaian adalah dengan menambah pengesahan jumlah transaksi.

  2. Garis tengah dan panjang memegang kedudukan meningkatkan pengendalian dana. Penyelesaian adalah mengawal saiz kedudukan dengan betul.

  3. Strategi perdagangan garis rata mungkin terlewat dan tidak dapat menangkap peluang garis pendek. Penyelesaian adalah dengan menggabungkan isyarat garis pendek lain.

  4. Dalam keadaan gegaran yang besar, kerugian yang lebih besar mungkin berlaku. Penyelesaian adalah menetapkan kedudukan hentian kerugian yang sesuai.

Arah pengoptimuman

  1. Uji kelebihan dan kekurangan parameter EMA yang berbeza untuk mencari parameter yang paling optimum.

  2. Uji kesan parameter yang berbeza dalam nisbah Stop Loss Stop Loss terhadap pulangan dan ketahanan risiko strategi.

  3. Cubalah untuk menilai peluang kelayakan pendek anda dengan menggunakan penunjuk lain seperti MACD, KDJ dan sebagainya.

  4. Mengoptimumkan strategi pengurusan wang, seperti kawalan kedudukan, dan cara untuk menghentikan kerugian secara dinamik.

ringkaskan

Strategi ini secara keseluruhan adalah strategi memegang kedudukan panjang dan sederhana yang stabil. Ia dapat mengesan trend utama pasaran dengan berkesan, dan menggunakan petunjuk kuantitatif untuk menyaring isyarat yang salah. Pada masa yang sama, mengambil langkah-langkah berhenti dan menghentikan yang sesuai untuk mengawal risiko perdagangan satu-per-satu. Ia boleh dikatakan sebagai usaha untuk membersihkan bursa perdagangan tren.

Kod sumber strategi
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TradingSignalHub

//@version=5
strategy("Di strategy ", overlay=true)

//date setting
fromDay = input(defval = 1, title = "Ngày bắt đầu", group = "Cài đặt thời gian")
fromMonth = input(defval = 1, title = "Tháng bắt đầu", group = "Cài đặt thời gian")
fromYear = input(defval = 2023, title = "Năm bắt đầu", group = "Cài đặt thời gian")

toDay = input(defval = 31, title = "Đến ngày", group = "Cài đặt thời gian")
toMonth = input(defval = 12, title = "Đến tháng", group = "Cài đặt thời gian")
toYear = input(defval = 2033, title = "Đến năm", group = "Cài đặt thời gian")

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond() => 
    time >= startDate and time <= finishDate ? true : false

//snr setting
price = close
ema34     = input.int(34, minval=2, title="EMA 34", group = "Cài đặt EMA")
pacC        = ta.ema(close,ema34)
pacL        = ta.ema(low,ema34)
pacH        = ta.ema(high,ema34)
L =plot(pacL, color=color.rgb(3, 139, 251), linewidth=1, title="High EMA 34")
H =plot(pacH, color=color.rgb(3, 137, 247), linewidth=1, title="Low EMA 34")
C =plot(pacC, color=color.rgb(4, 138, 248), linewidth=1, title="Close EMA 34")
fill(L,H, color=color.rgb(33, 149, 243, 85),title="Fill dãi EMA 34")

//EMA full setting
ema89 =ta.ema(close,89)
DIema= ta.ema(close,458)
plot(DIema,title="DI_ema",color=color.rgb(247, 214, 3),linewidth=2)
plot(ema89,title="EMA 89",color=color.orange,linewidth=1)
//ema200= ta.ema(close,200)
//ema610= ta.ema(close,610)
//ema144= ta.ema(close,144)
//ema258= ta.ema(close,258)
//plot(ema200,title="EMA 200",color=color.purple,linewidth=2)
//plot(ema610,title="EMA 610",color=color.white,linewidth=2)
//plot(ema144,title="144Banker",color=color.green,linewidth=1)
//plot(ema258,title="258Banker",color=color.yellow,linewidth=1)

EMAbuy = ta.crossover(price, DIema)
EMAsell = ta.crossunder(price, DIema)

//volume setting
vol = (volume)
length = input(21, "Đường Trung Bình Vol", group = "Cài đặt Volume" )
div = input(1.5, "Mức trung bình", group = "Cài đặt Volume" )
up = close > open 
down = open>close
Volhigh = volume> (ta.ema(volume, length)*div)

//Cài đặt lệnh
longCondition = EMAbuy and Volhigh
if time_cond()
    if (longCondition)
        strategy.entry("Long", strategy.long)

shortCondition = EMAsell and Volhigh
if time_cond()
    if (shortCondition)
        strategy.entry("Sell", strategy.short)


stopPer = input.float(1.0, title="Stop Loss %", group = "Cài đặt TP & SL %" ) / 100
takePer = input.float(2.0, title="Take Profit %", group = "Cài đặt TP & SL %" ) / 100

// Determine where you've entered and in what direction
longStop = strategy.position_avg_price * (1 - stopPer)
shortStop = strategy.position_avg_price * (1 + stopPer)
shortTake = strategy.position_avg_price * (1 - takePer)
longTake = strategy.position_avg_price * (1 + takePer)

if strategy.position_size > 0 
    strategy.exit(id="Đóng Long", stop=longStop, limit=longTake)
if strategy.position_size < 0 
    strategy.exit(id="Đóng Sell", stop=shortStop, limit=shortTake)

alertcondition(longCondition, title = "Tín hiệu BUY", message = "Tín hiệu BUY")
alertcondition(shortCondition, title = "Tín hiệu SELL", message = "Tín hiệu SELL")
//PLOT FIXED SLTP LINE
//plotshape(strategy.position_size > 0 ? longStop : na, shape.labelup, color=color.rgb(34, 249, 6, 50), linewidth=1, title="Long SL")
//plot(strategy.position_size < 0 ? shortStop : na, style=plot.style_circles, color=color.rgb(250, 8, 8, 50), linewidth=1, title="Short SL")
//plot(strategy.position_size > 0 ? longTake : na, style=plot.style_linebr, color=color.rgb(59, 248, 7), linewidth=1, title="Long TP")
//plot(strategy.position_size < 0 ? shortTake : na, style=plot.style_linebr, color=color.rgb(247, 7, 7), linewidth=1, title="Short TP")