Стратегия отслеживания тренда с тремя последовательными положительными максимумами, основанная на прорыве полос Боллинджера

BBANDS SMA STDDEV RR TP SL
Дата создания: 2025-02-19 11:05:11 Последнее изменение: 2025-02-19 11:05:11
Копировать: 0 Количество просмотров: 488
1
Подписаться
1617
Подписчики

Стратегия отслеживания тренда с тремя последовательными положительными максимумами, основанная на прорыве полос Боллинджера

Обзор

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

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

Основная логика стратегии основана на следующих ключевых элементах:

  1. Используется 20-циклическая лента Бринна в качестве основного показателя, стандартный разрыв в кратном выражении 2.0
  2. Условия многоголового входа: три последовательных K-линии, которые являются солнечными линиями, закрываются в верхней половине объекта
  3. Входное условие: три последовательных K-линии, где цена закрытия пробивается вниз, и эти три K-линии являются отрицательными, и цена закрытия находится в нижней половине объекта
  4. Стоп-потеря устанавливается на пределе первой линии K.
  5. Риск-прибыль, основанный на 1: 1 по сравнению с установкой стоп-позиции

Стратегические преимущества

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

Стратегический риск

  1. На нестабильных рынках могут возникать частые ложные сигналы
  2. Фиксированный риск-прибыль может быть недостаточно эффективным в случае сильных тенденций.
  3. Строгие требования к трем последовательным K-линиям могут упустить некоторые потенциальные возможности.
  4. Стоп-потеря установлена на пределе K-линии сигнала, стоп-потеря может быть слишком далеко при больших колебаниях Рекомендуется управлять рисками следующим образом:
  • Параметры Бринских полос в сочетании с циклическими колебаниями рынка
  • Риск-рентабельность, скорректированная в соответствии с динамикой рыночных характеристик
  • Добавить индикаторы подтверждения тренда
  • Оптимизация методов установки стоп-позиции

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

  1. Параметры оптимизации:
  • Периоды и кратности стандартного разрыва в Брин-Бенде могут быть скорректированы в зависимости от динамики различных рыночных характеристик
  • Рассмотрение требований к трем K-линиям в динамическом решении
  1. Оптимизация сигнала:
  • Увеличение признаков тренда, таких как ADX или трендовые линии
  • Введение механизма подтверждения поставок
  • Рассмотреть возможность включения в качестве вспомогательного индикатора колебания
  1. Оптимизация управления позициями:
  • Динамическая настройка риска-прибыли
  • Добавление модуля управления деньгами
  • Рассматривается возможность создания миротворческих складов
  1. Оптимизация убытков:
  • Введение механизма отслеживания потерь
  • Стоп-дистанция на основе ATR
  • Учитывайте время.

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

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

Исходный код стратегии
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-17 08:00:00
period: 12h
basePeriod: 12h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Bollinger Band Strategy (Close Near High/Low Relative to Half Range)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200, pyramiding=0)

// Bollinger Bands
length = input.int(20, "BB Length")
mult = input.float(2.0, "BB StdDev")
basis = ta.sma(close, length)
upper_band = basis + mult * ta.stdev(close, length)
lower_band = basis - mult * ta.stdev(close, length)

// Plot Bollinger Bands
plot(upper_band, "Upper Band", color.blue)
plot(lower_band, "Lower Band", color.red)

// Buy Condition: 
// 1. Last 3 candles close above upper band AND close > open for all 3 candles
// 2. Close is in the top half of the candle's range (close > (high + low) / 2)
buyCondition =    close[2] > upper_band[2] and     close[1] > upper_band[1] and     close > upper_band and    close[2] > open[2] and close[2] > (high[2] + low[2]) / 2 and    close[1] > open[1] and close[1] > (high[1] + low[1]) / 2 and    close > open and close > (high + low) / 2

// Sell Condition: 
// 1. Last 3 candles close below lower band AND close < open for all 3 candles
// 2. Close is in the bottom half of the candle's range (close < (high + low) / 2)
sellCondition =    close[2] < lower_band[2] and    close[1] < lower_band[1] and   close < lower_band and   close[2] < open[2] and close[2] < (high[2] + low[2]) / 2 and    close[1] < open[1] and close[1] < (high[1] + low[1]) / 2 and    close < open and close < (high + low) / 2

// Initialize variables
var float stop_loss = na
var float target_price = na

// Buy Logic
if buyCondition and strategy.position_size == 0
    stop_loss := low[2] // Low of the earliest candle in the 3-candle sequence
    target_price := close + (close - stop_loss) // Risk-to-reward 1:1
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", stop=stop_loss, limit=target_price)
    label.new(bar_index, low, "▲", color=color.green, style=label.style_label_up, yloc=yloc.belowbar)

// Sell Logic
if sellCondition and strategy.position_size == 0
    stop_loss := high[2] // High of the earliest candle in the 3-candle sequence
    target_price := close - (stop_loss - close) // Risk-to-reward 1:1
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", stop=stop_loss, limit=target_price)
    label.new(bar_index, high, "▼", color=color.red, style=label.style_label_down, yloc=yloc.abovebar)

// Plotting
plot(upper_band, "Upper Band", color.blue)
plot(lower_band, "Lower Band", color.red)
plot(strategy.position_size > 0 ? stop_loss : na, "Buy SL", color.red, 2, plot.style_linebr)
plot(strategy.position_size > 0 ? target_price : na, "Buy Target", color.green, 2, plot.style_linebr)
plot(strategy.position_size < 0 ? stop_loss : na, "Sell SL", color.red, 2, plot.style_linebr)
plot(strategy.position_size < 0 ? target_price : na, "Sell Target", color.green, 2, plot.style_linebr)