Momentum Breakthrough Moving Average Strategi perdagangan

Penulis:ChaoZhang, Tanggal: 2023-12-18 18:01:59
Tag:

img

Gambaran umum

Strategi ini adalah strategi pelacakan tren yang menggabungkan indikator momentum dan moving average. Strategi ini menggunakan moving average eksponensial sebagai alat penilaian tren utama dan mengeluarkan sinyal beli dan jual dalam kombinasi dengan volume perdagangan yang tinggi. Strategi ini cocok untuk kepemilikan jangka menengah dan panjang untuk melacak tren pasar utama.

Prinsip Strategi

  1. Gunakan EMA 34 periode sebagai alat utama untuk penilaian tren. Ketika harga melintasi di atas EMA, itu adalah sinyal bullish, dan ketika melintasi di bawah, itu adalah sinyal bearish.

  2. Bandingkan rata-rata pergerakan volume 21 hari dengan 1,5 kali rata-rata terbaru.

  3. Sinyal beli hanya dikeluarkan ketika harga melintasi EMA ke atas dan volume tinggi. Sinyal jual hanya dikeluarkan ketika harga melintasi EMA ke bawah dan volume tinggi.

  4. Setelah membuka posisi, atur stop loss dan mengambil rasio keuntungan, yang dapat disesuaikan.

Dengan mempertimbangkan secara komprehensif faktor-faktor seperti tren, momentum dan pengendalian risiko, itu relatif komprehensif dan stabil.

Analisis Keuntungan

  1. Menggunakan EMA untuk menentukan arah tren utama pasar dapat secara efektif melacak tren jangka menengah dan panjang.

  2. Menggabungkan dengan volume perdagangan tinggi FILTER dapat menghindari tertipu oleh breakout palsu.

  3. Menetapkan stop loss dan mengambil rasio keuntungan dapat secara efektif mengendalikan risiko perdagangan tunggal.

  4. Mengadopsi strategi kepemilikan jangka menengah dan panjang tidak dipengaruhi oleh kebisingan pasar frekuensi tinggi dan secara konsisten menguntungkan.

Risiko dan Solusi

  1. Kemungkinan tinggi akan disesatkan oleh penyebaran palsu frekuensi tinggi. Solusinya adalah menambahkan verifikasi volume transaksi.

  2. Pemilik jangka menengah dan panjang meningkatkan kepekatan modal. Solusinya adalah untuk mengendalikan ukuran posisi dengan tepat.

  3. Strategi perdagangan rata-rata bergerak mungkin tertinggal dan melewatkan peluang jangka pendek. Solusinya adalah menggabungkan sinyal jangka pendek lainnya.

  4. Fluktuasi yang signifikan di pasar yang tidak stabil dapat menyebabkan kerugian besar. Solusinya adalah dengan menetapkan posisi stop loss yang tepat.

Arahan Optimasi

  1. Uji kekuatan dan kelemahan dari parameter siklus EMA yang berbeda untuk menemukan parameter optimal.

  2. Uji dampak dari stop loss yang berbeda dan ambil parameter rasio keuntungan pada strategi pengembalian dan ketahanan risiko.

  3. Cobalah menggabungkan indikator lain seperti MACD dan KDJ untuk menentukan peluang jangka pendek.

  4. Mengoptimalkan strategi manajemen modal seperti kontrol posisi dan metode stop loss dinamis.

Ringkasan

Secara keseluruhan, strategi ini adalah strategi kepemilikan jangka menengah dan panjang yang stabil. Ini dapat secara efektif melacak tren pasar utama dan menggunakan indikator volume untuk menyaring sinyal yang menyesatkan. Pada saat yang sama, stop loss dan take profit yang sesuai diadopsi untuk mengendalikan risiko perdagangan tunggal. Ini dapat digambarkan sebagai pekerjaan perdagangan tren stabil dan ringan. Dengan optimalisasi yang tepat, saya percaya dapat mencapai tingkat pengembalian strategi yang lebih ideal.


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


Lebih banyak