Торговая стратегия на основе индикатора Stochastic Slow

EMA RSI TP SL AI RNN
Дата создания: 2024-04-12 16:26:06 Последнее изменение: 2024-04-12 16:26:06
Копировать: 3 Количество просмотров: 649
1
Подписаться
1617
Подписчики

Торговая стратегия на основе индикатора Stochastic Slow

Обзор

Эта стратегия - это торговая стратегия, основанная на случайном медленном индикаторе Stochastic Slow Oscillator, в сочетании с движущейся средней, относительно сильным индексом RSI и искусственным интеллектом. Эта стратегия использует перекрестные сигналы случайных медленных индикаторов для суждения, а также учитывает положение цены относительно 200-дневного движущегося среднего, а также сигналы, генерируемые моделью искусственного интеллекта, для определения сигналов покупки и продажи.

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

  1. Вычислите случайный показатель замедленной скорости на 30 циклов, где ускоренный цикл для K-значений равен 18, а ускоренный цикл для D-значений равен 7.
  2. Пределы для определения перекупа и перепродажи составляют 40 и 19 соответственно, при этом минимальное значение K устанавливается на 12 .
  3. 200-дневная простая скользящая средняя используется в качестве фильтра тренда.
  4. Покупка и продажа сигналов с использованием модели рекурсивной нейронной сети (RNN).
  5. Условия для многоглавого входа: цена пересекает 200-дневную подвижную среднюю, K-значение меньше, чем превышает порог продажи и больше, чем минимальное K-значение, сигнал AI равен 1 .
  6. Условия головоломки: цена пересекает 200-дневную подвижную среднюю, K-значение больше, чем превышает порог покупки и больше, чем минимальное K-значение, сигнал AI -1.
  7. Когда случайные индикаторы пересекаются и удовлетворяют условию перекупки, также создается сигнал покупки или продажи.
  8. Стоп-позиции устанавливаются на 500 пунктов выше или ниже текущей цены, а стоп-потери - на 200 пунктов выше или ниже текущей цены.

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

  1. В результате использования различных технических показателей и технологий искусственного интеллекта, повышается устойчивость и адаптивность стратегии.
  2. Используйте случайные медленные индикаторы в качестве основных сигналов о покупке и продаже, чтобы эффективно улавливать перекуп и перепродажу на рынке.
  3. Внедрение 200-дневного скользящего среднего значения в качестве фильтра тренда, чтобы избежать торговли в обратном тренде.
  4. Применение модели искусственного интеллекта для создания сигналов покупки и продажи повышает степень интеллектуализации стратегии.
  5. Установлен четкий стоп-стоп, чтобы эффективно контролировать риск.

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

  1. В некоторых рыночных условиях случайные индикаторы могут создавать больше ложных сигналов.
  2. Эффективность моделей искусственного интеллекта зависит от качества обучаемых данных и дизайна модели, существует определенная неопределенность.
  3. Фиксированный стоп-стоп может не адаптироваться к различным рыночным колебаниям.
  4. Отсутствие стратегии реагирования на неожиданные события и необычные колебания рынка.

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

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

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

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

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

//@version=5
strategy("Stochastic Slow Strategy with More Entries and AI", overlay=true)

length = input.int(30, minval=1)
OverBought = input(40)
OverSold = input(19)
smoothK = input.int(18, minval=1)
smoothD = input.int(7, minval=1)
minKValue = input(12, title="Minimum K Value")

// Stochastic calculations
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
co = ta.crossover(k, d)
cu = ta.crossunder(k, d)

// Trend filter (200-period simple moving average)
ema200 = ta.sma(close, 200)

// Define la función para calcular la señal de la red neuronal recurrente
rnn_signal(price_series) =>
    // Aquí implementa tu modelo de red neuronal recurrente para generar la señal
    // Puedes usar bibliotecas externas o implementar tu propio modelo aquí

    // Ejemplo de señal aleatoria
    signal = ta.rsi(price_series, 14) > 50 ? 1 : -1
    
    // Devuelve la señal generada por la red neuronal recurrente
    signal

// Calcula la señal utilizando la función definida anteriormente
ai_signal = rnn_signal(close)

// Entry conditions
longCondition = ta.crossover(close, ema200) and k < OverSold and k > minKValue and ai_signal == 1
shortCondition = ta.crossunder(close, ema200) and k > OverBought and k > minKValue and ai_signal == -1

if (not na(k) and not na(d))
    if (co and k < OverSold and k > minKValue)
        strategy.entry("LONG", strategy.long, comment="LONG")
        strategy.exit("ExitLong", "LONG", profit = close * 500, loss = close * 200)
    if (cu and k > OverBought and k > minKValue)
        strategy.entry("SHORT", strategy.short, comment="SHORT")
        strategy.exit("ExitShort", "SHORT", profit = close * 500, loss = close * 200)
    
if (longCondition)
    strategy.entry("LongEntry", strategy.long, comment="LongEntry")
    strategy.exit("ExitLongEntry", "LongEntry", profit = close * 500, loss = close * 200)
if (shortCondition)
    strategy.entry("ShortEntry", strategy.short, comment="ShortEntry")
    strategy.exit("ExitShortEntry", "ShortEntry", profit = close * 500, loss = close * 200)

// Plotting
plot(ema200, color=color.blue, title="200 SMA")