В процессе загрузки ресурсов... загрузка...

Стратегия обратного движения с фильтрованной штилью

Автор:Чао Чжан, Дата: 2024-06-07 16:48:23
Тэги:SMAРСИПБ

img

Обзор

Эта стратегия в первую очередь направлена на выявление потенциальных точек переворота рынка путем распознавания определенного шаблона свечей, называемого Pin Bar. Pin Bar характеризуется длинной тенью и небольшим телом, указывающим на значительную волатильность рынка на этом уровне цены, но в конечном итоге цена отступает, предполагая, что уровень может действовать как поддержка или сопротивление. Стратегия использует 50-периодную простую скользящую среднюю (SMA) для определения направления текущего тренда и 20-периодную SMA объема в качестве фильтра, требующего, чтобы объем был выше этого среднего для того, чтобы сигнал Pin Bar считался действительным. Кроме того, индекс относительной силы (RSI) рассчитывается, но не используется непосредственно в условиях входа / выхода, а служит дополнительным фильтром условий.

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

  1. Во-первых, определите относительный размер верхней и нижней теней и тела штифта, требуя, чтобы верхняя или нижняя тень составляла не менее 60% от всего диапазона высоко-низко свечей, а тело не должно превышать 30%.
  2. Сравните цены закрытия и открытия, чтобы определить, является ли Pin Bar бычьим или медвежьим.
  3. Для определения текущей тенденции используйте 50-периодную SMA, рассматривая ее как восходящий тренд, когда цена закрытия выше SMA, и нисходящий тренд, когда ниже.
  4. В качестве порога для фильтра объема устанавливается 20-периодный объем SMA, при этом считается, что сигнал Pin Bar действителен только в том случае, если объем при его появлении превышает это значение.
  5. Нарисуйте выявленные бычьи и медвежие Пин-Барсы.
  6. Ввести длинную позицию, когда появляется быстрый Pin Bar, и короткую позицию, когда появляется медленный Pin Bar.
  7. Для длинных позиций разместите стоп-лосс ниже минимума, а прибыль - выше максимума; и наоборот для коротких позиций.

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

  1. Pin Bar - это очень интуитивно понятный и эффективный шаблон перемены цен, способный точно отслеживать внезапные изменения настроения на рынке.
  2. Фильтр тренда обеспечивает, чтобы сигналы Pin Bar соответствовали текущему направлению тренда, что значительно улучшает скорость победы сигнала.
  3. Условия объема фильтруют рыночный шум с недостаточной ликвидностью, гарантируя, что сигналы Pin Bar имеют адекватное участие на рынке.
  4. Стоп-лосс и позиции с прибылью устанавливаются на основе характеристик Pin Bar, обеспечивающих разумное соотношение риск-прибыль.
  5. Логика кода и правила ясны и легко понять и реализовать.

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

  1. Надежность сигналов Pin Bar может значительно уменьшиться на нестабильных рынках, где фильтр тренда менее эффективен.
  2. Pin Bars могут потерпеть неудачу в условиях исключительно сильных медвежьих или бычьих событий.
  3. Частота торговли относительно низкая, что может привести к недостаточному количеству проб для обратного тестирования.
  4. Параметры по умолчанию могут потребовать дальнейшей оптимизации для конкретных инструментов и сроков.
  5. Поскольку это система с одним сигналом, общий риск относительно высок.

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

  1. Подумайте о внедрении других моделей обратного действия, таких как внутренние строки для обогащения источников сигнала.
  2. Использовать индикаторы волатильности, такие как ATR, для динамической корректировки стоп-лосса и получения прибыли для адаптации к различным рыночным условиям.
  3. Используйте процентную остановку для максимизации прибыли.
  4. Включите более фундаментальные данные, такие как экономические календари и значимые события, чтобы отфильтровать потенциально недействительные сигналы.
  5. Ввести модуль управления деньгами для контроля риска каждой сделки.

Резюме

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


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

//@version=5
strategy("Filtered Pin Bar Strategy with Relaxed Volume", overlay=true)

// Define the size of the pin bar's wick and body
wickSize = 0.6
bodySize = 0.3

// Calculate the size of the wicks and body
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
body = math.abs(close - open)

// Define a simple moving average to determine the trend
smaLength = 50
sma = ta.sma(close, smaLength)

// Define a more relaxed volume threshold
volumeThreshold = ta.sma(volume, 20) * 1.0

// Define RSI parameters
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsi = ta.rsi(close, rsiLength)

// Define the conditions for a bullish pin bar
bullishPinBar = (lowerWick > (wickSize * (high - low))) and
     (body < (bodySize * (high - low))) and
     (close > open) and
     (close > sma) and
     (volume > volumeThreshold)

// Define the conditions for a bearish pin bar
bearishPinBar = (upperWick > (wickSize * (high - low))) and
     (body < (bodySize * (high - low))) and
     (close < open) and
     (close < sma) and
     (volume > volumeThreshold)

// Plot the bullish and bearish pin bars on the chart
plotshape(series=bullishPinBar, title="Bullish Pin Bar", location=location.belowbar, color=color.green, style=shape.labelup, text="PB")
plotshape(series=bearishPinBar, title="Bearish Pin Bar", location=location.abovebar, color=color.red, style=shape.labeldown, text="PB")

// Entry and exit rules
if (bullishPinBar)
    strategy.entry("Bullish Pin Bar", strategy.long)
if (bearishPinBar)
    strategy.entry("Bearish Pin Bar", strategy.short)

// Optional: Set stop loss and take profit
stopLoss = 2 * body
takeProfit = 3 * body
strategy.exit("Exit Long", from_entry="Bullish Pin Bar", stop=low - stopLoss, limit=high + takeProfit)
strategy.exit("Exit Short", from_entry="Bearish Pin Bar", stop=high + stopLoss, limit=low - takeProfit)


Связанные

Больше