Сложная стратегия тестирования осциллятора (AC) Уильямса


Дата создания: 2023-12-18 12:03:38 Последнее изменение: 2023-12-18 12:03:38
Копировать: 0 Количество просмотров: 749
1
Подписаться
1621
Подписчики

Сложная стратегия тестирования осциллятора (AC) Уильямса

Обзор

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

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

Центральным показателем этой стратегии является тонкий вибратор ((AO), формулой которого является: AO = SMA (средняя цена, 5 дней) - SMA (средняя цена, 34 дней) Средняя цена определяется как ((высочайшая цена + наименьшая цена) / 2 . Эта формула извлекает информацию о движении цены из средних SMA двух разных периодов.

В этой стратегии, для того, чтобы отфильтровать сигнал ошибки, также проводится 5-дневная SMA операция на AO. И устанавливается реверсивный режим, который может осуществлять различные направления торговли путем обратного сигнала long/short. Когда значение AO выше, чем раньше, рассматривается как возможность купить, отмеченная синим столбиком; когда значение AO не выше, чем раньше, рассматривается как возможность продать, отмеченная красным столбиком.

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

  1. Использование средней цены, а не цены закрытия, может уменьшить влияние ложных прорывов на SMA и повысить стабильность
  2. “Смело объединяйте SMA, чтобы быть более чувствительными к изменениям рынка”
  3. SMA двойной фильтр, удаление высокочастотного шума, улучшение качества сигнала
  4. Гибкость в параметрах, адаптирующихся к различным рыночным условиям
  5. Интуитивно понятные столбы показывают точки купли-продажи, что позволяет легко оценить операцию.

Риски и решения

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

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

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

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

Эта стратегия использует тонкий шоктор, разработанный в соответствии с структурой средней и медленной SMA, для диагностики изменений в динамике рынка. Сигналы покупки и продажи являются интуитивно понятными. Однако они могут быть подвержены воздействию колебаний и поворотов.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/12/2016
//    This indicator plots the oscillator as a histogram where blue denotes 
//    periods suited for buying and red . for selling. If the current value 
//    of AO (Awesome Oscillator) is above previous, the period is considered 
//    suited for buying and the period is marked blue. If the AO value is not 
//    above previous, the period is considered suited for selling and the 
//    indicator marks it as red.
//
// 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("Bill Williams. Awesome Oscillator (AC)")
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 > nRes[1], 1,
	   iff(nRes < nRes[1], -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)