Đây là một chiến lược lợi nhuận vi mô tương đối đơn giản, chủ yếu sử dụng hộp Renko và chỉ số TEMA để xác định xu hướng giao dịch đảo ngược.
Sử dụng hộp Renko thay vì nến để xác định rõ hơn các chuyển động giá.
TEMA có sự chậm trễ ít hơn so với EMA, cho phép phát hiện sớm hơn các thay đổi xu hướng.
Đi dài khi TEMA vượt qua trên SMA ngắn hạn và đóng vị trí khi TEMA vượt qua dưới SMA.
Tránh mua khi giá trên SMA dài hạn để tránh các vị trí quá lớn.
Đặt tiêu chí lợi nhuận chỉ để đóng vị trí khi đáp ứng mục tiêu lợi nhuận tối thiểu.
Nhóm Renko và TEMA đơn giản nhưng hiệu quả.
Xác định rõ xu hướng tránh giao dịch xung đột.
TEMA làm giảm sự chậm trễ cho các mục nhập kịp thời hơn.
Kiểm soát rủi ro dừng lỗ và lấy lợi nhuận hợp lý.
Thích hợp cho giao dịch vốn nhỏ với tần số cao.
Khó để nhanh chóng tích lũy lại vị trí, hạn chế tiềm năng lợi nhuận.
Các thông số không chính xác có thể làm mất đi cơ hội giao dịch.
Không kiểm soát kích thước vị trí theo một hướng, có nguy cơ tổn thất tăng cường.
Khó kiếm được lợi nhuận đầy đủ, thích hợp hơn cho đầu óc nhỏ.
Tối ưu hóa các tham số SMA và TEMA để tìm sự kết hợp tốt nhất.
Kiểm tra các tiêu chí lợi nhuận khác nhau để cân bằng lợi nhuận và rủi ro.
Thêm giới hạn đếm mở để kiểm soát kích thước vị trí một chiều.
Bao gồm các chỉ số biến động để thiết lập stop loss.
Đánh giá kết hợp với các chiến lược khác để tăng lợi nhuận.
Chiến lược này xác định hiệu quả xu hướng với Renko và TEMA, phù hợp với việc đầu tư nhỏ tần suất cao, nhưng có tiềm năng tăng lợi nhuận hạn chế. Nó có thể được cải thiện thông qua tối ưu hóa tham số và các phương tiện kiểm soát rủi ro, hoặc kết hợp với các chiến lược khác, để lại không gian lớn để cải thiện.
/*backtest start: 2023-08-20 00:00:00 end: 2023-09-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("TEMA Cross", overlay = true, precision = 7, overlay=true, pyramiding = 100, commission_type = strategy.commission.percent, commission_value = 0.25) tema(src, len) => 3*ema(src, len) - 3*ema(ema(src, len), len) + ema(ema(ema(src, len),len),len) smma(src, len) => sa = 0.0 sa := na(sa[1]) ? sma(src, len) : (sa[1] * (len - 1) + src) / len sa temaLength = input(5) smaLength = input(3) smmaLength = input(30) tema1 = tema(close, temaLength) sma1 = sma(tema1, smaLength) smma1 = smma(close,smmaLength) plot(tema1, color = green, title = "TEMA") plot(sma1, color = orange, title = "SMA") plot(smma1, color = red, title = "SMMA") minGainPercent = input(2) gainMultiplier = minGainPercent * 0.01 + 1 avg_protection = input(1) gain_protection = input(1) longCondition = crossover(tema1, sma1) and tema1 < smma1 shortCondition = crossunder(tema1, sma1) strategy.entry("Buy", strategy.long, qty = 1, when = longCondition and time > timestamp(2017, 9, 22, 4, 20) and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true)) strategy.close_all(when = shortCondition and time > timestamp(2017, 9, 22, 4, 20) and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))