Strategy vault / Mean reversion
Bollinger Bands Based High Frequency Trading Strategy
This strategy implements a high frequency trading strategy based on the Bollinger Bands indicator. It determines the upper and lower Bollinger bands by calculating the standard deviation and moving average of prices…

Overview
This strategy implements a high frequency trading strategy based on the Bollinger Bands indicator. It determines the upper and lower Bollinger bands by calculating the standard deviation and moving average of prices. When the price touches the middle band, long or short trades are executed. Each trade invests all capital with a 0.5% take profit range. This strategy is suitable for highly volatile trading pairs and exchanges without fees.
Strategy Logic
The strategy uses the Bollinger Bands indicator to determine if prices have reached overbought or oversold levels. The bands consist of an upper band, lower band and middle band. The middle band is a simple n-day moving average of prices. The upper band is the middle band plus k times the n-day standard deviation of prices. The lower band is the middle band minus k times the standard deviation. k is usually set to 2. When prices approach the upper band, it indicates overbuying. When prices approach the lower band, it indicates overselling.
This strategy sets the Bollinger period to 20 days and k to 2. When prices touch the middle band, it signals prices reverting from extreme areas, generating trading signals. The long signal is triggered when prices cross above the middle band. The short signal triggers when prices fall below the middle band.
When entering positions, all capital is invested (including equity and floating profit/loss). A 0.5% take profit range is then set. When prices move beyond 0.5%, positions are closed for profit.
Advantage Analysis
The advantages of this strategy are:
Using Bollinger Bands to identify trading signals is more effective at detecting extremes than simple moving averages.
The high frequency approach quickly achieves profit across short trading cycles.
Investing all capital maximizes profit potential.
Setting a take profit range effectively manages risk and locks in gains.
Risk Analysis
Some risks also exist:
Bollinger Bands are sensitive to input parameters. Incorrect settings may produce false signals.
High frequency trading requires zero-fee exchanges, otherwise fees erode profits.
Investing all capital is risky. Black swan events could trigger big losses.
A tight take profit range increases trade frequency and operational complexity.
Solutions:
Optimize Bollinger parameters to find ideal settings.
Use zero-fee exchanges like Binance Spot.
Set stop losses to limit maximum loss.
Widen take profit range to reduce trade frequency.
Optimization
This strategy can be improved by:
Adding volume indicators like On Balance Volume to filter fakeouts.
Optimizing Bollinger parameters to find best combinations.
Utilizing adaptive stop loss and take profit ranges. For example, widening ranges as trades or wins accumulate.
Incorporating machine learning models to predict buy/sell signals.
Avoiding trades around major events like earnings reports based on fundamentals.
Conclusion
This is a high frequency strategy using Bollinger Bands for signal generation, full position sizing and small take profits. It has advantages in profitability but also weaknesses like parameter sensitivity and risk control. Further improvements can come from enhancing indicators, adaptive stops, machine learning and more to make the strategy more robust.
Parameters
| Name | Default | What it controls |
|---|---|---|
| v_input_1 | 20 | Longitud |
| v_input_2 | 2 | Multiplicador |
Source Pine Script
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia Bollinger Bands", shorttitle="BB Strategy", overlay=true)
// Parámetros de las Bandas de Bollinger
length = input(20, title="Longitud")
mult = input(2.0, title="Multiplicador")
// Calcula las Bandas de Bollinger
basis = ta.sma(close, length)
upper_band = basis + mult * ta.stdev(close, length)
lower_band = basis - mult * ta.stdev(close, length)
// Condiciones para realizar operaciones
price_touches_basis_up = ta.crossover(close, basis)
price_touches_basis_down = ta.crossunder(close, basis)
// Monto inicial de inversión
monto_inicial = 10
// Lógica de la estrategia
if (price_touches_basis_up)
qty = strategy.equity + strategy.netprofit // Invertir el total del capital más las ganancias en cada operación
direction = close > basis ? strategy.long : strategy.short
strategy.entry("Operacion", direction, qty = 1)
// Lógica para cerrar la operación con un movimiento del 0.5% (take profit)
target_profit = 0.005 // Actualizado a 0.5%
if (strategy.position_size != 0)
direction = strategy.position_size > 0 ? strategy.long : strategy.short
strategy.exit("Take Profit/Close", from_entry = "Operacion", profit = close * (1 + target_profit))
// Dibuja las Bandas de Bollinger en el gráfico
plot(upper_band, color=color.blue, title="Upper Band")
plot(lower_band, color=color.red, title="Lower Band")
plot(basis, color=color.green, title="Basis")
// Muestra el monto inicial de inversión en la barra del título
var label lbl = label.new(na, na, "")
label.set_text(lbl, "Monto Inicial: $" + str.tostring(monto_inicial, "#.########"))
label.set_xy(lbl, bar_index, low)
label.set_color(lbl, color.new(color.blue, 0))
Published by ChaoZhang on the FMZ strategy square · last modified 2023-12-21. Collected in the Quant Trading Vault. Unvalidated research: re-test with your own data and costs before trusting it.
Build this with AgenKit
A spec is not a trading system. Paste this into your coding agent and AgenKit runs a specialist team — architecture, test-first build, risk gates, review — with paper trading on by default.
/agenkit build a production-grade trading bot with a backtest engine, risk controls and paper trading by default from strategies/Bollinger-Bands-Based-High-Frequency-Trading-Strategy.md- npx agenkit install engineering-kit in your project
- Paste the command into your agent and approve each phase
- Get tests, backtest, risk controls and a paper-trading switch
Understand it first
Before you run this, read the lesson behind the idea and how to backtest it honestly. Specs like this one are the survivors of an unknown number of trials; deflate their results accordingly.
Related specs
- Advanced 15 Minute Chart Trading Signal StrategyPine Script · Mean reversion · 3h
- Advanced Quantitative Trading Strategy Combining RSI Divergence and Moving AveragesPine Script · Mean reversion · 1h
- Bollinger Bands ATR Risk Reward Trading StrategyPine Script · Mean reversion · 1d
- Bollinger Bands Long Only StrategyPine Script · Mean reversion · 1d
- Bollinger Bands Momentum Reversal Quantitative StrategyPine Script · Mean reversion · 45m
- Bollinger Bands Stochastic RSI Extreme Strategy BBSR Extreme StrategyPine Script · Mean reversion · 1h