Xu hướng chéo đa EMA theo chiến lược

Tác giả:ChaoZhang, Ngày: 2024-01-04 16:22:07
Tags:

img

Tổng quan

Chiến lược theo xu hướng chéo đa EMA kết hợp nhiều đường EMA với các thông số khác nhau để xác định hướng xu hướng dựa trên các tín hiệu chéo, nhằm theo dõi xu hướng trên thị trường. Nó sử dụng 7 đường EMA, bao gồm các giai đoạn 12, 26, 50, 100, 200, 89 và 144, bằng cách so sánh tình huống chéo của chúng.

Chiến lược logic

EMA là một phương pháp giao dịch giá trị trung bình (EMA) được sử dụng trong các thị trường thị trường thị trường thị trường thị trường thị trường thị trường thị trường thị trường thị trường thị trường thị trường.

Chiến lược này theo dõi 7 nhóm giao thoa EMA đồng thời, bao gồm 12&26, 12&50, 12&100, 12&200, 12&89 và 12&144. Ví dụ, khi EMA 12 ngày vượt qua trên EMA 26 ngày, chiến lược sẽ mở một vị trí dài. Nó sẽ đóng vị trí dài khi giao thoa chết xảy ra.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là khả năng nắm bắt xu hướng trên nhiều khung thời gian. Bằng cách kết hợp nhiều EMA, nó có thể xác định cả xu hướng ngắn hạn và dài hạn, nhận ra xu hướng theo dõi nhiều khung thời gian. Ngoài ra, hiệu suất chiến lược có thể được tối ưu hóa bằng cách điều chỉnh các tham số EMA.

Phân tích rủi ro

Rủi ro chính của chiến lược này là các tín hiệu chéo quá thường xuyên khi sử dụng nhiều EMA cùng nhau. Ví dụ, các dấu hiệu chéo giữa các đường EMA 12 ngày và 26 ngày xảy ra thường xuyên hơn so với các đường giữa 12 ngày và 200 ngày. Các bước vào và ra thường xuyên có thể làm tăng chi phí giao dịch và trượt. Ngoài ra, EMA có tính chất chậm trễ, có thể gây ra các tín hiệu giao dịch không kịp thời.

Để giảm thiểu rủi ro, thời gian EMA có thể được tối ưu hóa để kiểm soát tần suất chéo ở mức thích hợp.

Hướng dẫn cải thiện

Không gian tối ưu hóa chính nằm trong việc điều chỉnh các thông số EMA, chẳng hạn như thử nghiệm nhiều kết hợp thời gian hơn hoặc thử các đường trung bình động khác như SMA. Các bộ lọc bổ sung cũng có thể được thêm để cải thiện chất lượng tín hiệu, ví dụ như chỉ số khối lượng hoặc biến động. Hơn nữa, các chiến lược dừng lỗ có thể được sử dụng để giảm tác động của biến động thị trường.

Kết luận

Chiến lược theo dõi xu hướng chéo đa EMA xác định hướng xu hướng bằng cách so sánh các tình huống chéo giữa nhiều EMA, nắm bắt xu hướng trên các khung thời gian. Ưu điểm của nó là tính linh hoạt để điều chỉnh các thông số và bắt các xu hướng ở các cấp độ khác nhau.


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMA Trades", overlay=true, pyramiding=4)

src = input(close, title="Source")

shortestLine = input(12, minval=1, title="Shortest Line")
shorterLine = input(26, minval=1, title="Shorter Line")
shortLine = input(50, minval=1, title="Short Line")
middleLine = input(100, minval=1, title="Middle Line")
longLine = input(200, minval=1, title="Long Line")
longerLine = input(89, minval=1, title="Longer Line")
longestLine = input(144, minval=1, title="Longest Line")

shortestLineOutput = ema(src, shortestLine)
shorterLineOutput = ema(src, shorterLine)
shortLineOutput = ema(src, shortLine)
middleLineOutput = ema(src, middleLine)
longLineOutput = ema(src, longLine)
longerLineOutput = ema(src, longerLine)
longestLineOutput = ema(src, longestLine)

//plot(shortestLineOutput, title="Shortest EMA", color=#ffffff)
//plot(shorterLineOutput, title="Shorter EMA", color=#e54fe6)
//plot(shortLineOutput, title="Short EMA", color=#4e6bc3)
//plot(middleLineOutput, title="Middle EMA", color=#1dd6d8)
//plot(longLineOutput, title="Long EMA", color=#d0de10)
//plot(longerLineOutput, title="Longer EMA", color=#ef6a1a)
//plot(longestLineOutput, title="Longest EMA", color=#ff0e0e)

longEnrtyCondition_1 = crossover(shortestLineOutput[1], shorterLineOutput[1]) and shortestLineOutput > shorterLineOutput
longEntryCondition_2 = crossover(shortestLineOutput[1], shortLineOutput[1]) and shortestLineOutput > shortLineOutput
longEnrtyCondition_3 = crossover(shortestLineOutput[1], middleLineOutput[1]) and shortestLineOutput > middleLineOutput
longEntryCondition_4 = crossover(shortestLineOutput[1], longLineOutput[1]) and shortestLineOutput > longLineOutput

shortEnrtyCondition_1 = crossunder(shortestLineOutput[1], shorterLineOutput[1]) and shortestLineOutput < shorterLineOutput
shortEntryCondition_2 = crossunder(shortestLineOutput[1], shortLineOutput[1]) and shortestLineOutput < shortLineOutput
shortEnrtyCondition_3 = crossunder(shortestLineOutput[1], middleLineOutput[1]) and shortestLineOutput < middleLineOutput
shortEntryCondition_4 = crossunder(shortestLineOutput[1], longLineOutput[1]) and shortestLineOutput < longLineOutput

if (longEnrtyCondition_1)
    strategy.entry("Buy1", strategy.long)
    strategy.exit("Sell1")

if (longEntryCondition_2)
    strategy.entry("Buy2", strategy.long)
    strategy.exit("Sell2")

if (longEnrtyCondition_3)
    strategy.entry("Buy3", strategy.long)
    strategy.exit("Sell3")

if (longEntryCondition_4)
    strategy.entry("Buy4", strategy.long)
    strategy.exit("Sell4")

if (shortEnrtyCondition_1)
    strategy.entry("Sell1", strategy.short)
    strategy.exit("Buy1")

if (shortEntryCondition_2)
    strategy.entry("Sell2", strategy.short)
    strategy.exit("Buy2")

if (shortEnrtyCondition_3)
    strategy.entry("Sell3", strategy.short)
    strategy.exit("Buy3")

if (shortEntryCondition_4)
    strategy.entry("Sell4", strategy.short)
    strategy.exit("Buy4")

Thêm nữa