KRK ADA 1H Стохастическая медленная стратегия с большим количеством записей и ИИ

Автор:Чао Чжан, Дата: 2024-04-12 16:26:06
Тэги:ЕМАРСИТПSLА.Л.РНН

img

Обзор

Эта стратегия представляет собой торговую стратегию, основанную на стохастическом медленном осцилляторе, в сочетании с движущейся средней, индексом относительной силы (RSI) и методами искусственного интеллекта (AI). Стратегия определяет сигналы покупки и продажи путем анализа перекрестных сигналов стохастического медленного осциллятора, учитывая положение цены относительно 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")

Связанные

Больше