BinHV45HO Strategy Analysis
Strategy ID: #78 (Batch 08, #78)
Strategy Type: Bollinger Band Mean Reversion + Ultra-Short-Term Intraday Trading
Timeframe: 1 minute
I. Strategy Overview
BinHV45HO is an ultra-short-term intraday trading strategy based on Bollinger Bands, serving as an optimized variant of BinHV45 (HO = HyperOpt). The strategy captures opportunities where price briefly falls below the Bollinger Band lower band and quickly rebounds, performing scalp trades within an extremely short timeframe.
Compared to BinHV45, BinHV45HO makes the following optimizations:
- More Aggressive Stop-Loss: Expanded from 5% to 10%
- Fixed Parameters: Parameters optimized through HyperOpt, further tuning disabled
- Better Suited for Trending Markets: Larger stop-loss allows the strategy to survive in more volatile markets
Core Characteristics
| Attribute | Description |
|---|---|
| Buy Conditions | 6 conditions must all be satisfied simultaneously, based on Bollinger Bands |
| Sell Conditions | No sell signals, relies on ROI and stop-loss |
| Protection Mechanisms | Fixed stop-loss -10%, no other protection |
| Timeframe | 1 minute |
| Stop-Loss Method | Fixed stop-loss -10% |
| Take-Profit Method | 1.25% auto take-profit |
| Max Positions | 5 trading pairs |
| Suitable Market | High volatility, intense intraday price action |
II. Strategy Configuration Analysis
2.1 Take-Profit Configuration
minimal_roi = {
"0": 0.0125
}
Design Philosophy: Identical to BinHV45 — 1.25% initial ROI is extremely low but also very easy to achieve. A typical "small profits multiply" design.
2.2 Stop-Loss Configuration
stoploss = -0.10
Design Philosophy:
- 10% fixed stop-loss is double that of BinHV45's 5%
- This gives price greater room to fluctuate, reducing the chance of being "stopped out by consolidation"
- Profit/loss ratio is approximately 1:8 (1.25% vs 10%)
- This means approximately 88%+ win rate is needed to break even
- The more relaxed stop-loss makes the strategy more suitable for volatile markets
2.3 Max Position Configuration
max_open_trades = 5
Design Philosophy:
- Hold up to 5 positions simultaneously
- Diversifies risk, avoiding a single trade's large loss impacting overall capital
- With the 1-minute ultra-short timeframe, 5 positions can rotate quickly
2.4 Timeframe Configuration
timeframe = '1m'
2.5 Adjustable Parameters (Optimized and Locked)
df_close_bbdelta = DecimalParameter(0.005, 0.06, default=0.008, space='buy', optimize=False, load=True)
df_close_closedelta = DecimalParameter(0.01, 0.03, default=0.0175, space='buy', optimize=False, load=True)
df_tail_bbdelta = DecimalParameter(0.15, 0.45, default=0.25, space='buy', optimize=False, load=True)
# Optimized buy parameters
buy_params = {
"df_close_bbdelta": 0.057,
"df_close_closedelta": 0.016,
"df_tail_bbdelta": 0.293,
}
Note: These parameters have been optimized and locked through HyperOpt (optimize=False). Regular users should not adjust them.
III. Entry Conditions Details
BinHV45HO's buy conditions use a 6 conditions must all be satisfied simultaneously structure, identical to BinHV45.
3.1 Condition Details
Condition 1: Bollinger Band Lower Band Valid
dataframe['lower'].shift().gt(0)
Interpretation: Previous candle's lower band must be >0, ensuring Bollinger Band calculation is valid.
Condition 2: Bollinger Band Spread Width
dataframe['bbdelta'].gt(dataframe['close'] * self.df_close_bbdelta.value)
Interpretation: bbdelta must exceed 5.7% of closing price (optimized parameter). Ensures Bollinger Bands have sufficient spread.
Condition 3: Closing Price Change Magnitude
dataframe['closedelta'].gt(dataframe['close'] * self.df_close_closedelta.value)
Interpretation: closedelta must exceed 1.6% of closing price. Ensures obvious intraday movement.
Condition 4: Lower Wick Length Limit
dataframe['tail'].lt(dataframe['bbdelta'] * self.df_tail_bbdelta.value)
Interpretation: tail must be less than 29.3% of bbdelta. Ensures the lower wick is not too long.
Condition 5: Price Below Bollinger Band Lower Band
dataframe['close'].lt(dataframe['lower'].shift())
Interpretation: Core of the strategy — price seeking rebound below the lower band.
Condition 6: Closing Price Not Rising
dataframe['close'].le(dataframe['close'].shift())
Interpretation: Ensures entry when price is still falling or consolidating, not chasing highs.
IV. Exit Logic Details
BinHV45HO has no custom sell signals, identical to BinHV45.
def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
no sell signal
"""
dataframe.loc[:, 'sell'] = 0
return dataframe
4.1 Exit Mechanism
- ROI Take-Profit: Auto-close when profit reaches 1.25%
- Stop-Loss: Auto-close when loss reaches 10%
V. Technical Indicator System
5.1 Bollinger Band Indicators
| Indicator | Calculation | Purpose |
|---|---|---|
| upper | 40-period mean + 2× std | Resistance |
| mid | 40-period mean | Baseline |
| lower | 40-period mean - 2× std | Support |
| bbdelta | |mid - lower| | Bollinger Band spread |
5.2 Price Action Indicators
| Indicator | Calculation | Purpose |
|---|---|---|
| pricedelta | |open - close| | Intraday movement |
| closedelta | |close - close.shift()| | Consecutive candle changes |
| tail | |close - low| | Lower wick length |
VI. Risk Management Highlights
6.1 Fixed Stop-Loss
stoploss = -0.10
10% fixed stop-loss provides a hard risk boundary, more relaxed than BinHV45's 5%.
Profit/Loss Analysis:
- Take-profit target: 1.25%
- Stop-loss target: 10%
- Profit/loss ratio: 1:8
- Required win rate: approximately 88% to break even
6.2 Max Position Limit
max_open_trades = 5
- Hold up to 5 positions simultaneously
- Diversifies single-trade risk
- Pairs with high-frequency trading
6.3 No Protection Mechanism Risk
Same as BinHV45 — no RSI/ADX filtering, no time-based or trailing stop-loss.
VII. Strategy Pros & Cons
Strengths
- Simple and Efficient: Based on Bollinger Bands, logic is clear
- Frequent Trading: 1-minute timeframe, plenty of opportunities
- Clear Objectives: 1.25% target, exits when reached, not greedy
- No Prediction Needed: Doesn't predict direction, only captures specific patterns
- Parameters Pre-Optimized: Optimized through HyperOpt, ready to use
- More Relaxed Stop-Loss: 10% stop-loss tolerates volatility better than 5%
Weaknesses
- Win Rate Requirement Extremely High: Needs 88% win rate to profit
- No Trend Judgment: One-sided decline may continuously stop-loss
- No Sell Signals: Completely relies on fixed exit mechanism
- Fee-Sensitive: High-frequency trading needs careful fee management
- Suitable for Specific Markets: Better suited for high-volatility environments
- 10% Stop-Loss Risk: Single loss may be larger
VIII. Applicable Market Environment Details
8.1 BinHV45HO vs BinHV45 Comparison
| Comparison | BinHV45HO | BinHV45 |
|---|---|---|
| Stop-Loss | -10% | -5% |
| Take-Profit | 1.25% | 1.25% |
| Profit/Loss Ratio | 1:8 | 1:4 |
| Required Win Rate | 88% | 80% |
| Parameter Status | Pre-optimized, locked | Can be optimized |
IX. Summary
BinHV45HO is an optimized variant of BinHV45. Key differences from BinHV45:
- Stop-loss expanded from 5% to 10%
- Parameters pre-optimized through HyperOpt and locked
- Profit/loss ratio changed from 1:4 to 1:8
- Requires higher win rate (88% vs 80%)
Risk Warning:
- Requires over 88% win rate to profit
- High-frequency trading fees are significant
- May underperform in one-sided trending markets
- 10% single loss may cause significant capital drawdown
- No dynamic risk management mechanism
This document is written based on the BinHV45HO strategy code and is for learning and reference only. It does not constitute investment advice.