
Chiến lược này sử dụng chiến lược mà Larry Williams giải thích trong cuốn sách của ông về giao dịch ngắn hạn dài hạn và bí mật, sử dụng hai đường trung bình di chuyển 3 giai đoạn, một đại diện cho điểm cao và một đại diện cho điểm thấp. Khi giá thấp hơn đường trung bình di chuyển 3 giai đoạn, chúng tôi có một tín hiệu dài.
Lập luận cốt lõi của chiến lược là tính toán trung bình di chuyển 3 giai đoạn của các điểm cao thấp. Cụ thể, nó sử dụng hàm ta.ema để tính toán các điểm cao và thấp nhất trong 3 bar để tạo ra các mức hỗ trợ và kháng cự động. Khi giá giảm xuống mức trung bình thấp, cho thấy hiện tại đang ở mức giảm, vì vậy chúng tôi có thể làm nhiều hơn; khi giá trở lại trên mức trung bình cao, cho thấy xu hướng tăng đã kết thúc, chúng tôi sẽ thanh toán.
Ưu điểm lớn nhất của chiến lược này là tính đơn giản và động. So với đường trung bình cao, thấp trong một chu kỳ truyền thống, chiến lược này sử dụng trung bình di chuyển ngắn hạn được tính toán liên tục, có thể nhạy cảm hơn và kịp thời hơn với sự thay đổi giá. Điều này cho phép nó nhanh chóng xác định điểm mua và bán để vào và ra khỏi thị trường. Ngoài ra, khối lượng tính toán nhỏ là một lợi thế khác của nó, có lợi cho việc giảm chậm trễ giao dịch.
Rủi ro chính của chiến lược này là nó phản ứng chậm với các sự kiện bất ngờ như các sự kiện tin tức lớn. Do chu kỳ trung bình di chuyển của nó rất ngắn, nó cần một thời gian nhất định để điều chỉnh vị trí của đường trung bình khi có biến động mạnh trong giá. Điều này có thể dẫn đến tổn thất hoặc bỏ lỡ cơ hội. Ngoài ra, quá nhạy cảm cũng có thể dẫn đến giao dịch sai. Để giảm các rủi ro này, chúng ta có thể kéo dài đúng số chu kỳ của đường trung bình di chuyển hoặc thêm điều kiện lọc để tránh tín hiệu sai.
Chiến lược này có rất nhiều không gian để tối ưu hóa. Thứ nhất, chúng ta có thể kết hợp các chỉ số khác như chỉ số dao động để lọc, làm cho tín hiệu đáng tin cậy hơn. Thứ hai, chúng ta cũng có thể thêm logic dừng để kiểm soát rủi ro.
Chiến lược này nói chung rất đơn giản và thực tế, thông qua đường trung bình ngắn hạn của điểm cao thấp để đánh giá xu hướng. Ưu điểm của nó là năng động, tính toán nhỏ, thời gian thực cao, phù hợp với giao dịch thường xuyên. Nhưng cũng có vấn đề về phản ứng bất ngờ không nhạy cảm và tỷ lệ lỗi tín hiệu cao. Những vấn đề này có hướng cải thiện và tối ưu hóa, hiệu quả của chiến lược có thể được nâng cao hơn nữa bằng cách điều chỉnh tham số, điều kiện lọc và nhận dạng mô hình.
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(
"Larry Williams 3 Period EMAs strategy",
overlay=true,
calc_on_every_tick=true,
currency=currency.USD
)
// Time range for backtesting
startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year", defval=2018, minval=1800, maxval=2100)
endDate = input.int(title="End Date", defval=31, minval=1, maxval=31)
endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12)
endYear = input.int(title="End Year", defval=2041, minval=1800, maxval=2100)
inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and
(time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
// EMA
period = 3
emaH = ta.ema(high, period)
emaL = ta.ema(low, period)
// PLOT:
// Draw the EMA lines on the chart
plot(series=emaH, color=color.green, linewidth=2)
plot(series=emaL, color=color.red, linewidth=2)
// Conditions
if(inDateRange and close < emaL)
strategy.entry("Long", strategy.long, comment="Long")
if(close > emaH)
strategy.close("Long", comment="Close Long")
// Uncomment to enable short entries
//if(inDateRange and close > emaH)
// strategy.entry("Short", strategy.short, comment="Short")
//if(close < emaL)
// strategy.close("Short", comment="Close Short")