Strategi silang EMA dengan nisbah sasaran/stop-loss dan saiz kedudukan tetap

Penulis:ChaoZhang, Tarikh: 2024-03-28 18:04:32
Tag:

img

Ringkasan

Strategi ini adalah strategi perdagangan berdasarkan persilangan purata bergerak eksponensial (EMA) yang cepat dan perlahan. Apabila EMA cepat melintasi di atas EMA perlahan, strategi memasuki perdagangan panjang, dan apabila EMA cepat melintasi di bawah EMA perlahan, strategi memasuki perdagangan pendek. Strategi ini menggunakan nisbah sasaran / stop-loss untuk mengira harga stop-loss dan mengambil keuntungan dan menggunakan saiz kedudukan tetap untuk setiap perdagangan.

Prinsip Strategi

Prinsip utama strategi ini adalah menggunakan dua EMA dengan tempoh yang berbeza untuk menangkap perubahan dalam trend harga. Apabila EMA pantas melintasi EMA perlahan, ia biasanya menunjukkan perubahan dalam trend harga. Khususnya, apabila EMA pantas melintasi di atas EMA perlahan dari bawah, ia menunjukkan bahawa harga mungkin memulakan trend menaik, dan strategi akan memasuki perdagangan panjang. Apabila EMA pantas melintasi di bawah EMA perlahan dari atas, ia menunjukkan bahawa harga mungkin memulakan trend menurun, dan strategi akan memasuki perdagangan pendek.

Strategi ini juga memperkenalkan konsep nisbah sasaran / stop-loss untuk mengira harga stop-loss dan mengambil keuntungan untuk setiap perdagangan. Harga stop-loss diperolehi dengan mengalikan harga kemasukan purata dengan (1 - nisbah sasaran / stop-loss), sementara harga mengambil keuntungan diperolehi dengan mengalikan harga kemasukan purata dengan (1 + nisbah sasaran / stop-loss). Pendekatan ini membolehkan penyesuaian dinamik tahap stop-loss dan mengambil keuntungan berdasarkan keutamaan risiko.

Selain itu, strategi menggunakan saiz kedudukan tetap untuk setiap perdagangan, yang bermaksud bahawa jumlah dana untuk setiap perdagangan tetap dan tidak disesuaikan berdasarkan baki akaun atau faktor lain.

Kelebihan Strategi

  1. Sederhana dan berkesan: Strategi ini berdasarkan prinsip klasik silang EMA, yang mudah difahami dan dilaksanakan sambil menangkap perubahan dalam trend harga dengan berkesan.

  2. Stop-loss dan take-profit dinamik: Dengan memperkenalkan nisbah sasaran/stop-loss, strategi boleh menyesuaikan tahap stop-loss dan take-profit secara dinamik berdasarkan keutamaan risiko, meningkatkan fleksibiliti dan kesesuaian strategi.

  3. Kawalan risiko: Dengan menggunakan saiz kedudukan tetap untuk setiap dagangan, strategi membantu mengawal pendedahan risiko setiap dagangan dan mengurangkan risiko keseluruhan akaun.

  4. Penggunaan luas: Strategi ini boleh digunakan untuk pelbagai pasaran kewangan dan instrumen perdagangan, seperti saham, niaga hadapan, dan forex, menjadikannya boleh digunakan secara meluas.

Risiko Strategi

  1. Sensitiviti parameter: Prestasi strategi bergantung pada pemilihan parameter EMA, seperti tempoh EMA yang cepat dan perlahan. Kombinasi parameter yang berbeza boleh menyebabkan perbezaan yang ketara dalam prestasi strategi, jadi pengoptimuman dan ujian parameter yang teliti diperlukan.

  2. Risiko terlalu optimum: Jika parameter strategi terlalu dioptimumkan, ia boleh menyebabkan prestasi yang buruk pada data di luar sampel, iaitu terlalu sesuai.

  3. Risiko pasaran: Prestasi strategi dipengaruhi oleh trend pasaran dan turun naik. Semasa pasaran yang bergolak atau tanpa trend, strategi boleh menghasilkan lebih banyak isyarat palsu, yang membawa kepada perdagangan yang kerap dan kerugian modal.

  4. Peristiwa angsa hitam: Strategi mungkin mempunyai daya adaptasi yang lemah terhadap peristiwa pasaran yang melampau (seperti krisis kewangan atau konflik geopolitik), yang boleh menyebabkan penarikan yang signifikan.

Arahan Pengoptimuman Strategi

  1. Pengoptimuman parameter dinamik: Pertimbangkan penyesuaian parameter tempoh EMA secara dinamik berdasarkan keadaan pasaran atau ciri-ciri turun naik harga untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza.

  2. Penapisan isyarat: Sebagai tambahan kepada isyarat silang EMA, memperkenalkan penunjuk teknikal atau maklumat pasaran lain untuk menapis isyarat dan meningkatkan kebolehpercayaan dan ketepatan isyarat.

  3. Pengoptimuman pengurusan kedudukan: Pertimbangkan penyesuaian dinamik saiz kedudukan dagangan berdasarkan keadaan risiko pasaran atau keutamaan risiko peribadi, dan bukannya menggunakan saiz kedudukan tetap.

  4. Lindungan jangka pendek panjang: Pertimbangkan untuk memegang kedudukan panjang dan pendek secara serentak untuk membina portfolio yang netral pasaran, mengurangkan risiko pasaran dan meningkatkan kestabilan strategi.

Ringkasan

Strategi ini adalah strategi yang mengikuti trend berdasarkan prinsip persilangan EMA, yang menangkap trend harga sambil mengawal risiko dengan memperkenalkan nisbah sasaran / stop-loss dan mekanisme saiz kedudukan tetap. Kelebihan strategi terletak pada kesederhanaan, keberkesanan, stop-loss dan mengambil keuntungan dinamik, dan penerapan luas. Walau bagaimanapun, ia juga menghadapi cabaran seperti kepekaan parameter, risiko terlalu optimum, dan risiko pasaran. Pada masa akan datang, penambahbaikan boleh dibuat kepada strategi dari segi pengoptimuman parameter dinamik, penapisan isyarat, pengoptimuman pengurusan kedudukan, dan lindung nilai jangka pendek panjang untuk meningkatkan ketahanan dan keuntungan.


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

// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KarthicSRSivagnanam

//@version=5
strategy("EMA Crossover Strategy with Target/Stop-loss Ratio and Fixed Position Size", shorttitle="EMA Cross", overlay=true)

// Define input variables
fast_length = input(20, title="Fast EMA Length")
slow_length = input(50, title="Slow EMA Length")
ema_color = input(color.red, title="EMA Color")
target_ratio = input(2, title="Target/Stop-loss Ratio")
position_size = input(1, title="Fixed Position Size (Rs.)")

// Calculate EMAs
ema_fast = ta.ema(close, fast_length)
ema_slow = ta.ema(close, slow_length)

// Plot EMAs
plot(ema_fast, color=ema_color, title="Fast EMA")
plot(ema_slow, color=color.blue, title="Slow EMA")

// Long entry condition: Fast EMA crosses above Slow EMA
longCondition = ta.crossover(ema_fast, ema_slow)

// Short entry condition: Fast EMA crosses below Slow EMA
shortCondition = ta.crossunder(ema_fast, ema_slow)

// Calculate stop-loss and target levels
stopLoss = strategy.position_avg_price * (1 - target_ratio / 100)
takeProfit = strategy.position_avg_price * (1 + target_ratio / 100)

// Plot stop-loss and target levels
plot(stopLoss, color=color.red, title="Stop Loss")
plot(takeProfit, color=color.green, title="Take Profit")

// Entry conditions with fixed position size
if (longCondition)
    strategy.entry("Long", strategy.long, qty = position_size)
    
if (shortCondition)
    strategy.entry("Short", strategy.short, qty = position_size)

// Plot entry signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)




Lebih lanjut