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


Дата создания: 2024-01-24 14:14:07 Последнее изменение: 2024-01-24 14:14:07
Копировать: 0 Количество просмотров: 760
1
Подписаться
1617
Подписчики

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

Обзор

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

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

Ключевым показателем стратегии Qstick является Qstick. Индекс Qstick получается путем вычисления средней величины разницы между ценой закрытия и ценой открытия за определенный период. Когда Qstick больше 0, то закрытие в течение этого периода в целом выше, чем открытие, и преобладает многоголовая сила; когда Qstick меньше 0, то открытие в течение этого периода в целом выше, чем закрытие, и преобладает пустая сила.

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

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

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

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

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

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

С другой стороны, Qstick-стратегия с двусторонним перекрестным нулевым поясом имеет свои риски:

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

Риски можно снизить следующими способами:

  1. Оптимизация параметров цикла Qstick для снижения задержки индикатора
  2. Увеличение параметров цикла линии сигнала, уменьшение ошибочного сигнала
  3. Реверсивная торговля только на определенных этапах и контроль над размером позиции

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

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

  1. В сочетании с другими индикаторами фильтруют сигналы, такие как показатели объема оборота, показатели колебаний и т. д., чтобы избежать ошибочного сигнала в не трендовых условиях
  2. Увеличение стратегии остановки убытков при достижении определенной доли убытков
  3. Дальнейшие исследования определили оптимальную комбинацию параметров Qstick и цикла сигнальной линии
  4. Автоматическое определение оптимальных параметров с помощью методов машинного обучения
  5. Тестирование эффективности стратегии в конкретной отрасли или в отдельных акциях

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

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

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/2018
// A technical indicator developed by Tushar Chande to numerically identify 
// trends in candlestick charting. It is calculated by taking an 'n' period 
// moving average of the difference between the open and closing prices. A 
// Qstick value greater than zero means that the majority of the last 'n' days 
// have been up, indicating that buying pressure has been increasing. 
//
// Transaction signals come from when the Qstick indicator crosses through the 
// zero line. Crossing above zero is used as the entry signal because it is indicating 
// that buying pressure is increasing, while sell signals come from the indicator 
// crossing down through zero. In addition, an 'n' period moving average of the Qstick 
// values can be drawn to act as a signal line. Transaction signals are then generated 
// when the Qstick value crosses through the trigger line.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Qstick Indicator Backtest")
Length = input(14, minval=1)
reverse = input(false, title="Trade reverse")
xR = close - open
xQstick = sma(xR, Length)
clr = iff(xQstick >= 0, green, red)
pos = iff(xQstick > 0, 1,
       iff(xQstick < 0, -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 ) 
p1 = plot(0, color=black, title="0")
p2 = plot(xQstick, color=blue, title="Qstick")
fill(p1, p2, color=clr)