Тенденция по стратегии со стоп-лосс

Автор:Чао Чжан, Дата: 2024-01-12 14:55:40
Тэги:

img

Обзор

Эта стратегия определяет ценовые тенденции, рассчитывая индикатор Supertrend и устанавливает длинные или короткие позиции при изменении тенденций.

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

Эта стратегия использует функцию ta.supertrend() для вычисления индикатора Supertrend. Supertrend объединяет средний истинный диапазон и среднюю цену, чтобы определить, находятся ли цены в восходящем или нисходящем тренде. Когда цены меняются от нисходящего к восходящему тренду, стратегия обнаруживает изменение направления с помощью ta.change() и устанавливает длинную позицию. Когда цены переворачиваются от восходящего к нисходящему тренду, принимается короткая позиция.

Уровень стоп-лосса stop_loss и уровень take profit profit устанавливаются для размещения ордеров стоп-лосса и take profit после вхождения в позиции для контроля рисков.

В частности, стратегия реализуется в следующих шагах:

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

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

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

Наибольшее преимущество этой стратегии заключается в возможности автоматического отслеживания изменений тренда без необходимости ручного суждения.

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

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

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

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

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

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

Возможности для расширения

Следующие аспекты стратегии могут быть улучшены:

  1. Оптимизировать параметры индикатора Supertrend, включая период и фактор ATR посредством обратного тестирования.

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

  3. Увеличение с помощью моделей машинного обучения, чтобы помочь в определении тенденций.

  4. Добавьте фильтры, основанные на других показателях, таких как скользящие средние и показатели волатильности, чтобы избежать ложных сигналов.

  5. Динамически оптимизировать уровень стоп-лосса и получения прибыли на основе волатильности рынка и размеров позиций.

Вышеуказанные улучшения могут улучшить рентабельность, стабильность и управление рисками стратегии.

Заключение

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


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity)

// Stop loss and profit amount
stop_loss = input(300, title="Stop Loss Amount")
profit = input (800, title="Profit Amount")

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

long_condition = ta.change(direction) <0
short_condition = ta.change(direction) >0
long_condition_1= (long_condition)?1:0
short_condition_2 = (short_condition)?1:0

stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0)
profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0)
stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0)
profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0)

if (long_condition)
    strategy.entry("Michael3 Long Entry Id", strategy.long)

if (short_condition)
    strategy.entry("Michael3 Short Entry Id", strategy.short)


if (strategy.position_size>0)
    strategy.exit("exit_long",from_entry="Michael3 Long Entry Id",limit=profit_price_long,stop=stop_price_long)

if (strategy.position_size<0)
    strategy.exit("exit_short",from_entry="Michael3 Short Entry Id",limit=profit_price_short,stop=stop_price_short)    
    


//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Больше