Стратегия тренда с несколькими таймфреймами


Дата создания: 2023-10-23 16:56:52 Последнее изменение: 2023-10-23 16:56:52
Копировать: 0 Количество просмотров: 672
1
Подписаться
1617
Подписчики

Стратегия тренда с несколькими таймфреймами

Обзор

Стратегия - это стратегия торговли с использованием нескольких временных рамок, основное использование долгосрочных временных рамок для определения направления тенденции, среднесрочных временных рамок для определения направления динамики, краткосрочных временных рамок для поиска конкретных точек входа. В целом, основная идея стратегии заключается в одновременном использовании информации о тенденциях, динамике и конкретных точках входа для принятия решений в течение трех различных временных периодов.

Принципы

Эта стратегия состоит из следующих частей:

  1. Определение разных временных рамок

    • Долгосрочные временные рамки ((дата): используются для определения направления общей тенденции
    • Средняя временная рамка: 4 часа: для определения направления движения
    • Краткосрочные временные рамки (заказные): для поиска конкретных точек входа
  2. Оценка долгосрочных тенденций

    • Использование средней SMA для определения долгосрочного тренда
    • Если закрытие выше SMA, это определяется как многополосное движение
    • Если закрытие ниже SMA, то это будет обозначено как полетная тенденция
  3. Оценка среднесрочной динамики

    • K-линия и D-линия с использованием показателя Стоха
    • Когда линия K находится над линией D, она определяется как восходящая сила
    • Когда линия K находится под линией D, она определяется как понижающая динамика
  4. Поиск точки входа

    • Многоголовый вход: долгосрочный многоголовый, среднесрочный движущийся стох вверх, краткосрочный среднелинейный золотой форк
    • Вход в пустоту: длинный пустоту, средний движение Stoch вниз, короткий средний линейный мертвый форк
  5. Точка выхода

    • Многоголовый выход: средний Stoch K вниз по линии D
    • Пустой выход: через D-линию на средней линии Stoch K

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

Преимущества

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

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

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

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

  4. Условия входа были более строгими, что позволило избежать большинства ложных прорывов в скачках.

  5. Установление четких точек стоп-лосса и выхода позволяет эффективно контролировать риск каждой сделки.

  6. Это касается различных рыночных условий и не ограничивается конкретными ситуациями.

  7. Оптимизация управления капиталом, например, установка фиксированного коэффициента остановки, динамическая коррекция позиций и т. д.

Риск

В этой стратегии также есть некоторые риски, о которых следует помнить:

  1. В результате землетрясения может произойти многократная остановка.

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

  3. В среднесрочной перспективе динамика мутаций может быть недооценена только по показателю KDJ.

  4. Приемные условия слишком строгие, и вы можете пропустить часть событий.

  5. “Однако, поскольку мы не знаем, что делать, мы не можем позволить, чтобы это произошло”, - сказал он.

Оптимизация рисков может быть осуществлена в следующих направлениях:

  1. Применение параметров для снижения погрешности.

  2. Повышение показателей оценки тенденций, создание портфельных оценок.

  3. В сочетании с другими показателями для определения среднесрочной динамики, такими как MACD и т.д.

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

  5. При изменении тренда своевременно корректируйте свои стоп-позиции.

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

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Оптимизация параметров. Например, корректировка параметров цикла MA, параметров Stoch и т. Д., Чтобы сделать сигнал более точным.

  2. Добавление дополнительных критериев. Дополнительные критерии, такие как MACD, Bollinger Band, могут быть введены.

  3. Оптимизация условий входа. Можно рассмотреть возможность смягчения условий входа и соответствующего увеличения частоты торгов.

  4. Оптимизация стоп-поста. Можно использовать стоп-пост для отслеживания или установить стоп-пост в соответствии с ATR.

  5. Добавление управления позициями. При изменении тенденции, активное изменение позиций.

  6. Оптимизация машинного обучения. Использование методов машинного обучения для автоматической оптимизации параметров и правил стратегии.

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

  8. Тестирование эффективности использования различных сортов. Стратегия оценки эффективности различных сортов, таких как иностранная валюта, драгоценные металлы и т. Д.

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

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

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

//@version=2
strategy("TUX MTF", overlay=true)

// MULTIPLE TIME FRAME STRATEGY
// LONG TERM --- TREND
// MED TERM --- MOMENTUM
// SHORT TERM --- ENTRY

// ENTRY POSITION TIMEFRAME
entry_position = input(title="Entry timeframe (minutes)",  defval=5, minval=1, maxval=1440)
med_term = entry_position * 4
long_term = med_term * 4

// GLOBAL VARIABLES
ma_trend = input(title="Moving Average Period (Trend)",  defval=50, minval=5, maxval=200)

// RSI
length = input(title="Stoch Length",  defval=18, minval=5, maxval=200)
OverBought = input(title="Stoch OB",  defval=80, minval=60, maxval=100)
OverSold = input(title="Stoch OS",  defval=20, minval=5, maxval=40)
smoothK = input(title="Stoch SmoothK",  defval=14, minval=1, maxval=40)
smoothD = input(title="Stoch SmoothD",  defval=14, minval=1, maxval=40)
maSm = input(title="Moving Avg SM",  defval=7, minval=5, maxval=50)
maMed = input(title="Moving Avg MD",  defval=21, minval=13, maxval=200)

// LONG TERM TREND
long_term_trend = request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)) > request.security(syminfo.ticker, tostring(long_term), close)
plot(request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)), title="Long Term MA", linewidth=2)
// FALSE = BEAR
// TRUE = BULL

// MED TERM MOMENTUM

k = request.security(syminfo.ticker, tostring(med_term), sma(stoch(close, high, low, length), smoothK))
d = request.security(syminfo.ticker, tostring(med_term), sma(k, smoothD))

os = k >= OverBought or d >= OverBought
ob = k <= OverSold or d <= OverSold


// SHORT TERM MA X OVER
bull_entry = long_term_trend == false and os == false and ob == false and k > d and request.security(syminfo.ticker, tostring(entry_position), crossover(sma(close, maSm), sma(close, maMed)))
bear_entry = long_term_trend == true and os == false and ob == false and k < d and request.security(syminfo.ticker, tostring(entry_position), crossunder(sma(close, maSm), sma(close, maMed)))



bull_exit = crossunder(k,d)
bear_exit = crossover(k,d)



if (bull_entry)
    strategy.entry("Long", strategy.long)
    

if (bear_entry)
    strategy.entry("Short", strategy.short)
  
strategy.close("Long", when = bull_exit == true)
strategy.close("Short", when = bear_exit == true)