Стратегия рассчитывает простые движущиеся средние цены на наивысшие и наименьшие цены за определенный период и на основе этого посылает сигналы покупки и продажи.
Двойная вертикальная торговая стратегия использует теорию поддержки и сопротивления в техническом анализе. Эта стратегия предполагает, что рыночные силы и ценовая динамика изменяются, когда цена преодолевает сопротивление или поддержку. В частности, когда цена превышает высокие точки последнего периода, считается, что она преодолела верхнюю резистентность; а когда цена падает ниже самых низких точек последнего периода, считается, что она преодолела нижнюю поддержку.
Двойная вертикальная стратегия торговли сначала рассчитывает простое скользящее среднее между максимальной ценой и минимальной ценой за заданный период (например, 29 дней). Это создает две орбиты, представляющие собой верхнюю и нижнюю границы цены. Затем она рассчитывает промежуточные точки между этими двумя орбитами, чтобы определить порог покупок и продаж.
Когда цены поднимаются и выходят из строя, генерируется сигнал покупки; когда цены падают и выходят из строя, генерируется сигнал продажи. Трейдер затем закрывает позицию в обратном порядке, то есть продает, когда цена снова выходит из строя, и покупает, когда цена снова выходит из строя.
Преимущество этой стратегии заключается в том, что она использует краткосрочную динамику, вызванную прорывами. Когда цены прорывают верхнюю и нижнюю границы, в краткосрочной перспективе часто бывает большое колебание цен. Это дает трейдерам возможность торговать после того, как произойдет прорыв.
Однако в этой стратегии есть и некоторые риски. Во-первых, выбранная длина цикла может оказать большое влияние на результаты. Если цикл слишком короткий, орбита может быть слишком чувствительной, создавая большое количество ложных сигналов.
В целом, двойная вертикальная стратегия поиска возможности для торговли путем мониторинга прорыва цены. Она использует преимущества прорыва в краткосрочной динамике, но также требует внимания к оптимизации параметров и контролю риска. При правильном использовании стратегия может стать полезным инструментом для количественной торговли.
/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
////////////////////////////////////////////////////////////
// Copyright by HPotter v2.0 19/09/2022
// This is simple Highest high and Lowest low strategy.
// Buy when break HH+offset
// Sell when break LL+offset
// Offset = (HH-LL)/2
////////////////////////////////////////////////////////////
strategy(title='HHLL', overlay=true)
Len = input(29)
reverse = input(true, title='Trade reverse')
xHH = ta.sma(high, Len)
xLL = ta.sma(low, Len)
movevalue = (xHH - xLL) / 2
xHHM = xHH + movevalue
xLLM = xLL - movevalue
pos = 0
possig = 0
iff_1 = high > xHHM[1] and time > timestamp(2018, 01, 01, 09, 30) ? -1 : nz(pos[1], 0)
pos := low < xLLM[1] and time > timestamp(2018, 01, 01, 09, 30) ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig := reverse and pos == 1 ? -1 : iff_2
if possig == 1 and possig[1] != possig and time > timestamp(2018, 01, 01, 09, 30)
strategy.entry('Long', strategy.long)
if possig == -1 and possig[1] != possig and time > timestamp(2018, 01, 01, 09, 30)
strategy.entry('Short', strategy.short)
barcolor(possig == -1 ? color.red : possig == 1 ? color.green : color.blue)
plot(xHHM, color=color.new(color.blue, 0), title='MA')
plot(xLLM, color=color.new(color.blue, 0), title='MA')
plot(xHH, color=color.new(color.red, 0), title='MA')
plot(xLL, color=color.new(color.red, 0), title='MA')