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

EMA ATR
Ngày tạo: 2024-05-11 11:31:46 sửa đổi lần cuối: 2024-05-11 11:31:46
sao chép: 0 Số nhấp chuột: 627
1
tập trung vào
1617
Người theo dõi

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

Tổng quan

Chiến lược này sử dụng các chỉ số kỹ thuật như đường trung bình di chuyển chỉ số (EMA), giá cao nhất, giá thấp nhất và đường trung bình thực tế (ATR) để xác định hướng xu hướng hiện tại bằng cách đánh giá mối quan hệ của giá với EMA, giá cao nhất và giá thấp nhất, mua khi giá phá vỡ giá thấp nhất lên, bán khi giá phá vỡ giá cao nhất xuống hoặc chạm mức kháng cự động để nắm bắt xu hướng và thu được lợi nhuận vượt trội.

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

  1. Tính toán ATR, được sử dụng để đo lường sự biến động của thị trường, cung cấp cơ sở để xây dựng các kênh động.
  2. Tính toán giá cao nhất và giá thấp nhất để đánh giá xu hướng.
  3. Tính EMA_HL, tức là giá cao nhất và giá thấp nhất của EMA, làm trục trung tâm của kênh động.
  4. Tính toán EMA_HIGHEST và EMA_LOWEST, tức là trên cơ sở EMA_HL cộng trừ ATR nhân một tỷ lệ nhất định.
  5. Tính toán SELL_LINE, tức là mức kháng động động được nhân với ATR theo tỷ lệ nhất định dựa trên giá cao nhất.
  6. Xác định tín hiệu đa đầu: tạo tín hiệu mua khi EMA_LOWEST phá giá thấp nhất và giá đóng cửa thấp hơn EMA_MID
  7. Xác định tín hiệu trống: Khi EMA_HIGHEST phá vỡ giá cao nhất xuống và giá đóng cửa cao hơn EMA_MID, hoặc khi giá cao nhất chạm SELL_LINE, tạo ra tín hiệu bán.

Chiến lược ưu thế

  1. Dấu hiệu tín hiệu có độ tin cậy cao khi sử dụng EMA, giá cao nhất, giá thấp nhất và các chỉ số tổng hợp để đánh giá xu hướng.
  2. Tham gia ATR như là một tiêu chuẩn để đo lường tỷ lệ biến động, xây dựng các kênh năng động, thích ứng với các tình trạng thị trường khác nhau.
  3. Thiết lập mức kháng cự động của SELL_LINE, khóa lợi nhuận kịp thời và kiểm soát rủi ro rút tiền.
  4. Các tham số có thể điều chỉnh, thích ứng với các giống và chu kỳ khác nhau, có tính phổ biến và linh hoạt.

“Tuy nhiên, chúng tôi vẫn chưa có kế hoạch.

  1. Có thể có sự chậm trễ trong việc nhận diện xu hướng, dẫn đến thời gian nhập cảnh không phù hợp.
  2. Thiết lập tham số không đúng có thể dẫn đến tín hiệu thường xuyên, tăng chi phí giao dịch.
  3. Đối với thị trường chấn động, chiến lược có thể không hoạt động tốt và cần kết hợp với các phương pháp khác.
  4. Trong trường hợp cực đoan, như chuyển đổi đĩa nhanh, chiến lược có thể không hiệu quả, cần thiết phải thiết lập dừng lỗ.

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

  1. Tiếp tục giới thiệu thêm các chỉ số như số lượng giao dịch, tỷ lệ dao động, v.v., làm phong phú chiều hướng phán đoán, tăng tín hiệu tin cậy.
  2. Tối ưu hóa các tham số, chẳng hạn như ATR, chu kỳ EMA, tìm các tham số kết hợp tối ưu, tăng sự ổn định của chiến lược.
  3. Tham gia quản lý vị trí, chẳng hạn như điều chỉnh vị trí theo động thái ATR, kiểm soát lỗ hổng rủi ro đơn.
  4. Thiết lập dừng lỗ và chặn, kiểm soát lỗ tối đa và lợi nhuận tối đa, tăng tỷ lệ lợi nhuận rủi ro.
  5. Kết hợp với các chiến lược khác, chẳng hạn như chiến lược đột phá, chiến lược quay trở lại giá trị trung bình, để tạo ra một danh mục chiến lược, cải thiện sự ổn định tổng thể.

Tóm lại Chiến lược này sử dụng các chỉ số kỹ thuật như EMA, giá cao nhất, giá thấp nhất, kết hợp với ATR để xây dựng các kênh động, tạo ra tín hiệu giao dịch bằng cách phá vỡ giá cao nhất và giá thấp nhất để nắm bắt xu hướng. Đây là một chiến lược theo dõi xu hướng thực tế đơn giản. Các tham số chiến lược có thể điều chỉnh, thích ứng và linh hoạt, nhưng có thể hoạt động kém trong thị trường xung đột, cần được tối ưu hóa và cải thiện hơn nữa bằng cách giới thiệu nhiều chỉ số, tối ưu hóa tham số, thêm kiểm soát gió.

Mã nguồn chiến lược
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Maboi_q

//@version=5
strategy("buy sell Trend", overlay=true)

atr_length = input.int(defval=14, title='atr length')
highest_length = input.int(defval=60, title='highest length')
highest_s_length = input.int(defval=60, title='sell highest length')
lowest_length = input.int(defval=30, title='lowest length')
sell_l_length = input.int(defval=55, title='sell line length')

f = 2.382
f2 = 5.618

atr = ta.atr(atr_length)
highest = ta.highest(highest_length)
lowest = ta.lowest(lowest_length)

f_atr = atr * f
ema_hl = ta.ema((highest[1] + lowest[1]) / 2, 14)
ema_highest = ema_hl + f_atr
ema_lowest = ema_hl - f_atr
ema_mid = (ema_highest + ema_lowest) / 2

bs_hi = ta.highest(highest_s_length)
f_atr2 = atr * f2
sell_line = ta.ema(bs_hi[1] + f_atr2, sell_l_length)

buy_cond = ta.crossover(ema_lowest, lowest) and close < ema_mid
sell_cond = (ta.crossunder(ema_highest, highest) and close > ema_mid) or high >= sell_line

if buy_cond
    strategy.entry('BUY', strategy.long)

if sell_cond
    strategy.entry('SELL', strategy.short)


plot(sell_line, color=color.new(color.maroon, 50))
plot(highest, color=color.new(color.red, 50))
plot(lowest, color=color.new(color.green, 50))
plot(ema_highest, color=color.new(color.blue, 50))
// plot(ema_mid, color=color.new(color.gray, 50))
plot(ema_lowest, color=color.new(color.blue, 50))

plotshape(buy_cond, title='buy', style=shape.triangleup, location=location.belowbar, 
 color=color.green, textcolor=color.green, size=size.tiny)

plotshape(sell_cond, title='sell', style=shape.triangledown, location=location.abovebar, 
 color=color.red, textcolor=color.red, size=size.tiny)