
Эта стратегия построена для создания торговой стратегии путем вычисления RSI и установления перепродажи, в сочетании с динамическим стоп-лоском и целевым выходом из прибыли. Когда RSI проходит через перепродажу, делается пустая позиция, а когда она проходит через перепродажу, делается прибыль, а также устанавливается отслеживание стоп-лоса и целевой прибыли для выхода из позиции.
Эта стратегия использует 14-дневный RSI, чтобы определить техническую форму рынка. RSI отражает долю движения вверх и вниз в течение определенного периода времени, чтобы определить, является ли рынок перекупленным или перепроданным. Длина RSI в этой стратегии составляет 14.
Кроме того, в этой стратегии используется механизм динамического отслеживания стоп-убытков. При владении многоглавой позиции стоп-убытки отслеживаются на 97% от цены закрытия; при владении пустой позиции стоп-убытки отслеживаются на 103% от цены закрытия. Таким образом, можно блокировать большую часть прибыли, избегая возникновения стоп-убытков.
Наконец, в этой стратегии также используется механизм целевой прибыли. Выход из позиции происходит, когда прибыль от удержания позиции достигает 20%. Это позволяет заблокировать часть прибыли, чтобы избежать обратной прибыли.
Эта стратегия имеет следующие преимущества:
Однако есть и другие риски, о которых следует помнить:
В отношении вышеуказанных рисков можно решить путем оптимизации параметров RSI, корректировки стоп-магнитности и соответствующего смягчения требований к целевой прибыли.
Эта стратегия может быть оптимизирована в следующих направлениях:
Общая идея этой стратегии ясна, используя показатель RSI для определения перекупа и перепродажи, в сочетании с динамическими остановками и выходом из целевой прибыли. Преимущества заключаются в том, что ее реализация проста в понимании, риск находится под контролем, она является масштабируемой. Следующий шаг может быть оптимизирован в направлении повышения качества сигнала, динамического регулирования параметров и т. Д., Чтобы сделать стратегию более интеллектуальной.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Modified RSI-Based Trading Strategy", overlay=true)
// RSI settings
rsiLength = input(14, title="RSI Length")
overboughtLevel = 70
oversoldLevel = 30
// User-defined parameters
trailingStopPercentage = input(3, title="Trailing Stop Percentage (%)")
profitTargetPercentage = input(20, title="Profit Target Percentage (%)")
rsiValue = ta.rsi(close, rsiLength)
var float trailingStopLevel = na
var float profitTargetLevel = na
// Entry criteria
enterLong = ta.crossover(rsiValue, oversoldLevel)
enterShort = ta.crossunder(rsiValue, overboughtLevel)
// Exit criteria
exitLong = ta.crossover(rsiValue, overboughtLevel)
exitShort = ta.crossunder(rsiValue, oversoldLevel)
// Trailing stop calculation
if (strategy.position_size > 0)
trailingStopLevel := close * (1 - trailingStopPercentage / 100)
if (strategy.position_size < 0)
trailingStopLevel := close * (1 + trailingStopPercentage / 100)
// Execute the strategy
if (enterLong)
strategy.entry("Buy", strategy.long)
if (exitLong or ta.crossover(close, trailingStopLevel) or ta.change(close) > profitTargetPercentage / 100)
strategy.close("Buy")
if (enterShort)
strategy.entry("Sell", strategy.short)
if (exitShort or ta.crossunder(close, trailingStopLevel) or ta.change(close) < -profitTargetPercentage / 100)
strategy.close("Sell")
// Plot RSI and overbought/oversold levels
plot(rsiValue, title="RSI", color=color.blue)
hline(overboughtLevel, "Overbought", color=color.red, linestyle=hline.style_dashed)
hline(oversoldLevel, "Oversold", color=color.green, linestyle=hline.style_dashed)