
Ini adalah strategi perdagangan kuantitatif berdasarkan indikator EMA, yang membuat keputusan perdagangan dengan mengira isyarat silang rata-rata bergerak indeks jangka pendek ((9 kitaran) dan jangka panjang ((21 kitaran)). Strategi ini menetapkan syarat berhenti dan berhenti masing-masing 2% dan 4% untuk mengawal risiko dan mengunci keuntungan.
Strategi ini menggunakan dua purata bergerak indeks dalam dua kitaran yang berbeza, iaitu kitaran 9 dan kitaran 21. Apabila EMA jangka pendek naik melintasi EMA jangka panjang, ia menghasilkan isyarat membeli; Apabila EMA jangka pendek turun melintasi EMA jangka panjang, ia menghasilkan isyarat menjual. Strategi ini juga merangkumi mekanisme pengurusan risiko untuk melindungi keselamatan dan mengunci keuntungan dengan menetapkan 2% berhenti dan 4% berhenti.
Strategi ini adalah strategi trend-following klasik yang menangkap perubahan trend pasaran melalui persilangan garis rata. Walaupun reka bentuk strategi ini agak mudah, ia merangkumi logik perdagangan dan mekanisme kawalan risiko yang lengkap. Dengan menambah langkah-langkah pengoptimuman seperti penyesuaian parameter dinamik, penilaian keadaan pasaran, dan sebagainya, anda dapat meningkatkan kestabilan dan keuntungan strategi. Dalam aplikasi praktikal, disarankan untuk mengoptimumkan parameter mengikut jenis perdagangan dan keadaan pasaran tertentu, dengan memperhatikan kawalan risiko.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ancour
//@version=5
strategy("Moving Average Crossover", overlay=true)
// Define the length for short-term and long-term EMAs
shortEmaLength = 9
longEmaLength = 21
// Calculate EMAs
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
// Plot EMAs on the chart
plot(shortEma, title="Short-term EMA", color=color.green, linewidth=2)
plot(longEma, title="Long-term EMA", color=color.red, linewidth=2)
// Strategy conditions for crossovers
longCondition = ta.crossover(shortEma, longEma)
shortCondition = ta.crossunder(shortEma, longEma)
// Enter long when short EMA crosses above long EMA
if (longCondition)
strategy.entry("Buy", strategy.long)
// Exit long or enter short when short EMA crosses below long EMA
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Optional: Add stop-loss and take-profit levels for risk management
stopLossPercent = 2
takeProfitPercent = 4
strategy.exit("Sell TP/SL", "Buy", stop=low * (1 - stopLossPercent/100), limit=high * (1 + takeProfitPercent/100))