
Chiến lược này dựa trên tín hiệu giao dịch đa luồng của hai khung thời gian khác nhau. Khi EMA của khung thời gian ngắn hơn giao nhau trên EMA của khung thời gian dài hơn, sẽ tạo ra tín hiệu giao dịch đa luồng; Khi EMA của khung thời gian ngắn hơn giao nhau dưới EMA của khung thời gian dài hơn, sẽ tạo ra tín hiệu giao dịch hẹp. Chiến lược này sử dụng thông tin xu hướng của các khung thời gian khác nhau để xác định xu hướng của khung thời gian dài hơn thông qua khung thời gian ngắn hơn để nắm bắt xu hướng chính của thị trường.
Chiến lược này sử dụng tín hiệu chéo EMA của hai khung thời gian khác nhau để nắm bắt xu hướng thị trường:
Tín hiệu giao chéo EMA của khung thời gian dài hơn (bằng mặc định là 2 giờ) được sử dụng để xác định hướng của xu hướng chính. Khi EMA ngắn hơn (bằng mặc định là 5 chu kỳ) trên EMA dài hơn (bằng mặc định là 20 chu kỳ), cho thấy xu hướng tăng; ngược lại, cho thấy xu hướng giảm.
Tín hiệu giao chéo EMA trong khung thời gian ngắn hơn (bằng cách mặc định là 3 phút) được sử dụng để xác nhận hướng của xu hướng chính và kích hoạt tín hiệu giao dịch. Khi EMA ngắn hơn đi qua EMA dài hơn và khung thời gian dài đang trong xu hướng tăng, tạo ra nhiều tín hiệu; Khi EMA ngắn hơn đi qua EMA dài hơn và khung thời gian dài đang trong xu hướng giảm, tạo ra tín hiệu trống.
Bằng cách kết hợp thông tin xu hướng của hai khung thời gian, chiến lược này có thể tham gia kịp thời khi xu hướng hình thành và xuất hiện kịp thời khi xu hướng đảo ngược để nắm bắt xu hướng chính của thị trường.
Xác định xu hướng hai khung thời gian: Chiến lược này sử dụng thông tin về xu hướng của các khung thời gian khác nhau để xác nhận xu hướng của khung thời gian dài hơn bằng cách sử dụng khung thời gian ngắn hơn, giúp tăng độ tin cậy trong phán đoán xu hướng và giảm tín hiệu sai.
Khả năng theo dõi xu hướng: Chỉ số EMA có khả năng theo dõi xu hướng tốt, có thể phát tín hiệu kịp thời khi xu hướng hình thành, giúp chiến lược tham gia kịp thời.
Tính linh hoạt của tham số: khung thời gian và tham số chu kỳ EMA của chiến lược có thể được điều chỉnh linh hoạt theo đặc điểm thị trường và phong cách giao dịch để phù hợp với các môi trường thị trường khác nhau.
Dễ thực hiện: Chiến lược này có logic rõ ràng, code thực hiện tương đối đơn giản, dễ hiểu và áp dụng.
Rủi ro tối ưu hóa tham số: Hiệu suất của chiến lược phụ thuộc vào sự lựa chọn các tham số như khung thời gian và chu kỳ EMA, thiết lập tham số không đúng cách có thể dẫn đến hiệu suất kém của chiến lược. Do đó, các tham số cần được tối ưu hóa và thử nghiệm để đảm bảo chiến lược hoạt động ổn định trong các môi trường thị trường khác nhau.
Rủi ro thị trường rung động: Trong môi trường thị trường rung động, tín hiệu giao chéo EMA có thể xảy ra thường xuyên, dẫn đến việc chiến lược tạo ra nhiều tín hiệu đọc sai và giao dịch thường xuyên, làm giảm lợi nhuận của chiến lược. Có thể giảm tín hiệu sai trong thị trường rung động bằng cách giới thiệu các điều kiện lọc khác, chẳng hạn như khối lượng giao dịch, biến động.
Rủi ro đảo ngược xu hướng: Khi xu hướng thị trường đột ngột đảo ngược, chiến lược này có thể trì hoãn giao dịch, dẫn đến tổn thất mở rộng. Bạn có thể kiểm soát tổn thất tối đa của một giao dịch bằng cách đặt các điều kiện dừng thích hợp, chẳng hạn như dừng phần trăm cố định hoặc dừng di chuyển.
Tham gia nhiều khung thời gian: Trên cơ sở khung thời gian kép hiện có, có thể đưa ra các tín hiệu chéo EMA của nhiều khung thời gian, chẳng hạn như đường mặt trời, đường vòng tròn, để xác nhận thêm hướng xu hướng và tăng độ tin cậy tín hiệu.
Kết hợp với các chỉ số kỹ thuật khác: Có thể kết hợp các tín hiệu EMA chéo với các chỉ số kỹ thuật khác, chẳng hạn như chỉ số sức mạnh tương đối (RSI), phạm vi thực trung bình (ATR) để cải thiện chất lượng tín hiệu và hiệu quả lọc.
Tối ưu hóa các quy tắc nhập cảnh và xuất cảnh: Các quy tắc nhập cảnh và xuất cảnh có thể được tối ưu hóa, chẳng hạn như chờ một thời gian xác nhận sau khi xảy ra tín hiệu chéo EMA; hoặc thiết lập một vùng đệm nhất định để xuất cảnh lại khi có tín hiệu đảo ngược để giảm tác động của tín hiệu sai.
Tham số điều chỉnh động: có thể điều chỉnh động các tham số chiến lược tùy thuộc vào sự thay đổi của tình trạng thị trường, chẳng hạn như sử dụng chu kỳ EMA dài hơn khi xu hướng rõ ràng; trong thị trường bất ổn, sử dụng chu kỳ EMA ngắn hơn để thích ứng với môi trường thị trường khác nhau.
Chiến lược đa không gian dựa trên tín hiệu giao chéo EMA hai khung thời gian có lợi thế như khả năng theo dõi xu hướng mạnh mẽ, tham số linh hoạt có thể điều chỉnh và dễ thực hiện, nhưng cũng có rủi ro như tối ưu hóa tham số, thị trường dao động và đảo ngược xu hướng. Bằng cách giới thiệu nhiều khung thời gian, kết hợp với các chỉ số kỹ thuật khác, tối ưu hóa các quy tắc vào và ra sân, động thái điều chỉnh tham số, các phương pháp khác, có thể nâng cao hơn nữa hiệu suất và sự ổn định của chiến lược. Trong thực tế, chiến lược cần được tối ưu hóa và điều chỉnh thích hợp để có được kết quả giao dịch tốt hơn, tùy thuộc vào đặc điểm thị trường và phong cách giao dịch cụ thể.
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('EMA Crossover Multi-Timeframe Strategy', shorttitle='EMA Cross MTF', overlay=true)
// Kullanıcı girdileri
inputTimeframe1 = input.timeframe('120', title='Daha Uzun Zaman Dilimi')
inputTimeframe2 = input.timeframe('3', title='Daha Kısa Zaman Dilimi')
inputShortTermEma = input.int(5, title='Kısa Vadeli EMA Periyodu', minval=1)
inputLongTermEma = input.int(20, title='Uzun Vadeli EMA Periyodu', minval=1)
// EMA hesaplamaları
shortTermEma = ta.ema(close, inputShortTermEma)
longTermEma = ta.ema(close, inputLongTermEma)
// Daha uzun zaman dilimi için EMA crossover'larını kontrol et
longHourEma5 = request.security(syminfo.tickerid, inputTimeframe1, shortTermEma)
longHourEma20 = request.security(syminfo.tickerid, inputTimeframe1, longTermEma)
longHourCrossover = longHourEma5>longHourEma20 //ta.crossover(fourHourEma5, fourHourEma20)
longHourCrossunder = longHourEma5< longHourEma20//ta.crossunder(fourHourEma5, fourHourEma20)
// Daha kısa zaman dilimi için EMA crossover'larını kontrol et
shortMinuteEma5 = request.security(syminfo.tickerid, inputTimeframe2, shortTermEma)
shortMinuteEma20 = request.security(syminfo.tickerid, inputTimeframe2, longTermEma)
shortMinuteCrossover = ta.crossover(shortMinuteEma5, shortMinuteEma20)
shortMinuteCrossunder = ta.crossunder(shortMinuteEma5, shortMinuteEma20)
// Alım ve satım sinyalleri
longSignal = longHourCrossover and shortMinuteCrossover
shortSignal = longHourCrossunder and shortMinuteCrossunder
// Sinyalleri çiz
plotshape(series=longSignal, title='Al', location=location.belowbar, color=color.new(color.green, 0), style=shape.labelup, text='AL')
plotshape(series=shortSignal, title='Sat', location=location.abovebar, color=color.new(color.red, 0), style=shape.labeldown, text='SAT')
// Görselleştirme
plot(shortTermEma, "Kısa Vadeli EMA", color=color.rgb(154, 200, 238), linewidth=2)
plot(longTermEma, "Uzun Vadeli EMA", color=color.rgb(61, 32, 165), linewidth=2)
// Strateji
if (longSignal)
strategy.entry("Long", strategy.long, comment="Long1")
// strategy.exit("Exit Long", "Long", stop=longStopPrice, limit=longTargetPrice, comment="Exit Long1")
if (shortSignal)
strategy.entry("Short", strategy.short, comment="Short1")
//strategy.exit("Exit Short", "Short", stop=shortStopPrice, limit=shortTargetPrice, comment="Exit Short2")