Стратегия ложного прорыва поддержки множественных скользящих средних в сочетании с системой стоп-лосс ATR

SMA ATR
Дата создания: 2024-11-27 16:17:17 Последнее изменение: 2024-11-27 16:17:17
Копировать: 0 Количество просмотров: 442
1
Подписаться
1617
Подписчики

Стратегия ложного прорыва поддержки множественных скользящих средних в сочетании с системой стоп-лосс ATR

Обзор

Стратегия является торговой системой, основанной на выявлении равнолинейных трендов и ложных прорывов в поддержке. Стратегия определяет рыночные тенденции с помощью 50-циклических и 200-циклических простых движущихся средних, создает торговый сигнал в сочетании с ложными форматами прорывов в поддержке и использует ATR (средняя реальная волновая amplitude) для динамического установления стоп-позиции, устанавливая цель получения прибыли в точке прорыва.

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

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

  1. Определение тренда: использование позиционных отношений 50-циклической и 200-циклической средних линий для определения тренда рынка, подтверждение восходящего тренда, когда краткосрочная средняя линия находится над долгосрочной средней линией.
  2. Поддержка рассчитывается с помощью формулы опорных точек, используя средневзвешенные значения максимальных, минимальных и закрытых цен предыдущего периода.
  3. Ложное подтверждение прорыва: когда цена в восходящем тренде, после кратковременного падения поддержания, закрывается выше поддержания, образуется полисигнал.
  4. Управление рисками: используйте 14-циклический ATR для расчета динамических стоп-позиций, чтобы обеспечить расширение стоп-диапазона при усилении волатильности рынка.
  5. Цель прибыли: обеспечение достаточного пространства для прибыли путем расчета максимальной цены за первые 10 циклов в качестве цели прибыли.

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

  1. Следование тренду: стратегия, использующая систему равнолинейной торговли, чтобы обеспечить торговлю в направлении основного тренда и повысить шансы на победу.
  2. Динамический контроль риска: используется ATR для динамического регулирования стоп-позиции в зависимости от рыночной ситуации.
  3. Ясные торговые сигналы: поддержка фальшивых форм прорыва с четкими критериями суждения, уменьшение субъективного суждения.
  4. Разумный коэффициент риска к прибыли: обеспечить хороший коэффициент риска к прибыли, установив динамические стоп-лоры и целевые показатели прибыли на основе исторических максимумов.
  5. Систематизированная работа: четкая логика стратегии, простая реализация в программе и обратная проверка.

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

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

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

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

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

Стратегия многократного прорыва в устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к устойчивости к у

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("False Break Trading Strategy", overlay=true)

// Define inputs for strategy parameters
sma50Length = input.int(50, title="SMA 50 Length")
sma200Length = input.int(200, title="SMA 200 Length")
atrLength = input.int(14, title="ATR Length")
lookbackPeriod = input.int(10, title="Swing High Lookback Period")

// Calculate SMAs
sma50 = ta.sma(close, sma50Length)
sma200 = ta.sma(close, sma200Length)

// Calculate ATR
atr = ta.atr(atrLength)

// Check if we are in an uptrend
isUptrend = sma50 > sma200

// Calculate Pivot, Support, and Target Profit (Swing High)
pivot = (high[1] + low[1] + close[1]) / 3
support = (2 * pivot) - high[1]
swingHigh = ta.highest(high, lookbackPeriod)

// Create signals for entry
var float entryPrice = na
var float stopLoss = na
var float targetProfit = na
longCondition = isUptrend and low[1] < support and close > support

if (longCondition)
    entryPrice := open
    stopLoss := low - atr
    targetProfit := swingHigh

// Plot signals and lines on chart
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")

// Plot levels for entry, stop loss, and target
plot(entryPrice, title="Entry Price", color=color.blue, linewidth=2, style=plot.style_linebr)
plot(stopLoss, title="Stop Loss", color=color.red, linewidth=2, style=plot.style_linebr)
plot(targetProfit, title="Target Profit", color=color.green, linewidth=2, style=plot.style_linebr)

// Backtest: Simulate exit points for the strategy
if (longCondition)
    strategy.entry("Long", strategy.long)
    if (na(stopLoss) == false and na(targetProfit) == false)
        strategy.exit("Take Profit/Stop Loss", "Long", stop=stopLoss, limit=targetProfit)