Авто S/R Breakout Стратегия

Автор:Чао Чжан, Дата: 2023-12-06 16:51:30
Тэги:

img

Обзор

Стратегия Auto S/R - это стратегия, следующая за трендом. Она рассчитывает самые высокие и самые низкие цены за определенные периоды, чтобы определить ключевые уровни поддержки и сопротивления. Когда цена проходит через эти ключевые уровни, заказы на покупку или продажу выполняются.

Логика стратегии

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

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

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

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

Кроме того, правила входа и выхода просты и просты - требуется только разрыв краткосрочных уровней S / R. Это позволяет легко реализовать и оптимизировать стратегию путем настройки параметров.

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

Самый большой риск заключается в том, что автоматически рассчитанные уровни S/R могут быть ненадежными, и цена может прорваться без начала тренда.

Кроме того, если период для краткосрочного S/R слишком короткий, это может привести к чрезмерному количеству ложных сигналов, что приводит к высоким потерям в режиме реального времени.

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

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

Есть два основных аспекта, в которых эта стратегия может быть оптимизирована:

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

  2. Добавьте дополнительные фильтры, такие как индикаторы объема / импульса и скользящие средние, чтобы избежать ложных прорывов.

Резюме

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-12-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © lukaRT

//@version=5
strategy("Auto S/R Strategy", shorttitle="Auto S/R", overlay=true)

// Ваши входные параметры
leftBars = input.int(50, title="Left Bars")
rightBars = input.int(25, title="Right Bars")
quickRightBars = input.int(5, title="Quick Right Bars")
src = input(close, title="Source")

pivotHigh = ta.pivothigh(src, leftBars, rightBars)
pivotLow = ta.pivotlow(src, leftBars, rightBars)

quickPivotHigh = ta.pivothigh(src, leftBars, quickRightBars)
quickPivotLow = ta.pivotlow(src, leftBars, quickRightBars)

// Ваши уровни сопротивления и поддержки
resistanceLevel1 = ta.valuewhen(quickPivotHigh, high[quickRightBars], 0)
supportLevel1 = ta.valuewhen(quickPivotLow, low[quickRightBars], 0)

// Пересечение ценой уровней
longCondition = ta.crossover(close, supportLevel1)
shortCondition = ta.crossunder(close, resistanceLevel1)

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Отображение линий сопротивления и поддержки на графике
plot(resistanceLevel1, color=color.red, title="Resistance Level 1")
plot(supportLevel1, color=color.green, title="Support Level 1")


Больше