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


Дата создания: 2024-01-26 15:18:29 Последнее изменение: 2024-01-26 15:18:29
Копировать: 0 Количество просмотров: 554
1
Подписаться
1617
Подписчики

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

Обзор

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

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

Эта стратегия основана на ценовом закрытии и вычисляет движущиеся средние длиной N. Типичные типы движущихся средних включают простые движущиеся средние (SMA), индексные движущиеся средние (EMA), весовые движущиеся средние (WMA) и т. Д. Затем устанавливается уровень пробела, например 5%, и вычисляется верхний (в 1,05 раза выше среднего) и нижний (в 0,95 раза выше среднего). Когда цена на закрытии переходит по траектории, покупатель создает сигнал покупки; когда цена на закрытии переходит по траектории, продавец создает сигнал продажи.

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

  • Использование функции отслеживания тенденций в движущихся средних позволяет эффективно отслеживать движение цен.
  • Существует множество типов скользящих средних, которые могут быть использованы в гибких комбинациях
  • Параметры дифференциации могут отфильтровывать ложные прорывы и предотвращать ненужные сделки
  • Только для отслеживания падения

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

  • Движущаяся средняя имеет отсталость и может пропустить переломный момент
  • Не подходит для рыночной конъюнктуры с ценовыми колебаниями
  • Неправильная настройка параметров пробела может отфильтровать часть эффективного сигнала
  • Взрыв может быть опасным, но нужно быть осторожным

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

  • Оптимизация параметров типа и длины скользящих средних
  • Тестирование различных параметров допуска
  • В сочетании с другими показателями фильтрует сигналы
  • Повышение стратегии управления позициями

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelPiccolo

//@version=4
strategy("Price X MA Cross", overlay=true)

typ = input("HMA", "MA Type", options=["SMA", "EMA", "WMA", "HMA", "VWMA", "RMA", "TEMA"])
len = input(100, minval=1, title="Length")
src = input(close, "Source", type=input.source)
tol = input(0, minval=0, title="Tolerance (%)", type=input.float)
shortOnly = input(false, "Short only")

tema(src, len)=>
    ema1 = ema(src, len)
    ema2 = ema(ema1, len)
    ema3 = ema(ema2, len)
    return = 3 * (ema1 - ema2) + ema3

getMAPoint(type, len, src)=>
    return = type == "SMA" ? sma(src, len) : type == "EMA" ? ema(src, len) : type == "WMA" ? wma(src, len) : type == "HMA" ? hma(src, len) : type == "VWMA" ? vwma(src, len) : type == "RMA" ? rma(src, len) : tema(src, len)

ma = getMAPoint(typ, len, src)
upperTol = ma * (1 + tol/100)
lowerTol = ma * (1 - tol/100)

longCondition = crossover(close, upperTol)
shortCondition = crossunder(close, lowerTol)

if (shortCondition)
    strategy.entry("Short", strategy.short)

if (longCondition)
    if (shortOnly)
        strategy.close("Short")
    else
        strategy.entry("Long", strategy.long)

plot(ma, "Moving Average", close > ma ? color.green : color.red, linewidth = 2)
t1 = plot(tol > 0 ? upperTol : na, transp = 70)
t2 = plot(tol > 0 ? lowerTol : na, transp = 70)
fill(t1, t2, color = tol > 0 ? color.blue : na)