Эта стратегия - это подход, основанный на импульсе, который использует индикатор относительного силы (RSI) в сочетании с ручным уровнем прибыли (TP) и стоп-лосса (SL). Основная идея стратегии заключается в том, чтобы зафиксировать перекупленные и перепроданные рыночные условия с использованием индикатора RSI, а также учитывать положение ежедневной цены закрытия относительно самых высоких и самых низких цен в недавнем прошлом. После достижения заранее определенных уровней TP или SL стратегия автоматически закрывает позицию.
Эта стратегия предлагает торговую структуру, основанную на индикаторе импульса RSI, включая в себя функциональность ручного получения прибыли и остановки убытков, что позволяет трейдерам управлять своими позициями в соответствии с их предпочтениями по риску и рыночным прогнозом. Тем не менее, эффективность стратегии во многом зависит от выбора параметров и рыночных условий. Поэтому трейдеры должны проявлять осторожность при использовании этой стратегии, проводить тщательное обратное тестирование и оптимизацию и комбинировать ее с другими формами анализа и методами управления рисками для достижения более надежных торговых результатов.
//@version=5 strategy("RSI Strategy with Manual TP and SL", overlay=true) // Strategy Parameters length = input(14, title="RSI Length") overSold = input(30, title="Oversold Level") overBought = input(70, title="Overbought Level") trail_profit_pct = input.float(20, title="Trailing Profit (%)") // RSI Calculation vrsi = ta.rsi(close, length) // Entry Conditions for Long Position rsi_crossed_below_30 = vrsi > overSold and ta.sma(vrsi, 2) <= overSold // RSI crossed above 30 daily_close_above_threshold = close > (ta.highest(close, 50) * 0.7) // Daily close above 70% of the highest close in the last 50 bars // Entry Conditions for Short Position rsi_crossed_above_70 = vrsi < overBought and ta.sma(vrsi, 2) >= overBought // RSI crossed below 70 daily_close_below_threshold = close < (ta.lowest(close, 50) * 1.3) // Daily close below 130% of the lowest close in the last 50 bars // Entry Signals if (rsi_crossed_below_30 and daily_close_above_threshold) strategy.entry("RsiLE", strategy.long, comment="RsiLE") if (rsi_crossed_above_70 and daily_close_below_threshold) strategy.entry("RsiSE", strategy.short, comment="RsiSE") // Manual Take Profit and Stop Loss tp_percentage = input.float(1, title="Take Profit (%)") sl_percentage = input.float(1, title="Stop Loss (%)") long_tp = strategy.position_avg_price * (1 + tp_percentage / 100) long_sl = strategy.position_avg_price * (1 - sl_percentage / 100) short_tp = strategy.position_avg_price * (1 - tp_percentage / 100) short_sl = strategy.position_avg_price * (1 + sl_percentage / 100) strategy.exit("TP/SL Long", "RsiLE", limit=long_tp, stop=long_sl) strategy.exit("TP/SL Short", "RsiSE", limit=short_tp, stop=short_sl)