ReinforcedSmoothScalp Strategy Deep Analysis
Strategy ID: #348 (348th of 465 strategies)
Strategy Type: High-Frequency Scalping + Resampled Trend Filter + Multi-Indicator Confirmation
Timeframe: 1 Minute (1m)
I. Strategy Overview
ReinforcedSmoothScalp is a strategy focused on high-frequency scalping, with the core philosophy of "many small trades accumulating to significant gains." The strategy uses resampling technology to obtain higher-dimensional trend direction, seeking short-term oversold reversal opportunities under confirmed trends, achieving quick in-and-out for micro profits.
Core Features
| Feature | Description |
|---|---|
| Buy Condition | 1 composite buy signal (containing 5 sub-conditions, all must be met) |
| Sell Condition | 1 composite sell signal + fixed 2% take profit |
| Protection Mechanism | 10% hard stop loss + resampled trend filter protection |
| Timeframe | Main timeframe 1m + resampled trend layer 5m |
| Dependencies | talib, qtpylib.indicators, technical.util |
II. Strategy Configuration Analysis
2.1 Basic Risk Parameters
# ROI exit table
minimal_roi = {
"0": 0.02 # Fixed 2% take profit
}
# Stop loss setting
stoploss = -0.1 # 10% stop loss
Design Rationale:
- Fixed 2% take profit embodies the core philosophy of scalping—quick profit exit
- 10% stop loss is relatively loose, giving trades enough breathing room
- This setup means low win rate requirement, risk-reward ratio about 1:5, theoretically 17% win rate breaks even
2.2 Order Type Configuration
The strategy does not explicitly configure order_types, using Freqtrade default settings.
III. Buy Condition Detailed
3.1 Protection Mechanism (Trend Filter Layer)
The strategy employs resampling technology to build a trend filter layer:
resample_factor = 5 # Resampling factor
tf_res = timeframe_to_minutes(self.timeframe) * 5 # 1m * 5 = 5m
df_res['sma'] = ta.SMA(df_res, 50, price='close') # 50-period SMA
| Protection Type | Parameter Description | Default Value |
|---|---|---|
| Resampled Cycle | Resample 1m data to 5m | 5x |
| Trend Indicator | 50-period SMA | 50 |
| Filter Rule | Only allow buy when close above resampled SMA | - |
3.2 Buy Condition Details
The strategy uses a single composite buy condition, requiring all sub-conditions to be met simultaneously:
Condition #1: Oversold Open Confirmation
(dataframe['open'] < dataframe['ema_low'])
Logic: Open price below 5-period EMA low line, indicating price is at relatively low position
Condition #2: Trend Strength Confirmation
(dataframe['adx'] > 30)
Logic: ADX above 30 confirms market has clear trend, avoiding false signals in ranging markets
Condition #3: Money Flow Oversold
(dataframe['mfi'] < 30)
Logic: MFI (Money Flow Index) below 30 indicates money is flowing out, market is in oversold state
Condition #4: Stochastic Oversold Golden Cross
(
(dataframe['fastk'] < 30) &
(dataframe['fastd'] < 30) &
(qtpylib.crossed_above(dataframe['fastk'], dataframe['fastd']))
)
Logic:
- Both FastK and FastD below 30 (oversold zone)
- FastK crosses above FastD (golden cross signal)
- This is the classic stochastic indicator oversold reversal signal
Condition #5: Trend Direction Filter
(dataframe['resample_sma'] < dataframe['close'])
Logic: Close price above 5-minute level 50-period SMA, ensuring trade direction aligns with higher-dimensional trend
3.3 Buy Condition Classification
| Condition Group | Condition Number | Core Logic |
|---|---|---|
| Oversold Confirmation | #1, #3, #4 | Price at relatively low, money outflow, stochastic oversold |
| Trend Confirmation | #2, #5 | ADX confirms trend strength, resampled SMA confirms trend direction |
IV. Sell Logic Detailed
4.1 Fixed Take Profit Mechanism
The strategy uses a fixed take profit mechanism:
Profit Rate Threshold Take Profit Percentage
──────────────────────────────────────────────
0 minutes 2%
Design Philosophy:
- Core of scalping strategy is "quick in-and-out"
- 2% profit target suitable for high-frequency trading
- Avoiding profit erosion from greed
4.2 Sell Signal Details
# Sell signal
(
(
(dataframe['open'] >= dataframe['ema_high']) # Open price breaks EMA high line
|
(
(qtpylib.crossed_above(dataframe['fastk'], 70)) |
(qtpylib.crossed_above(dataframe['fastd'], 70))
) # Stochastic enters overbought zone
) & (dataframe['cci'] > 100) # CCI confirms overbought
)
| Scenario | Trigger Condition | Signal Name |
|---|---|---|
| EMA Breakthrough | Open ≥ EMA high line & CCI > 100 | Price breakthrough sell |
| Stochastic Overbought | FastK/FastD crosses above 70 & CCI > 100 | Overbought sell |
4.3 Sell Signal Explanation
Signal #1: EMA Breakthrough Sell
- Open price breaks EMA high line (5-period EMA based on high)
- CCI above 100 confirms overbought status
- Indicates price has left oversold zone, may enter correction
Signal #2: Stochastic Overbought Sell
- FastK or FastD crosses above 70 (entering overbought zone)
- CCI above 100 confirms overbought status
- Indicates short-term momentum may be exhausted
V. Technical Indicator System
5.1 Core Indicators
| Indicator Category | Specific Indicators | Purpose |
|---|---|---|
| Trend | EMA(5) - High/Low/Close | Price channel, entry/exit reference |
| Trend | SMA(50) - Resampled | Trend direction filter |
| Trend | ADX | Trend strength confirmation |
| Oscillator | Stochastic Fast(5,3,0,3,0) | Overbought/oversold judgment |
| Oscillator | CCI(20) | Overbought/oversold confirmation |
| Oscillator | RSI(14) | Momentum indicator (calculated but not used for signals) |
| Volume | MFI | Money flow analysis |
| Volatility | Bollinger Bands(20,2) | Volatility channel (calculated but not used for signals) |
5.2 Information Timeframe Indicators (5m)
The strategy uses 5 minutes as information layer, providing higher-dimensional trend judgment:
- Resampled SMA(50): Calculates 50-period SMA at 5-minute level
- Trend Filter: Only allows buying when close price above resampled SMA
- Multi-cycle Coordination: Implements data merging through
resample_to_intervalandresampled_merge
VI. Risk Management Features
6.1 Multi-Layer Confirmation Mechanism
The strategy employs a "pyramid-style" confirmation mechanism:
Layer 1: Trend Direction (Resampled SMA)
↓
Layer 2: Trend Strength (ADX > 30)
↓
Layer 3: Oversold State (MFI < 30, FastK/D < 30)
↓
Layer 4: Reversal Signal (FastK crosses above FastD)
↓
Layer 5: Price Position (Open < EMA_Low)
Each layer serves as "insurance" for the next, only triggering buy when all pass.
6.2 Resampled Trend Protection
# Resampling logic
tf_res = timeframe_to_minutes(self.timeframe) * 5
df_res = resample_to_interval(dataframe, tf_res)
df_res['sma'] = ta.SMA(df_res, 50, price='close')
Advantages of this design:
- Avoid "counter-trend trading": Only enter when trend direction is correct
- Filter noise: 5-minute level trend more stable than 1-minute
- Dual-cycle coordination: Short-term execution + long-term direction
6.3 Asymmetric Stop Loss and Take Profit Design
| Parameter | Value | Meaning |
|---|---|---|
| Take Profit | 2% | Quick profit lock |
| Stop Loss | 10% | Sufficient breathing room |
Risk-Reward Analysis:
- Risk-reward ratio: 2% : 10% = 1 : 5
- Theoretical minimum win rate: 1 / (1 + 5) ≈ 16.7%
- This means even with only 20% win rate, the strategy can be profitable
VII. Strategy Advantages and Limitations
✅ Advantages
- Multi-Layer Confirmation Reduces False Signals: 5 layers ensure only best timing entry
- Resampled Trend Filter: Avoid counter-trend trading, improve win rate
- Friendly Risk-Reward Ratio: 1:5 risk-reward ratio requires low win rate
- High Scalping Efficiency: 1-minute timeframe suitable for high-frequency trading
⚠️ Limitations
- High Trading Frequency: Requires exchange supporting high-frequency and low fees
- Slippage Sensitivity: 1-minute level requires high execution speed
- Overfitting Risk: Multi-condition combination may perform well in historical data but underperform live
- Poor Performance in Ranging Markets: ADX filter reduces signals in ranging markets, but also misses opportunities
VIII. Applicable Scenario Recommendations
| Market Environment | Recommended Configuration | Description |
|---|---|---|
| Clear Trend | Default configuration | ADX filter effective, trend-following performs well |
| Ranging Sideways | Lower ADX threshold | Increase signal frequency but may increase false signals |
| High Volatility | Widen stop loss | Give more breathing room |
IX. Applicable Market Environment Details
ReinforcedSmoothScalp is a typical scalping strategy. Based on its code architecture and design philosophy, it performs best in clear trend markets, while underperforming in ranging sideways markets.
9.1 Strategy Core Logic
- Scalping Philosophy: Many small trades, accumulation leads to significant gains
- Trend Filter: Resampled SMA ensures following major trend
- Oversold Reversal: Seek entry points during trend pullbacks
9.2 Performance in Different Market Environments
| Market Type | Performance Rating | Analysis |
|---|---|---|
| 📈 Clear Trend | ⭐⭐⭐⭐⭐ | ADX filter effective, trend-following stable returns |
| 🔄 Ranging Sideways | ⭐⭐☆☆☆ | ADX condition limits signals, misses opportunities |
| 📉 Downtrend | ⭐⭐⭐☆☆ | Long only, cannot profit from shorts |
| ⚡ High Volatility Ranging | ⭐⭐☆☆☆ | Increased slippage, fees erode profits |
9.3 Key Configuration Recommendations
| Configuration Item | Recommended Value | Description |
|---|---|---|
| Number of Trading Pairs | ≥ 60 | Strategy author recommendation, diversify risk |
| Timeframe | 1m | Default, not recommended to change |
| Trading Fees | ≤ 0.1% | High-frequency trading sensitive to fees |
X. Important Reminder: The Cost of Complexity
10.1 Learning Curve
Strategy code is not large (about 100 lines), but involves multiple technical indicators and resampling technology, requiring some technical analysis foundation.
10.2 Hardware Requirements
| Number of Trading Pairs | Minimum Memory | Recommended Memory |
|---|---|---|
| Under 60 pairs | 4 GB | 8 GB |
| Over 60 pairs | 8 GB | 16 GB |
10.3 Backtest vs Live Trading Differences
Backtest Advantages:
- No slippage assumption
- Perfect execution assumption
Live Trading Challenges:
- 1-minute level slippage impact is large
- High-frequency trading fee accumulation
- Exchange API latency
10.4 Manual Trader Recommendations
Not recommended for manual traders to attempt this strategy:
- High signal frequency, difficult for humans to keep up
- 1-minute level requires continuous monitoring
- High execution speed requirements
XI. Summary
ReinforcedSmoothScalp is a strategy focused on high-frequency scalping. Its core value lies in:
- Multi-Layer Confirmation Mechanism: 5 layers ensure signal quality
- Trend Filter Protection: Resampling technology avoids counter-trend trading
- Friendly Risk-Reward Ratio: 1:5 risk-reward ratio requires low win rate
For quantitative traders, it is recommended to use with low-fee exchanges and multiple trading pairs for risk diversification. The strategy's design philosophy of "many small trades accumulating to significant gains" is worth learning from, but one must also be wary of hidden costs in high-frequency trading.