Эта стратегия сочетает в себе VWAP, EMA и RSI для тенденционного уклонения и следует за тенденциями с использованием подхода отставания.
Логика стратегии:
При расчете VWAP эталонная стоимость справедливой стоимости.
Вычислить 15-периодный EMA как среднесрочный индикатор тенденции.
Используйте RSI, чтобы определить уровни перекупленности, RSI выше порога сигнализирует об ожидании роста.
Введите длинный, когда закрытие превышает VWAP и EMA, и RSI перекуплен.
Установите линию стоп-лосса на определенный процент ниже точки входа.
Возьмите фиксированную прибыль на уровне фиксированной точки, чтобы закрепить прибыль.
Преимущества:
VWAP, EMA и RSI улучшают точность ввода из нескольких аспектов.
Задержка движется динамично, чтобы защитить прибыль.
Фиксированная прибыль обеспечивает уверенность в выходе.
Риски:
RSI и EMA склонны к ложным сигналам во время диапазонов.
Калибровка стоп-лосса требует осторожности, слишком широкая или слишком узкая проблематична.
Нет ограничения на размер потерь на одной сделке.
В общем, эта стратегия сочетает в себе несколько индикаторов и использует последующую остановку для следования тренду.
/*backtest start: 2022-09-12 00:00:00 end: 2023-02-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("VWAP+15EMA with RSI", overlay=true) // Inputs ema_length = input.int(15, title="EMA Length") rsi_length = input.int(14, title="RSI Length") rsi_overbought = input.int(45, title="RSI Overbought Level") stop_loss_pct = input.float(0.5, title="Stop Loss %") take_profit_pct = input.float(3.5, title="Take Profit %") trailing_stop_pct = input.float(1, title="Trailing Stop %") // Calculate Indicators vwap = ta.vwap(hlc3) ema = ta.ema(close, ema_length) rsi = ta.rsi(close, rsi_length) // Entry Condition long_entry = close > vwap and close > ema and rsi > rsi_overbought // Exit Conditions stop_loss = strategy.position_avg_price * (1 - stop_loss_pct / 100) take_profit = strategy.position_avg_price * (1 + take_profit_pct / 100) trailing_stop = strategy.position_avg_price * (1 - trailing_stop_pct / 100) // Submit Orders if long_entry and strategy.position_size == 0 strategy.entry("Long", strategy.long) if strategy.position_size > 0 strategy.exit("Stop Loss /Profit", "Long", profit = take_profit, stop=stop_loss, trail_offset = trailing_stop) // Plot Indicators plot(vwap, title="VWAP", color=color.blue) plot(ema, title="EMA", color=color.orange) plot(rsi, title="RSI", color=color.purple) hline(rsi_overbought, title="RSI Overbought", color=color.red)