В процессе загрузки ресурсов... загрузка...

Стратегия Уильямса "Аллигатор"

Автор:Чао Чжан, Дата: 2023-11-13 10:58:22
Тэги:

img

Обзор

Williams Alligator Strategy - это стратегия, которая использует три скользящих средних линии разных периодов для формирования alligator jaws для определения направления тренда. Когда быстрая линия находится выше средней линии, а средняя линия - выше медленной линии, формируется верхняя линия аллигатора, чтобы идти длинным. Когда быстрая линия находится ниже средней линии, а средняя линия находится ниже медленной линии, формируется нижняя линия аллигатора, чтобы идти коротким.

Как это работает

Стратегия использует три SMA различной длины периода - быструю линию sma1, среднюю линию sma2 и медленную линию sma3, где sma1 имеет самый короткий период и sma3 имеет самый длинный.

Когда SMA1 пересекает SMA2 и SMA2 пересекает SMA3, это указывает на то, что рынок находится в восходящей тенденции и образует восходящий аллигаторов рот.

И наоборот, когда SMA1 пересекает ниже SMA2 и SMA2 пересекает ниже SMA3, это указывает на то, что рынок находится в нисходящей тенденции и образует нисходящий аллигаторов рот.

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

Стратегия также наносит цвета фона для определения направления тренда - зеленый для восходящего и красный для нисходящего.

Подводя итог, стратегия использует сильные стороны скользящих средних и паттернов alligator mouth для определения направления тренда и торговли соответственно.

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

  • Рот аллигатора эффективно определяет направление тренда.
  • Комбинация различных периодовых линий улучшает точность шаблона.
  • Торговля с трендом согласуется с теорией трендовой торговли.
  • Цвета фона помогают визуально судить.
  • Простая и понятная логика, легко внедряемая.

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

  • Многочисленные риски на различных рынках.
  • Высокий риск, когда линии перестраиваются для закрытия позиций.
  • Невозможно определить силу тренда, может быть неправильно введены тренды.
  • Нет стоп-лосса, высокий риск вывода.
  • Фиксированные периоды не могут адаптироваться к изменениям рынка.

Для устранения рисков можно сделать следующие улучшения:

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

  2. Оптимизировать условия выхода с использованием индикаторов тренда.

  3. Добавьте стратегию стоп-лосса для контроля потери на одной сделке.

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

Направления к улучшению

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

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

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

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

  4. Добавьте стратегии стоп-лосса, такие как отслеживание стоп-лосса, остаток счета, чтобы контролировать риски.

  5. Улучшить условия входа с использованием объема, полос Боллинджера и т. д. для повышения точности.

  6. Улучшить условия выхода, оценивая вероятность изменения тренда с помощью индикаторов, когда линии пересекаются.

Заключение

Williams Alligator Strategy - это типичная стратегия следующего тренда. Она использует рот аллигатора, сформированный тремя скользящими средними для определения тренда и торговли соответственно. Преимущества заключаются в его простой и ясной логике. Недостатками являются более слабая точность тренда и контроль рисков. Будущие улучшения могут быть сделаны путем включения дополнительных индикаторов, оптимизации параметров, добавления стоп-лосса, чтобы сделать его более надежным для сложных рыночных условий.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=3
strategy(title = "Noro's Alligator Strategy by Bill Williams", shorttitle = "Alligator", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len1 = input(50, defval = 50, minval = 1, title = "MA 1 Length")
len2 = input(100, defval = 100, minval = 1, title = "MA 2 Length")
len3 = input(200, defval = 200, minval = 1, title = "MA 3 Length")
src = input(close, title = "Source")
showbg = input(false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MAs
sma1 = sma(src, len1)
sma2 = sma(src, len2)
sma3 = sma(src, len3)
plot(sma1, color = lime, linewidth = 2)
plot(sma2, color = blue, linewidth = 2)
plot(sma3, color = red, linewidth = 2)

//Signals
up = sma1 > sma2 and sma2 > sma3
dn = sma1 < sma2 and sma2 < sma3

//Background
trend = 0
trend := up ? 1 : dn ? -1 : trend[1]
col = showbg == false ? na : trend == 1 ? lime : red
bgcolor(col)

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("Long", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn
    strategy.entry("Short", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

Больше