Стратегия поддержки и сопротивления

Автор:Чао Чжан, Дата: 2024-02-22 16:07:14
Тэги:

img

Обзор

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

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

Код сначала определяет функцию calculateSupportResistance для расчета уровней поддержки и сопротивления, которая извлекает высокие, низкие и закрытые цены предыдущего торгового дня как уровни поддержки и сопротивления текущего дня.

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

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

С помощью этой модели прорыва осуществляется суждение о тренде и генерация торговых сигналов.

Преимущества

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

  2. Уровни поддержки и сопротивления основаны на реальных данных о торговле на рынке, с некоторым эталонным значением

  3. Простая и простая модель обратного тестирования, легкая для понимания и реализации

  4. Визуальное отображение уровней поддержки и сопротивления формирует восприятие цен

  5. Наблюдение за прорывами в режиме реального времени, своевременное выявление торговых возможностей

Риски

  1. Уровни поддержки и сопротивления меняются с течением времени, трудно определить их достоверность

  2. Невозможность предсказать направление тренда, риск отсутствия переворотов

  3. Легко подвергается влиянию ложных прорывов, риск преждевременного вступления

  4. Невозможно определить продолжительность прорывов, вероятность ранней остановки потери

  5. Потеря поддержки и сопротивления в условиях огромных колебаний на рынке

Контрмеры:

  1. Объедините больше факторов для оценки достоверности прорывов

  2. Соответственно расширить диапазон стоп-лосса для улавливания трендов

  3. Открытые позиции в партиях, снижение влияния индивидуальных колебаний

Оптимизации

  1. Добавьте больше исторических данных, таких как 5-дневные, 10-дневные линии для определения уровней

  2. Включить другие показатели, такие как объем, чтобы судить о действительности прорыва

  3. Установка стоп-лосса на основе фактической волатильности

  4. Оптимизировать управление капиталом, контролировать одиночные потери

Резюме

В целом это типичная стратегия прорыва, простая и интуитивная. Построение текущей поддержки и сопротивления с данными предыдущих дней и обратное тестирование прорывов этих уровней на длинный / короткий.


/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support and Resistance with Backtesting", overlay=true)

// Function to calculate support and resistance levels
calculateSupportResistance() =>
    highPrevDay = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
    lowPrevDay = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)
    closePrevDay = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)
    [highPrevDay, lowPrevDay, closePrevDay]

// Call the function to get support and resistance levels
[supResHigh, supResLow, supResClose] = calculateSupportResistance()

// Plotting support and resistance levels
plot(supResHigh, color=color.red, linewidth=2, title="Previous Day High")
plot(supResLow, color=color.green, linewidth=2, title="Previous Day Low")
plot(supResClose, color=color.blue, linewidth=2, title="Previous Day Close")

// Backtesting logic
backtestCondition = close[1] < supResLow and close > supResLow
strategy.entry("Long", strategy.long, when=backtestCondition)

// Plotting buy/sell arrows for backtesting
plotarrow(backtestCondition ? 1 : na, colorup=color.green, offset=-1, transp=0)


Больше