Расширенные стратегии торговли на основе RSI и пользовательских условий ИИ


Дата создания: 2024-01-04 17:20:57 Последнее изменение: 2024-01-04 17:20:57
Копировать: 1 Количество просмотров: 684
1
Подписаться
1621
Подписчики

Расширенные стратегии торговли на основе RSI и пользовательских условий ИИ

Обзор

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

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

Стратегия реализуется в следующих шагах:

  1. Вычислить значение RSI на 14 циклов
  2. Определение двух пользовательских условий ИИ: многоголовый и пустой
  3. Сочетание условий AI с RSI в зоне сверхпокупа и сверхпродажи в качестве входного сигнала
  4. Размер позиции, рассчитанный на процент риска и стоп-лосс
  5. Расчет стоп-стоп и стоп-лосс
  6. Открытие позиции при удовлетворении сигнала входа
  7. Прямая позиция при выполнении условий стоп-стоп или остановки убытков

В то же время, эта стратегия также сигнализирует о формировании торговых сигналов и рисует кривую RSI на графике.

Анализ преимуществ стратегии

Эта стратегия имеет следующие преимущества:

  1. В сочетании с RSI и AI условия позволяют более точно обнаружить торговые возможности
  2. Комбинация нескольких условий эффективно фильтрует ложные сигналы
  3. Размер позиции, рассчитанный по принципу управления рисками, позволяет контролировать риск каждой сделки
  4. При использовании фиксированного стоп-стоп-лосса риски и выгоды от каждой сделки четко определены
  5. Свободно настраиваемая политика с помощью параметров

Анализ стратегических рисков

Однако эта стратегия также несет в себе некоторые риски:

  1. Неправильная настройка параметров RSI может привести к неточным торговым сигналам
  2. Неправильное проектирование условий ИИ может привести к ошибочным сигналам
  3. Слишком маленькие настройки стоп-точек могут привести к частому срабатыванию стоп-точек
  4. При резких рыночных колебаниях фиксированный стоп-стоп может потерять больше прибыли или увеличить убытки

Эти риски можно снизить, например, путем корректировки параметров RSI, оптимизации условий AI и надлежащего смягчения стоп-дистанции.

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

Эта стратегия также может быть оптимизирована в следующих аспектах:

  1. Добавление большего количества настраиваемых условий для ИИ, объединение большего количества факторов для определения тенденции
  2. Оптимизация параметров RSI для поиска оптимальных комбинаций
  3. Тестирование различных механизмов остановки, таких как отслеживание остановки, перемещение остановки
  4. Добавление дополнительных фильтров, таких как всплеск объема торгов, для обнаружения высококачественных торговых возможностей
  5. Автоматическое создание оптимальных параметров в сочетании с алгоритмами машинного обучения

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

В целом, это высокотехнологичная стратегия с большим пространством для настройки и оптимизации для торговли на основе RSI-индикаторов и настраиваемых условий AI. Она определяет направление тенденции путем объединения нескольких источников сигналов, использует механизм управления рисками и стоп-стоп-лосс для торговли.

Исходный код стратегии
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Improved RSI Scalping Strategy", overlay=true)

// Parameters
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Threshold")
rsiOversold = input.int(30, title="RSI Oversold Threshold")
takeProfitPips = input.int(10, title="Take Profit (Pips)")
stopLossPips = input.int(5, title="Stop Loss (Pips)")
riskPercentage = input.float(1, title="Risk Percentage", minval=0, maxval=100, step=0.1)

// Calculate RSI
rsiValue = ta.rsi(close, rsiLength)

// Custom AI Conditions
aiCondition1Long = ta.crossover(rsiValue, 50)
aiCondition1Short = ta.crossunder(rsiValue, 50)

// Add more AI conditions here
var aiCondition2Long = ta.crossover(rsiValue, 30)
var aiCondition2Short = ta.crossunder(rsiValue, 70)

// Combine AI conditions with RSI
longCondition = aiCondition1Long or aiCondition2Long or ta.crossover(rsiValue, rsiOversold)
shortCondition = aiCondition1Short or aiCondition2Short or ta.crossunder(rsiValue, rsiOverbought)

// Calculate position size based on risk percentage
equity = strategy.equity
riskAmount = (equity * riskPercentage) / 100
positionSize = riskAmount / (stopLossPips * syminfo.mintick)

// Calculate Take Profit and Stop Loss levels
takeProfitLevel = close + takeProfitPips * syminfo.mintick
stopLossLevel = close - stopLossPips * syminfo.mintick

// Long entry
strategy.entry("Long Entry", strategy.long, when=longCondition[1] and not longCondition, qty=1)
strategy.exit("Take Profit/Stop Loss", from_entry="Long Entry", limit=takeProfitLevel, stop=stopLossLevel)

// Short entry
strategy.entry("Short Entry", strategy.short, when=shortCondition[1] and not shortCondition, qty=1)
strategy.exit("Take Profit/Stop Loss", from_entry="Short Entry", limit=takeProfitLevel, stop=stopLossLevel)

// Alerts
alertcondition(longCondition, title="Long Entry Signal", message="Long Entry Signal")
alertcondition(shortCondition, title="Short Entry Signal", message="Short Entry Signal")

// Plot RSI on the chart
plot(rsiValue, title="RSI", color=color.blue)