
Chiến lược này được gọi là “Chiến lược dao động dựa trên chênh lệch và đường trung bình di chuyển”, nó sử dụng chênh lệch dao động của 30 đường K và ba đường trung bình di chuyển ((MA5, MA15 và MA30) để đưa ra quyết định giao dịch.
Ý tưởng chính của chiến lược là đo lường sự biến động của thị trường bằng cách tính toán chênh lệch của độ dao động của giá và kết hợp với các đường trung bình di chuyển trong các chu kỳ khác nhau để đánh giá xu hướng. Chiến lược sẽ thực hiện mua khi có sự biến động thấp và đường trung bình ngắn hạn nằm trên đường trung bình dài hạn. Đồng thời, chiến lược đặt điều kiện dừng lỗ và dừng để kiểm soát rủi ro và khóa lợi nhuận.
Các nguyên tắc của chiến lược có thể được chia thành các bước sau:
Những ưu điểm của chiến lược này bao gồm:
Những rủi ro chính của chiến lược này là:
Để tối ưu hóa chiến lược này, chúng ta có thể xem xét các hướng sau:
Nói chung, “Chiến lược dao động dựa trên chênh lệch và trung bình di chuyển” là một chiến lược giao dịch kết hợp biến động và chỉ số xu hướng. Nó đo lường sự biến động của thị trường bằng cách tính toán chênh lệch của biến động giá và kết hợp với trung bình di chuyển của các chu kỳ khác nhau để đánh giá xu hướng, giao dịch trong môi trường thị trường thích hợp.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Variance and Moving Averages Strategy", overlay=true)
// 计算MA5、MA15和MA30
ma5 = ta.sma(close, 5)
ma15 = ta.sma(close, 15)
ma30 = ta.sma(close, 30)
// 计算过去30根K线的波动幅度(最高价和最低价)的方差
variance = ta.variance((high - low) / close, 30) * 1000000
// 定义买入条件
buy_condition = variance < 35 and ma5 > ma15 and ma15 > ma30
// 定义止损条件 close < ma30 or ma5 < ma30
stop_loss_condition = true
// 定义止盈条件
take_profit_condition = variance > 500
// 执行交易逻辑
if (buy_condition)
strategy.entry("Long", strategy.long)
if (stop_loss_condition)
strategy.close("Long")
if (take_profit_condition)
strategy.close("Long")
// 绘制MA5、MA15和MA30
// plot(ma5, color=color.blue, title="MA5")
// plot(ma15, color=color.orange, title="MA15")
// plot(ma30, color=color.red, title="MA30")
// 绘制方差
hline(0.0004, color=color.green, linestyle=hline.style_dashed, title="Variance < 0.0004")
hline(0.0005, color=color.red, linestyle=hline.style_dashed, title="Variance > 0.0005")
plot(variance, color=color.white, title="Variance")