Стратегия разворота пин-бара с фильтрацией тренда

SMA RSI PB
Дата создания: 2024-06-07 16:48:23 Последнее изменение: 2024-06-07 16:48:23
Копировать: 2 Количество просмотров: 631
1
Подписаться
1617
Подписчики

Стратегия разворота пин-бара с фильтрацией тренда

Обзор

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

Стратегический принцип

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

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

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

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

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

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

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

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

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

Исходный код стратегии
/*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)