Strategi persilangan purata bergerak eksponen dan sistem pengoptimuman henti rugi dan ambil untung

EMA SL TP CROSS
Tarikh penciptaan: 2024-11-27 16:15:25 Akhirnya diubah suai: 2024-11-27 16:15:25
Salin: 0 Bilangan klik: 124
1
fokus pada
1166
Pengikut

Strategi persilangan purata bergerak eksponen dan sistem pengoptimuman henti rugi dan ambil untung

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan kuantitatif yang berasaskan crossover rata-rata bergerak indeks 5 kitaran dan 15 kitaran (EMA). Dengan menetapkan tahap stop loss dan stop loss yang munasabah, mengejar keuntungan yang stabil sambil melindungi keselamatan dana. Strategi ini menggunakan isyarat crossover garisan klasik untuk mengenal pasti perubahan trend pasaran, dan menggabungkan mekanisme pengurusan risiko untuk mengawal kadar keuntungan dan kerugian setiap perdagangan.

Prinsip Strategi

Inti strategi adalah memantau persilangan rata-rata bergerak cepat (EMA 5 kitaran) dengan rata-rata bergerak perlahan (EMA 15 kitaran). Apabila EMA 5 kitaran melintasi EMA 15 kitaran ke atas, sistem menghasilkan banyak isyarat; Apabila EMA 5 kitaran melintasi EMA 15 kitaran ke bawah, sistem menghasilkan isyarat kosong.

Kelebihan Strategik

  1. Mekanisme penjanaan isyarat objektif dan mudah difahami, bebas daripada penilaian subjektif
  2. Penggunaan purata bergerak indeks mengurangkan kesan pecah palsu
  3. Penetapan dan penangguhan peratusan tetap untuk pengurusan wang
  4. Nisbah risiko / keuntungan 1: 2, sesuai dengan prinsip perdagangan profesional
  5. Logik strategi mudah, mudah dilaksanakan dan dipelihara
  6. Boleh digunakan untuk pelbagai pasaran dan tempoh masa

Risiko Strategik

  1. Di pasaran Forex, isyarat palsu boleh berlaku dengan kerap, meningkatkan kos urus niaga
  2. Tetapan Stop Loss dan Stop Loss yang tetap mungkin tidak sesuai untuk semua keadaan pasaran
  3. EMA pantas lebih sensitif terhadap perubahan harga dan boleh menyebabkan perdagangan berlebihan
  4. Pengendalian risiko tidak cukup fleksibel tanpa mengambil kira perubahan kadar turun naik pasaran
  5. Dalam keadaan yang melampau, penangguhan mungkin tidak dilaksanakan pada masa yang tepat.

Arah pengoptimuman strategi

  1. Memperkenalkan penunjuk kadar turun naik untuk menyesuaikan tahap stop loss secara dinamik
  2. Meningkatkan penapis trend untuk mengurangkan isyarat palsu pasaran setapak
  3. Dinamika perubahan kitaran EMA mengikut ciri pasaran yang berbeza
  4. Menambah mekanisme pengesahan jumlah transaksi untuk meningkatkan kebolehpercayaan isyarat
  5. Memperkenalkan penapis masa untuk mengelakkan dagangan pada masa yang tidak menguntungkan
  6. Pertimbangan untuk menambah mekanisme trailing stop untuk mengoptimumkan kaedah pengakhiran keuntungan

ringkaskan

Ini adalah strategi perdagangan kuantitatif yang lengkap dan logik yang jelas. Strategi ini mudah digunakan, sesuai untuk pemula, dan menyediakan asas yang baik untuk pengoptimuman lanjut.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("5 EMA and 15 EMA Crossover with Stop Loss and Target", overlay=true)

// Define EMAs
ema5 = ta.ema(close, 5)
ema15 = ta.ema(close, 15)

// Plot EMAs on the chart
plot(ema5, title="5 EMA", color=color.blue)
plot(ema15, title="15 EMA", color=color.red)

// Crossover conditions
longCondition = ta.crossover(ema5, ema15)
shortCondition = ta.crossunder(ema5, ema15)

// Stop-loss and take-profit percentage
stopLossPercent = 1.5  // Stop-loss at 1.5%
takeProfitPercent = 3.0  // Take-profit at 3%

// Calculate stop-loss and take-profit levels for long and short positions
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100)
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100)

shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100)
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100)

// Enter long position with stop-loss and take-profit
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit)

// Enter short position with stop-loss and take-profit
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit)

// Plot stop-loss and take-profit levels
plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)
plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)