Стратегия двойной скользящей средней 360°


Дата создания: 2024-02-02 14:29:59 Последнее изменение: 2024-02-02 14:29:59
Копировать: 0 Количество просмотров: 656
1
Подписаться
1617
Подписчики

Стратегия двойной скользящей средней 360°

Обзор

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

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

Основная логика стратегии 360°:

  1. Вычислите среднюю линию после 1 минуты и волны Калмана;
  2. Угол сечения рассчитывается из расчета разницы между двумя средними линиями;
  3. Если вы не знаете, что это означает, то вы не можете определить, что это означает.
  4. В зависимости от того, превышает ли накопительный угол сечения установленный порог, посылается торговый сигнал.

В частности, в стратегии определены 1-минутная первоначальная средняя и средняя после прохождения Калманского фильтра. Калманский фильтр может удалить часть шума в средней, чтобы сделать ее более гладкой. Затем вычисляется угол сечения двух средних, который отражает изменение тенденции цены. Например, когда угол сечения правильный, означает, что цена растет; наоборот, это означает падение.

Стратегия выбирает 30 минут в качестве цикла расчета, real summed все положительные и отрицательные уголки сечения в течение этого цикла. Когда угол сечения и более 360 градусов, означает, что тенденция очень сильна, и посылает многосигнал; наоборот, когда угол сечения и меньше 360 градусов, означает, что тенденция реверсируется, и посылает пустой сигнал.

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

Основными преимуществами 360° являются:

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

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

В то же время существуют некоторые риски, связанные с двулинейной стратегией 360°:

  1. Средняя линия является отсталой и может пропустить кратковременный поворотный момент.
  2. Сигналы о интенсивности тренда, основанные только на количественном накоплении, легко поддаются влиянию рыночных колебаний;
  3. Неправильная настройка параметров (например, длина вычислительного цикла) может привести к пропущенным торговым возможностям или созданию ошибочных сигналов.

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

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

Также существует возможность для дальнейшей оптимизации стратегии 360°:

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

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

Двойная равнолинейная стратегия 360 ° использует всеобъемлющее применение равнолинейной фильтрации и количественного суждения о углах сечения, что позволяет реализовать более стабильную количественную торговую стратегию. По сравнению с одним техническим показателем, стратегия имеет более всеобъемлющие соображения и более сильную практичность. Однако необходимо обратить внимание на корректировку параметров и контроль риска.

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

//@version=5
//@library=math
strategy("策略360°(测试)", overlay=true)

// 定义1分钟均线
ma1 = request.security(syminfo.tickerid, "1", ta.sma(close, 1)) // 在这里使用了 math.sma() 函数
//plot(ma1, color=color.yellow, title="原始均线")

// 定义卡尔曼滤波函数,参考了[1](https://www.tradingview.com/pine-script-docs/en/v5/language/Methods.html)和[2](https://www.tradingview.com/pine-script-docs/en/v5/language/Operators.html)的代码
kalman(x, g) => 
    kf = 0.0 
    dk = x - nz(kf[1], x) // 在这里使用了 nz() 函数
    smooth = nz(kf[1], x) + dk * math.sqrt(g * 2) // 在这里使用了 math.sqrt() 函数
    velo = 0.0 
    velo := nz(velo[1], 0) + g * dk // 在这里使用了 nz() 函数
    kf := smooth + velo 
    kf 

// 定义卡尔曼滤波后的均线
ma2 = kalman(ma1, 0.01) 
plot(ma2, color=color.blue, title="卡尔曼滤波后的均线")

// 定义切线角
angle = math.todegrees(math.atan(ma2 - ma2[1])) // 在这里使用了 math.degrees() 和 math.atan() 函数

// 定义累加的切线角
cum_angle = 0.0
cum_angle := nz(cum_angle[1], 0) + angle // 在这里使用了 nz() 函数

// 定义30分钟周期
period = 30 // 您可以根据您的需要修改这个参数

// 定义周期内的切线角总和
sum_angle = 0.0
sum_angle := math.sum(angle, period) // 在这里使用了 math.sum() 函数,把周期内的切线角总和改成简单地把 5 个切线角相加

// 定义买入和卖出条件
buy = sum_angle > 360// 在这里使用了 math.radians() 函数
sell = sum_angle < -360

// 执行买入和卖出操作
strategy.entry("Long", strategy.long, when=buy)
strategy.close("Short", when=buy)
strategy.entry("Short", strategy.short, when=sell)
strategy.close("Long", when=sell)

// 绘制曲线图
plot(sum_angle, color=color.green, title="周期内的切线角总和")
plot(angle, color=color.red, title="切线角") // 这是我为您添加的代码,用于显示实时计算的切线角