Chiến lược này tính toán các đường trung bình động theo hàm số (EMA) 9 ngày và 15 ngày để xác định tín hiệu mua và bán dựa trên đường chéo EMA và hướng nến cho giao dịch trong ngày. Nó tạo ra tín hiệu mua khi 9EMA vượt qua trên 15EMA và nến cuối cùng tăng, và bán tín hiệu khi 9EMA vượt qua dưới 15EMA và nến cuối cùng giảm. Chiến lược cũng kết hợp lệnh dừng lỗ dựa trên ATR.
Những lợi thế của chiến lược này bao gồm:
Các rủi ro bao gồm:
Giải pháp:
Các lĩnh vực tối ưu hóa:
Đây là một chiến lược scalping trong ngày đơn giản nhưng hiệu quả tích hợp crossover EMA kép và lọc nến với lệnh dừng lỗ động dựa trên ATR.
/*backtest start: 2023-01-17 00:00:00 end: 2024-01-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Scalping Strategy", shorttitle="EMAScalp", overlay=true) // Input parameters ema9_length = input(9, title="9 EMA Length") ema15_length = input(15, title="15 EMA Length") // Calculate EMAs ema9 = ta.ema(close, ema9_length) ema15 = ta.ema(close, ema15_length) // Plot EMAs on the chart plot(ema9, color=color.blue, title="9 EMA") plot(ema15, color=color.red, title="15 EMA") // Identify Bullish and Bearish candles bullish_candle = close > open bearish_candle = close < open // Bullish conditions for Buy Signal buy_condition = ta.crossover(close, ema9) and ema15 < ema9 and bullish_candle // Bearish conditions for Sell Signal sell_condition = ta.crossunder(close, ema9) and ema15 > ema9 and bearish_candle // Plot Buy and Sell signals plotshape(series=buy_condition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar) plotshape(series=sell_condition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar) // Optional: Add stop-loss levels atr_length = input(14, title="ATR Length for Stop Loss") atr_multiplier = input(1.5, title="ATR Multiplier for Stop Loss") atr_value = ta.atr(atr_length) stop_loss_level = strategy.position_size > 0 ? close - atr_multiplier * atr_value : close + atr_multiplier * atr_value plot(stop_loss_level, color=color.gray, title="Stop Loss Level", linewidth=2) // Strategy rules if (buy_condition) strategy.entry("Buy", strategy.long) strategy.exit("Exit Buy", from_entry="Buy", loss=stop_loss_level) if (sell_condition) strategy.entry("Sell", strategy.short) strategy.exit("Exit Sell", from_entry="Sell", loss=stop_loss_level)