
Strategi ini menggunakan dua purata bergerak ((rata-rata bergerak cepat dan rata-rata bergerak perlahan) dan indeks yang agak kuat ((RSI) untuk mengenal pasti trend jangka pendek dan overbought dan oversold di pasaran. Strategi ini membuka kedudukan overhead apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan dari bawah ke atas dan RSI berada di bawah paras oversold; Strategi ini membuka kedudukan overhead apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan dari atas ke bawah dan RSI berada di atas paras oversold.
Strategi ini, dengan menggabungkan purata bergerak ganda dan RSI, menangkap trend harga dalam jangka pendek, sesuai untuk perdagangan garis pendek di pasaran yang bergelombang. Logik strategi jelas, parameter fleksibel, mudah dilaksanakan dan dioptimumkan. Tetapi, terlalu banyak isyarat perdagangan mungkin dihasilkan di pasaran yang bergolak, dan keupayaan untuk menangkap trend jangka panjang lemah. Oleh itu, dalam aplikasi praktikal, boleh mempertimbangkan untuk memperkenalkan petunjuk lain, memilih parameter pengoptimuman, memasukkan langkah-langkah pengurusan risiko dan sebagainya untuk meningkatkan kestabilan dan keuntungan strategi.
/*backtest
start: 2024-03-24 00:00:00
end: 2024-03-25 05:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Short-Term Scalp Trading Strategy", overlay=true)
// Define strategy parameters
fastMA_length = input(5, title="Fast MA Length")
slowMA_length = input(10, title="Slow MA Length")
rsi_length = input(7, title="RSI Length")
rsi_oversold = input(20, title="RSI Oversold Level")
rsi_overbought = input(80, title="RSI Overbought Level")
// Calculate Moving Averages
fastMA = ta.sma(close, fastMA_length)
slowMA = ta.sma(close, slowMA_length)
// Calculate RSI
rsi = ta.rsi(close, rsi_length)
// Define entry conditions
longCondition = ta.crossunder(fastMA, slowMA) and rsi < rsi_oversold
shortCondition = ta.crossover(fastMA, slowMA) and rsi > rsi_overbought
// Enter long position
strategy.entry("Long", strategy.long, when=longCondition)
// Enter short position
strategy.entry("Short", strategy.short, when=shortCondition)
// Define exit conditions
longExitCondition = ta.crossunder(fastMA, slowMA) or ta.crossover(rsi, rsi_overbought)
shortExitCondition = ta.crossover(fastMA, slowMA) or ta.crossunder(rsi, rsi_oversold)
// Exit long position
if (longExitCondition)
strategy.close("Exit Long", "Long")
// Exit short position
if (shortExitCondition)
strategy.close("Exit Short", "Short")
// Plot buy and sell signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)