
Chiến lược này là một chiến lược giao dịch quyền chọn ngắn dựa trên sự giao thoa của đường trung bình di chuyển chỉ số (EMA) và đường trung bình di chuyển (MA) để tạo ra tín hiệu giao dịch. Khi EMA nhanh vượt qua MA chậm, nó tạo ra tín hiệu mua; khi EMA nhanh vượt qua MA chậm, nó tạo ra tín hiệu bán.
Chiến lược này được tính toán bằng hai tham số khác nhau là EMA và MA, một là EMA nhanh và một là MA chậm. Tham số EMA nhanh được đặt là 50, tham số MA chậm là 100. Chỉ số trung bình di chuyển EMA phản ứng nhanh hơn với biến động giá, trong khi trung bình di chuyển đơn giản MA phản ứng chậm hơn.
Khi giá tăng trong ngắn hạn, EMA nhanh sẽ vượt lên trước khi MA chậm, tạo ra tín hiệu mua. Điều này cho thấy tâm lý lạc quan trong ngắn hạn của thị trường tăng lên, bạn có thể cân nhắc mua hoặc mua quyền chọn lạc quan.
Khi giá giảm trong ngắn hạn tăng tốc, EMA nhanh sẽ tạo ra tín hiệu bán trước khi MA chậm phá vỡ xuống. Điều này cho thấy tâm trạng giảm giá trong ngắn hạn của thị trường tăng lên, bạn có thể cân nhắc bán hoặc mua quyền chọn giảm giá.
Các giao dịch tùy chọn có thể được thực hiện một cách kịp thời để nắm bắt các biến động giá ngắn hơn.
Chiến lược này có những lợi thế chính như sau:
Phản ứng nhanh chóng, có thể nắm bắt được biến động giá đường ngắn kịp thời. Thông qua tín hiệu hình thành chéo của EMA nhanh và MA chậm, nhanh chóng phát hiện ra sự thay đổi giảm giá ngắn hạn.
Đơn giản, dễ thực hiện. Chỉ cần quan sát sự giao nhau của hai đường trung bình di chuyển, không cần tính toán phức tạp.
Có thể giao dịch tùy chọn hoặc cổ phiếu chính xác. Bạn có thể mua quyền chọn giảm giá, bán quyền chọn giảm giá theo tín hiệu, hoặc trực tiếp mua hoặc bán cổ phiếu chính xác.
Rủi ro có thể kiểm soát được, cơ chế dừng lỗ rõ ràng.
Chiến lược này cũng có một số rủi ro cần lưu ý:
Có thể có nguy cơ tín hiệu sai và biến động của thị trường. EMA / MA có thể bị dao động chéo nhiều lần, khiến giao dịch thường xuyên mở lỗ, tăng chi phí giao dịch và khó thực hiện.
Khi thị trường lớn tiếp tục yếu, nó dễ bị thua lỗ. Chiến lược chủ yếu là nắm lấy đường ngắn, trong trường hợp thị trường tiếp tục giảm, dừng lỗ có thể được kích hoạt thường xuyên.
Cần chú ý đến nguy cơ biến động bất thường của giá cổ phiếu do sự kiện lớn. Khi sự kiện lớn xảy ra, giá cổ phiếu có thể biến động bất thường, dẫn đến việc phá vỡ mức dừng hoặc tạo ra tổn thất lớn. Điều này cần được xem xét đầy đủ về việc sử dụng chiến lược giao dịch trong giai đoạn này.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Điều chỉnh dừng dựa trên tỷ lệ biến động. Sử dụng dừng động, điều chỉnh tỷ lệ dừng theo biến động giá cổ phiếu trong thời gian thực. Giảm khả năng dừng bị ảnh hưởng.
Tích hợp nhiều EMA theo chu kỳ thời gian, ví dụ như tham gia EMA theo đường mặt trời và đường tròn, để xác định xu hướng chu kỳ lớn và tránh giao dịch ngược.
Bộ lọc chỉ số RSI. Thêm chỉ số RSI để đánh giá khu vực quá mua quá bán, lọc một số tín hiệu tiếng ồn.
Dự báo tỷ lệ biến động của máy học. Sử dụng mô hình học sâu như LSTM để dự đoán tỷ lệ biến động và rủi ro của giá cổ phiếu, điều chỉnh động lực giữ và dừng lỗ.
Chiến lược giao chéo đường ngắn EMA / MA, thông qua giao chéo đường EMA nhanh và đường MA chậm để đánh giá xu hướng giá ngắn hạn và tâm trạng thị trường, có thể phản ứng nhanh với sự thay đổi giá, kịp thời nắm bắt cơ hội giao dịch đường ngắn. Chiến lược thực hiện đơn giản, nhưng cũng có một số tín hiệu tiếng ồn và rủi ro mất mát liên tục. Có thể nâng cấp bằng cách tối ưu hóa dừng lỗ, tích hợp nhiều chu kỳ thời gian, lọc RSI và học máy, trong khi kiểm soát rủi ro, tăng lợi nhuận chiến lược.
/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Backtest single EMA cross", overlay=true)
qty = input(100000, "Buy quantity")
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testStartMin = input(0, "Backtest Start Minute")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, testStartMin)
testStopYear = input(2099, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ?
#00FF00 : na
testPeriod() => true
ema1 = input(50, title="Select EMA 1")
ema2 = input(100, title="Select EMA 2")
expo = ema(close, ema1)
ma = ema(close, ema2)
avg_1 = avg(expo, ma)
s2 = cross(expo, ma) ? avg_1 : na
//plot(s2, style=plot.style_line, linewidth=3, color=color.red, transp=0)
p1 = plot(expo, color=#00FFFF, linewidth=2, transp=0)
p2 = plot(ma, color=color.orange, linewidth=2, transp=0)
fill(p1, p2, color=color.white, transp=80)
longCondition = crossover(expo, ma)
shortCondition = crossunder(expo, ma)
exitlongCondition = crossunder(expo, ma)
exitshortCondition = crossover(expo, ma)
if testPeriod()
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
plotshape(longCondition, title = "Buy Signal", text ="BUY", textcolor = #FFFFFF , style=shape.labelup, size = size.normal, location=location.belowbar, color = #1B8112, transp = 0)
plotshape(shortCondition, title = "Sell Signal", text ="SELL", textcolor = #FFFFFF, style=shape.labeldown, size = size.normal, location=location.abovebar, color = #FF5733, transp = 0)