Ba chiến lược theo xu hướng EMA


Ngày tạo: 2023-11-10 11:45:30 sửa đổi lần cuối: 2023-11-10 11:45:30
sao chép: 1 Số nhấp chuột: 723
1
tập trung vào
1617
Người theo dõi

Ba chiến lược theo xu hướng EMA

Tổng quan

Ba chiến lược theo dõi xu hướng EMA bằng cách tính toán đường trung bình EMA của các chu kỳ khác nhau, đánh giá hướng xu hướng giá, thực hiện theo dõi xu hướng. Chiến lược này đơn giản và dễ thực hiện, hiệu quả rõ rệt trong các giống có xu hướng rõ rệt.

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

Chiến lược này tính toán ba đường trung bình của EMA cho ba chu kỳ khác nhau, cụ thể là 10 chu kỳ, 20 chu kỳ và 30 chu kỳ EMA.

Chiến lược này chủ yếu xác định hướng của ba đường trung bình. Nếu ba đường trung bình tăng cùng một lúc, sẽ tạo ra tín hiệu nhiều; Nếu ba đường trung bình giảm cùng một lúc, sẽ tạo ra tín hiệu ngắn.

Lý luận xác định cụ thể của tín hiệu mua và bán là, nếu ema1, ema2 và ema3 cùng tăng trên một đường K trước, enter_long là đúng, tạo ra tín hiệu mua. Nếu ema1, ema2 và ema3 cùng giảm trên một đường K trước, enter_short là đúng, tạo ra tín hiệu mua.

Theo tín hiệu mua và bán, chiến lược sẽ thiết lập các vị trí mua và bán tương ứng. Ngược lại với tín hiệu nhập cảnh, logic đóng cửa là đúng nếu đường K hiện tại của ema1, ema2 và ema3 không tăng cùng một lúc, exit_long là đúng và đóng cửa là nhiều vị trí. Nếu đường K hiện tại của ema1, ema2 và ema3 không giảm cùng một lúc, exit_short là đúng và đóng cửa là vị trí trống.

Bằng cách đó, bằng cách đánh giá sự đồng nhất về hướng của ba đường trung bình EMA, bạn có thể đánh giá xu hướng tổng thể của giá và theo dõi xu hướng.

Lợi thế chiến lược

  • Sử dụng ba đường trung bình EMA, bạn có thể đánh giá chính xác hơn về hướng của xu hướng. So với một đường trung bình đơn lẻ, ba đường trung bình đánh giá xu hướng một cách đáng tin cậy hơn và ít có khả năng xảy ra tín hiệu sai.

  • EMA nhạy cảm hơn với sự thay đổi của giá và có thể phản ánh sự biến đổi xu hướng kịp thời. So với các đường trung bình khác như SMA, EMA phù hợp hơn để đánh giá xu hướng.

  • Sử dụng các EMA khác nhau để kết hợp, có thể cân nhắc xu hướng ngắn hạn và trung hạn. 10 EMA định giá xu hướng ngắn hạn, 20 EMA định giá xu hướng trung hạn và dài hạn.

  • Chiến lược thực hiện đơn giản, dễ hiểu, phù hợp cho người mới bắt đầu học. Và các tham số tối ưu hóa không gian rộng, có thể điều chỉnh các tham số cho các giống khác nhau.

  • Chiến lược này chỉ hoạt động dựa trên EMA, sử dụng ít tài nguyên, phù hợp với số lượng lớn và phát hành.

Rủi ro chiến lược

  • Sự đồng nhất của ba đường EMA là điều kiện cần thiết nhưng không đủ để đánh giá xu hướng. Khi đường EMA bị phá vỡ, sẽ tạo ra tín hiệu sai.

  • Khi xu hướng thay đổi, EMA trung bình bị trễ, không thể phản ánh đúng thời gian điểm thay đổi xu hướng, có thể gây thiệt hại.

  • EMA nhạy cảm với sự thay đổi giá và thường xuyên chuyển đổi nhiều đầu và đầu trống, thường xuyên mở các vị trí tròn, tăng phí giao dịch.

  • Trong một thị trường có nhiều biến động, đường trung bình EMA có nhiều chuyển hướng, không thể xác định chính xác xu hướng và chiến lược này không hiệu quả.

  • Có thể mở rộng khoảng cách chu kỳ trung bình của ba EMA để giảm khả năng tín hiệu sai. Hoặc thêm các chỉ số khác để lọc sự phá vỡ giả.

  • Có thể kết hợp các chỉ số năng lượng định lượng để xác nhận xu hướng, xác định điểm biến đổi xu hướng, giảm tổn thất. Các điểm dừng lỗ cũng có thể được nới lỏng thích hợp.

  • Các tham số EMA có thể được tăng lên khi thích hợp, giảm tần suất mở vị trí trơn. Hoặc thay thế bằng các chỉ số khác.

  • Khi nhận ra thị trường bị chấn động, bạn có thể tạm dừng chiến lược để tránh giao dịch không hiệu lực.

Hướng tối ưu hóa

  • Tối ưu hóa chu kỳ: điều chỉnh các tham số chu kỳ của ba EMA để phù hợp với các đặc điểm khác nhau của giống.

  • Điều kiện lọc: Thêm các chỉ số như MA, BOLL để tránh phá vỡ giả EMA.

  • Chiến lược dừng lỗ: Trailing stop theo dõi từng bước dừng lỗ, bảo vệ lợi nhuận.

  • Quản lý tài chính: Tối ưu hóa quản lý vị trí, giảm tác động của tổn thất đơn lẻ đối với tổng thể.

  • Đánh giá tình hình thị trường: Xác định mức độ biến động của thị trường dựa trên các chỉ số như tỷ lệ biến động, tham gia chiến lược kiểm soát.

  • Các tham số tự thích ứng: cho phép tham số chu kỳ EMA được tự động tối ưu hóa theo thay đổi của thị trường, nâng cao tính bền vững của chiến lược.

Tóm tắt

Ba chiến lược theo dõi xu hướng EMA đánh giá xu hướng giá thông qua đường trung bình của EMA, thực hiện theo dõi xu hướng tự động để giao dịch. Chiến lược này đơn giản và thực tế, có nhiều tham số để điều chỉnh và có thể tối ưu hóa cho các đặc điểm của giống. Ngoài ra, cũng có một số rủi ro, cần chú ý để phòng ngừa đột phá giả của EMA và tác động của thị trường xung đột. Bằng cách tối ưu hóa liên tục, chiến lược này có thể trở thành chiến lược theo dõi xu hướng ổn định và đáng tin cậy.

Mã nguồn chiến lược
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1d
basePeriod: 1h
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/
// © QuantCT

//@version=4
strategy("PMA Strategy Idea",
         shorttitle="PMA", 
         overlay=true,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)
         
// ____ Inputs

ema1_period = input(title="EMA1 Period", defval=10)
ema2_period = input(title="EMA2 Period", defval=20)
ema3_period = input(title="EMA3 Period", defval=30)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

ema1 = ema(hlc3, ema1_period)
ema2 = ema(hlc3, ema2_period)
ema3 = ema(hlc3, ema3_period)
    
enter_long = (rising(ema1, 1) and rising(ema2, 1) and rising(ema3, 1))
exit_long = not enter_long
enter_short = (falling(ema1, 1) and falling(ema2, 1) and falling(ema3, 1))
exit_short = not enter_short

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 

// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)

// ____ Plots

colors = 
 enter_long ? #27D600 :
 enter_short ? #E30202 :
 color.orange

ema1_plot = plot(ema1, color=colors)
ema2_plot = plot(ema2, color=colors)
ema3_plot = plot(ema3, color=colors)
fill(ema1_plot, ema3_plot, color=colors, transp=50)