Strategi ini adalah sistem perdagangan kuantitatif berdasarkan persilangan purata bergerak eksponen (EMA) 5 tempoh dan 15 tempoh. Ia bertujuan untuk mencapai pulangan yang stabil sambil melindungi modal melalui tahap stop-loss dan mengambil keuntungan yang munasabah. Strategi ini menggunakan isyarat persilangan purata bergerak klasik untuk mengenal pasti perubahan trend pasaran dan menggabungkannya dengan mekanisme pengurusan risiko untuk mengawal nisbah risiko-balasan setiap perdagangan.
Inti strategi ini adalah memantau persilangan antara purata bergerak pantas (EMA 5 tempoh) dan purata bergerak perlahan (EMA 15 tempoh). Isyarat panjang dihasilkan apabila EMA 5 tempoh melintasi di atas EMA 15 tempoh, sementara isyarat pendek dihasilkan apabila EMA 5 tempoh melintasi di bawah EMA 15 tempoh. Untuk setiap isyarat perdagangan, sistem secara automatik menetapkan tahap stop-loss 1.5% dan tahap mengambil keuntungan 3%, memastikan nisbah risiko-balasan yang baik. paras stop-loss dan mengambil keuntungan dikira berdasarkan harga kemasukan, dengan berkesan mengawal pendedahan risiko.
Ini adalah strategi perdagangan kuantitatif yang terstruktur dengan baik dengan logik yang jelas. Ia menangkap titik pembalikan trend melalui persimpangan purata bergerak dan melaksanakan kawalan risiko dengan tahap stop-loss dan mengambil keuntungan tetap. Strategi ini mudah digunakan, sesuai untuk pemula, dan menyediakan asas yang baik untuk pengoptimuman lanjut. Pedagang dinasihatkan untuk melakukan pengujian balik yang menyeluruh sebelum pelaksanaan langsung dan mengoptimumkan parameter mengikut ciri pasaran tertentu.
/*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)