Стратегия обратного тренда, основанная на осцилляторе ускорителя

Автор:Чао Чжан, Дата: 2023-12-13 15:38:12
Тэги:

img

Обзор

Эта стратегия основана на индикаторе Accelerator Oscillator (AC), разработанном Биллом Уильямсом для выявления точек перелома тренда и поглощения торговых возможностей. Индикатор представляет собой разницу между Awesome Oscillator (AO) и его 5-периодной простой скользящей средней, отражающей скорость изменения AO. Когда AO пересекает его скользящую среднюю, это сигнализирует об ускорении бычьего импульса и является сигналом для установления длинных позиций. Напротив, когда AO пересекает ниже своей скользящей средней, это сигнализирует об ускорении медвежьего импульса и является сигналом для установления коротких позиций.

Логика стратегии

Стратегия рассчитывает разницу между AO и его 5-периодической скользящей средней, чтобы получить акселераторный осциллятор (AC). Когда AC положительный, он представляет собой ускорение роста AO, указывающее на усиление бычьего импульса. Когда AC отрицательный, он представляет собой ускорение падения AO, указывающее на усиление медвежьего импульса.

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

В частности, стратегия рассчитывает быструю и медленную линии Awesome Oscillator (AO):

AO Fast Line = SMA ((HL2, LengthFast)
AO Slow Line = SMA ((HL2, LengthSlow)

Затем вычислить AO:

AO = AO быстрая линия AO медленная линия

Далее вычисляется скользящая средняя за 5 периодов AO:

AO Moving Average = SMA ((AO, LengthFast))

Наконец, получите осциллятор ускорителя:

AC = AO AO скользящая средняя

Когда AC переходит выше 0, устанавливается длинная позиция.

Преимущества

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

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

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

  3. Логика стратегии проста и легко понять и изменить, подходящая в качестве базовой основы для разработки стратегии.

  4. Периоды быстрой линии AO и медленной линии могут быть настроены для оптимизации производительности.

Риски

Стратегия также имеет следующие риски:

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

  2. Без механизма остановки потерь, может привести к усилению потерь.

  3. Результаты обратных тестов могут иметь риски переподготовки, реальный торговый эффект сомнителен.

  4. Игнорирование общих рыночных условий может привести к неудачам в торговле.

Улучшение

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

  1. Добавьте другие индикаторы, такие как MACD, KDJ, чтобы отфильтровать сигналы и избежать ложных прорывов.

  2. Добавить движущийся механизм остановки потери для контроля потери на одной сделке.

  3. Оценить функцию оптимизации параметров, чтобы найти оптимальные комбинации параметров.

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

  5. Включить анализ общих рыночных тенденций в более длительные сроки.

Резюме

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


/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 01/06/2017
// The Accelerator Oscillator has been developed by Bill Williams 
// as the development of the Awesome Oscillator. It represents the 
// difference between the Awesome Oscillator and the 5-period moving 
// average, and as such it shows the speed of change of the Awesome 
// Oscillator, which can be useful to find trend reversals before the 
// Awesome Oscillator does.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading
////////////////////////////////////////////////////////////
strategy("Accelerator Oscillator (AC) Backtest")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
nRes =  xSMA1_SMA2 - xSMA_hl2
cClr = nRes > nRes[1] ? blue : red
pos = iff(nRes > 0, 1,
       iff(nRes < 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 )
plot(nRes, style=histogram, linewidth=1, color=cClr)

Больше