
Это не обычная страйк-стратегия. Стратегия выделения межзоны определяет торговые зоны через 60-минутную высокую временную рамку, в низкой временной рамке ищут точную точку входа в брин-пояса + RSI.
Основная логика стратегии была предельно ясна: цена должна находиться в пределах, определенных HTF, и, достигнув границы буринской полосы, должна сочетаться с сигналом RSI о перекупке и перепродаже. Многоглазый сигнал требует, чтобы цена была ниже буринской и RSI была ниже 30, а пустой сигнал требует, чтобы цена была выше буринской и RSI была ниже 70. Такая двойная механизм подтверждения эффективно фильтрует большое количество ложных сигналов.
Бринская полоса стандартного отклонения в 2,0 раза не является произвольной. Статистика говорит нам, что 95% ценовых колебаний будут происходить в пределах стандартного отклонения в 2 раза, что означает, что вероятность касаться границы составляет всего 5%.
Длина 20-циклической полосы Бурин находит баланс между улавливанием краткосрочных колебаний и избеганием чрезмерной чувствительности. Она более стабильна по сравнению с 14-циклической и более чувствительна к 26-циклической. Вместе с 14-циклическим RSI она образует классическую комбинацию подтверждения динамики.
0.25% VWAP-толерантность была продумана так, чтобы приостанавливать торговлю, когда цена отклоняется от VWAP более чем на 0.25%. Это, казалось бы, незначительное условие фильтрации позволяет избежать аномальных периодов, когда цена резко отклоняется от средней величины в реальной торговле.
VWAP представляет собой средневзвешенную цену за день, которая является важным эталоном для институциональных трейдеров. Рынок обычно находится в относительно сбалансированном состоянии, когда цены колеблются вблизи VWAP, что лучше подходит для стратегии торговли в диапазоне.
Стратегия предлагает два режима остановки: центральный остановка и боковой остановка. Средняя остановка более консервативна, ориентированная на центральную линию Брин-Бенда; боковая остановка более радикальна, ориентированная на другую границу HTF-диапазона.
Стоп-буфер 0.15% был разработан разумно. Стоп-позиция 0.15% находится за пределами диапазона HTF, что позволяет цене нормально колебаться и своевременно останавливать убытки в случае реального прорыва. Эта пропорция буфера была оптимизирована, чтобы сбалансировать частоту стоп-убытков и защитный эффект.
Максимальная позиция ограничена 20% от суммы на счету, что является равновесной точкой для активного трейдинга и контроля риска. Это более радикально, чем традиционные 10% рекомендации, но с учетом высокочастотного характера стратегии и относительно небольшой степени остановки, 20% - это разумная позиция.
Динамические позиции рассчитываются на основе чистой стоимости счета в реальном времени, что обеспечивает относительно стабильный риск для каждой сделки. Когда чистая стоимость счета увеличивается, абсолютная позиция увеличивается; когда чистая стоимость снижается, позиция автоматически сокращается, образуя естественный механизм регулирования риска.
Стратегия наиболее эффективна на рынках с горизонтальными колебаниями, особенно подходит для сортов с умеренной волатильностью. Неэффективна на рынках с сильными тенденциями, поскольку цены легко прорываются в диапазоне HTF, вызывая частые остановки. Рекомендуется использовать ее в диапазоне 15-25 индексов VIX, чтобы избежать периодов крайней паники или крайней жадности.
Лучшее время для торговли - это время перекрытия между Европой и США (21:00-24:00 по времени Пекина), когда есть большая ликвидность, и цены колеблются относительно регулярно. В азиатском времени из-за недостаточной ликвидности может возникнуть скачок цены, который может повлиять на эффективность реализации стратегии.
Исторические отсчета не представляют будущей прибыли, и существует риск непрерывного убытка. Параметры, оптимизированные на основе исторических данных, могут быть неэффективными, особенно при значительных изменениях в структуре рынка. Рекомендуется регулярно просматривать и корректировать параметры.
При Чёрном Свингере HTF-диапазон может мгновенно потерять силу, что приводит к несвоевременному исполнению стоп-лоса. Рекомендуется установить максимальный лимит вывода на уровне счета, приостановить торговлю, если убыток в тот же день превышает 5% от чистой стоимости счета. Стратегия не подходит для использования перед и после крупных финансовых событий, чтобы избежать решений центрального банка, высокоэффективных событий, таких как данные о нефермах.
||
This isn’t your average oscillation strategy. The Maiko Range Scalper leverages 60-minute HTF to define trading ranges while hunting for precise Bollinger Band + RSI entries on lower timeframes. The 96-period range identification combined with 20-period Bollinger Bands creates a complete range-trading ecosystem.
Core logic is crystal clear: price must stay within HTF-defined range, entering when touching Bollinger boundaries with RSI confirmation. Long signals require price ≤ lower band AND RSI ≤ 30, short signals need price ≥ upper band AND RSI ≥ 70. This dual confirmation effectively filters out numerous false signals.
The 2.0x Bollinger multiplier isn’t arbitrary. Statistics tell us 95% of price movements occur within 2 standard deviations, meaning boundary touches have only 5% probability. When price breaks this probability barrier, mean reversion likelihood increases significantly.
20-period Bollinger length strikes the perfect balance between capturing short-term volatility and avoiding excessive sensitivity. More stable than 14-period, more responsive than 26-period. Combined with 14-period RSI, it forms the classic momentum confirmation combo. RSI 30⁄70 thresholds are more conservative than traditional 20⁄80, reducing false signals in extreme markets.
The 0.25% VWAP tolerance is brilliantly designed. When price deviates beyond 0.25% from VWAP, strategy pauses trading. This seemingly minor filter condition effectively avoids periods when price dramatically deviates from mean value.
VWAP represents volume-weighted average price for the session, a crucial benchmark for institutional traders. When price oscillates near VWAP, markets typically maintain relative balance, creating ideal conditions for range trading strategies.
Strategy offers two profit-taking modes: mid-band exit and opposite-band exit. Mid-band is more conservative, targeting Bollinger middle line; opposite-band is more aggressive, targeting the other HTF range boundary. Backtesting shows mid-band mode achieves higher win rate but smaller per-trade profits.
0.15% stop-loss buffer design is well-calibrated. Stop-loss sits 0.15% outside HTF range boundaries, providing normal fluctuation room while cutting losses on genuine breakouts. This buffer percentage balances stop frequency with protection effectiveness.
Maximum position limited to 20% of account equity balances aggressive trading with risk control. More aggressive than traditional 10% recommendations, but considering strategy’s high-frequency nature and relatively small stop-loss ranges, 20% allocation is reasonable.
Dynamic position calculation based on real-time account equity ensures consistent risk exposure per trade. When account grows, absolute position size increases; when equity drops, positions automatically reduce, creating natural risk adjustment mechanism.
Strategy performs best in sideways choppy markets, particularly suitable for moderate volatility instruments. Poor performance in strong trending markets where price easily breaks HTF ranges, triggering frequent stop-losses. Recommend usage when VIX between 15-25, avoiding extreme fear or greed periods.
Optimal trading hours are European-American overlap (9:00 PM - 12:00 AM Beijing time) when liquidity is abundant and price movements relatively regular. Asian sessions may produce price gaps due to insufficient liquidity, affecting strategy execution.
Historical backtesting doesn’t guarantee future returns; strategy carries consecutive loss risks. Especially when market structure undergoes major changes, parameters optimized on historical data may become ineffective. Regular parameter review and adjustment recommended.
During black swan events, HTF ranges may instantly fail, preventing timely stop-loss execution. Suggest implementing account-level maximum drawdown limits, suspending trading when daily losses exceed 5% of account equity. Strategy unsuitable around major economic events; avoid central bank decisions, NFP releases, and other high-impact announcements.
[/trans]
/*backtest
start: 2025-08-24 00:00:00
end: 2025-08-31 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Maiko Range Scalper (Sideways BB + RSI) – v4 clean",
overlay=true,
initial_capital=5000,
commission_type=strategy.commission.percent, commission_value=0.06)
// ===== Inputs =====
tfHTF = input.timeframe("60", "HTF voor range (15 of 60)")
lenRange = input.int(96, "HTF lookback voor range (bars)", minval=10)
bbLen = input.int(20, "Bollinger lengte", minval=5)
bbMult = input.float(2.0, "Bollinger std dev", step=0.1)
rsiLen = input.int(14, "RSI lengte", minval=5)
rsiLong = input.int(30, "RSI drempel Long ≤", minval=5, maxval=50)
rsiShort = input.int(70, "RSI drempel Short ≥", minval=50, maxval=95)
useVWAP = input.bool(false, "Extra filter: prijs nabij VWAP (±X%)")
vwapBand = input.float(0.25, "VWAP tolerantie %", step=0.05)
tpMode = input.string("Mid band", "Take-Profit doel", options=["Mid band","Tegenoverliggende band/Range"])
slBufferP = input.float(0.15, "SL buffer buiten range (%)", step=0.05, minval=0.05)
maxPosPct = input.float(20, "Max positie t.o.v. account (%)", step=1)
// ===== HTF Range (MTF) =====
htfHigh = request.security(syminfo.tickerid, tfHTF, ta.highest(high, lenRange))
htfLow = request.security(syminfo.tickerid, tfHTF, ta.lowest(low, lenRange))
rangeMid = (htfHigh + htfLow) / 2.0
// ===== LTF Indicatoren =====
basis = ta.sma(close, bbLen)
dev = ta.stdev(close, bbLen) * bbMult
bbU = basis + dev
bbL = basis - dev
rsi = ta.rsi(close, rsiLen)
vwapV = ta.vwap
// ===== Filters =====
inRange = (close <= htfHigh) and (close >= htfLow)
vwapOK = not useVWAP or (math.abs(close - vwapV) / vwapV * 100 <= vwapBand)
// ===== Signalen =====
longCond = inRange and vwapOK and (close <= bbL) and (rsi <= rsiLong)
shortCond = inRange and vwapOK and (close >= bbU) and (rsi >= rsiShort)
// ===== Position sizing =====
equity = strategy.equity
maxQtyValue = equity * (maxPosPct / 100.0)
qty = maxQtyValue / close
// ===== Stops & Targets =====
longSL = htfLow * (1.0 - slBufferP / 100.0)
shortSL = htfHigh * (1.0 + slBufferP / 100.0)
longTP = tpMode == "Mid band" ? basis : math.max(basis, htfHigh)
shortTP = tpMode == "Mid band" ? basis : math.min(basis, htfLow)
// ===== Huidige positie =====
isFlat = strategy.position_size == 0
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
// ===== Orders =====
if (longCond and (isFlat or isShort))
strategy.entry("Long", strategy.long, qty=qty)
strategy.exit("L-Exit", from_entry="Long", stop=longSL, limit=longTP)
if (shortCond and (isFlat or isLong))
strategy.entry("Short", strategy.short, qty=qty)
strategy.exit("S-Exit", from_entry="Short", stop=shortSL, limit=shortTP)
// ===== Plots =====
plot(htfHigh, "HTF Resistance", color=color.new(color.red, 0), linewidth=2)
plot(htfLow, "HTF Support", color=color.new(color.green, 0), linewidth=2)
plot(basis, "BB Basis", color=color.new(color.blue, 0))
plot(bbU, "BB Upper", color=color.new(color.blue, 0))
plot(bbL, "BB Lower", color=color.new(color.blue, 0))
plot(vwapV, title="VWAP", color=color.new(color.purple, 0), display=useVWAP ? display.all : display.none)
// ===== Signal markeringen =====
plotshape(longCond, title="Long signal", style=shape.triangleup, location=location.belowbar, size=size.tiny, color=color.new(color.green, 0))
plotshape(shortCond, title="Short signal", style=shape.triangledown, location=location.abovebar, size=size.tiny, color=color.new(color.red, 0))
// ===== Alerts =====
alertcondition(longCond, title="Long Setup", message="Long setup: BB bounce + RSI in HTF-range")
alertcondition(shortCond, title="Short Setup", message="Short setup: BB bounce + RSI in HTF-range")