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


Дата создания: 2023-12-29 15:50:57 Последнее изменение: 2023-12-29 15:50:57
Копировать: 0 Количество просмотров: 775
1
Подписаться
1621
Подписчики

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

Обзор

Эта стратегия основана на высоких, низких ценах и устойчивых позициях поддержки, рассчитанных по цене закрытия в предыдущий торговый день, и используется для ведения длинных или коротких позиций в текущий торговый день. Когда цена преодолевает верхнюю устойчивую точку R1, она делает больше; когда цена падает ниже нижней устойчивой точки S1, она делает больше.

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

  1. Поддержка S1, сопротивление R1 и точка центральной оси vPP рассчитываются на основе наивысшей цены xHigh, наименьшей цены xLow и цены закрытия xClose за предыдущий торговый день.

vPP = (xHigh+xLow+xClose) / 3

vR1 = vPP+(vPP-xLow)

vS1 = vPP-(xHigh - vPP)

  1. Определить, превысила ли цена vR1 или vS1, если превышает vR1, то сделайте больше, если падает vS1, то сделайте больше.

pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0)))

  1. possig записывает фактическое направление сделки. Если открыть обратную торговлю reverse=true, то торговый сигнал будет отменен.

  2. Согласно сигналу POSSIG, при прорыве vR1 делать больше, при прорыве vS1 делать пусто.

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

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

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

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

Решение риска:

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

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

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

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

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

Исходный код стратегии
//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/06/2018
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Dynamic Pivot Point Backtest", shorttitle="Dynamic Pivot Point", overlay = true)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid,"D", high[1])
xLow   = request.security(syminfo.tickerid,"D", low[1])
xClose = request.security(syminfo.tickerid,"D", close[1])
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
pos = iff(close > vR1, 1,
       iff(close < vS1, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(vS1, color=#ff0000, title="S1", style = circles, linewidth = 1)
plot(vR1, color=#009600, title="R1", style = circles, linewidth = 1)