
Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada crossover rata-rata bergerak indeks 5 siklus dan 15 siklus (EMA). Dengan menetapkan tingkat stop loss dan stop loss yang masuk akal, mengejar keuntungan yang stabil sambil melindungi keamanan dana. Strategi ini menggunakan sinyal crossover rata-rata klasik untuk mengidentifikasi perubahan tren pasar, dan dikombinasikan dengan mekanisme manajemen risiko untuk mengontrol keuntungan dan kerugian dari setiap perdagangan.
Inti dari strategi ini adalah memantau persilangan rata-rata bergerak cepat (EMA 5 siklus) dengan rata-rata bergerak lambat (EMA 15 siklus). Ketika EMA 5 siklus naik melintasi EMA 15 siklus, sistem menghasilkan sinyal yang lebih banyak; Ketika EMA 5 siklus turun melintasi EMA 15 siklus, sistem menghasilkan sinyal yang kosong. Untuk setiap sinyal perdagangan, sistem secara otomatis mengatur titik stop loss 1.5% dan titik stop loss 3%, pengaturan ini menjamin rasio keuntungan yang baik dari risiko.
Ini adalah strategi perdagangan kuantitatif yang terstruktur, logis dan jelas. Strategi ini sederhana dan mudah digunakan, cocok untuk pemula, dan memberikan dasar yang baik untuk optimalisasi lebih lanjut.
/*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)