Динамическая система управления рисками на основе скользящих средних и зон спроса и предложения

MA SMA DEMAND ZONE SUPPLY ZONE STOP LOSS TAKE PROFIT risk management CROSSOVER
Дата создания: 2025-02-20 15:39:27 Последнее изменение: 2025-02-20 15:39:27
Копировать: 1 Количество просмотров: 375
2
Подписаться
319
Подписчики

Динамическая система управления рисками на основе скользящих средних и зон спроса и предложения Динамическая система управления рисками на основе скользящих средних и зон спроса и предложения

Обзор

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

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

Для определения направления тренда стратегия использует простые движущиеся средние ((SMA) на 9 и 21 циклов. Система посылает многосигналы, когда цена находится в пределах 1% зоны спроса ((поддержка) и краткосрочная средняя линия пересекает долгосрочную среднюю вверх; система посылает пустой сигнал, когда цена находится в пределах 1% зоны сопротивления ((резистентность) зоны предложения и краткосрочная средняя линия пересекает долгосрочную среднюю вниз.

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

  1. Механизм многократного подтверждения: в сочетании с техническими показателями (среднелинейный пересечение) и ценовой структурой (зоны спроса и предложения), снижает риск ложного прорыва
  2. Динамический риск-менеджмент: стоп-лост-стоп устанавливается на основе процента от цены входа и адаптируется к различным рыночным условиям
  3. Визуализация торговых сигналов: четко обозначенные на графике зоны спроса и предложения и торговые сигналы для удобства анализа и проверки
  4. Гибкость параметров: среднелинейный цикл, условия подтверждения зоны спроса и предложения, стоп-стоп-процент и т. д. могут быть скорректированы в соответствии с различными рыночными характеристиками
  5. Ясная логика стратегии: четкие условия входа и выхода, которые можно отследить и оптимизировать

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

  1. Риск рыночных потрясений: частое пересечение равномерных линий может привести к слишком большому количеству ложных сигналов
  2. Риск скольжения: торговля вблизи зоны спроса и предложения может столкнуться с большим скольжением
  3. Чувствительность параметров: оптимальные параметры могут отличаться в разных рыночных условиях
  4. Риск остановки: фиксированный процент остановки может не подходить для всех рыночных условий
  5. Управление рисками: стратегия не включает в себя управление размером позиций

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

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

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

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

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

//@version=5
strategy("MA Crossover with Demand/Supply Zones + Stop Loss/Take Profit", overlay=true)

// Input parameters for Moving Averages
shortLength = input.int(9, title="Short MA Length", minval=1)
longLength = input.int(21, title="Long MA Length", minval=1)

// Input parameters for Demand/Supply Zones
zoneLookback = input.int(50, title="Zone Lookback Period", minval=10)
zoneStrength = input.int(2, title="Zone Strength (Candles)", minval=1)

// Input parameters for Stop Loss and Take Profit
stopLossPerc = input.float(1.0, title="Stop Loss (%)", minval=0.1) / 100
takeProfitPerc = input.float(2.0, title="Take Profit (%)", minval=0.1) / 100

// Calculate moving averages
shortMA = ta.sma(close, shortLength)
longMA = ta.sma(close, longLength)

// Plot moving averages
plot(shortMA, color=color.blue, title="Short MA")
plot(longMA, color=color.red, title="Long MA")

// Identify Demand and Supply Zones
var float demandZone = na
var float supplyZone = na

// Detect Demand Zones (Price makes a significant low and bounces up)
if (ta.lowest(low, zoneLookback) == low[zoneStrength] and close[zoneStrength] > open[zoneStrength])
    demandZone := low[zoneStrength]

// Detect Supply Zones (Price makes a significant high and drops down)
if (ta.highest(high, zoneLookback) == high[zoneStrength] and close[zoneStrength] < open[zoneStrength])
    supplyZone := high[zoneStrength]

// Draw Demand and Supply Zones using lines
var line demandLine = na
var line supplyLine = na


// Trade Logic: Only open trades near Demand/Supply Zones
isNearDemand = demandZone > 0 and close <= demandZone * 1.01  // Within 1% of demand zone
isNearSupply = supplyZone > 0 and close >= supplyZone * 0.99  // Within 1% of supply zone

// Calculate Stop Loss and Take Profit levels
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc)  // Stop loss for long positions
takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPerc)  // Take profit for long positions

stopLossLevelShort = strategy.position_avg_price * (1 + stopLossPerc)  // Stop loss for short positions
takeProfitLevelShort = strategy.position_avg_price * (1 - takeProfitPerc)  // Take profit for short positions

// Generate buy/sell signals based on MA crossover and zones
if (ta.crossover(shortMA, longMA) and isNearDemand)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=stopLossLevel, limit=takeProfitLevel)

if (ta.crossunder(shortMA, longMA) and isNearSupply)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=stopLossLevelShort, limit=takeProfitLevelShort)

// Optional: Plot buy/sell signals on the chart
plotshape(series=ta.crossover(shortMA, longMA) and isNearDemand, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=ta.crossunder(shortMA, longMA) and isNearSupply, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")