Автоматизированная стратегия поддержки/сопротивления


Дата создания: 2023-12-06 16:51:30 Последнее изменение: 2023-12-06 16:51:30
Копировать: 0 Количество просмотров: 624
1
Подписаться
1619
Подписчики

Автоматизированная стратегия поддержки/сопротивления

Обзор

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

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

Эта стратегия сначала рассчитывает максимальные и минимальные цены в течение ряда периодов слева и справа, чтобы определить основные уровни поддержки и сопротивления. Затем, рассчитывая максимальные и минимальные цены в более короткие периоды, определяет быстрые уровни поддержки и сопротивления.

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

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

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

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

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

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

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

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

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

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

  1. Оптимизируйте введенные циклические параметры, чтобы найти оптимальную комбинацию параметров. Можно попробовать различные комбинации с лево- и правосторонними циклами, чтобы найти наиболее успешные параметры прорыва.

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

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

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

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