Стратегия стоп-лосса по самой высокой и самой низкой цене


Дата создания: 2024-03-08 14:32:30 Последнее изменение: 2024-03-08 14:32:30
Копировать: 0 Количество просмотров: 597
1
Подписаться
1617
Подписчики

Стратегия стоп-лосса по самой высокой и самой низкой цене

Обзор

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

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

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

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

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

  1. Простая и эффективная: логика стратегии ясна и проста, она основана на самой цене и эффективно улавливает тренды.
  2. Быстрое вхождение: три последовательных K-линии, движущиеся в одном направлении, могут быть открыты для быстрого входа в новый тренд.
  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)