Sumber dimuat naik... memuat...

Strategi silang purata bergerak berganda dengan sasaran keuntungan harian

Penulis:ChaoZhang, Tarikh: 2024-09-26 14:50:35
Tag:MASMAKOSOVER

img

Ringkasan

Strategi ini adalah sistem perdagangan intraday berdasarkan crossover purata bergerak berganda, menggabungkan stop-loss tetap dan trailing stop, dengan sasaran keuntungan harian.

Prinsip Strategi

  1. Pengiraan Purata Bergerak: Strategi ini menggunakan dua Purata Bergerak Sederhana (SMA), SMA cepat dan lambat berdasarkan tempoh yang ditakrifkan oleh pengguna.

  2. Generasi Isyarat Perdagangan:

    • Isyarat Beli: Dihidupkan apabila SMA cepat melintasi di atas SMA perlahan.
    • Isyarat Jual: Dihidupkan apabila SMA pantas melintasi di bawah SMA perlahan.
  3. Pengurusan Risiko:

    • Stop-Loss Tetap: Menetapkan jumlah wang tetap untuk stop-loss pada setiap perdagangan.
    • Trailing Stop: Menggunakan trailing stop yang boleh diselaraskan untuk melindungi keuntungan.
  4. Sasaran keuntungan harian:

    • Menetapkan sasaran keuntungan harian, secara automatik menutup kedudukan dan menghentikan perdagangan apabila dicapai.
    • Boleh dilumpuhkan dengan menetapkan sasaran kepada 0.
  5. Imej:

    • Mempaparkan purata bergerak pantas dan perlahan pada carta.
    • Menggunakan penanda untuk memaparkan isyarat beli dan jual.

Kelebihan Strategi

  1. Trend Following: Menggunakan crossover purata bergerak untuk menangkap trend pasaran, membantu memasuki pada permulaan trend.

  2. Kawalan Risiko: Mengendalikan risiko secara berkesan untuk setiap perdagangan dan secara keseluruhan melalui stop-loss tetap dan trailing stop.

  3. Pengurusan keuntungan: Sasaran keuntungan harian membantu mengawal pendedahan risiko dan melindungi keuntungan yang dicapai.

  4. Fleksibiliti: Membolehkan pengguna menyesuaikan parameter utama seperti tempoh purata bergerak, jumlah stop-loss, dan sasaran keuntungan untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.

  5. Bantuan Visual: Intuitif memaparkan purata bergerak dan isyarat perdagangan pada carta, memudahkan analisis dan backtesting.

Risiko Strategi

  1. Perdagangan yang kerap: Boleh menghasilkan isyarat palsu yang berlebihan di pasaran yang bergelora, yang membawa kepada perdagangan yang kerap dan kenaikan yuran.

  2. Sifat ketinggalan: Purata bergerak secara semula jadi merupakan penunjuk ketinggalan, berpotensi bertindak balas terlalu perlahan di pasaran yang sangat tidak menentu.

  3. Risiko Stop-Loss Tetap: Stop-loss monetari tetap mungkin tidak cukup fleksibel di pasaran dengan turun naik yang berbeza.

  4. Batasan sasaran harian: Sasaran harian yang wajib boleh menyebabkan kehilangan peluang pasaran yang penting.

  5. Sensitiviti Parameter: Prestasi strategi mungkin sangat sensitif terhadap tetapan parameter, yang memerlukan pengoptimuman yang kerap.

Arahan pengoptimuman

  1. Penyesuaian Parameter Dinamik: Pertimbangkan untuk menyesuaikan secara automatik tempoh purata bergerak dan tahap stop-loss berdasarkan turun naik pasaran.

  2. Penapis Tambahan: Memperkenalkan penunjuk teknikal atau sentimen pasaran tambahan untuk mengurangkan isyarat palsu.

  3. Penapisan Masa: Melaksanakan penapisan masa untuk mengelakkan tempoh yang sangat tidak menentu seperti pembukaan dan penutupan pasaran.

  4. Pengurusan Kedudukan: Melaksanakan saiz kedudukan dinamik, menyesuaikan saiz perdagangan berdasarkan keadaan pasaran dan prestasi akaun.

  5. Analisis Jangka Masa Berbilang: Sertakan analisis trend jangka panjang untuk meningkatkan ketepatan masa kemasukan.

  6. Pengoptimuman Pembelajaran Mesin: Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan pemilihan parameter dan proses penjanaan isyarat.

Ringkasan

Strategi Crossover Purata Bergerak Berganda dengan Sasaran Keuntungan Harian adalah sistem perdagangan yang menggabungkan analisis teknikal klasik dengan teknik pengurusan risiko moden. Ia menangkap trend pasaran melalui crossover purata bergerak yang mudah namun berkesan, ditambah dengan sasaran stop-loss dan keuntungan untuk pengurusan risiko. Kekuatan strategi terletak pada kesederhanaan dan fleksibiliti, tetapi ia juga menghadapi cabaran yang melekat pada sistem purata bergerak, seperti sifat tertinggal dan sensitiviti parameter. Melalui pengoptimuman berterusan dan pengenalan ciri yang lebih maju seperti pelarasan parameter dinamik dan analisis pelbagai faktor, strategi ini berpotensi untuk mengekalkan prestasi yang stabil di pelbagai persekitaran pasaran.


/*backtest
start: 2024-08-26 00:00:00
end: 2024-09-24 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("NQ Futures $200/day Strategy", overlay=true)

// Input Parameters
fastLength = input.int(9, title="Fast MA Length")
slowLength = input.int(21, title="Slow MA Length")
dailyTarget = input.float(200, title="Daily Profit Target (Set to 0 to disable)", step=0.01)  
stopLossAmount = input.float(100, title="Stop Loss Amount", step=0.01)
trailOffset = input.float(20, title="Trailing Stop Offset", step=0.01)

// Moving Averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)

// Crossover Conditions for Buy and Sell
longCondition = ta.crossover(fastMA, slowMA)
shortCondition = ta.crossunder(fastMA, slowMA)

// Entry conditions
if (longCondition)
    strategy.entry("Buy", strategy.long)

if (shortCondition)
    strategy.entry("Sell", strategy.short)

// Set Stop Loss and Trailing Stop
if (strategy.opentrades > 0)
    strategy.exit("Exit Long", from_entry="Buy", stop=strategy.position_avg_price - stopLossAmount, trail_offset=trailOffset)
    strategy.exit("Exit Short", from_entry="Sell", stop=strategy.position_avg_price + stopLossAmount, trail_offset=trailOffset)

// Conditional Daily Profit Target (disabled if dailyTarget is 0)
if (dailyTarget > 0 and strategy.netprofit >= dailyTarget)
    strategy.close_all(comment="Daily Target Reached")

// Plotting the moving averages on the main chart
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")

// Plot "Long" and "Short" signals on the main chart
plotshape(series=longCondition, title="Long Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")

// Markers for entry on the price chart
plotshape(series=longCondition, title="Buy Marker", location=location.belowbar, color=color.green, style=shape.triangledown, size=size.small)
plotshape(series=shortCondition, title="Sell Marker", location=location.abovebar, color=color.red, style=shape.triangleup, size=size.small)


Berkaitan

Lebih lanjut