
Chiến lược này được thực hiện bằng cách tính toán và vẽ các đường trung bình di chuyển đơn giản 14 ngày (SMA) và đường trung bình di chuyển đơn giản 28 ngày, làm nhiều khi hai bên tạo ra các gai vàng và làm trống khi tạo ra các gai chết, để nắm bắt sự thay đổi động lực của thị trường.
Các chỉ số cốt lõi của chiến lược này là SMA 14 ngày và SMA 28 ngày. Trong đó, SMA 14 ngày phản ứng nhanh hơn với biến động giá, phản ánh xu hướng gần đây; đường SMA 28 ngày ổn định hơn, phản ánh xu hướng trung hạn.
Xác định giá trị không gian bằng cách giao chéo đường SMA là một tín hiệu giao dịch phổ biến hơn. So với chỉ số SMA đơn, giao chéo SMA kép kết hợp thông tin về thời gian khác nhau, tránh tín hiệu sai.
Chiến lược này có những ưu điểm sau:
Chiến lược này cũng có một số rủi ro:
Các biện pháp kiểm soát rủi ro tương ứng bao gồm: nới lỏng mức dừng lỗ thích hợp, tập trung vào kiểm soát rủi ro; điều chỉnh tham số chu kỳ SMA theo thị trường; kết hợp các tín hiệu lọc các chỉ số khác.
Chiến lược này có thể được tối ưu hóa từ các khía cạnh sau:
Chiến lược đường ngang chéo động lực bằng cách tính toán tín hiệu chéo SMA kép, động để nắm bắt xu hướng thay đổi của thị trường. Chiến lược dễ thực hiện, phản ứng nhanh, nhưng cũng có nguy cơ bị tụt hậu. Trong tương lai, có thể được tối ưu hóa từ các khía cạnh xác nhận tín hiệu, cơ chế dừng lỗ, lựa chọn tham số, hoặc kết hợp với các chiến lược khác để có được hiệu suất tốt hơn.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Tu Estrategia", overlay=true)
// Variables de estrategia
var bool longCondition = na
var bool shortCondition = na
// Indicador
emaValue = ta.ema(close, 30)
plotColor = close > open ? color.green : color.red
plot(emaValue, color=plotColor, linewidth=2)
value = 10 * open / close
plotColor2 = close == open ? color.orange : color.blue
plot(value, color=plotColor2, linewidth=2)
// Lógica de la estrategia
longCondition := ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition := ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
// Entradas de estrategia
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
plotColor3 = strategy.position_size > 0 ? color.green :
strategy.position_size < 0 ? color.red :
color.yellow
plot(ta.sma(close, 10), color=plotColor3)