Стратегия суперскользящей средней и пересечения верхней полосы

EMA SMA
Дата создания: 2024-05-17 13:50:50 Последнее изменение: 2024-05-17 13:50:50
Копировать: 0 Количество просмотров: 556
1
Подписаться
1617
Подписчики

Стратегия суперскользящей средней и пересечения верхней полосы

Обзор

Сверхсредняя линия и верхняя полоса - это количественная стратегия торговли, основанная на технических показателях. Эта стратегия использует индексные движущиеся средние (EMA) и верхние полосы для захвата тенденции роста рынка.

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

В основе этой стратегии лежит использование двух технических показателей - EMA и Upperband - для определения рыночных тенденций и времени покупки и продажи. Во-первых, стратегия рассчитывает Upperband, который учитывает волатильность цены, и соответственно увеличивает значение Upperband, когда цена отклоняется от средней цены. Затем стратегия определяет, пробилась ли цена закрытия через среднюю линию Upperband, а также выполняет ли другие условия покупки.

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

  1. Подходит для рынков с высокой тенденцией: эта стратегия хорошо работает в восходящих тенденциях, особенно для таких волатильных и тенденциозных видов, как биткойн.

  2. Комбинация цены и волатильности: Индекс Upperband учитывает уровень и волатильность цен, что позволяет более полно отражать состояние рынка.

  3. Простота: логика стратегии ясна, используемые показатели просты, легко понять и реализовать.

  4. Подходит для короткой торговли: стратегия имеет высокую частоту сигналов покупки и продажи, подходящую для короткой торговли.

Стратегический риск

  1. Риск всплеска рынка: всплеск рынка, в котором наблюдается значительная волатильность и отсутствует заметная тенденция, может привести к частым сделкам, что приведет к значительным скольжениям и расходам на торговлю.

  2. Риск показателей: стратегия чувствительна к показателям, неправильная настройка параметров может привести к плохой работе стратегии.

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

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

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

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

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

  4. Многоразовая адаптация: методы, такие как машинное обучение, могут помочь стратегии адаптироваться к различным породам и рыночным условиям.

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

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

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

//@version=5
strategy("Estratégia de Cruzamento de Bandas", overlay=true)

// Entradas
factor = input(0.001, title="Factor")
length = input(20, title="Length")

// Cálculo da Upperband
Upperband = high * (1 + 2 * ((((high - low) / ((high + low) / 2)) * 1000) * factor))

// Condição de Compra
buy_condition = close > ta.ema(close, 3)

// Variável para controlar se a compra foi feita
var bought = false

// Sinal de compra
buy_signal = (close[1] <= ta.sma(Upperband, length)[1]) and (close > ta.sma(Upperband, length)) and buy_condition

// Sinal de venda
sell_signal = close < ta.ema(close, 3) and bought

// Atualizar o status de compra
if buy_signal
    bought := true
    strategy.entry("Compra", strategy.long)
else if sell_signal
    bought := false
    strategy.close("Compra")

// Plotagem dos sinais de compra e venda no gráfico
plotshape(series=buy_signal, title="Compra", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sell_signal, title="Venda", color=color.red, style=shape.triangledown, location=location.abovebar)