
Chiến lược này hình dung khu vực biến động giá bằng cách tính toán và vẽ đường trung bình di chuyển đơn giản 20 chu kỳ (SMA) và đường trung bình di chuyển chỉ số 21 chu kỳ (EMA) và lấp đầy màu sắc giữa chúng. Nó tạo ra tín hiệu mua khi giá vượt qua đường SMA 20 chu kỳ; tạo ra tín hiệu bán khi giá vượt qua đường EMA 21 chu kỳ.
Ý tưởng cốt lõi của chiến lược phá vỡ hai đường trung bình di chuyển là sử dụng sự giao thoa giữa đường trung bình di chuyển nhanh và đường trung bình di chuyển chậm làm tín hiệu mua và bán. Đường SMA chu kỳ 20 tương đối nhạy cảm hơn, có thể phản ứng nhanh với sự thay đổi giá; Đường EMA chu kỳ 21 phản ứng chậm hơn một chút nhưng mịn hơn.
Cụ thể, khi giá đóng cửa vượt qua SMA 20 chu kỳ, cho thấy cả ngắn hạn và dài hạn đều có xu hướng tăng, do đó làm nhiều hơn; khi giá đóng cửa vượt qua EMA 21 chu kỳ, cho thấy cả ngắn hạn và dài hạn đều có xu hướng giảm, do đó làm rỗng.
Chiến lược này cũng sử dụng công nghệ lấp đầy màu sắc giữa hai đường trung bình di chuyển để tạo ra một chỉ số thị giác, hỗ trợ đánh giá xu hướng thị trường.
Chiến lược phá vỡ trung bình di chuyển đôi có những lợi thế sau:
Chiến lược này cũng có một số rủi ro:
Các biện pháp sau đây có thể được áp dụng để đối phó với các rủi ro trên:
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược này đánh giá sự thay đổi của xu hướng thị trường thông qua sự giao thoa của đường trung bình di chuyển nhanh và chậm, và đưa ra quyết định mua và bán phù hợp. Chiến lược này có những ưu điểm như đơn giản, trực quan, dễ thực hiện, nhưng cũng có một số rủi ro.
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BMSB Breakout Strategy", shorttitle="BMSB Breakout", overlay=true)
source = close
smaLength = 20
emaLength = 21
sma = ta.sma(source, smaLength)
ema = ta.ema(source, emaLength)
outSma = request.security(syminfo.tickerid, timeframe.period, sma)
outEma = request.security(syminfo.tickerid, timeframe.period, ema)
smaPlot = plot(outSma, color=color.new(color.red, 0), title='20w SMA')
emaPlot = plot(outEma, color=color.new(color.green, 0), title='21w EMA')
fill(smaPlot, emaPlot, color=color.new(color.orange, 75), fillgaps=true)
// Definir condiciones para la estrategia de compra y venta
buyCondition = ta.crossover(close, outSma)
sellCondition = ta.crossunder(close, outEma)
// Entrada larga (compra) y salida corta
strategy.entry("Long", strategy.long, when=buyCondition and not na(sellCondition))
strategy.close("Short", when=buyCondition)
// Entrada corta (venta) y salida larga
strategy.entry("Short", strategy.short, when=sellCondition and not na(buyCondition))
strategy.close("Long", when=sellCondition)
// Puedes ajustar la configuración de la estrategia y los valores predeterminados según tus preferencias
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")