Оптимизация стратегий на основе импульсного осциллятора


Дата создания: 2024-02-20 13:54:49 Последнее изменение: 2024-02-20 13:54:49
Копировать: 0 Количество просмотров: 612
1
Подписаться
1617
Подписчики

Оптимизация стратегий на основе импульсного осциллятора

Обзор

Стратегия является оптимизацией улучшений на основе динамики изменения показателя колебаний ((ROC)). По сравнению с первоначальной стратегией ROC, стратегия была оптимизирована следующим образом:

  1. Введите максимальное историческое значение ROC, динамика текущего ROC сопоставима с максимальным историческим ROC, получите относительную величину динамики.
  2. Сглаживание относительной величины движения, генерирование сигнала.
  3. Присоединяем к этому пониженный уровень.

С помощью этих методов оптимизации можно отфильтровать многие неэффективные сигналы и сделать стратегию более стабильной и надежной.

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

Ключевым показателем стратегии является скорость изменения (ROC). ROC измеряет скорость изменения цен на акции в течение определенного периода. Сначала стратегия рассчитывает значение ROC длиной 9 циклов. Затем она записывает максимальное значение этого показателя ROC за последние 200 циклов и рассчитывает относительную силу движения, получая процент от текущей ROC к наибольшей исторической ROC. Например, если за последние 200 дней ROC достиг максимума более 100, то относительная сила составляет 80% при ROC 80 в тот день.

Эта относительная интенсивность обрабатывается для сглаживания через SMA длиной 10, отфильтровывается краткосрочная волатильность и получается сглаживающая кривая. Когда сглаживающая кривая повышается в течение 3 дней подряд и имеет значение ниже -80%, считается, что падение цен на акции начинает замедляться и вызывает признаки дна, поэтому делают больше; когда сглаживающая кривая падает в течение 3 дней подряд и имеет значение выше 80%, считается, что рост цен на акции начинает замедляться и вызывает признаки вершины, поэтому сглаживают позиции.

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

Эта стратегия имеет следующие преимущества по сравнению с первоначальной стратегией ROC:

  1. Введение сравнения исторических максимальных значений ROC позволяет хорошо измерить относительную высоту динамических показателей и отфильтровать недействительные сигналы, абсолютные значения которых невысоки.
  2. Гладкая обработка фильтрации шума делает сигнал более стабильным и надежным.
  3. Устанавливается лимит покупки и продажи, чтобы уменьшить количество недействительных сделок.

В целом, эта стратегия эффективно вторично обрабатывает показатель ROC, что делает его более подходящим для торговли на реальных дисках.

Анализ рисков

Основные риски этой стратегии:

  1. Показатель ROC не может определить рыночную тенденцию, существует некоторое заблуждение. Эта стратегия может потерпеть неудачу, если столкнуться с периодом бычьего или медвежьего перехода.
  2. Нельзя сказать, что торговая или покупательская ниша идеальна, и слишком высокая или слишком низкая ниша может повлиять на эффективность стратегии.
  3. Неправильная настройка параметров SMA также может повлиять на эффективность стратегии.

Для снижения вышеупомянутых рисков можно рассмотреть комбинацию с трендовыми показателями, чтобы определить большую тенденцию; скорректировать параметры отклонения, проверить оптимальные параметры; оптимизировать параметры цикла SMA.

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

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

  1. В сочетании с трендовыми показателями, чтобы оценить общую динамику рынка, избежать неэффективности при переходе на бычьи или медвежие.
  2. Тестирование различных параметров длины ROC и параметров продажи и продажи, чтобы найти оптимальную комбинацию параметров.
  3. Оптимизируйте параметры сглаживания SMA, чтобы найти оптимальные параметры.
  4. Добавление механизмов сдерживания убытков.

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

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

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

//@version=5
strategy(title="Rate Of Change Mod Strategy", shorttitle="ROC", format=format.price, precision=2)
//length = input.int(9, minval=1)
//source = input(close, "Source")
//roc = 100 * (source - source[length])/source[length]
//plot(roc, color=#2962FF, title="ROC")
//hline(0, color=#787B86, title="Zero Line")

length = input.int(9, minval=1, title="Length")
maxHistory = input(200, title="Max Historical Period for ROC")
lenghtSmooth = input.int(10, minval=1, title="Length Smoothed ROC")
lenghtBUY = input.int(-80, title="Buy Threshold")
lenghtSELL = input.int(80, title="Buy Threshold")

source = close
roc = 100 * (source - source[length]) / source[length]

// Calculate the maximum ROC value in the historical period
maxRoc = ta.highest(roc, maxHistory)

// Calculate current ROC as a percentage of the maximum historical ROC
rocPercentage = (roc / maxRoc) * 100


rocPercentageS = ta.sma(rocPercentage, lenghtSmooth)
if ta.rising(rocPercentageS, 3) and rocPercentageS < lenghtBUY
    strategy.entry("Buy", strategy.long)

if ta.falling(rocPercentageS, 3) and rocPercentageS > lenghtSELL
    strategy.close("Buy")


plot(rocPercentage, color=color.new(color.blue, 0), title="Percentage ROC")
plot(rocPercentageS, color=color.new(#21f32c, 0), title="Percentage ROC")
hline(0, color=color.new(color.gray, 0), title="Zero Line")