Стратегия отслеживания трендов на основе среднего уровня Renko

Автор:Чао Чжан, Дата: 2024-02-21 16:36:00
Тэги:

基于Renko平均线的趋势追踪策略

Обзор

Это торговая стратегия, которая использует средний Ренко для определения и отслеживания тренда. Центральная логика этой стратегии заключается в том, чтобы сделать соответствующую покупку или продажу, когда цена пробивается через средний HL2, который составляет 22 цикла.

Принципы стратегии

Когда ценовой столбец Ренко закрывается через 22-циклическую среднюю линию HL2, делать больше; когда ценовой столбец Ренко закрывается под 22-циклическую среднюю линию HL2, делать меньше. Это позволяет определить направление тренда путем определения отношения цены к средней линии.

Средняя HL2 (Highest High + Lowest Low) /2) - это средняя тенденционная линия, которая объединяет информацию о самых высоких и самых низких ценах, чтобы более точно определить направление развития тренда.

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

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

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

  1. Использование линии Renko как торгового сигнала эффективно фильтрует рыночный шум и фиксирует основные тенденции.

  2. Средний HL2 объединяет информацию о самых высоких и самых низких ценах, что дает более точные и надежные оценки тренда.

  3. Установка фиксированных стоп-лосс, стоп-топ-позиций, позволяет хорошо контролировать риск одной сделки.

  4. Мобильные остановки могут быть использованы для блокировки прибыли по мере развития тренда и отслеживания тренда.

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

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

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

  1. Средняя стратегия может привести к большему количеству ложных сигналов.

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

  3. Неправильные настройки Renko могут привести к упущению лучшей сделки.

  4. Фиксированные остановки, остановки, которые трудно адаптироваться к изменениям рынка.

Оптимизация

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

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

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

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

  4. Дополнение механизмов адаптации, основанных на колебаниях.

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

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

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("HL2 - 22 Cross", overlay=true)

// Stops and Profit inputs
inpTakeProfit   = input(defval = 300, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 200, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 200, title = "Trailing Stop", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Offset", minval = 0)

// Stops and Profit Targets
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

//Specific Time to Trade
myspecifictradingtimes = input('0500-1600',  title="My Defined Hours")

longCondition1 = crossover(close, ema(hl2, 22))
longCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if longCondition1 and longCondition2
    strategy.entry("Long", strategy.long, comment="LongEntry")

shortCondition1 = crossunder(close, ema(hl2, 22))
shortCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if shortCondition1 and shortCondition2
    strategy.entry("Short", strategy.short, comment="ShortEntry")

strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)

Больше информации