
Strategi ini melakukan perdagangan automatik dengan mengira purata bergerak untuk tempoh yang berbeza, menetapkan stop loss, dan melakukan perdagangan secara automatik. Melakukan dagangan lebih banyak apabila bergerak di atas purata bergerak jangka pendek dan kosong apabila bergerak di bawah purata bergerak jangka pendek.
Strategi ini berdasarkan prinsip persilangan garis rata. Ia mengira purata bergerak mudah 9 hari dan purata bergerak mudah 55 hari pada masa yang sama. Apabila garis rata 9 hari melintasi garis rata-rata 55 hari, ia mewakili trend jangka pendek yang berbalik ke atas, ketika itu melakukan lebih banyak; apabila garis rata 9 hari melintasi garis rata-rata 55 hari, ia mewakili trend jangka pendek yang berbalik ke bawah, ketika itu melakukan kosong.
Strategi ini juga menggunakan penunjuk ATR untuk menetapkan stop loss dan titik tolak. Penunjuk ATR dapat mengukur ketinggian turun naik pasaran. Penentuan titik tolak sebagai harga penutupan dikurangkan dari nilai ATR, yang membolehkan penempatan berhenti yang munasabah berdasarkan turun naik pasaran; penutupan titik tolak menggunakan nisbah pulangan risiko, di mana ia ditetapkan sebagai nisbah pulangan risiko 2, iaitu stop loss = harga penutupan + 2 * nilai ATR.
Ini adalah strategi perdagangan garis pendek yang sangat mudah dan praktikal, dengan beberapa kelebihan:
Strategi ini mempunyai beberapa risiko:
Untuk risiko ini, ia boleh dikurangkan dengan parameter pengoptimuman, hentian yang ketat, dan pengurusan kedudukan yang munasabah.
Strategi ini boleh dioptimumkan lagi:
Strategi ini jelas dan mudah dilaksanakan, terutama sesuai untuk pemula. Sebagai strategi perdagangan garis pendek asas, ia mempunyai kelebihan seperti operasi yang mudah dan mudah dioptimumkan. Jika digunakan dengan COMPLETE atau kerangka kerja lain, strategi ini dapat diperkuat lagi, menjadikannya sistem perdagangan kuantitatif yang cukup praktikal.
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA Crossover Strategy with Stop-Loss and Take-Profit", overlay=true)
// Input for selecting the length of the moving averages
maShortLength = input(9, title="Short MA Length")
maLongLength = input(55, title="Long MA Length")
// Input for setting the risk-reward ratio
riskRewardRatio = input(2, title="Risk-Reward Ratio")
// Calculate moving averages
maShort = ta.sma(close, maShortLength)
maLong = ta.sma(close, maLongLength)
// Buy condition: 9-period MA crosses above 55-period MA
buyCondition = ta.crossover(maShort, maLong)
// Sell condition: 9-period MA crosses below 55-period MA
sellCondition = ta.crossunder(maShort, maLong)
// Set stop-loss and take-profit levels
atrValue = ta.atr(14)
stopLossLevel = close - atrValue // Use ATR for stop-loss (adjust as needed)
takeProfitLevel = close + riskRewardRatio * atrValue // Risk-reward ratio of 1:2
// Execute buy and sell orders with stop-loss and take-profit
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel, profit=takeProfitLevel)
// Plot moving averages on the chart
plot(maShort, color=color.blue, title="Short MA")
plot(maLong, color=color.red, title="Long MA")