Strategi mengikut arah aliran suai berdasarkan purata bergerak

SMA MA RR
Tarikh penciptaan: 2025-02-18 14:23:08 Akhirnya diubah suai: 2025-02-18 14:23:08
Salin: 0 Bilangan klik: 322
1
fokus pada
1617
Pengikut

Strategi mengikut arah aliran suai berdasarkan purata bergerak

Gambaran keseluruhan

Strategi ini adalah sistem pengesanan trend yang berasaskan silang dua garis rata, menangkap trend pasaran melalui silang rata-rata bergerak jangka pendek dan jangka panjang, dan menguruskan risiko perdagangan dengan nisbah risiko-keuntungan 1: 3. Strategi ini menggunakan sasaran berhenti dan keuntungan yang tetap, sambil menggabungkan mekanisme berhenti bergerak untuk melindungi keuntungan.

Prinsip Strategi

Strategi ini menggunakan purata bergerak jangka pendek 74 kitaran (SMA pendek) dan purata bergerak jangka panjang 70 kitaran (SMA panjang) sebagai petunjuk utama. Apabila purata bergerak jangka pendek melintasi purata jangka panjang ke atas, sistem menghasilkan isyarat berganda; apabila purata bergerak jangka pendek melintasi garis purata jangka panjang ke bawah, sistem menghasilkan isyarat kosong.

Kelebihan Strategik

  1. Pengurusan risiko yang sempurna: Rasio ganjaran risiko 1: 3 yang tetap membantu mendapatkan keuntungan yang stabil dalam perdagangan jangka panjang
  2. Kejelasan isyarat: menggunakan strategi persilangan linear klasik, isyarat dagangan jelas, mudah difahami dan dilaksanakan
  3. Tingkat automasi yang tinggi: termasuk logik masuk dan keluar yang lengkap, tanpa campur tangan manusia
  4. Perlindungan Stop Loss Bergerak: Dengan mekanisme Stop Loss Bergerak, keuntungan yang telah dicapai dapat dikunci dengan berkesan
  5. Kawalan kedudukan yang ketat: ukuran kedudukan tetap, mengelakkan risiko yang berlebihan

Risiko Strategik

  1. Rata-rata ketinggalan: Rata-rata bergerak pada dasarnya adalah penunjuk ketinggalan, yang mungkin menghasilkan isyarat ketinggalan dalam pasaran yang bergolak dengan cepat
  2. Tidak berlaku untuk pasaran goyah: Isyarat palsu mungkin sering dihasilkan dalam pasaran goyah horizontal, yang menyebabkan kerugian berturut-turut
  3. Risiko Hentian Tetap: Hentian tetap USD mungkin tidak fleksibel dalam keadaan harga yang bergolak
  4. Sekatan jangka masa: strategi hanya beroperasi dalam jangka masa tertentu dan mungkin terlepas peluang perdagangan penting

Arah pengoptimuman strategi

  1. Siklus purata penyesuaian dinamik: dapat menyesuaikan secara automatik kitaran purata mengikut turun naik pasaran, meningkatkan fleksibiliti strategi
  2. Memperkenalkan penapis kadar turun naik: Tambahkan ATR atau penunjuk kadar turun naik lain untuk menyesuaikan stop loss semasa turun naik tinggi
  3. Pengendalian kedudukan yang optimum: penyesuaian kedudukan yang dinamik berdasarkan nilai bersih akaun, meningkatkan kecekapan penggunaan dana
  4. Menambah penapis keadaan pasaran: memperkenalkan penunjuk kekuatan trend, secara automatik mengurangkan frekuensi perdagangan di pasaran yang bergolak
  5. Peningkatan mekanisme keluar: membangunkan mekanisme pengambilan keuntungan yang lebih fleksibel yang digabungkan dengan penembusan harga atau penunjuk momentum

ringkaskan

Ini adalah strategi pengesanan trend dengan struktur yang lengkap dan logik yang jelas. Ia sesuai untuk perdagangan jangka menengah dan panjang dengan menangkap trend di seberang garisan, menggunakan pengurusan risiko dan kawalan kedudukan yang ketat. Walaupun terdapat kelemahan yang wujud seperti ketinggalan garisan, tetapi dengan arah pengoptimuman yang disyorkan, khususnya dengan memperkenalkan penyesuaian parameter dinamik dan penapisan persekitaran pasaran, kestabilan dan keuntungan strategi dijangka dapat ditingkatkan lagi.

Kod sumber strategi
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-17 00:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bitcoin Strategy by Jag", overlay=true)

// Input Parameters
shortSMALength = input.int(74, title="Short SMA Length")
longSMALength = input.int(70, title="Long SMA Length")
trailStopOffset = input.float(353, title="Trailing Stop Offset (USD)")  // Trailing Stop Loss Offset in USD
tradeSize = input.float(1, title="Trade Size")

// Automatically set Take Profit as 3 times Stop Loss
fixedTakeProfit = trailStopOffset * 3

// Backtesting Date Range
startDate = timestamp(2025, 02,13, 0, 0)
endDate = timestamp(2025, 03, 31, 23, 59)
withinDateRange = true

// Indicators
shortSMA = ta.sma(close, shortSMALength)
longSMA = ta.sma(close, longSMALength)

// Crossover Conditions
longCondition = withinDateRange and ta.crossover(shortSMA, longSMA)
shortCondition = withinDateRange and ta.crossunder(shortSMA, longSMA)

// Entry Logic
if (strategy.position_size == 0)  // Only allow new trades if no position is open
    if (longCondition)
        strategy.entry("Long", strategy.long, tradeSize)

    if (shortCondition)
        strategy.entry("Short", strategy.short, tradeSize)

// Exit Logic for Long Position
if (strategy.position_size > 0)
    strategy.exit("Long exit", "Long", stop=strategy.position_avg_price - trailStopOffset, limit=strategy.position_avg_price + fixedTakeProfit)  // Using stop and limit

// Exit Logic for Short Position
if (strategy.position_size < 0)
    strategy.exit("Short Exit", "Short", stop=strategy.position_avg_price + trailStopOffset, limit=strategy.position_avg_price - fixedTakeProfit)  // Using stop and limit

// Plot Moving Averages
plot(shortSMA, color=color.blue, title="Short SMA")
plot(longSMA, color=color.black, title="Long SMA")

// Visual Signals
plotshape(series=longCondition and strategy.position_size == 0, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=shortCondition and strategy.position_size == 0, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)