Стратегия процентного трейлинг-стопа


Дата создания: 2023-09-19 21:18:39 Последнее изменение: 2023-09-19 21:18:39
Копировать: 0 Количество просмотров: 636
1
Подписаться
1617
Подписчики

Обзор

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

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

Основная логика этой стратегии заключается в следующем:

  1. Процентное значение стоп-лостов при вводе длинных и коротких позиций
  2. Долгая позиция: постоянно отслеживать низкие точки и рассчитывать линию стоп-лосса в соответствии с минимальной ценой
  3. Продолжайте отслеживать высокие точки и рассчитывать линию стоп-лосса в зависимости от максимальной цены
  4. Немедленный отказ от текущей позиции, когда цена достигнет Stop Loss Line

Стратегия позволяет настраивать стоп-проценты, например, на 10%: при длинных позициях она рассчитывает в реальном времени стоп-линию выше 10% от минимальной цены; при коротких позициях - ниже 10% от максимальной цены.

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

Стратегические преимущества

  • Автоматическое отслеживание убытков без необходимости ручного обработки
  • Динамическая стоп-линия, максимальная защита прибыли
  • Настраиваемый стоп-лосс для различных типов торгов
  • Помощь в управлении рисками и уменьшение непредвиденных потерь
  • Подходит для различных торговых стратегий и легко интегрируется

Стратегические риски

  • Медленный отслеживание, риск необратимости
  • Слишком мягкая остановка может привести к увеличению убытков
  • Слишком ужесточенная остановка может привести к чрезмерной остановке

Что делать?

  1. Оптимизируйте процентную убыточность, сбалансируйте убыточность
  2. В сочетании с другими методами, такими как временная остановка
  3. Оптимизация стоп-лосса в зависимости от рыночных колебаний
  4. Сохранение сплошной согласованности и предотвращение слишком произвольного изменения параметров

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

Как оптимизировать эту стратегию:

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

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

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

Исходный код стратегии
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © theCrypster

//@version=4
strategy("Percent Trailing Stop %", overlay=true)

//ENTER SOME SETUP TRADES FOR TSL EXAMPLE
longCondition = crossover(sma(close, 10), sma(close, 20))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 10), sma(close, 20))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
    

//TRAILING STOP CODE
trailStop = input(title="Long Trailing Stop (%)", type=input.float, minval=0.0, step=0.1, defval=10) * 0.01

longStopPrice = 0.0
shortStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - trailStop)
    max(stopValue, longStopPrice[1])
else
    0
shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + trailStop)
    min(stopValue, shortStopPrice[1])
else
    999999

//PLOT TSL LINES
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Long Trail Stop", offset=1, title="Long Trail Stop")
plot(series=strategy.position_size < 0 ? shortStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Short Trail Stop", offset=1, title="Short Trail Stop")


//EXIT TRADE @ TSL
if strategy.position_size > 0
    strategy.exit(id="Close Long", stop=longStopPrice)
if strategy.position_size < 0
    strategy.exit(id="Close Short", stop=shortStopPrice)