В процессе загрузки ресурсов... загрузка...

Продвинутая стратегия выявления разрыва в справедливой стоимости с динамическим управлением рисками и фиксированной прибылью

Автор:Чао Чжан, Дата: 2024-11-29 16:22:10
Тэги:FVGSLТП

img

Обзор

Это торговая стратегия, основанная на обнаружении разрыва в справедливой стоимости (FVG), сочетающая динамическое управление рисками с фиксированными целями получения прибыли. Работая в 15-минутный временной промежуток, стратегия определяет потенциальные торговые возможности, обнаруживая разрывы в ценах на рынке. Согласно данным бэкстеста с ноября 2023 по август 2024 года, стратегия достигла чистой прибыли 284,40% с 153 общими сделками, сохраняя показатель выигрыша 71,24% и коэффициент прибыли 2,422.

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

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

  1. Бычий FVG: когда максимум средней свечи ниже минимума первой свечи
  2. FVG медвежий: когда низший уровень средней свечи выше высокого уровня первой свечи
  3. Входные сигналы контролируются пороговым параметром FVG
  4. Контроль рисков использует фиксированный процент (1%) собственного капитала счета в качестве стоп-лосса
  5. Приобретение прибыли установлено на фиксированном уровне 50 пунктов.

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

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

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

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

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

  1. Внедрение показателей волатильности для динамической корректировки прибыли
  2. Добавление фильтров тренда для предотвращения колебаний рынка
  3. Разработка механизма подтверждения многократных сроков
  4. Оптимизировать алгоритм размещения позиций с помощью системы плавающего положения
  5. Добавление фильтров времени торговли для предотвращения периодов высокой волатильности
  6. Разработка системы оценки силы сигнала для высококачественного выбора торговли

Резюме

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fair Value Gap Strategy with % SL and Fixed TP", overlay=true, initial_capital=500, default_qty_type=strategy.fixed, default_qty_value=1)

// Parameters
fvgThreshold = input.float(0.5, "FVG Threshold (%)", minval=0.1, step=0.1)

// Fixed take profit in pips
takeProfitPips = 50

// Function to convert pips to price
pipsToPriceChange(pips) =>
    syminfo.mintick * pips * 10

// Function to detect Fair Value Gap
detectFVG(dir) =>
    gap = 0.0
    if dir > 0  // Bullish FVG
        gap := low[2] - high[1]
    else  // Bearish FVG
        gap := low[1] - high[2]
    math.abs(gap) > (close * fvgThreshold / 100)

// Detect FVGs
bullishFVG = detectFVG(1)
bearishFVG = detectFVG(-1)

// Entry conditions
longCondition = bullishFVG
shortCondition = bearishFVG

// Calculate take profit level
longTakeProfit = strategy.position_avg_price + pipsToPriceChange(takeProfitPips)
shortTakeProfit = strategy.position_avg_price - pipsToPriceChange(takeProfitPips)

// Calculate stop loss amount (5% of capital)
stopLossAmount = strategy.equity * 0.01

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Set exit conditions
if (strategy.position_size > 0)
    strategy.exit("Long TP", "Long", limit=longTakeProfit)
    strategy.close("Long SL", when=strategy.openprofit < -stopLossAmount)
else if (strategy.position_size < 0)
    strategy.exit("Short TP", "Short", limit=shortTakeProfit)
    strategy.close("Short SL", when=strategy.openprofit < -stopLossAmount)

// Plot signals
plotshape(longCondition, "Buy Signal", location = location.belowbar, color = color.green, style = shape.triangleup, size = size.small)
plotshape(shortCondition, "Sell Signal", location = location.abovebar, color = color.red, style = shape.triangledown, size = size.small)

Связанные

Больше