Chiến lược bán da nội ngày của EMA

Tác giả:ChaoZhang, Ngày: 2024-01-24 15:43:31
Tags:

img

Tổng quan

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.

Chiến lược logic

  1. Tính toán EMA 9 ngày và EMA 15 ngày
  2. Xác định hướng của ngọn nến cuối cùng (bullish hoặc bearish)
  3. Tạo tín hiệu mua khi 9EMA vượt trên 15EMA và ngọn nến cuối cùng tăng
  4. Tạo tín hiệu bán khi 9EMA vượt dưới 15EMA và ngọn nến cuối cùng là giảm
  5. Tính toán giá trị ATR bằng cách sử dụng chỉ số ATR để lập kế hoạch dừng lỗ trong giao dịch

Phân tích lợi thế

Những lợi thế của chiến lược này bao gồm:

  1. Sử dụng EMA combo để nắm bắt xu hướng ngắn hạn trung hạn
  2. lọc tín hiệu sai bằng cách sử dụng hướng nến
  3. Sử dụng ATR stop loss động để kiểm soát rủi ro
  4. Khung thời gian ngắn thích hợp cho giao dịch nội ngày
  5. Dễ thực hiện

Phân tích rủi ro

Các rủi ro bao gồm:

  1. EMA có tác dụng chậm trễ, có thể bỏ lỡ một số động thái giá
  2. EMA crossovers có thể gây ra whipsaws
  3. Có xu hướng biến động giá trong giao dịch trong ngày
  4. Dừng lỗ quá chặt chẽ có xu hướng bị trúng, quá rộng tác động lợi nhuận

Giải pháp:

  1. Tối ưu hóa các thông số EMA
  2. Thêm các bộ lọc khác như MACD
  3. Điều chỉnh stop loss một cách động
  4. Tối ưu hóa chiến lược dừng lỗ

Hướng dẫn tối ưu hóa

Các lĩnh vực tối ưu hóa:

  1. Kiểm tra các combo EMA khác nhau để tìm ra thời gian tối ưu
  2. Thêm các chỉ số khác, xây dựng mô hình đa yếu tố
  3. Thêm bộ lọc khung thời gian, tín hiệu chỉ trong một số khoảng thời gian nhất định
  4. Bao gồm chỉ số biến động để điều chỉnh mức dừng lỗ
  5. Sử dụng máy học để tối ưu hóa các thông số một cách năng động

Tóm lại

Đâ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)


Thêm nữa