Sumber daya yang dimuat... Pemuatan...

Dual Moving Average Crossover Stop Loss dan Take Profit Strategi

Penulis:ChaoZhang, Tanggal: 2024-06-03 11:02:26
Tag:EMAMACDKDJADX

img

Gambaran umum

Strategi ini menggunakan persilangan dua rata-rata bergerak eksponensial (EMA) dengan periode yang berbeda sebagai sinyal perdagangan, sambil menetapkan stop loss titik tetap dan mengambil tingkat keuntungan. Ketika EMA jangka pendek melintasi di atas EMA jangka panjang, ia membuka posisi panjang; ketika EMA jangka pendek melintasi di bawah EMA jangka panjang, ia membuka posisi pendek. Strategi menetapkan stop loss titik tetap dan mengambil tingkat keuntungan untuk mengontrol risiko dan mengunci keuntungan.

Prinsip Strategi

  1. Menghitung dua EMA dengan periode yang berbeda, default untuk 5 dan 200 periode.
  2. Ketika EMA 5 periode melintasi di atas EMA 200 periode, ia menghasilkan sinyal panjang; ketika EMA 5 periode melintasi di bawah EMA 200 periode, ia menghasilkan sinyal pendek.
  3. Setelah membuka posisi, atur titik stop loss (default 50 poin) dan ambil poin profit (default 200 poin).
  4. Tutup posisi ketika harga mencapai tingkat mengambil keuntungan atau stop loss, atau posisi telah dipegang selama 200 periode perdagangan.
  5. Sesuaikan titik mengambil keuntungan dan stop loss berdasarkan volume grafik.

Keuntungan Strategi

  1. Sederhana dan mudah dimengerti: Logika strategi jelas dan mudah dipahami dan diterapkan.
  2. Trend Following: Menggunakan karakteristik tren EMA untuk menangkap tren pasar secara efektif.
  3. Pengendalian risiko: Menetapkan stop loss titik tetap secara efektif mengontrol risiko perdagangan tunggal.
  4. Fleksibilitas: titik mengambil keuntungan dan stop loss dapat disesuaikan sesuai dengan volatilitas pasar dan preferensi risiko pribadi.

Risiko Strategi

  1. Sinyal palsu: Perpindahan EMA dapat menghasilkan sinyal palsu, yang menyebabkan perdagangan dan kerugian modal yang sering terjadi.
  2. Penundaan tren: EMA adalah indikator yang tertinggal dan dapat menghasilkan sinyal hanya setelah tren terbentuk, kehilangan peluang masuk terbaik.
  3. Pasar yang terikat kisaran: Di pasar yang terikat kisaran, penyeberangan EMA yang sering dapat menyebabkan perdagangan yang kalah berturut-turut.
  4. Stop loss titik tetap: Stop loss titik tetap mungkin tidak beradaptasi dengan perubahan volatilitas pasar, yang mengakibatkan tingkat stop loss yang tidak sesuai.

Arah Optimasi Strategi

  1. Memperkenalkan lebih banyak indikator: Gabungkan dengan indikator teknis lainnya seperti MACD, RSI, dll, untuk meningkatkan keandalan sinyal.
  2. Optimalkan parameter: Optimalkan parameter seperti periode EMA, mengambil keuntungan dan titik stop loss, untuk meningkatkan kinerja strategi.
  3. Stop loss dinamis: Sesuaikan titik stop loss secara dinamis berdasarkan volatilitas pasar untuk lebih beradaptasi dengan perubahan pasar.
  4. Manajemen Posisi: Memperkenalkan aturan manajemen posisi, seperti ukuran posisi berbasis risiko, untuk meningkatkan pengembalian yang disesuaikan dengan risiko.
  5. Filter: Tambahkan kondisi filter sinyal perdagangan, seperti volume perdagangan, pola harga, dll, untuk meningkatkan kualitas sinyal.

Ringkasan

Strategi stop loss dan take profit dengan moving average ganda adalah strategi trading yang sederhana dan mudah digunakan yang menghasilkan sinyal trading melalui EMA crossover sambil mengatur stop loss titik tetap dan mengambil tingkat keuntungan untuk mengendalikan risiko. Keuntungan dari strategi ini terletak pada logika yang jelas, penerapan yang mudah, dan kemampuan untuk menangkap tren pasar secara efektif. Namun, strategi ini juga menghadapi risiko seperti sinyal palsu, penundaan tren, pasar yang terikat rentang, dan tingkat stop loss tetap. Arah optimasi termasuk memperkenalkan lebih banyak indikator, mengoptimalkan parameter, stop loss dinamis, manajemen posisi, dan menambahkan filter. Pedagang dapat mengoptimalkan dan menyesuaikan strategi sesuai dengan preferensi risiko dan karakteristik pasar mereka untuk meningkatkan kekuatan dan profitabilitas strategi.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy("EMA5 Cross EAM200 && SL/TP 50 and 200 Point Target", overlay=true)

// Define input parameters for EMA lengths
ema_5 = input.int(5, title="Fast EMA Length")
ema_200 = input.int(200, title="Slow EMA Length")

// Define input parameters for stop loss and profit target in points
stopLossPoints = input.float(50, title="Stop Loss (Points)")
profitTargetPoints = input.float(200, title="Profit Target (Points)")

// Calculate EMAs
price = close
emafast = ta.ema(price, ema_5)
emaslow = ta.ema(price, ema_200)

// Plot EMAs on chart
plot(emafast, title="5-period EMA", color=color.black)
plot(emaslow, title="200-period EMA", color=color.blue)

// Extra lines if needed
ema_13 = input.int(13, title="13 EMA")
ema_13_line = ta.ema(price, ema_13)
plot(ema_13_line, title="13-period EMA", color=color.rgb(156, 39, 176, 90))

ema_20 = input.int(20, title="20 EMA")
ema_20_line = ta.ema(price, ema_20)
plot(ema_20_line, title="20-period EMA", color=color.red)


// Define entry conditions
longCondition = ta.crossover(emafast, emaslow)
shortCondition = ta.crossunder(emafast, emaslow)

// Counter to keep track of the number of bars since the entry
var int barCount = na

// Reset counter and enter long trade
if (longCondition)
    strategy.entry("Long", strategy.long, comment="Long")
    barCount := 0

// Reset counter and enter short trade
if (shortCondition)
    strategy.entry("Short", strategy.short, comment="Short")
    barCount := 0

// Increment counter if in trade
if (strategy.opentrades > 0)
    barCount += 1

// Calculate entry price
entryPrice = strategy.position_avg_price

// Exit long trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=entryPrice - stopLossPoints, limit=entryPrice + profitTargetPoints)

// Exit short trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=entryPrice + stopLossPoints, limit=entryPrice - profitTargetPoints)


Berkaitan

Lebih banyak