Двунаправленная пересечение нулевой оси Qstick Indicator Backtest Strategy

Автор:Чао Чжан, Дата: 2024-01-24 14:14:07
Тэги:

img

Обзор

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

Принцип стратегии

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

Торговые сигналы этой стратегии поступают, когда индикатор Qstick пересекает нулевую ось. Сигнал покупки генерируется, когда 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)

Больше