Chiến lược giao dịch theo xu hướng EMA


Ngày tạo: 2023-09-19 19:38:53 sửa đổi lần cuối: 2023-09-19 19:38:53
sao chép: 0 Số nhấp chuột: 793
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này là một chiến lược theo dõi xu hướng EMA điển hình. Nó sử dụng EMA nhanh và EMA chậm để xác định xu hướng tăng, sử dụng EMA nhanh và EMA chậm để xác định xu hướng giảm, và tương ứng làm nhiều lỗ hổng. Chiến lược này theo dõi xu hướng đường dài trung bình là đáng tin cậy hơn và phù hợp với giao dịch giữ vị trí đường dài trung bình.

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

Lập luận cốt lõi của chiến lược này là:

  1. Tính toán EMA nhanh, ví dụ như EMA 12 chu kỳ
  2. Tính toán EMA chậm, ví dụ như EMA 26 chu kỳ
  3. Khi EMA nhanh trên EMA chậm, đánh giá là xu hướng tăng lên, tham gia nhiều hơn
  4. Khi EMA nhanh vượt qua EMA chậm, đánh giá là xu hướng giảm và tham gia vào thị trường ngoại hối
  5. Trước khi xu hướng đảo ngược đến, EMA nhanh sẽ tái giao dịch với EMA chậm, đồng hóa các vị trí hiện tại

Bằng cách tính toán các tốc độ EMA khác nhau, có thể xác định hiệu quả sự thay đổi trong xu hướng thị trường. EMA nhanh nhạy cảm hơn với sự thay đổi giá và có lợi cho việc phát hiện xu hướng mới sớm; EMA chậm có thể lọc các tín hiệu giả và đảm bảo xu hướng đã được xác nhận.

Khi hai EMA xảy ra Gold Fork, cho thấy giá bắt đầu tăng liên tục, nên thiết lập làm nhiều hướng; khi xảy ra Fork chết, giá bắt đầu giảm liên tục, nên thiết lập làm hướng trống. Bằng cách quay lại Fork chết của EMA nhanh để thoát khỏi vị trí hiện tại, có thể dừng lỗ kịp thời, tránh mở rộng lỗ.

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

  • Sử dụng EMA có thể xác định hiệu quả xu hướng đường dài trong thị trường
  • EMA hợp tác với hệ thống đánh giá xu hướng đáng tin cậy
  • Chiến lược đơn giản và dễ thực hiện
  • Các tham số EMA có thể cấu hình để phù hợp với các loại giao dịch khác nhau
  • Tốc độ EMA, kiểm soát rủi ro hiệu quả

Rủi ro chiến lược và ứng phó

  • Không thể dự đoán trước được điểm đảo ngược của xu hướng, có một số tổn thất
  • Thiết lập tham số EMA không đúng có thể bỏ lỡ điểm chuyển hướng
  • Cần điều chỉnh các tham số EMA để phù hợp với sự thay đổi của thị trường

Phản ứng:

  1. Hạn chế lỗ hổng giữa các phân khúc để tránh thua lỗ lớn
  2. Kết hợp với các chỉ số khác để phát hiện xu hướng tiềm ẩn
  3. Tối ưu hóa cấu hình tham số, tăng khả năng nhận diện xu hướng

Hướng tối ưu hóa chiến lược

Chiến lược này có thể được mở rộng và tối ưu hóa theo các khía cạnh sau:

  1. Sử dụng phương pháp học máy để tự động tối ưu hóa tham số EMA, nâng cao khả năng thích ứng tham số

  2. Tăng điều chỉnh vị trí nắm giữ dựa trên biến động, điều chỉnh vị trí dựa trên biến động của thị trường

  3. Kết hợp các chỉ số xung động điểm để đánh giá thời gian điều chỉnh địa phương để tối ưu hóa vị trí điểm vào sân

  4. Tăng các chiến lược dừng lỗ như dừng di chuyển, điều chỉnh điểm dừng sau khi thu lợi nhuận

  5. Nghiên cứu sự thay đổi khối lượng giao dịch để xác định dòng chảy và xu hướng

  6. Kết hợp với các chiến lược khác không liên quan, giảm rút lui và tăng ổn định thu nhập tổng thể

Tóm tắt

Chiến lược theo dõi xu hướng EMA là một chiến lược theo dõi xu hướng đơn giản và thực tế. Nó sử dụng xu hướng đường dài trung bình của EMA theo dõi nhanh và chậm, để đánh giá thời gian vào thị trường thông qua gai vàng của EMA. Chiến lược này dễ thực hiện và có thể mở rộng và tối ưu hóa nhiều chiều để phù hợp với nhiều môi trường thị trường. Chiến lược này rất phù hợp với hành vi theo dõi xu hướng của các vị trí dài trung bình.

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

//@version=5

strategy("EMA12/26 with date backtest range (BTCpair)", overlay=true,initial_capital = 1,commission_type = strategy.commission.percent,currency = currency.BTC)

//input date and time
useDateFilter = input.bool(true, title="Filter Date Range of Backtest",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2021"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("1 Jan 2022"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
     
//check date and time option
inTradeWindow =  true
/// plot and indicator
fastEMA = ta.ema(close,12), slowEMA=ta.ema(close,26)
plot(fastEMA,color=color.green,linewidth = 2)
plot(slowEMA,color=color.red,linewidth=2)

//entry when condition
longCondition = ta.crossover(fastEMA,slowEMA)
if (longCondition) and inTradeWindow
    strategy.entry("buy", strategy.long)

if ta.crossunder(ta.ema(close, 12), ta.ema(close, 26)) and inTradeWindow
    strategy.close("buy")
    
// trades and cancel all unfilled pending orders
if not inTradeWindow and inTradeWindow[1]
    strategy.cancel_all()
    strategy.close_all(comment="Date Range Exit")