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


Дата создания: 2023-12-06 16:29:52 Последнее изменение: 2023-12-06 16:29:52
Копировать: 0 Количество просмотров: 575
1
Подписаться
1619
Подписчики

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

Обзор

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

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

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

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

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

Эта стратегия имеет следующие преимущества по сравнению с простой двойной подвижной средней стратегией:

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

  2. Использование множества комбинаций скользящих средних повышает надежность и выигрышность сигнала.

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

  4. Правила стратегии понятны и просты в применении. Их реализация не так сложна по сравнению с более сложными стратегиями, такими как машинное обучение.

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

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

Несмотря на оптимизацию по сравнению с простой двойной равнолинейной стратегией, существуют определенные риски, о которых следует помнить:

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

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

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

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

  5. В то же время, по мнению экспертов, это не является правильной стратегией, поскольку она не позволяет в реальном времени отслеживать изменения в параметрах рыночной корректировки.

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

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

В этой стратегии есть много возможностей для оптимизации, в частности, в следующих аспектах:

  1. Увеличение механизма стоп-лосса. Можно установить движущийся стоп-лосс или стоп-лосс, эффективно контролируя максимальный убыток от одной сделки.

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

  3. Сочетание нескольких временных рамок. Можно проверить эффективность стратегии при различных периодах времени (денная линия, 60 минут и т. д.), в сочетании с большим количеством временных измерений.

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

  5. Динамическая корректировка, основанная на машинном обучении. Автоматизация, оптимизация и корректировка моделей, реализованная с помощью таких технологий, как Reinforcement Learning.

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

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

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

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

//@version=5
strategy("Improved Moving Average Crossover Strategy", overlay=true)

// Define input variables
fast_length = input(9, title="Fast MA Length")
slow_length = input(21, title="Slow MA Length")
trend_length = input(50, title="Trend MA Length")
src = close

// Calculate moving averages
fast_ma = ta.sma(src, fast_length)
slow_ma = ta.sma(src, slow_length)
trend_ma = ta.sma(src, trend_length)

// Plot moving averages on the chart
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")
plot(trend_ma, color=color.green, title="Trend MA")

// Define trend direction
is_uptrend = ta.crossover(slow_ma, trend_ma)
is_downtrend = ta.crossunder(slow_ma, trend_ma)

// Define buy and sell conditions
buy_condition = ta.crossover(fast_ma, slow_ma) and is_uptrend
sell_condition = ta.crossunder(fast_ma, slow_ma) and is_downtrend

// Execute trades based on conditions
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.close("Buy")

if (sell_condition)
    strategy.entry("Sell", strategy.short)
if (buy_condition)
    strategy.close("Sell")