Sumber daya yang dimuat... Pemuatan...

EMA100 dan NUPL Relative Unrealized Profit Quantitative Trading Strategy

Penulis:ChaoZhang, Tanggal: 2024-06-17 14:55:13
Tag:EMA

img

Gambaran umum

Strategi trading ini didasarkan pada tiga indikator: 100 periode Exponential Moving Average (EMA100), Net Unrealized Profit/Loss (NUPL), dan Relative Unrealized Profit. Strategi ini menghasilkan sinyal trading dengan menentukan crossover harga dengan EMA100 dan positivitas atau negativitas NUPL dan Relative Unrealized Profit. Sinyal panjang dipicu ketika harga melintasi EMA100 dan kedua NUPL dan Relative Unrealized Profit positif. Sinyal pendek dipicu ketika harga melintasi di bawah EMA100 dan kedua NUPL dan Relative Unrealized Profit negatif. Strategi ini menggunakan ukuran posisi tetap 10% dan menetapkan stop loss 10%.

Prinsip Strategi

  1. Menghitung EMA 100 periode sebagai indikator tren utama
  2. Menggunakan NUPL dan Relative Unrealized Profit sebagai indikator tambahan untuk mengkonfirmasi kekuatan tren dan keberlanjutan
  3. Menghasilkan sinyal panjang/pendek ketika harga melintasi di atas/di bawah EMA100 sementara NUPL dan Relative Unrealized Profit secara bersamaan positif/negatif
  4. Mengadopsi ukuran posisi tetap 10% dan menetapkan stop loss 10% untuk mengendalikan risiko
  5. Ketika memegang posisi panjang, jika harga turun di bawah harga stop loss, tutup posisi panjang; ketika memegang posisi pendek, jika harga naik di atas harga stop loss, tutup posisi pendek

Analisis Keuntungan

  1. Sederhana dan mudah dimengerti: Logika strategi jelas dan menggunakan indikator teknis umum, membuatnya mudah dimengerti dan diterapkan
  2. Tren berikut: Dengan menangkap tren utama menggunakan EMA100, itu cocok untuk digunakan di pasar tren
  3. Pengendalian risiko: Menetapkan ukuran posisi tetap dan stop loss dapat secara efektif mengendalikan risiko
  4. Kemampuan beradaptasi: Strategi dapat diterapkan pada berbagai pasar dan instrumen perdagangan

Analisis Risiko

  1. Sinyal palsu: Di pasar yang bergolak, persilangan yang sering antara harga dan EMA100 dapat menghasilkan lebih banyak sinyal palsu, yang menyebabkan kerugian
  2. Lag: Sebagai indikator yang tertinggal, EMA dapat bereaksi lambat pada pembalikan tren, melewatkan peluang masuk terbaik
  3. Optimasi parameter: Parameter strategi (seperti periode EMA, ukuran posisi, stop loss ratio) perlu dioptimalkan untuk pasar yang berbeda, dan parameter yang tidak tepat dapat mengakibatkan kinerja strategi yang buruk

Arahan Optimasi

  1. Optimasi parameter: Optimalkan parameter seperti periode EMA, ukuran posisi, dan rasio stop loss untuk meningkatkan kinerja strategi
  2. Penyaringan sinyal: Tambahkan indikator teknis atau indikator sentimen pasar lainnya untuk menyaring sinyal palsu
  3. Manajemen Posisi Dinamis: Mengatur posisi secara dinamis berdasarkan volatilitas pasar, laba/rugi akun dan faktor lain untuk meningkatkan pengembalian dan mengendalikan risiko
  4. Kombinasi long-short: Memegang posisi long dan short secara bersamaan untuk lindung nilai risiko pasar dan meningkatkan stabilitas strategi

Ringkasan

Strategi trading ini menghasilkan sinyal trading melalui tiga indikator: EMA100, NUPL, dan Relative Unrealized Profit. Strategi ini memiliki keuntungan seperti logika yang jelas, risiko yang dapat dikendalikan, dan kemampuan beradaptasi yang kuat. Pada saat yang sama, strategi ini juga memiliki risiko seperti sinyal palsu, lag, dan optimasi parameter.


/*backtest
start: 2023-06-11 00:00:00
end: 2024-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Scalping Strategy with EMA 100, NUPL, and Relative Unrealized Profit", overlay=true)

// Input for EMA period
emaPeriod = input.int(100, title="EMA Period", minval=1)
ema100 = ta.ema(close, emaPeriod)
plot(ema100, color=color.blue, title="EMA 100")

// Placeholder function for NUPL (Net Unrealized Profit/Loss)
// Replace this with actual NUPL data or calculation
NUPL = close * 0.0001 // Dummy calculation

// Placeholder function for relative unrealized profit
// Replace this with actual relative unrealized profit data or calculation
relativeUnrealizedProfit = close * 0.0001 // Dummy calculation

// Define conditions for long and short entries
longCondition = ta.crossover(close, ema100) and NUPL > 0 and relativeUnrealizedProfit > 0
shortCondition = ta.crossunder(close, ema100) and NUPL < 0 and relativeUnrealizedProfit < 0

// Plot buy and sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")

// Calculate stop loss levels
longStopLoss = close * 0.90
shortStopLoss = close * 1.10

// Strategy entry and exit rules
if (longCondition)
    strategy.entry("Long", strategy.long, stop=longStopLoss)

if (shortCondition)
    strategy.entry("Short", strategy.short, stop=shortStopLoss)

// Set stop loss levels for active positions
if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop=longStopLoss)
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop=shortStopLoss)

// Alerts for long and short entries
alertcondition(longCondition, title="Long Entry Alert", message="Long entry signal based on EMA 100, NUPL, and relative unrealized profit")
alertcondition(shortCondition, title="Short Entry Alert", message="Short entry signal based on EMA 100, NUPL, and relative unrealized profit")

// Visualize the entry conditions
plotshape(series=longCondition, location=location.belowbar, color=color.blue, style=shape.cross, title="Long Condition")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.cross, title="Short Condition")


Berkaitan

Lebih banyak