Изменение стратегии экстремальной настройки


Дата создания: 2024-02-21 14:08:09 Последнее изменение: 2024-02-21 14:08:09
Копировать: 0 Количество просмотров: 716
1
Подписаться
1617
Подписчики

Изменение стратегии экстремальной настройки

Обзор

Стратегия обратной крайней настройки - это стратегия, использующая обратную крайнюю K-линию. Она будет судить по размеру объекта и среднему значению последней K-линии, и будет генерировать торговый сигнал, если размер объекта больше среднего и произойдет обратное положение.

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

Эта стратегия основывается на оценке существенных размеров текущих K-линий, а также общей величины K-линий.

Он фиксирует физический размер последней K-линии (разница между ценой открытия и ценой закрытия) и размер всей K-линии (разница между ценой наивысшей и ценой наименьшей).

Затем средний размер объекта и размер K-линий для последних 20 K-линий рассчитываются с помощью средней средней величины истинного диапазона ((RMA)).

Когда новейшая K-линия включена, а размер объекта больше, чем средний размер объекта, а общий размер K-линии также больше, чем в 2 раза больше среднего размера K-линии, генерируется многосигнал.

Наоборот, когда последняя K-линия падает, и величина объекта также соответствует вышеуказанным условиям, создается сигнал заикания.

Это означает, что в экстремальной K-линии, когда она переворачивается, используется среднее значение, чтобы создать торговый сигнал.

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

Основные преимущества этой стратегии:

  1. Использование характеристик крайней K-линии, легко образующая обратный путь
  2. Сравнение величины объекта и величины K-линии в целом, чтобы найти необычные точки
  3. Используйте RMA для вычисления динамических средних, адаптируясь к изменениям рынка
  4. Сигнал более надежен в сочетании с обратной формой

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

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

  1. Крайняя линия K не обязательно перевернется, она может продолжать работать
  2. Неправильная настройка параметров может привести к чрезмерной чувствительности или вялости
  3. Необходимость в достаточном количестве рыночных колебаний в качестве поддержки, не подходит для рыночной консолидации
  4. Возможное возникновение частых торговых сигналов, увеличение стоимости торговли и риск скольжения

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

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

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

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

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

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

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

//@version=4
strategy("Extreme Reversal Setup", overlay=true)

bodySize = input(defval=0.75)
barsBack = input(title="Lookback Period", type=input.integer, defval=20, minval=0)
bodyMultiplier = input(title="Bar ATR Multiplier", type=input.float, defval=2.0, minval=0)

myBodySize = abs(close - open)
averageBody = rma(myBodySize, barsBack)
myCandleSize = abs(high - low)
averageCandle = rma(myCandleSize, barsBack)

signal_long = open[1]-close[1] >= bodySize*(high[1]-low[1]) and 
   high[1]-low[1] > averageCandle*bodyMultiplier and 
   open[1]-close[1] > averageBody and close > open
signal_short = close[1]-open[1] >= bodySize*(high[1]-low[1]) and 
   high[1]-low[1] > averageCandle*bodyMultiplier and 
   close[1]-open[1] > averageBody and open > close

plotshape(signal_long, "LONG", shape.triangleup, location.belowbar, size=size.normal)
plotshape(signal_short, "SHORT", shape.triangledown, location.belowbar, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)