Sumber dimuat naik... memuat...

EMA100 dan NUPL Strategi Perdagangan Kuantitatif Keuntungan Relatif yang Tidak Diwujudkan

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

img

Ringkasan

Strategi dagangan ini berdasarkan tiga penunjuk: purata bergerak eksponen 100 tempoh (EMA100), keuntungan / kerugian bersih yang tidak direalisasikan (NUPL), dan keuntungan relatif yang tidak direalisasikan. Ia menghasilkan isyarat dagangan dengan menentukan persilangan harga dengan EMA100 dan positif atau negatif NUPL dan keuntungan relatif yang tidak direalisasikan. Isyarat panjang dipicu apabila harga melintasi EMA100 dan kedua-dua NUPL dan keuntungan relatif yang tidak direalisasikan positif. Isyarat pendek dipicu apabila harga melintasi di bawah EMA100 dan kedua-dua NUPL dan keuntungan relatif yang tidak direalisasikan negatif. Strategi ini menggunakan saiz kedudukan tetap 10% dan menetapkan stop loss 10%.

Prinsip Strategi

  1. Mengira EMA 100 tempoh sebagai penunjuk trend utama
  2. Menggunakan NUPL dan Keuntungan Relatif yang Tidak Diwujudkan sebagai penunjuk tambahan untuk mengesahkan kekuatan trend dan kelestarian
  3. Menghasilkan isyarat panjang/pendek apabila harga melintasi di atas/di bawah EMA100 manakala NUPL dan Keuntungan Relatif yang Tidak Diwujudkan pada masa yang sama positif/negatif
  4. Mengambil saiz kedudukan tetap 10% dan menetapkan stop loss 10% untuk mengawal risiko
  5. Apabila memegang kedudukan panjang, jika harga jatuh di bawah harga stop loss, tutup kedudukan panjang; apabila memegang kedudukan pendek, jika harga meningkat di atas harga stop loss, tutup kedudukan pendek

Analisis Kelebihan

  1. Sederhana dan mudah difahami: Logik strategi jelas dan menggunakan penunjuk teknikal biasa, menjadikannya mudah difahami dan dilaksanakan
  2. Trend berikut: Dengan menangkap trend utama menggunakan EMA100, ia sesuai untuk digunakan dalam pasaran trend
  3. Kawalan risiko: Menetapkan saiz kedudukan tetap dan menghentikan kerugian dapat mengawal risiko dengan berkesan
  4. Kebolehsesuaian: Strategi boleh digunakan untuk pelbagai pasaran dan instrumen perdagangan

Analisis Risiko

  1. Isyarat palsu: Dalam pasaran yang bergolak, persilangan yang kerap antara harga dan EMA100 boleh menghasilkan lebih banyak isyarat palsu, yang membawa kepada kerugian
  2. Lag: Sebagai penunjuk yang tertinggal, EMA mungkin bertindak balas perlahan pada pembalikan trend, kehilangan peluang kemasukan terbaik
  3. Pengoptimuman parameter: Parameter strategi (seperti tempoh EMA, saiz kedudukan, nisbah stop loss) perlu dioptimumkan untuk pasaran yang berbeza, dan parameter yang tidak sesuai boleh mengakibatkan prestasi strategi yang buruk

Arahan pengoptimuman

  1. Pengoptimuman parameter: Mengoptimumkan parameter seperti tempoh EMA, saiz kedudukan, dan nisbah stop loss untuk meningkatkan prestasi strategi
  2. Penapisan isyarat: Tambah penunjuk teknikal lain atau penunjuk sentimen pasaran untuk menapis isyarat palsu
  3. Pengurusan kedudukan dinamik: Sesuaikan kedudukan secara dinamik berdasarkan turun naik pasaran, keuntungan / kerugian akaun dan faktor lain untuk meningkatkan pulangan dan mengawal risiko
  4. Gabungan pendek panjang: Pegang kedua-dua kedudukan panjang dan pendek secara serentak untuk lindung nilai risiko pasaran dan meningkatkan kestabilan strategi

Ringkasan

Strategi perdagangan ini menjana isyarat perdagangan melalui tiga penunjuk: EMA100, NUPL, dan Keuntungan Relatif yang Tidak Terwujud. Ia mempunyai kelebihan seperti logik yang jelas, risiko yang boleh dikawal, dan kemampuan beradaptasi yang kuat. Pada masa yang sama, ia juga mempunyai risiko seperti isyarat palsu, lag, dan pengoptimuman parameter. Pada masa akan datang, strategi boleh dioptimumkan dan ditingkatkan melalui pengoptimuman parameter, penapisan isyarat, pengurusan kedudukan dinamik, dan kombinasi panjang-pendek.


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