Strategi Scalping Intraday EMA

Penulis:ChaoZhangTanggal: 2024-01-24 15:43:31
Tag:

img

Gambaran umum

Strategi ini menghitung rata-rata bergerak eksponensial (EMA) 9 hari dan 15 hari untuk mengidentifikasi sinyal beli dan jual berdasarkan persilangan EMA dan arah lilin untuk perdagangan intraday. Strategi ini menghasilkan sinyal beli ketika 9EMA melintasi di atas 15EMA dan lilin terakhir bullish, dan sinyal jual ketika 9EMA melintasi di bawah 15EMA dan lilin terakhir bearish. Strategi ini juga menggabungkan stop loss berbasis ATR.

Logika Strategi

  1. Menghitung EMA 9 hari dan EMA 15 hari
  2. Mengidentifikasi arah candlestick terakhir (bullish atau bearish)
  3. Menghasilkan sinyal beli ketika 9EMA melintasi di atas 15EMA dan candlestick terakhir bullish
  4. Menghasilkan sinyal jual ketika 9EMA melintasi di bawah 15EMA dan candlestick terakhir bearish
  5. Menghitung nilai ATR menggunakan indikator ATR untuk memetakan stop loss selama perdagangan

Analisis Keuntungan

Keuntungan dari strategi ini meliputi:

  1. Menggunakan kombinasi EMA untuk menangkap tren jangka pendek dan menengah
  2. Menyaring sinyal palsu menggunakan arah candlestick
  3. Menggunakan stop loss ATR dinamis untuk mengontrol risiko
  4. Kerangka waktu pendek yang cocok untuk scalping intraday
  5. Sederhana untuk diterapkan

Analisis Risiko

Risiko termasuk:

  1. EMA memiliki efek keterlambatan, mungkin melewatkan beberapa pergerakan harga
  2. EMA crossovers dapat menyebabkan whipsaws
  3. Cenderung terhadap fluktuasi harga dalam perdagangan intraday
  4. Stop loss terlalu ketat cenderung terkena, terlalu luas dampak keuntungan

Solusi:

  1. Mengoptimalkan parameter EMA
  2. Tambahkan filter lain seperti MACD
  3. Mengatur stop loss secara dinamis
  4. Mengoptimalkan strategi stop loss

Arahan Optimasi

Bidang untuk optimalisasi:

  1. Uji kombinasi EMA yang berbeda untuk menemukan periode optimal
  2. Tambahkan indikator lain, membangun model multifaktor
  3. Tambahkan filter timeframe, sinyal hanya selama periode tertentu
  4. Menggabungkan indeks volatilitas untuk menyesuaikan tingkat stop loss
  5. Menggunakan pembelajaran mesin untuk mengoptimalkan parameter secara dinamis

Ringkasan

Ini adalah strategi scalping intraday yang sederhana namun efektif yang mengintegrasikan crossover EMA ganda dan penyaringan candlestick dengan stop loss dinamis berbasis ATR. Peningkatan lebih lanjut dalam parameter dan kombinasi multi-faktor dapat meningkatkan stabilitas dan profitabilitas.


/*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)


Lebih banyak