Стратегия отслеживания тренда на основе индикатора АО и скользящей средней


Дата создания: 2023-12-20 11:59:48 Последнее изменение: 2023-12-20 11:59:48
Копировать: 0 Количество просмотров: 698
1
Подписаться
1621
Подписчики

Стратегия отслеживания тренда на основе индикатора АО и скользящей средней

Обзор

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

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

Эта стратегия основана на показателях AO для определения направления тенденции. Показатель AO рассчитан на основе разницы между средней точкой линии {-{ и простым движущимся средним за 5 циклов, 34 циклов, и относится к показателям категории Momentum.

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

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

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

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

  1. Высокая точность определения направления краткосрочных тенденций с использованием показателя AO
  2. Включение средне- и долгосрочных тенденций в определение скользящих средних позволяет эффективно отфильтровывать ложные прорывы.
  3. Быстрая прибыль для операций на коротких линиях

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

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

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

  1. Можно тестировать комбинации скользящих средних с разными параметрами, например, 10 циклов и 50 циклов, чтобы найти более подходящие средние
  2. Можно комбинировать с другими индикаторами, такими как RSI, чтобы сделать сигнал более надежным
  3. Оптимизация фиксированного стоп-процента, позволяющая превзойти рискованные выгоды от стратегии

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

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

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

// https://www.youtube.com/watch?v=zr3AVwjCtDA

//@version=5
strategy(title="Bingx ESTRATEGIA de Trading en 1 minuto ", shorttitle="AO")
long = input.bool(true, "long")
short = input.bool(true, "short")
profit = (input.float(10, "profit") / 100) + 1
stop = (input.float(5, "stop") / 100) + 1
ao = ta.sma(hl2,5) - ta.sma(hl2,34)
diff = ao - ao[1]
plot(ao, color = diff <= 0 ? #F44336 : #009688, style=plot.style_columns)
changeToGreen = ta.crossover(diff, 0)
changeToRed = ta.crossunder(diff, 0)
alertcondition(changeToGreen, title = "AO color changed to green", message = "Awesome Oscillator's color has changed to green")
alertcondition(changeToRed, title = "AO color changed to red", message = "Awesome Oscillator's color has changed to red")

ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)
rsi = ta.rsi(close, 7)
plot(rsi)
plot(0, color=color.white)
var float pentry = 0.0
var float lentry = 0.0
var bool oab = false
// oab := ta.crossover(ao, 0) ? true : ta.crossover(0, ao) ? false : oab[1]

if long and close > open and ta.crossover(close, ema20) and ema20 > ema200 and ao > 0 and rsi > 50
    strategy.entry("long", strategy.long)
    pentry := close
strategy.exit("exit long", "long", limit=pentry * profit, stop=pentry / stop)

if short and close < open and ta.crossunder(close, ema20) and ema20 < ema200 and ao < 0 and rsi < 50
    strategy.entry("short", strategy.short)
    lentry := close
strategy.exit("exit short", "short", limit=lentry / profit, stop=lentry * stop)