
Эта стратегия является количественной торговой системой, основанной на техническом анализе, в основном использующей формы поглощения опционов в качестве входного сигнала в сочетании с индикатором волатильности буринской полосы для управления риском и контроля позиции. После того, как стратегия идентифицирует формы поглощения опционов, она определяет коэффициент риска в соответствии с диапазоном колебаний, рассчитанным по буринской полосе, а затем рассчитывает точный размер позиции на основе фиксированной пропорции общей стоимости счета, а в конечном итоге управляет сделкой, установив целевой уровень прибыли в 4R (стоп-лосс и фиксированный коэффициент возврата риска).
Основная логика этой стратегии состоит из трех частей: генерация сигналов, управление позициями и условия выхода.
Во-первых, создание сигнала основывается на формате поглощения, который должен удовлетворять следующим условиям:
Во-вторых, управление позициями осуществляется следующими шагами:
Наконец, условия для выхода из группы:
Контроль риска является точным и динамичным: стратегия не использует фиксированную точку остановки, а динамически корректирует параметры риска в зависимости от текущей волатильности рынка (с помощью расчета по буринской полосе), что позволяет системе самостоятельно адаптироваться к различным рыночным условиям.
Управление рисками с фиксированной долей: 0,75% от рискованного счета для каждой сделки, эффективно предотвращает чрезмерные потери от отдельных сделок и обеспечивает стабильность долгосрочного управления средствами.
Точное подсчет позиций: точное подсчет размеров позиций для каждой сделки на основе волатильности и суммы риска в буринской полосе, чтобы обеспечить постоянное воздействие риска в различных рыночных условиях.
Четкое соотношение риска и прибыли: фиксированная цель получения прибыли с использованием 4R, гарантирующая, что потенциальная прибыль от каждой сделки в 4 раза превышает потенциальный риск, соответствующий требованиям к риску и прибыли от профессиональной торговли.
Визуализация транзакций: помогает трейдерам получить интуитивное представление о том, как торгуются, отмечая входные сигналы и рисуя диаграмму транзакций.
Риск временной эффективности: Поглощение опционов является краткосрочным сигналом об обратном курсе, который может не предсказывать изменения среднесрочной и долгосрочной тенденций и может привести к преждевременному вхождению в рынки с сильной тенденцией.
Ограничение рыночных условий: эта стратегия может плохо работать на рынках с высокой волатильностью или отсутствием ликвидности, особенно когда бурин расширяется или сжимается аномально.
Ограниченные условия входа: зависимость только от одной формы поглощения наблюдателя может привести к тому, что сигнал будет редким или пропустят другие эффективные возможности входа.
Риск фиксированного умножения: использование фиксированного коэффициента 0,4 для расчета значения R может быть недостаточно гибким в некоторых рыночных условиях и не может быть полностью адаптировано к экстремальным рыночным условиям.
Вопрос о потенциальном скольжении: в условиях высокой волатильности рынка может возникнуть заметное скольжение фактической стоп-исполняемой цены, что может повлиять на эффективность фактического контроля риска.
Добавление условий фильтрации: можно рассмотреть возможность добавления индикаторов подтверждения тренда (например, скользящих средних), чтобы быть уверенным, что торговля происходит только в направлении основной тенденции, избегая обратной торговли.
Анализ на несколько временных рамок: введение анализа структуры рынка на более высоких временных рамах, выполнение сделок только в том случае, если тенденции на более высоких временных рамах совпадают, повышение качества сигналов.
Динамическая корректировка параметров риска: фиксированный коэффициент риска 0,75% и коэффициент R 0,4 устанавливаются в качестве корректируемых параметров, автоматически корректируемых в соответствии с волатильностью рынка, повышающих риск в низко-волатильных рынках и снижающих риск в высоко-волатильных.
Оптимизация стратегии выхода: можно рассмотреть возможность добавления движущихся стоп-лосс или динамических условий выхода на основе показателей, а не полагаться только на фиксированные уровни стоп-лосс и прибыли.
Добавление подтверждения нескольких показателей: объединение формы поглощения кристалла с другими техническими показателями (такими как RSI, MACD или анализ объема торгов), повышение надежности входного сигнала.
Количественная торговая система с рисковым управлением, основанная на стратегии поглощения перспектив, представляет собой целостную торговую систему, которая сочетает в себе традиционное распознавание графических паттернов и современные методы управления риском. Эта стратегия динамично регулирует параметры риска с помощью буринской схемы, точно контролирует размер позиции для каждой сделки и устанавливает целевую прибыль с помощью фиксированного риска по сравнению с прибылью. Этот метод обеспечивает адаптивность к волатильности рынка, сохраняя при этом торговую дисциплину.
Несмотря на отличные результаты в управлении рисками, есть место для оптимизации, особенно в отношении качества входных сигналов и гибкости выходной стратегии. С помощью добавления дополнительных фильтрующих условий, анализа многовременных рамок и корректировки динамических параметров риска стратегия может еще больше повысить адаптивность и прибыльность в различных рыночных условиях.
В целом, это полная торговая система с профессиональными характеристиками управления рисками, подходящая для использования трейдерами, которые придают большое значение управлению капиталом и контролю риска. С разумной оптимизацией и корректировкой параметров эта стратегия может стать долгосрочным стабильным торговым инструментом.
/*backtest
start: 2024-02-26 00:00:00
end: 2025-02-23 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Bullish Engulfing Strategy with BB Risk", overlay=true)
// Input parameters for customization (optional, can be adjusted in Strategy Tester)
minVolume = input.int(1000000, "Minimum Volume", minval=1) // Optional filter for liquidity
// Calculate Bollinger Bands (length=40, StdDev=2.5) for R
length = 40
mult = 2.5
basis = ta.sma(close, length) // Middle Band (40-period SMA of close)
dev = mult * ta.stdev(close, length) // Standard deviation multiplied by 2.5
upperBB = basis + dev // Upper Bollinger Band
lowerBB = basis - dev // Lower Bollinger Band
// Define R as 0.4 times the Bollinger Bands spread: R = 0.4 * ((1 - (lowerBB / upperBB)) * 100)
R = 0.4 * (1 - (lowerBB / upperBB)) // Percentage value, scaled by 0.4
// Define Bullish Engulfing pattern with optional volume filter
isBullishEngulfing() => close > open and close[1] < open[1] and close > open[1] and open < close[1] and close[1] < open[1] and close > open and volume > minVolume
bullishEngulfing = isBullishEngulfing()
// Track position and entry details
var bool inPosition = false
var float entryPrice = 0.0
var int entryBar = 0
var int exitBar = 0 // Track exit bar (added here to fix undeclared variable)
var float exitPrice = 0.0 // Track exit price
// Enter long position on the next bar after Bullish Engulfing, with position size risking 0.75% of portfolio
if (bullishEngulfing and not inPosition)
// Calculate position size to risk 0.75% of portfolio
portfolioValue = strategy.equity // Current portfolio equity
riskPerTrade = portfolioValue * 0.0075 // 0.75% of portfolio
stopLossDistance = R // R% of entry price (stop-loss distance)
entryPrice := close
positionSize = riskPerTrade / stopLossDistance / entryPrice // Position size in units (contracts/shares)
// Ensure positionSize is rounded to a practical number (e.g., whole shares)
positionSize := math.round(positionSize)
// Enter long position with calculated size
strategy.entry("Long", strategy.long, limit = entryPrice, qty=positionSize)
inPosition := true
entryBar := bar_index
// Exit logic: Stop-loss or Take-profit
if (inPosition)
// Stop-loss: Exit if price drops below entryPrice - R%
stopLossLevel = entryPrice * (1 - R)
if (low <= stopLossLevel)
strategy.close("Long")
inPosition := false
exitBar := bar_index
exitPrice := close
// Take-profit: Exit if price rises above entryPrice + 4R%
takeProfitLevel = entryPrice * (1 + 4 * R)
if (high >= takeProfitLevel)
strategy.close("Long")
inPosition := false
exitBar := bar_index
exitPrice := close
// Optional: Plot signals and R for visualization
if (bullishEngulfing)
label.new(bar_index, high, "Bullish Engulfing", yloc=yloc.abovebar, color=color.green, style=label.style_label_down, textcolor=color.white)
plot(R, title="R (BB Spread %)", color=color.blue, style=plot.style_histogram)