
Это количественная торговая стратегия, основанная на пробелах справедливой стоимости, вдохновленная концепцией умных денег и теорией ценового дисбаланса в институциональной торговле. Стратегия использует фиксированные 0.10% стоп-лосс и стоп-стоп, разработанные специально для коротколинейных трейдеров и алгоритмических трейдеров с целью строгого контроля риска, чтобы захватить мелкие колебания рынка.
В основе этой стратегии лежит выявление и использование пробелов в справедливой стоимости (FVG). FVG - это зоны, через которые цены проскакивают в течение короткого периода времени, представляющие собой уровни цен, на которых рынок недостаточно торгуется, и которые обычно считаются зонами, в которых цены могут быть вновь зафиксированы.
Стратегия основана на двух типах FVG:
Логика сделки выглядит следующим образом:
Также в стратегию включен фильтр отклонений, который позволяет отфильтровать достаточно большие пробелы, чтобы избежать небольшого рыночного шума. Пользователь может вручную настроить процент отклонений или выбрать автоматический режим, позволяющий стратегии корректировать отклонения в соответствии с динамикой исторической волатильности.
Определение структуры микрорынкаСтратегия способна запечатлеть микро-рынковые структуры и дисбалансы, которые могут быть проигнорированы обычным техническим анализом, и которые часто представляют собой следы деятельности институционального капитала.
Точная точка входа: С помощью четко определенных условий FVG, стратегия обеспечивает объективные и точные входные сигналы, уменьшая ошибки, вызванные субъективным суждением.
Строгий контроль риска: фиксированная стоп-стратегия 0,10% обеспечивает строго контролируемый риск на каждой сделке и подходит для трейдеров с строгим управлением капиталом.
РасширяемостьФункциональные параметры: Функциональные параметры: Функциональные параметры: Функциональные параметры: Функциональные параметры: Функциональные параметры:
Проблемы без перерисовок: реализация кода позволяет избежать переписывания и гарантирует, что результаты исторических отсчетов будут соответствовать показателям на реальном диске.
Приспособность к многократным временным рамкам: Пользователь может настроить параметры временных рамок, позволяя стратегии адаптироваться к различным условиям торговли от 1 минуты до более длительного периода времени.
Высокая частота коротких сделокС учетом того, что стратегия ориентирована на микро-неравновесие, может быть создано большое количество торговых сигналов, что увеличивает стоимость торговли, особенно в условиях высокочастотного торговли.
Шумные помехи: В низко волатильных или горизонтальных рынках FVG-сигналы могут содержать больше шума, что приводит к увеличению количества ложных сигналов.
Риск фиксированной потериФиксированный стоп на 0,10%, хотя и обеспечивает строгий контроль риска, может быть слишком плотным в условиях высокой волатильности рынка, что приводит к частому возникновению.
Риск обратного трендаВ случае сильного тренда, обратный сигнал FVG может привести к торговле в противоположность основной тенденции, увеличивая вероятность потери.
Параметр ЧувствительностьНастройка параметров порога оказывает существенное влияние на эффективность стратегии. Неправильные параметры могут привести к переоптимизации или пропуску эффективного сигнала.
Снижение риска может быть достигнуто путем:
Система адаптации к пониженным значениямВ текущей стратегии уже включены варианты автоматического снижения стоимости, но они могут быть дополнительно оптимизированы в качестве адаптивной системы, основанной на показателях волатильности рынка (например, ATR), что позволяет более точно идентифицировать FVG в соответствии с текущим состоянием рынка.
Подтверждение многократных временных рамок: внедрение многоразового анализа, выполнение сделок только в тех случаях, когда направление тенденции в более высоких временных рамках соответствует сигналу FVG, повышение выигрышной ставки.
Динамическая остановка / остановка: замена фиксированного 0.10% стоп-стоп на динамическую настройку, основанную на рыночной волатильности, автоматически расширяя пределы стоп-стоп при увеличении волатильности и сужая пределы при снижении волатильности.
Подтверждение объема сделки: в процессе формирования FVG и возобновления входа в цены добавляется анализ объема сделки, сделки выполняются только при наличии достаточной поддержки объема сделки, уменьшается количество ложных сигналов.
Классификация состояния рынкаСистема автоматического распознавания состояния рынка (тенденции, диапазоны, высокая / низкая волатильность), корректировка параметров стратегии или приостановка торгов в зависимости от различных состояний рынка.
Машинное обучение: Анализ успешности исторических моделей FVG с помощью алгоритмов машинного обучения, создание прогнозных моделей для оценки потенциальной вероятности успеха текущих сигналов FVG.
Эти направления оптимизации могут не только повысить устойчивость стратегии, но и повысить ее способность адаптироваться к различным рыночным условиям, потенциально повысить общую доходность и снизить отказ.
Стратегия пробела справедливой стоимости - это технически сложная количественная торговая система, специализирующаяся на захвате неравновесий цен в микроструктуре рынка. Благодаря точному выявлению и точному исполнению FVG, стратегия предоставляет торговую структуру с четкими правилами и строгим контролем риска для краткосрочных и алгоритмических трейдеров.
Несмотря на то, что в базовой версии стратегии уже продемонстрирована способность улавливать микроклиматные неравновесия, ее эффективность может быть дополнительно повышена путем реализации предлагаемого направления оптимизации, в частности, адаптивной системы параметров и подтверждения многократных временных рамок. Это способ, который стоит рассмотреть для трейдеров, которые стремятся к дисциплинированной количественной стратегии торговли в короткие временные рамки.
В конечном счете, успех этой стратегии зависит от глубокого понимания трейдером концепции FVG и его способности корректировать параметры в зависимости от различных рыночных условий. В сочетании с надлежащим управлением рисками и постоянной оптимизацией, стратегия Fair Value Gap может стать эффективным инструментом в портфеле количественных сделок.
/*backtest
start: 2024-07-09 00:00:00
end: 2025-07-04 08:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("FVG Strategy [algo ] - 0.10% TP/SL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS ===
thresholdPer = input.float(0, "Threshold %", minval = 0, maxval = 100, step = .1, inline = 'threshold')
auto = input(false, "Auto", inline = 'threshold')
tf = input.timeframe("", "Timeframe")
// SL/TP settings (0.10% each)
sl_pct = 0.10
tp_pct = 0.10
// === TYPE ===
type fvg
float max
float min
bool isbull
int t = time
// === DETECTION FUNCTION ===
detect() =>
var new_fvg = fvg.new(na, na, na, na)
threshold = auto ? ta.cum((high - low) / low) / bar_index : thresholdPer / 100
bull_fvg = low > high[2] and close[1] > high[2] and (low - high[2]) / high[2] > threshold
bear_fvg = high < low[2] and close[1] < low[2] and (low[2] - high) / high > threshold
if bull_fvg
new_fvg := fvg.new(low, high[2], true)
else if bear_fvg
new_fvg := fvg.new(low[2], high, false)
[bull_fvg, bear_fvg, new_fvg]
// === FVG Detection ===
[bull_fvg, bear_fvg, new_fvg] = request.security(syminfo.tickerid, tf, detect())
var fvg_records = array.new<fvg>(0)
var t = 0
if (bull_fvg or bear_fvg) and new_fvg.t != t
array.unshift(fvg_records, new_fvg)
t := new_fvg.t
// === ENTRY STRATEGY ===
if array.size(fvg_records) > 0
latest = array.get(fvg_records, 0)
// BUY Logic
if latest.isbull and close <= latest.max and close >= latest.min and strategy.position_size <= 0
sl = close * (1 - sl_pct / 100)
tp = close * (1 + tp_pct / 100)
strategy.entry("Buy FVG", strategy.long)
strategy.exit("TP/SL Long", from_entry="Buy FVG", stop=sl, limit=tp)
// SELL Logic
if not latest.isbull and close >= latest.min and close <= latest.max and strategy.position_size >= 0
sl = close * (1 + sl_pct / 100)
tp = close * (1 - tp_pct / 100)
strategy.entry("Sell FVG", strategy.short)
strategy.exit("TP/SL Short", from_entry="Sell FVG", stop=sl, limit=tp)
// === VISUALIZE FVG ZONES ===
plotshape(bull_fvg, title="Bullish FVG", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(bear_fvg, title="Bearish FVG", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)