Тенденция после стратегии на основе скользящей средней Renko

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

img

Обзор

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

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

Когда цена закрытия ленты Ренко превышает скользящую среднюю HL2 за 22 периода, идет длинный. Когда цена закрытия ленты Ренко превышает скользящую среднюю HL2 за 22 периода, идет короткий. Судя по взаимосвязи между ценой и скользящей средней, он фиксирует направление тренда.

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

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

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

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

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

  2. Движущаяся средняя HL2 объединяет информацию о самой высокой и самой низкой цене для более надежного определения тренда.

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

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

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

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

Эта стратегия также сопряжена с некоторыми рисками:

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

  2. Он не может эффективно справиться с риском пробела, вызванного внезапными событиями.

  3. Неправильные настройки Ренко могут упустить лучшие торговые возможности.

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

Руководство по оптимизации

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

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

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

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

  4. Добавить адаптивный механизм стоп-лосса на основе волатильности.

  5. Проверьте различные настройки торгового сеанса для оптимизации этого состояния.

Заключение

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


/*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)

Больше