Chiến lược giao dịch trung bình chuyển động

Tác giả:ChaoZhang, Ngày: 2023-12-18 18:01:59
Tags:

img

Tổng quan

Chiến lược này là một chiến lược theo dõi xu hướng kết hợp các chỉ số động lực và đường trung bình động. Nó sử dụng đường trung bình động theo cấp số nhân như là công cụ đánh giá xu hướng chính và phát hành tín hiệu mua và bán kết hợp với khối lượng giao dịch cao. Chiến lược này phù hợp với cổ phần trung và dài hạn để theo dõi xu hướng thị trường chính.

Nguyên tắc chiến lược

  1. Sử dụng EMA 34 giai đoạn như là công cụ chính để đánh giá xu hướng. Khi giá vượt trên EMA, đó là một tín hiệu tăng, và khi nó vượt dưới, đó là một tín hiệu giảm.

  2. So sánh trung bình động 21 ngày của khối lượng với 1,5 lần trung bình gần đây.

  3. Các tín hiệu mua chỉ được phát hành khi giá vượt qua đường EMA lên và khối lượng cao. Các tín hiệu bán chỉ được phát hành khi giá vượt qua đường EMA xuống và khối lượng cao.

  4. Sau khi mở một vị trí, đặt stop loss và lấy tỷ lệ lợi nhuận, có thể được tùy chỉnh.

Bằng cách xem xét toàn diện các yếu tố như xu hướng, động lực và kiểm soát rủi ro, nó tương đối toàn diện và ổn định.

Phân tích lợi thế

  1. Sử dụng EMA để xác định hướng xu hướng chính của thị trường có thể theo dõi hiệu quả xu hướng trung và dài hạn.

  2. Kết hợp với khối lượng giao dịch cao FILTER có thể tránh bị đánh lừa bởi breakouts sai.

  3. Thiết lập tỷ lệ dừng lỗ và lấy lợi nhuận có thể kiểm soát hiệu quả rủi ro của các giao dịch đơn lẻ.

  4. Việc áp dụng các chiến lược nắm giữ trung bình và dài hạn không bị ảnh hưởng bởi tiếng ồn thị trường tần số cao và có lợi nhuận ổn định.

Rủi ro và giải pháp

  1. Khả năng bị đánh lừa bởi các thông tin sai thường xuyên cao.

  2. Các cổ phần trung bình và dài hạn làm tăng việc sử dụng vốn.

  3. Các chiến lược giao dịch trung bình di chuyển có thể chậm lại và bỏ lỡ các cơ hội ngắn hạn.

  4. Sự biến động đáng kể trong thị trường biến động có thể dẫn đến tổn thất lớn.

Hướng dẫn tối ưu hóa

  1. Kiểm tra điểm mạnh và điểm yếu của các thông số chu kỳ EMA khác nhau để tìm các thông số tối ưu.

  2. Kiểm tra tác động của các tham số stop loss và tỷ lệ lợi nhuận khác nhau đối với lợi nhuận chiến lược và khả năng chống rủi ro.

  3. Hãy thử kết hợp các chỉ số khác như MACD và KDJ để xác định các cơ hội ngắn hạn.

  4. Tối ưu hóa các chiến lược quản lý vốn như kiểm soát vị trí và phương pháp dừng lỗ động.

Tóm lại

Nhìn chung, chiến lược này là một chiến lược nắm giữ ổn định trung dài hạn. Nó có thể theo dõi hiệu quả các xu hướng thị trường chính và sử dụng các chỉ số khối lượng để lọc các tín hiệu gây hiểu nhầm. Đồng thời, các phương tiện dừng lỗ và lấy lợi nhuận thích hợp được áp dụng để kiểm soát rủi ro của các giao dịch đơn lẻ. Nó có thể được mô tả là một công việc giao dịch xu hướng ổn định và nhẹ. Với tối ưu hóa thích hợp, tôi tin rằng nó có thể đạt được tỷ lệ lợi nhuận chiến lược lý tưởng hơn.


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


Thêm nữa