TrendSurfing - Chiến lược xu hướng chéo trung bình di chuyển kép

Tác giả:ChaoZhang, Ngày: 2024-01-04 17:28:14
Tags:

Tổng quan

Chiến lược TrendSurfing là một chiến lược theo dõi xu hướng dựa trên các tín hiệu chéo trung bình động đôi. Nó cũng kết hợp các chỉ số hình tam giác, EMA 200 ngày, chỉ số ROC và chỉ số RSI để lọc ra tiếng ồn và nắm bắt chính xác sự đảo ngược xu hướng. Chiến lược này phù hợp với việc nắm giữ trung bình đến dài hạn và có thể đạt được tăng trưởng ổn định trong thị trường tăng.

Chiến lược logic

Chiến lược TrendSurfing chủ yếu dựa trên đường chéo vàng và đường chéo chết được hình thành bởi trung bình di chuyển nhanh và trung bình di chuyển chậm để tạo ra tín hiệu mua và bán. Khi MA nhanh vượt qua trên MA chậm, một tín hiệu mua được tạo ra. Khi MA nhanh vượt qua dưới MA chậm, một tín hiệu bán được tạo ra.

Ngoài ra, chiến lược bao gồm một số chỉ số phụ để lọc các tín hiệu sai hoặc xác định chất lượng xu hướng, bao gồm:

  1. Chỉ số ROC để xác định xu hướng và đà tăng giá
  2. RSI chỉ số RSI chỉ số RSI
  3. EMA 200 ngày để xác định hướng xu hướng tổng thể
  4. Các chỉ số hình tam giác để đánh dấu các điểm nhập vào biểu đồ

Bằng cách đánh giá toàn diện các chỉ số khác nhau, chiến lược TrendSurfing có thể xác định chính xác các điểm chuyển hướng xu hướng và theo dõi các xu hướng xác định trung bình đến dài hạn mà không bị đánh lạc hướng bởi tiếng ồn thị trường hoặc điều chỉnh ngắn hạn.

Phân tích lợi thế

1. Lấy xu hướng trung và dài hạn
Chiến lược về cơ bản đánh giá sự đảo ngược xu hướng dựa trên đường chéo MA, và sử dụng các chỉ số như EMA 200 ngày để lọc tiếng ồn ngắn hạn, tập trung vào việc nắm bắt xu hướng trung bình đến dài hạn.

2. Nhiều chỉ số đảm bảo nhập học chất lượng cao
Ngoài sự giao thoa MA, việc kết hợp ROC, RSI và các chỉ số khác cho phép tránh các khu vực củng cố tại các điểm đảo ngược và đảm bảo nhập chất lượng.

3. Chỉ số hình tam giác trực quan
Tam giác màu xanh lá cây hướng xuống cho thấy các mục dài, tam giác màu đỏ hướng lên cho thấy các mục ngắn.

4. Các thông số tùy chỉnh cho các nhu cầu khác nhau
Người dùng có thể tự do điều chỉnh các tham số như thời gian MA, chiều dài ROC, chiều dài RSI v.v. theo phong cách giao dịch của riêng họ.

5. Ngăn lỗ và kiểm soát lợi nhuận
Chiến lược đặt dừng lỗ và lấy lợi nhuận dựa trên giá trị ATR nhân tỷ lệ phần trăm rủi ro, cho phép kiểm soát rủi ro cho mỗi giao dịch.

Phân tích rủi ro

1. Nguy cơ thất bại trong giao dịch
Bất kỳ chiến lược dựa trên giao dịch chéo MA nào cũng có rủi ro vốn có của việc bỏ lỡ giao dịch hoặc bị dừng khi MA dao động.

2. quá tối ưu hóa từ cài đặt tham số không chính xácNgười dùng nên tránh theo đuổi các giá trị thông số lý tưởng giả thuyết. Các thông số nên được thử nghiệm và điều chỉnh dựa trên các điều kiện và sản phẩm thị trường khác nhau.

3. Không thể lọc hoàn toàn các sự kiện của Black Swan
Trong điều kiện thị trường cực đoan, các chiến lược vẫn có thể phải đối mặt với tổn thất lớn do rủi ro hệ thống thị trường.

Hướng dẫn tối ưu hóa

1. Kiểm tra và tối ưu hóa các giá trị tham số
Thời gian của MAs, thời gian ROC, giá trị của RSI vv nên trải qua kiểm tra và tối ưu hóa nghiêm ngặt để phù hợp với các đặc điểm của các sản phẩm giao dịch khác nhau.

2. Kiểm tra và kết hợp các chỉ số phụ trợ khác
Tiếp tục thử nghiệm sự kết hợp của các chỉ số khác như BOLL, KDJ v.v. với đường chéo MA để có hiệu suất tốt hơn.

3. phối hợp với giao dịch thuật toán để kiểm soát rủi ro tốt hơnĐưa ra các thuật toán học máy để cho phép dừng lỗ thông minh hơn và kiếm lợi nhuận, thích nghi với môi trường thị trường năng động.

4. Khám phá sự kết hợp với các chiến lược hoặc mô hình khác
Kết hợp với các chiến lược chọn cổ phiếu dựa trên các nguyên tắc cơ bản, các chiến lược điều khoản thống kê, các mô hình tối ưu hóa danh mục đầu tư vv có thể tăng cường kiểm soát rủi ro và lợi nhuận.

Kết luận

Chiến lược TrendSurfing là một chiến lược theo dõi xu hướng đơn giản, thẳng thắn với rủi ro có thể kiểm soát được. Các tín hiệu giao dịch được tạo ra từ các đường chéo MA và được lọc bởi nhiều chỉ số phụ trợ. Nó phù hợp với việc nắm giữ trung và dài hạn để theo dõi ổn định xu hướng thị trường bò. Chúng tôi sẽ tiếp tục tối ưu hóa chiến lược này thông qua kiểm tra tham số, mở rộng chỉ số, kiểm soát rủi ro v.v. để đạt được hiệu suất đáng tin cậy hơn trên các thị trường đa dạng.

[/trans]


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover with Triangles, 200 EMA, ROC, and RSI", overlay=true)

// Define input parameters
fast_length = input(9, title="Fast MA Length")
slow_length = input(21, title="Slow MA Length")
roc_length = input(14, title="ROC Length")
rsi_length = input(14, title="RSI Length")

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Plot moving averages
plot(fast_ma, color=color.green, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Plot 200 EMA
ema_200 = ema(close, 200)
plot(ema_200, color=color.white, title="200 EMA", linewidth=2)

// Calculate Rate of Change (ROC)
roc = roc(close, roc_length)

// Calculate RSI
rsi = rsi(close, rsi_length)

// Define strategy entry and exit conditions
long_condition = crossover(fast_ma, slow_ma) and roc > 0 and close > ema_200 and rsi > 55
short_condition = crossunder(fast_ma, slow_ma) and roc < 0 and close < ema_200 and rsi < 45

// Execute strategy
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)

// Define stop loss and take profit levels
risk_percent = input(1, title="Risk Percentage", minval=0.1, maxval=5, step=0.1) / 100
atr_value = atr(14)
stop_loss = close - atr_value * risk_percent
take_profit = close + atr_value * risk_percent

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stop_loss, profit=take_profit)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stop_loss, profit=take_profit)

// Plot larger triangles on crossover and crossunder
plotshape(series=long_condition, title="Long Entry", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=short_condition, title="Short Entry", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)


Thêm nữa