Chiến lược giao cắt vàng EMA kép


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

Chiến lược giao cắt vàng EMA kép

Tổng quan

Chiến lược giao chéo vàng EMA kép là một chiến lược theo dõi xu hướng điển hình. Chiến lược này sử dụng hai đường trung bình EMA của hai chu kỳ khác nhau để tạo ra tín hiệu mua và bán dựa trên hình dạng giao chéo của chúng. Khi EMA chu kỳ ngắn đi qua EMA chu kỳ dài, tạo ra tín hiệu mua; Khi EMA chu kỳ ngắn đi qua EMA chu kỳ dài, tạo ra tín hiệu bán.

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

Chiến lược này bao gồm:

  1. Cài đặt độ dài của EMA đường nhanh và EMA đường chậm. Ở đây độ dài của EMA đường nhanh là 12 và độ dài của EMA đường chậm là 26.

  2. Tính toán EMA đường nhanh và EMA đường chậm. EMA đường nhanh phản ứng nhanh hơn, EMA đường chậm phản ứng ổn định hơn.

  3. Xác định tình trạng giao chéo của EMA, tạo ra tín hiệu giao dịch. Khi đường thẳng EMA trên đường chậm EMA, tạo ra tín hiệu mua; Khi đường thẳng EMA dưới đường chậm EMA, tạo ra tín hiệu bán.

  4. Theo tín hiệu vào cửa. Khi thực hiện quá nhiều, nếu có vị trí giảm giá ngược, trước tiên xóa vị trí giảm giá, sau đó mở thêm vị trí.

  5. Thiết lập điểm dừng lỗ. Khi làm nhiều hơn, nếu giá giảm trước khi giảm, một tỷ lệ nhất định sẽ bị dừng.

  6. Theo tín hiệu ra sân. Khi đi qua đường dài EMA dưới đường nhanh, bạn sẽ đánh giá nhiều vé. Khi đi qua đường dài EMA trên đường nhanh, bạn sẽ đánh giá vé trống.

Chiến lược này đơn giản và rõ ràng, theo hướng và cường độ của xu hướng được đánh giá thông qua sự giao thoa của hai đường EMA, có thể theo dõi xu hướng một cách hiệu quả. EMA đường nhanh nhạy cảm với biến động giá ngắn hạn, EMA đường chậm ổn định hơn đối với phản ứng xu hướng dài hạn.

Phân tích lợi thế chiến lược

Chiến lược này có những ưu điểm sau:

  1. Khái niệm này đơn giản, dễ hiểu và thực hiện. EMA và crossover là các chỉ số và tín hiệu kỹ thuật được công nhận có hiệu quả.

  2. Có thể theo dõi hiệu quả các xu hướng đường dài và bắt kịp các cơ hội xu hướng.

  3. Với thiết lập EMA kép, bạn có thể tránh bị nhiễu bởi tiếng ồn thị trường ngắn hạn.

  4. Có quy tắc nhập cảnh, xuất cảnh và dừng lỗ rõ ràng, không có trường hợp đặt cược quá nặng.

  5. Chỉ cần một số ít tham số, không dễ dàng tối ưu hóa quá mức. Điều chỉnh tham số đơn giản, phù hợp với người mới học.

  6. Kết quả phản hồi tốt, có giá trị thực chiến. Nó có thể được sử dụng độc lập hoặc kết hợp với các chiến lược khác.

Phân tích rủi ro chiến lược

Chiến lược này cũng có một số rủi ro:

  1. Giao tiếp EMA đôi dễ gây ra tín hiệu sai và giao tiếp thường xuyên. Các tham số nên được điều chỉnh thích hợp, lọc các tín hiệu không hiệu quả.

  2. Không thể đối phó tốt với các vùng chấn động và sự đảo ngược xu hướng. Các chỉ số khác cần được xác nhận.

  3. Chiến lược EMA đôi dễ theo đuổi giá cao và giá thấp, nên kiểm soát kích thước vị trí thích hợp, hoặc đặt lệnh dừng lỗ.

  4. Đường cong phản hồi có thể có một mức độ quá phù hợp. Cần thử nghiệm độ nhạy tham số để đánh giá tính ổn định.

  5. Không dừng lỗ kịp thời có thể dẫn đến tổn thất lớn. Cần thiết lập vị trí dừng lỗ hợp lý.

  6. Chi phí giao dịch có thể ảnh hưởng đến lợi nhuận thực tế.

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

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

  1. Tối ưu hóa tham số EMA chu kỳ, tìm các tổ hợp tham số tối ưu. Có thể giới thiệu các phương pháp tối ưu hóa bước và học máy.

  2. Thêm bộ lọc xu hướng, chẳng hạn như chỉ số ADX, CCI, để tránh giao dịch sai khi không chắc chắn về xu hướng.

  3. Tăng các chỉ số năng lượng như khối lượng giao dịch, dòng năng lượng, để đảm bảo có sự thúc đẩy giao dịch thực sự.

  4. Thiết lập cơ chế dừng lỗ động, có thể tự động điều chỉnh vị trí dừng lỗ theo biến động của thị trường.

  5. Kết hợp với các giống có liên quan để điều chỉnh rủi ro bằng cách sử dụng sự liên quan của giống.

  6. Thêm các thuật toán học máy, sử dụng AI để tối ưu hóa tham số, kỹ thuật tính năng, lọc tín hiệu.

  7. Xem xét các yếu tố chi phí giao dịch, điều chỉnh điểm dừng lỗ và kích thước vị trí, giảm tần suất giao dịch.

  8. Thiết kế tham số cho các đặc điểm của các giống khác nhau, làm cho chiến lược thích ứng hơn.

  9. Thiết kế khung chiến lược tổng hợp, kết hợp với các chiến lược khác để tăng sự ổn định.

Thông qua các tối ưu hóa này, chiến lược có thể được hoàn thiện và ổn định hơn, để có được lợi nhuận bền vững và ổn định hơn trong giao dịch thực tế.

Tóm tắt

Chiến lược này sử dụng hai EMA giao nhau để tạo ra tín hiệu giao dịch, có thể theo dõi hiệu quả xu hướng đường dài. Ưu điểm của chiến lược là đơn giản, dễ sử dụng, hiệu quả tốt, phù hợp để người mới học sử dụng. Nhưng cũng có một số rủi ro, cần chú ý phòng ngừa.

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

//@version=2

strategy(title = "EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")

window() => time >=  timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false

stopLoss = input(20, title = "Stop loss percentage(0.1%)")


maFastSource   = input(defval = open, title = "Fast MA Source")
maFastLength   = input(defval = 12, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource   = input(defval = open, title = "Slow MA Source")
maSlowLength   = input(defval = 26, title = "Slow MA Period", minval = 1)

maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)


fast = plot(maFast, title = "Fast MA", color = #7a8598, linewidth = 2, style = line, transp = 50)
slow = plot(maSlow, title = "Slow MA", color = #e08937, linewidth = 2, style = line, transp = 50)


longEMA = crossover(maFast, maSlow)
exitLong = crossunder(maFast, maSlow)

shortEMA = crossover(maSlow, maFast)
exitShort = crossover(maFast, maSlow)


if (longEMA)
    strategy.entry("LongId", strategy.long, when=window())
 
if (shortEMA)
    strategy.entry("ShortId", strategy.short, when=window())


if (UseStopLoss)
    strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
    strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)