Стратегия максимальной высокой/нижней низкой остановки

Автор:Чао Чжан, Дата: 2024-03-08 14:32:30
Тэги:

img

Обзор

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

Принципы стратегии

  1. ИспользуйтеinputФункция настройки периодов просмотраhiLenиloLenдля самых высоких максимумов и самых низких минимумов, дефолт до 20.
  2. Вычислить самый высокий уровеньhiHighsдо предыдущей строки с использованиемta.highest(high, hiLen)[1], и самый низкий низloLowsиспользованиеta.lowest(low, loLen)[1].
  3. Нарисуйте уровни стоп-лосса сloLowsдля длинных позиций иhiHighsНе граф, когда плоский для легкого подтверждения.
  4. Определите условия торговых сигналов:
    • higherCloses: последние 3 бара имеют последовательно более высокие закрытия
    • lowerCloses: последние 3 бара имеют последовательно более низкие закрытия
    • isFlat: нет текущей позиции
  5. Ввод: ввод длинный когдаisFlatиhigherCloses, ввести короткий, когдаisFlatиlowerCloses.
  6. Стоп-лосс: для длинных позиций, стоп-оутloLows; для коротких позиций - остановка наhiHighs.

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

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

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

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

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

Руководство по оптимизации

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

Резюме

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


/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Highest high/lowest low stop", overlay=true)

// STEP 1:
// Make inputs for length of highest high and lowest low
hiLen = input.int(20, title="Highest High Lookback", minval=2)
loLen = input.int(20, title="Lowest Low Lookback", minval=2)

// STEP 2:
// Calculate recent extreme high and low
hiHighs = ta.highest(high, hiLen)[1]
loLows  = ta.lowest(low, loLen)[1]

// Plot stop values for visual confirmation
plot(strategy.position_size > 0 ? loLows : na,
     style=plot.style_circles, color=color.green, linewidth=3,
     title="Lowest Low Stop")

plot(strategy.position_size < 0 ? hiHighs : na,
     style=plot.style_circles, color=color.red, linewidth=3,
     title="Highest High Stop")

// Trading conditions for this example strategy
higherCloses = close > close[1] and
     close[1] > close[2] and 
     close[2] > close[3]

lowerCloses = close < close[1] and
     close[1] < close[2] and 
     close[2] < close[3]

isFlat = strategy.position_size == 0

// Submit entry orders
if isFlat and higherCloses
    strategy.entry("EL", strategy.long)

if isFlat and lowerCloses
    strategy.entry("ES", strategy.short)

// STEP 3:
// Submit stops based on highest high and lowest low
if strategy.position_size > 0
    strategy.exit("XL HH", stop=loLows)

if strategy.position_size < 0
    strategy.exit("XS LL", stop=hiHighs)

Больше