
Chiến lược này sử dụng giá mở và giá đóng của ngày trước, và sự kết hợp của EMA đường nhanh và EMA đường chậm, trong khoảng thời gian giao dịch được xác định bởi người dùng, để đánh giá hướng giá trị của thị trường và thực hiện các hoạt động mua hoặc bán phù hợp. Đồng thời, chiến lược sử dụng theo dõi dừng để khóa lợi nhuận hoặc hạn chế tổn thất.
Chiến lược này định hướng giá trị của giá vàng dựa trên hai điểm:
Nếu giá đóng cửa cao hơn giá mở cửa, nghĩa là tổng giá trị ngày tăng; nếu giá đóng cửa thấp hơn giá mở cửa, nghĩa là tổng giá trị ngày giảm.
Mức EMA nhanh 50 chu kỳ và vị trí của EMA chậm 200 chu kỳ. Nếu đường nhanh nằm trên đường chậm, nghĩa là tốc độ tăng giá ngắn hạn lớn hơn xu hướng dài hạn; Nếu đường nhanh nằm dưới đường chậm, nghĩa là tốc độ tăng giá ngắn hạn nhỏ hơn xu hướng dài hạn.
Trong điều kiện giao dịch nhiều, chiến lược giao dịch nhiều tiền nếu giá đóng cửa ngày trước cao hơn giá mở cửa, giá hiện tại cao hơn giá mở cửa ngày trước, và EMA đường nhanh cao hơn EMA đường chậm, và trong thời gian giao dịch được định nghĩa bởi người dùng.
Trong trường hợp thỏa mãn điều kiện làm giảm giá, nếu giá đóng cửa ngày trước thấp hơn giá mở cửa, giá hiện tại thấp hơn giá mở cửa ngày trước, và EMA đường nhanh thấp hơn EMA đường chậm, và trong thời gian giao dịch được định nghĩa bởi người dùng, thì chiến lược làm giảm giá.
Ngoài ra, chiến lược sử dụng tracking stop loss để khóa lợi nhuận hoặc hạn chế tổn thất. Khoảng cách tracking stop loss được điều chỉnh theo khoảng cách ban đầu và bước di chuyển mà người dùng đặt.
Chiến lược này có những lợi thế sau:
Sử dụng nhiều chỉ số để đánh giá giá trị của giá vàng, giảm khả năng giao dịch sai.
Theo dõi dừng lỗ có thể khóa lợi nhuận hiệu quả, dừng lỗ kịp thời khi thị trường đảo ngược, giảm rủi ro.
Người dùng có thể lựa chọn các khu vực giao dịch phù hợp với thời gian giao dịch của họ, tránh bị giam giữ trong thời gian hoạt động của tổ chức.
Giá trị chu kỳ của EMA có thể được điều chỉnh và tối ưu hóa theo sự thay đổi của thị trường, giúp chiến lược trở nên linh hoạt hơn.
Chiến lược này cũng có những rủi ro:
Trong trường hợp xảy ra sự cố bất ngờ, chiến lược có thể gây ra tổn thất lớn hơn. Điều này đòi hỏi sự can thiệp của con người hoặc thiết lập khoảng cách dừng lỗ lỏng lẻo hơn.
EMA không hoàn toàn có thể lọc tiếng ồn thị trường. Khi EMA tạo ra tín hiệu sai, nó sẽ gây ra giao dịch không cần thiết. Các tham số EMA có thể được tối ưu hóa thích hợp hoặc thêm các chỉ số lọc khác.
Việc thiết lập khoảng cách dừng theo dõi không đúng cũng làm tăng nguy cơ. Quá gần có thể dễ bị dừng; quá xa không thể kiểm soát hiệu quả tổn thất. Cần thử nghiệm để xác định các tham số tối ưu.
Chiến lược này cũng có thể được tối ưu hóa theo các khía cạnh sau:
Thêm các tín hiệu lọc chỉ số kỹ thuật khác, chẳng hạn như MACD, Bollinger Bands, để giảm khả năng tín hiệu sai của EMA.
Thay đổi Tracking Stop thành Adaptive Stop, thông minh điều chỉnh khoảng cách Stop theo biến động của thị trường.
Thêm mô-đun quản lý vị trí, cho phép phân chia vị trí để kiểm soát rủi ro, giảm tác động của tổn thất đơn lẻ.
Thêm mô hình học máy để đánh giá xu hướng, sử dụng nhiều dữ liệu lịch sử hơn để tăng độ chính xác.
Lựa chọn thời gian giao dịch tối ưu hóa, kết hợp với phân phối bình thường các khu vực giao dịch có sự tham gia chiến lược lựa chọn cao hơn.
Chiến lược này nói chung là một chiến lược theo xu hướng điển hình. Nó kết hợp nhiều chỉ số để xác định xu hướng tăng giá và giảm giá trị, thuộc loại chiến lược vững chắc hơn. Việc sử dụng theo dõi dừng cũng giúp nó kiểm soát tổn thất hiệu quả. Bằng cách liên tục tối ưu hóa các chỉ số và quy tắc dừng, chiến lược có thể đạt được sự cân bằng tốt hơn giữa lợi nhuận và kiểm soát rủi ro.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("My Strategy", overlay=true)
// Inputs for user to modify
startHour = input(11, title="Start Hour")
endHour = input(16, title="End Hour")
trailingStop = input(100, title="Trailing Stop Start (pips)")
trailingStep = input(10, title="Trailing Step (pips)")
// Define the EMAs
longEma = ema(close, 200)
shortEma = ema(close, 50)
// Calculate daily open, high, low, close
daily_open = security(syminfo.tickerid, "D", open[1])
daily_close = security(syminfo.tickerid, "D", close[1])
// Time conditions
timeAllowed = (hour >= startHour) and (hour <= endHour)
// Define long condition based on your criteria
longCondition = (daily_close > daily_open) and (close > daily_open) and (shortEma > longEma) and timeAllowed
// Define short condition based on your criteria
shortCondition = (daily_close < daily_open) and (close < daily_open) and (shortEma < longEma) and timeAllowed
// Enter the trade
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Trailing Stop Loss
strategy.exit("Exit Long", "Long", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)
strategy.exit("Exit Short", "Short", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)
// Plotting
plot(daily_open, color=color.red, title="Daily Open")
plot(longEma, color=color.blue, title="200 EMA")
plot(shortEma, color=color.orange, title="50 EMA")