
Эта стратегия является количественной системой торговли в сочетании с несколькими показателями, в основном используя подтверждение объема сделок и синхронное действие динамических показателей для захвата рыночных возможностей для прорыва. Эта стратегия объединяет накопленный показатель объема сделок (OBV), чистый объем сделок (Net Volume), относительно сильный показатель (RSI) и показатель денежных потоков (MFI), в сочетании с показателем движущейся средней (EMA) для подтверждения тенденции и использования механизма динамического отслеживания убытков для оптимизации точки выхода, эффективно балансируя прибыльность и контроль риска.
Согласно данным ретроспекции, стратегия достигла 83,20% победы за 15-минутный период за последние 12 месяцев, при этом средняя прибыль на одну сделку составила 746,18 USDT, а лучшая отдельная сделка составила 65 654 USDT, в общей сложности было совершено 381 сделку. Эти данные свидетельствуют о том, что стратегия имеет значительную стабильность и потенциал для прибыли в среде высокочастотных торгов.
Основная логика этой стратегии основана на механизме совместного подтверждения множества показателей, и она работает следующим образом:
Условия приемаСистема в основном улавливает многообещающие возможности и запускает сигнал “купить” при выполнении всех следующих условий:
Механизм выходаДвижущаяся система отслеживания и устранения повреждений с тройной защитой:
Портфель технических показателей:
Такой многоуровневый механизм подтверждения гарантирует качество входных сигналов, а динамическое отслеживание стопов эффективно блокирует прибыль и контролирует риски.
Глубокий анализ структуры кода и логики этой стратегии позволяет выделить следующие существенные преимущества:
Подтверждение многомерного сигналаВместе с тремя измерениями цены, объема сделок и динамики значительно снижается вероятность ложного сигнала. Надежность входящего сигнала значительно повышается, когда OBV, чистый объем сделок, RSI и MFI одновременно соответствуют условиям.
Ценовое поведение, поддерживаемое объемом поставокДвойная проверка с помощью OBV и чистых объемов сделок, чтобы убедиться, что изменения цен поддерживаются достаточным количеством сделок, чтобы избежать ловушки “без количественного падения”.
Динамическая остановка интеллектуализацииЭта стратегия не использует фиксированный стоп, а автоматически корректирует стоп-позиции в зависимости от поведения цены, что позволяет предоставить достаточно пространства для колебаний цены, защищая при этом средства.
Строение рисковС помощью трехуровневого механизма для запуска отклонения, отслеживания отклонения и максимального убытка, достигается более тонкое управление рисками, предотвращая значительные убытки, вызванные неэффективностью единого механизма защиты.
Приспособность к высокочастотным сделкамОптимизация для 15-минутных временных рамок, позволяющая улавливать внутридневные колебания и создавать многократные торговые возможности, используя краткосрочные колебания настроений на рынке.
Устойчивая победаПобеда 83,20% показывает, что стратегия имеет постоянное качество сигнала, что имеет решающее значение для долгосрочной устойчивости стратегии количественного трейдинга.
Несмотря на отличную работу этой стратегии, анализ кода позволяет выявить следующие потенциальные риски:
Волатильная зависимостьВ условиях низкой волатильности может привести к длительному удержанию позиций без возможности эффективного блокирования прибыли. Решение проблемы: можно добавить временные тормозные механизмы или скорректировать параметры сдвига при низких колебаниях.
Большие средние потери: Отчетные данные показывают, что средний убыток ((-30,713 USDT) намного больше, чем средняя прибыль ((7,097 USDT), и, несмотря на высокую вероятность победы, небольшие крупные убытки могут серьезно повлиять на общую производительность. *Решение проблемы*Можно рассмотреть возможность установки более строгого контроля за максимальными потерями или добавления дополнительных фильтров.
Низкий фактор прибылиКоэффициент прибыли 0.231 указывает на то, что есть возможность оптимизировать риск по сравнению с отдачей. *Решение проблемы*В частности: переоценка стратегии стоп-лосса, возможно, потребуется снижение максимальной доли убытков или увеличение части механизма блокировки прибыли.
ОднонаправленностьСтратегия ориентирована на оптимизацию нескольких возможностей, которые могут оказаться неэффективными в условиях продолжающегося падения рынка. Решение проблемы: рассмотреть условия диверсификации, которые были определены в коде активации, но не были использованы, или добавить фильтр общего рынка.
Параметр ЧувствительностьТри ключевых параметра для отслеживания стоп-убытков (начальное отклонение, отслеживаемое отклонение и максимальная потеря) оказывают значительное влияние на эффективность стратегии. Неправильная настройка параметров может привести к преждевременному выходу из игры или чрезмерному убытку. Решение проблемы: проведение анализа чувствительности параметров, определение оптимального диапазона параметров и рассмотрение возможности их корректировки на основе динамики волатильности рынка.
Основываясь на глубоком анализе кода стратегии, можно сделать несколько возможных улучшений:
Адаптационные параметры: В настоящее время стратегия использует фиксированные параметры стоп-лора для отслеживания, и можно рассматривать возможность динамической корректировки отклонения от отклонений и отслеживания отклонений в зависимости от волатильности рынка (например, показатель ATR). Увеличение отклонений на высоковолатильных рынках и уменьшение отклонений на низковолатильных рынках позволяет стратегии лучше адаптироваться к различным рыночным условиям.
Фильтрация усиления тенденции: Включение оценки силы тренда в условия входа, например, добавление ADX (индекс среднего направления), вход только тогда, когда тренд достаточно силен, чтобы избежать чрезмерной торговли в консолидированном рынке. Это может эффективно уменьшить ложные сигналы прорыва.
Механизм входа и выхода: Изменение кода позволяет осуществлять поэтапное создание и ликвидацию позиций, например, разделение средств на 3 части, вход при удовлетворении основных условий в 1⁄3, вложение при более сильных условиях, а также выход выполняется 3 раза. Таким образом, можно оптимизировать среднюю цену задержания позиции и уменьшить давление на выбор времени.
Интеграция анализа рыночной среды: Добавление оценки рыночной обстановки на более высоких временных периодах, например, определение направления тренда на 1-часовом или 4-часовом графике, выполнение 15-минутного сигнала только при более крупной поддержке тренда, повышение качества сигнала.
Оптимизация факторов прибыли: Добавление части механизма блокирования прибыли, например, когда прибыль достигает определенной пропорции, устраняется часть позиций, блокирующих прибыль, а остальная часть продолжает использовать отслеживание стоп-лосса. Это позволяет сбалансировать высокий коэффициент выигрыша и улучшить противоречия в среднем прибыли и убытка.
Добавление стратегии дисконтирования: В коде активации уже определены условия курирования, и для курирования стратегии проводится специальная оптимизация, позволяющая стратегии стабильно работать в различных рыночных условиях.
Фильтр времени: Добавление временных фильтров, чтобы избежать известных периодов низкой ликвидности или высокой волатильности, таких как до и после публикации важных экономических данных, чтобы снизить риск возникновения аномальных ситуаций.
Эта многомерная динамическая стратегия прорыва в объеме хитро сочетает в себе анализ объема сделок, динамические показатели и подтверждение тенденций, создавая строгую логику торговой системы. Ее основное преимущество заключается в использовании многомерного подтверждения сигналов для повышения качества входа, а также в динамическом управлении рисками с помощью адаптивного отслеживания механизмов остановки.
Несмотря на впечатляющую высокую победоспособность в 83,20%, то, что средний убыток превышает среднюю прибыль, свидетельствует о том, что в стратегии все еще есть место для улучшения в части управления рисками. Стратегия может значительно улучшить общий коэффициент возврата на риск, сохраняя высокую победоспособность, путем реализации рекомендованных мер оптимизации, особенно изменения динамических параметров, операций в группах и частичного блокирования прибыли.
Для опытных количественных трейдеров эта стратегия предоставляет прочную основу для индивидуальной корректировки в соответствии с личными предпочтениями в отношении риска и принципами управления капиталом. Самое важное, что трейдер должен понимать логику, лежащую в основе этой стратегии, а не просто обращать внимание на прошлые результаты, поскольку рыночная среда постоянно меняется, а успешная стратегия требует адаптивности и устойчивости.
/*backtest
start: 2025-06-07 00:00:00
end: 2025-07-04 08:00:00
period: 2m
basePeriod: 2m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("BullFinder_15M_OBV_RSI_MFI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Göstergeler ===
// OBV
obv = ta.cum(math.sign(ta.change(close)) * volume)
obvMA = ta.sma(obv, 21)
// Net Volume
netVol = request.security(syminfo.tickerid, "1", volume - volume[1])
// RSI & MFI
rsi = ta.rsi(close, 14)
mfi = ta.mfi(hlc3, 14)
ema21 = ta.ema(close, 21)
// === Trailing Stop Parametreleri ===
trigger_offset = input.float(0.35, "Trigger Offset (%)") / 100
trail_offset = input.float(0.3, "Trail Offset (%)") / 100
max_loss = input.float(3.0, "Max Loss (%)") / 100
// === Durum Değişkenleri ===
var float highestPrice = na
var bool trailActive = false
// === GİRİŞ KOŞULLARI ===
// Long (Aynı kaldı)
longCond = obv > obvMA and netVol > 0 and rsi > 45 and mfi < 50
// Short (Genişletildi - v2.9)
shortCond1 = rsi > 70 and obv < obv[1] and netVol < 0 and close < close[1] // Reversal
shortCond2 = rsi > 65 and mfi > 80 and close < ema21 // Weak Pullback
shortCond = shortCond1 or shortCond2
// === Giriş Emirleri ===
if longCond
strategy.entry("Long", strategy.long)
highestPrice := close
trailActive := false
if shortCond
// strategy.entry("Short", strategy.short)
highestPrice := close
trailActive := false
// === Long Trailing Stop ===
if strategy.position_size > 0
highestPrice := math.max(highestPrice, high)
triggerPrice = strategy.opentrades.entry_price(0) * (1 + trigger_offset)
lossLevel = strategy.opentrades.entry_price(0) * (1 - max_loss)
trailLevel = highestPrice * (1 - trail_offset)
if not trailActive and close > triggerPrice
trailActive := true
if (trailActive and close < trailLevel) or close < lossLevel
strategy.close("Long")
// === Short Trailing Stop ===
if strategy.position_size < 0
highestPrice := math.min(highestPrice, low)
triggerPrice = strategy.opentrades.entry_price(0) * (1 - trigger_offset)
lossLevel = strategy.opentrades.entry_price(0) * (1 + max_loss)
trailLevel = highestPrice * (1 + trail_offset)
if not trailActive and close < triggerPrice
trailActive := true
if (trailActive and close > trailLevel) or close > lossLevel
strategy.close("Short")
// === ALERT ŞARTLARI ===
alertcondition(longCond, title="BullFinder Long Signal", message="BullFinder: Long Entry on {{ticker}} at {{close}}")