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

Автор:Чао Чжан, Дата: 2023-10-23 16:56:52
Тэги:

img

Обзор

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

Принципы

Стратегия реализуется в основном путем:

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

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

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

    • Используйте линии Stoch K и D
    • Когда линия K находится над линией D, определяется как импульс вверх
    • Когда линия K находится ниже линии D, определить как импульс вниз
  4. Найдите точки входа

    • Длинный вход: долгосрочный рост, среднесрочный рост Stoch, краткосрочный MA золотой крест
    • Краткий вход: долгосрочный нисходящий тренд, среднесрочный снижение цены на акции, краткосрочный мертвый перекресток MA
  5. Точки выхода

    • Длинный выход: среднесрочная линия Stoch K пересекает линию D
    • Краткий выход: среднесрочная линия Stoch K пересекает линию D

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

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

Преимущества этой стратегии включают:

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

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

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

  4. Строгие критерии входа предотвращают большинство ложных вырывов из-за скачков цен.

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

  6. Применяется в различных рыночных условиях, не ограничиваясь специфическими рыночными условиями.

  7. Существует возможность оптимизации управления капиталом, например, фиксированный процент стоп-лосса, динамическое размещение позиций и т.д.

Риски

Для этой стратегии также существуют некоторые риски:

  1. На рыночных рынках может быть несколько ударов стоп-лосса.

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

  3. Опираться исключительно на Сток для определения импульса имеет ограничения.

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

  5. Потенциал прибыли относительно ограничен, не в состоянии уловить огромные тенденции.

Некоторые способы снижения риска:

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

  2. Добавьте индикаторы тенденции для установления комбинированного суждения.

  3. Включите больше индикаторов, таких как MACD для оценки импульса.

  4. Оптимизируйте стоп-лосс для использования стоп-остановки и т.д.

  5. Немедленно корректируйте стоп-лосс и размер позиции при значительных изменениях тренда.

Оптимизация

Некоторые способы оптимизации стратегии:

  1. Оптимизация параметров, таких как периоды MA, настройки Stoch для улучшения точности сигнала.

  2. Добавьте больше индикаторов, таких как MACD, полосы Боллинджера для улучшения суждения.

  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)

    
    

    




Больше