Интеллектуальная адаптивная торговая система на основе импульса RSI и многоуровневых стоп-профита и стоп-лосса

RSI
Дата создания: 2024-11-12 16:12:36 Последнее изменение: 2024-11-12 16:12:36
Копировать: 0 Количество просмотров: 378
1
Подписаться
1617
Подписчики

Интеллектуальная адаптивная торговая система на основе импульса RSI и многоуровневых стоп-профита и стоп-лосса

Обзор

Стратегия представляет собой адаптивную торговую систему, основанную на относительно сильных и слабых индикаторах (RSI), которая отслеживает изменения рыночной динамики, отслеживая зоны перекупа и перепродажи RSI. Система интегрировала интеллектуальные механизмы управления позициями, включая многоуровневый контроль стоп-стоп-лосс и автоматическую функцию ликвидации позиций, чтобы обеспечить стабильный риск-прибыль.

Стратегический принцип

В основе стратегии лежат сигналы опережения и перепродажи, основанные на индикаторе RSI, в сочетании с несколькими условиями:

  1. Входный сигнал: при прорыве RSI в 30 позиций появляется многозначный сигнал; при прорыве RSI в 70 позиций появляется пустой сигнал
  2. Управление рисками:
    • Установка фиксированного стоп-лосса (убыток в 100 пунктов) и целевой прибыли (прибыль в 150 пунктов)
    • Отслеживание состояния позиций в режиме реального времени для обеспечения однонаправленности
    • Автоматическое погашение в 15:25 ежедневно, чтобы избежать риска на ночь
  3. Выполнение сделок: система автоматически выполняет инструкции по сделкам через функции strategy.entry и strategy.close

Стратегические преимущества

  1. Ясность сигнала: четкий и понятный для понимания и выполнения перекрестный сигнал на основе RSI
  2. Улучшение управления ветром: интегрированные многоуровневые механизмы управления рисками
  3. Высокая степень автоматизации: автоматизация всего процесса от генерации сигналов до исполнения сделок
  4. Хорошая визуализация: четкое отображение на графике сигналов о продаже и горизонтальной линии RSI
  5. Адаптируемость: параметры могут быть скорректированы в соответствии с различными рыночными характеристиками

Стратегический риск

  1. Задержка RSI может привести к задержке входа
  2. Фиксированная стоп-стоп-стоп может не подходить для всех рыночных условий
  3. Одиночная зависимость от индикатора может пропустить другие важные рыночные сигналы
  4. Частая торговля может привести к более высоким транзакционным издержкам Рекомендации:
  • Сигнальное подтверждение в сочетании с другими техническими показателями
  • Динамическая коррекция уровня стоп-стоп
  • Увеличение ограничений на частоту сделок

Направление оптимизации стратегии

  1. Оптимизация показателей:
    • Повышение трендовых показателей, таких как скользящая средняя
    • Добавление сигнала подтверждения показателя замены
  2. Оптимизация управления ветром:
    • Осуществление динамического стоп-стоп
    • Присоединение к максимальному отводу
  3. Оптимизация исполнения:
    • Увеличение управления объемом открытых складов
    • Оптимизация управления временем торгов
  4. Параметры оптимизации:
    • Разработка системы адаптивных параметров
    • Достижение динамического порога RSI

Подвести итог

Стратегия использует RSI, чтобы улавливать изменения в динамике рынка, а также в сочетании с хорошо продуманной системой управления рисками, обеспечивает полностью автоматизированную торговую систему. Несмотря на определенные ограничения, после улучшения предлагаемого направления оптимизации, ожидается более стабильная торговая производительность.

Исходный код стратегии
/*backtest
start: 2024-11-04 00:00:00
end: 2024-11-11 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Harmony Signal Flow By Arun", overlay=true)

// RSI settings
rsiLength = 14
rsiSource = close
rsiValue = ta.rsi(rsiSource, rsiLength)

// Define RSI levels
buyLevel = 30
sellLevel = 70

// Buy signal: RSI crosses above 30
buyCondition = ta.crossover(rsiValue, buyLevel)

// Sell signal: RSI crosses below 70
sellCondition = ta.crossunder(rsiValue, sellLevel)

// Ensure only one order at a time
if (strategy.position_size == 0) // No open positions
    if (buyCondition)
        strategy.entry("Buy", strategy.long)
    else if (sellCondition)
        strategy.entry("Sell", strategy.short)

// Stop-loss and target conditions
var float stopLossBuy = na
var float targetBuy = na
var float stopLossSell = na
var float targetSell = na

if (strategy.position_size > 0) // If there's an open buy position
    stopLossBuy := strategy.position_avg_price - 100 // Set stop-loss for buy
    targetBuy := strategy.position_avg_price + 150 // Set target for buy

    if (close <= stopLossBuy)
        strategy.close("Buy", comment="Stoploss Hit")
    else if (close >= targetBuy)
        strategy.close("Buy", comment="Target Hit")

if (strategy.position_size < 0) // If there's an open sell position
    stopLossSell := strategy.position_avg_price + 100 // Set stop-loss for sell
    targetSell := strategy.position_avg_price - 150 // Set target for sell

    if (close >= stopLossSell)
        strategy.close("Sell", comment="Stoploss Hit")
    else if (close <= targetSell)
        strategy.close("Sell", comment="Target Hit")

// Close all positions by 3:25 PM
if (hour(timenow) == 15 and minute(timenow) == 25)
    strategy.close_all(comment="Close all positions at 3:25 PM")

// Plot buy/sell signals on the chart
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Plot RSI and levels
hline(buyLevel, "Buy Level", color=color.green)
hline(sellLevel, "Sell Level", color=color.red)
plot(rsiValue, "RSI", color=color.blue)