
Стратегия использует два движущихся средних (быстрое движущееся среднее и медленное движущееся среднее) и относительно сильный индекс (РСИ) для идентификации краткосрочных тенденций и перепродажи на рынке. Стратегия открывает позиции сверхглавой, когда быстрое движущееся среднее пересекает медленное движущееся среднее снизу вверх и RSI ниже уровня перепродажи; стратегию открывает позиции сверхглавой, когда быстрое движущееся среднее пересекает медленное движущееся среднее снизу вверх и RSI выше уровня перепродажи.
Эта стратегия, использующая двойные движущиеся средние и RSI, способна уловить ценовые тенденции в краткосрочной перспективе и подходит для короткой торговли на волатильных рынках. Логика стратегии ясна, параметры гибки, их легко реализовать и оптимизировать. Однако в волатильных рынках может возникать слишком много торговых сигналов и слабая способность улавливать долгосрочные тенденции.
/*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)