Chiến lược này là một chiến lược chéo dựa trên hai đường trung bình động, EMA và SMA. Khi EMA chậm hơn vượt qua trên đường SMA nhanh hơn, nó tạo ra tín hiệu mua; khi EMA chậm hơn vượt qua dưới đường SMA nhanh hơn, nó tạo ra tín hiệu bán. Chiến lược nhằm mục đích nắm bắt xu hướng tăng trong thị trường bò đồng thời cung cấp một số hỗ trợ.
Chiến lược này sử dụng hai đường trung bình động: SMA 20 giai đoạn và EMA 21 giai đoạn. Khi EMA vượt qua trên SMA, nó cho thấy thị trường có thể chuyển thành xu hướng tăng, do đó tạo ra tín hiệu mua. Ngược lại, khi EMA vượt qua dưới SMA, nó cho thấy thị trường có thể chuyển thành xu hướng giảm, do đó tạo ra tín hiệu bán. Để xác nhận các tín hiệu, chiến lược cũng yêu cầu giá đóng hiện tại cao hơn giá đóng trước (đối với tín hiệu mua) hoặc thấp hơn giá đóng trước (đối với tín hiệu bán).
Chiến lược băng hỗ trợ thị trường bò chéo EMA-SMA là một chiến lược đơn giản và dễ hiểu theo xu hướng đặc biệt phù hợp với thị trường bò. Tuy nhiên, chiến lược cũng có một số hạn chế nhất định, chẳng hạn như tín hiệu sai, chậm trễ và khả năng nhận diện xu hướng hạn chế. Bằng cách kết hợp với các chỉ số khác, tối ưu hóa các tham số và thêm stop-loss và take-profit, hiệu suất và độ bền của chiến lược có thể được cải thiện hơn nữa.
/*backtest start: 2023-05-17 00:00:00 end: 2024-05-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © rodrinverte //@version=5 strategy("EMA-SMA Crossover Strategy", overlay=true, initial_capital = 1000) // Definir la longitud de las medias móviles fast = ta.sma(close, 20) slow = ta.ema(close, 21) // Definir condiciones de compra y venta buySignal = ta.crossover(slow, fast) sellSignal = ta.crossunder(slow, fast) // Configurar colores de las líneas y relleno emaColor = buySignal ? color.green : sellSignal ? color.red : color.blue smaColor = color.gray fillColor = slow < fast ? color.new(color.green, 90) : color.new(color.red, 90) // Esperar un periodo para confirmar la señal de compra o venta buyConfirmation = close > close[1] and buySignal sellConfirmation = close < close[1] and sellSignal // Dibujar las medias móviles plot(slow, title="EMA", color=emaColor) plot(fast, title="SMA", color=smaColor) // Configurar las señales de compra y venta plotshape(buyConfirmation, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(sellConfirmation, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Estrategia de compra y venta if (buyConfirmation) strategy.entry("Buy", strategy.long) if (sellConfirmation) strategy.entry("Sell", strategy.short) // Cerrar posición opuesta al cruce original if (sellSignal) strategy.close("Buy") if (buySignal) strategy.close("Sell")