Стратегия динамического прорыва поддержки и сопротивления


Дата создания: 2023-12-26 15:21:45 Последнее изменение: 2023-12-26 15:21:45
Копировать: 0 Количество просмотров: 712
1
Подписаться
1621
Подписчики

Стратегия динамического прорыва поддержки и сопротивления

Обзор

Стратегия определяет направление тренда на основе прорыва долгосрочного сопротивления поддержки, чтобы использовать прорыв в качестве входного момента. Она использует отклонение, чтобы определить высокие и низкие точки, подтверждая высокие / низкие точки двумя K-линиями, поэтому есть задержка двух K-линий. Она рассчитывает разницу в SMA высоких и низких точек в течение определенного периода (по умолчанию 21) в качестве вспомогательного сопротивления поддержки.

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

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

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

  2. Вычислить число высоких точекhn и число низких точекln за определенный период (по умолчанию 21). Если hn>0 и ln>0, вычислить среднее значение высоких точекhsum/hn и среднее значение низких точекlsum/ln за определенный период. Разница между ними r служит в качестве вспомогательной поддержки точек сопротивления.

  3. Сравнивая ценовые показатели закрытия с динамическим сопротивлением lvalr и поддержкой hvalr, можно определить направление тренда. Если цена закрытия превышает одно из них, то эффективное прорыв.

  4. При эффективном прорыве линии динамического сопротивления, делать больше; при эффективном прорыве линии динамического поддержки, делать пустое.

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

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

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

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

  3. Введение вспомогательной поддержки сопротивления повышает эффективность прорыва.

  4. Логика стратегии проста, понятна, легко понятна и подходит для количественных сделок.

  5. Настраиваемая поддержка статистических циклов сопротивления для различных циклов и сортов.

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

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

  1. Склоняющаяся линия определяет, что поддерживающая точка сопротивления отстает на 2 K-линии и может пропустить лучшую точку входа.

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

  3. Недостаточная длина статистического цикла может привести к неэффективности сопротивления.

  4. После прорыва цена может быть скорректирована и вызвать убытки.

  5. После дополнительного дисконтирования цены могут сильно колебаться, что приводит к еще большим убыткам.

Соответствующие средства контроля и оптимизации риска включают:

  1. Сокращение статистических циклов, чтобы уменьшить отставание.

  2. В сочетании с другими факторами прогнозируется поддержка уровня сопротивления.

  3. Тестирование стабильности различных циклических параметров.

  4. Установите разумный стоп-лост.

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

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

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

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

  2. Эффективность прорыва оценивается в сочетании с показателем объема торгов CONF. Большое количество неравновесных контрактов, участвующих в прорыве, более убедительно.

  3. Статистическая поддержка сопротивления в соответствии с различными периодическими классификациями. Например, для повышения эффективности поддерживаемых точек сопротивления в соответствии с солнечными линиями, периметром и т. Д.

  4. В позиции с прибылью накладывайте на нее дополнительные ставки, устанавливая свободные стоп-лошади, чтобы сбалансировать убытки. Это позволяет добиваться большей прибыли, гарантируя прибыль.

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

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

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

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

//@version=4
strategy("SR TREND STRATEGY", shorttitle="SR TREND", overlay=true, calc_on_order_fills=true)
//based on by synapticEx SR indicator https://www.tradingview.com/script/O0F675Kv-Nebula-Advanced-Dynamic-Support-Resistance/
length = input(title="SR lookbak length", type=input.integer, defval=21)
h = bar_index>5 and high[5]<high[4] and high[4]<high[3] and high[3]>high[2] and high[2]>high[1] ? 1 : 0
l = bar_index>5 and low[5]>low[4]   and low[4]>low[3]   and low[3]<low[2]   and low[2]<low[1]   ? 1 : 0
ln = sum(l, length)
hn = sum(h, length)
hval =  h>0 ? high[3] : 0
lval =  l>0 ? low[3]  : 0
lsum = sum(lval, length)
hsum = sum(hval, length)
r = ln>0 and hn>0 ? abs((hsum/hn) - (lsum/ln)): 0
float lvalc = na
float lvalr = na
float hvalc = na
float hvalr = na
lvalc := lval and r>0 ? lval   : lvalc[1]
lvalr := lval and r>0 ? lval+r : lvalr[1]
hvalc := hval and r>0 ? hval   : hvalc[1]
hvalr := hval and r>0 ? hval-r : hvalr[1]
int trend=0
trend:=close > lvalr and close > hvalr ? 1 : close < lvalr and close < hvalr ? -1 : trend[1]
strategy.close("Long", when=trend==-1)
strategy.close("Short", when=trend==1)
strategy.entry("Long", strategy.long, when=trend==1 and close>hvalc)
strategy.entry("Short", strategy.short, when=trend==-1 and close<lvalc)
int long=0
int short=0
long:= trend==1 and close>hvalc ? 1 : trend==-1 ? -1 : long[1]
short:= trend==-1 and close<lvalc ? 1 : trend==1 ? -1 : short[1]
barcolor(long>0? color.green : short>0? color.red : trend>0? color.white: trend<0 ? color.orange : color.blue)