Chiến lược này dựa trên các chỉ số động lực của kênh hình chữ nhật và đường trung bình động kép, thực hiện một hệ thống giao dịch chứng khoán tương đối hoàn chỉnh. Chiến lược này đầu tiên sử dụng EMA nhanh và EMA chậm để xây dựng các tín hiệu giao dịch trung bình động kép. Sau đó, kết hợp với chỉ số kênh hình chữ nhật, nó xác minh thêm các tín hiệu giao dịch để đạt được mục nhập chính xác hơn. Ngoài ra, chiến lược cũng sử dụng chỉ số SAR để giúp đánh giá hướng xu hướng.
Tính toán các đường trung bình động của EMA nhanh với thời gian 5 ngày và EMA chậm với thời gian 50 ngày.
Chuyển đổi EMA thành TEMA (Triple Exponential Moving Average), sử dụng phương pháp tính toán cân TEMA
Khi TEMA nhanh vượt qua trên TEMA chậm, một tín hiệu mua được tạo ra; khi TEMA nhanh vượt qua dưới TEMA chậm, một tín hiệu bán được tạo ra.
Tính toán chiều rộng kênh giá để hình thành các khu vực kênh. Các tín hiệu giao dịch chỉ được xem xét khi giá vượt qua kênh. Điều này có thể lọc các tín hiệu sai và xác minh sự khởi đầu thực sự của một xu hướng.
Chỉ số SAR xác định hướng xu hướng tổng thể, kết hợp với các tín hiệu giao dịch trung bình động kép, có thể tránh các hoạt động đảo ngược không cần thiết.
Sự kết hợp của đường chéo trung bình động kép và đột phá kênh có thể xác định hiệu quả sự khởi đầu của một xu hướng, lọc tiếng ồn và làm cho tín hiệu mua và bán chính xác và đáng tin cậy hơn.
Đường cong TEMA nhạy cảm hơn đường cong EMA và có thể nắm bắt sự thay đổi giá nhanh hơn.
Sự kết hợp của nhiều chỉ số có thể tạo thành một cơ chế xác minh giữa các chỉ số để tránh những hạn chế của một chỉ số duy nhất và làm cho chiến lược toàn diện và vững chắc hơn.
Các thông số chiến lược linh hoạt, chu kỳ EMA, chiều rộng kênh, vv có thể được điều chỉnh và tối ưu hóa theo điều kiện thị trường để thích nghi mạnh mẽ.
Có khả năng biến động mạnh mẽ trong giá cổ phiếu trong ngắn hạn, có thể dễ dàng kích hoạt dừng lỗ.
Các sự kiện đột ngột có thể gây ra khoảng cách giá mà không thể giao dịch ở mức giá dự kiến.
Đường chéo trung bình động kép không thể tránh hoàn toàn tín hiệu sai, vẫn có một tỷ lệ đánh giá sai nhất định.
Cài đặt tham số không chính xác có thể dẫn đến tín hiệu giao dịch quá thường xuyên hoặc chậm.
Nhiều chỉ số như KD và MACD có thể được kết hợp để xác minh để làm cho chiến lược toàn diện và đáng tin cậy hơn.
Các chu kỳ động có thể được thiết lập để điều chỉnh các tham số của EMA và kênh theo mức độ biến động của thị trường, làm cho chiến lược linh hoạt hơn.
Các mô hình học máy có thể được thiết lập để đào tạo một lượng lớn dữ liệu lịch sử để tự động tối ưu hóa cài đặt tham số và giảm can thiệp thủ công.
Phân tích văn bản và đánh giá tình cảm tin tức có thể được kết hợp để tránh giao dịch không cần thiết khi tin tức lớn được phát hành.
Chiến lược này tạo ra các tín hiệu giao dịch thông qua chéo trung bình di chuyển TEMA nhanh chậm, và sau đó xác minh chúng bằng kênh giá và chỉ số SAR, có thể xác định hiệu quả sự khởi đầu của xu hướng giá cổ phiếu và thực hiện các hoạt động mua và bán ở các vị trí hợp lý. Sự kết hợp của nhiều chỉ số để xác minh lẫn nhau có thể cải thiện độ tin cậy của tín hiệu và là một chiến lược giao dịch chứng khoán tương đối mạnh mẽ và hiệu quả. Bằng cách liên tục tối ưu hóa cài đặt tham số, thêm các chỉ số xác minh mới, v.v., hiệu quả của chiến lược có thể được cải thiện hơn nữa.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("TEMA_System_SAR", overlay=true) //Collect inputs parameters fastEmaPeriod = input(5, minval=1, title="Fast TEMA Period") slowEmaPeriod = input(50, minval=1, title="Slow TEMA Periods") // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 4, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2010, title = "From Year", minval = 2000) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2000) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 09, 15) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 15, 30) // backtest finish window window() => true fastEma = ema(close, fastEmaPeriod) slowEma = ema(close, slowEmaPeriod) //convert EMA into TEMA ema1 = ema(close, fastEmaPeriod) ema2 = ema(ema1, fastEmaPeriod) ema3 = ema(ema2, fastEmaPeriod) fastTEMA = 3 * (ema1 - ema2) + ema3 // convert EMA into TEMA ema4 = ema(close, fastEmaPeriod) ema5 = ema(ema1, fastEmaPeriod) ema6 = ema(ema2, fastEmaPeriod) slowTEMA = 3 * (ema4 - ema5) + ema6 buy = close > fastTEMA sell = close < fastTEMA plot(fastTEMA, title = 'fast TEMA', linewidth=2, color=white) plot(slowTEMA, title = 'slow TEMA', linewidth=2, color=yellow) strategy.entry("long",strategy.long, when = window() and buy) strategy.entry("short", strategy.short, when = window() and sell)