Динамическая стратегия стоп-лосса Golden Cross и Death Cross


Дата создания: 2023-11-01 13:46:28 Последнее изменение: 2023-11-01 13:46:28
Копировать: 1 Количество просмотров: 707
1
Подписаться
1617
Подписчики

Динамическая стратегия стоп-лосса Golden Cross и Death Cross

Обзор

Стратегия управляет риском, используя динамические остановки, рассчитывая показатель ATR в качестве линии остановки, создавая сигнал покупки, когда цена пересекает EMA, и сигнал продажи, когда цена пересекает EMA.

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

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

  1. Вычисление показателя ATR в качестве линии стоп-лосса, значение ATR используется для расчета стоп-лосса nLoss

  2. По умолчанию, для определения источника цены на основе опции Heikin Ashi h используется цена закрытия close, если выбран опция Heikin Ashi, то используется цена закрытия данной опции

  3. Определение xATRTrailingStop как динамическая стоп-линия, которая определяет текущую стоп-линию K-линии на основе сравнения цены с предыдущей стоп-линией

  4. Определение позиции pos, при переходе цены через остановку на 1 (сделать больше), при переходе цены через остановку на -1 (сделать меньше), в противном случае на 0 (сделать меньше)

  5. Вычислить среднее значение линии EMA для K-линии, определяя показатель с верхним прохождением (покупающий сигнал) и нижним прохождением (продающий сигнал)

  6. Настройка входа и выхода сделок при появлении сигналов покупки и продажи

  7. Функция barcolor используется для обозначения цвета K-линий в зависимости от позиции

  8. Знаки сигналов при покупке и продаже с помощью plotshape

Стратегия управляет риском с помощью динамического остановки ATR, позволяя вовремя войти в тренд и вовремя остановить его при попадании в линию остановки.

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

Эта стратегия имеет следующие преимущества:

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

  2. Используя EMA для создания торговых сигналов, можно отфильтровать ненужные сделки, вызванные некоторыми ложными прорывами.

  3. Допускается выбор Heikin Ashi в качестве источника цены, чтобы отфильтровать шум для определения тенденций

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

  5. Интуитивное отображение торговых сигналов и остановок с помощью чертежей, маркировки и окрашивания

  6. Логика стратегии проста, понятна, легко понятна и изменяется

  7. Настраиваемые ATR-циклы и ATR-стоп-лост-коэффициенты для различных рыночных условий

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

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

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

  1. EMA может задерживаться, упуская возможность короткой линии

  2. Стоп-диапазон определяется ATR, который может быть частым при рыночных колебаниях

  3. Двусторонние комиссионные в фактических сделках влияют на прибыль без учета затрат

  4. Отсутствие надлежащего контроля за позициями, улучшение управления капиталом

  5. Эффективность зависит от оптимизации параметров, которые необходимо скорректировать в разных рынках.

  6. В то же время, на фоне резких колебаний рынка, они могут оказаться в ловушке.

  7. Необходимость своевременного мониторинга, своевременного вмешательства или прекращения стратегии

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

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

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

  1. Корректировка ATR-параметров для более рационального использования стоп-дистанции на различных рынках

  2. Тестирование различных равномерных показателей для дальнейшей фильтрации ложных сигналов

  3. Добавление показателей для определения тенденции, определение направления тенденции и последующее вхождение в систему

  4. Установка позиционного контроля, ограничение количества односторонних позиций

  5. Условия для открытия позиции, такие как объем сделки, цена закрытия, отклоненная от средней

  6. Учитывая затраты, устанавливайте стоп-дистанцию в зависимости от комиссионных

  7. Оптимизация времени покупки и продажи в сочетании с множеством сигналов и индикаторов

  8. Настройка частичного или подвижного торможения

  9. Добавление функции оптимизации параметров, автоматическая оптимизация тестовых параметров

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

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

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

Исходный код стратегии
/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="UT Bot Strategy", overlay = true)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol. 

// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")

xATR  = atr(c)
nLoss = a * xATR

src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close

xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
   iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), 
   iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
 
pos = 0   
pos :=	iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
   iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
   
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

ema   = ema(src,1)
above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)

buy  = src > xATRTrailingStop and above 
sell = src < xATRTrailingStop and below

barbuy  = src > xATRTrailingStop 
barsell = src < xATRTrailingStop 

plotshape(buy,  title = "Buy",  text = 'Buy',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

barcolor(barbuy  ? color.green : na)
barcolor(barsell ? color.red   : na)

strategy.entry("long",   true, when = buy)
strategy.entry("short", false, when = sell)