Skip to main content

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

FeatureDescription
Buy Condition1 composite buy signal (containing 5 sub-conditions, all must be met)
Sell Condition1 composite sell signal + fixed 2% take profit
Protection Mechanism10% hard stop loss + resampled trend filter protection
TimeframeMain timeframe 1m + resampled trend layer 5m
Dependenciestalib, 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 TypeParameter DescriptionDefault Value
Resampled CycleResample 1m data to 5m5x
Trend Indicator50-period SMA50
Filter RuleOnly 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 GroupCondition NumberCore Logic
Oversold Confirmation#1, #3, #4Price at relatively low, money outflow, stochastic oversold
Trend Confirmation#2, #5ADX 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
)
ScenarioTrigger ConditionSignal Name
EMA BreakthroughOpen ≥ EMA high line & CCI > 100Price breakthrough sell
Stochastic OverboughtFastK/FastD crosses above 70 & CCI > 100Overbought 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 CategorySpecific IndicatorsPurpose
TrendEMA(5) - High/Low/ClosePrice channel, entry/exit reference
TrendSMA(50) - ResampledTrend direction filter
TrendADXTrend strength confirmation
OscillatorStochastic Fast(5,3,0,3,0)Overbought/oversold judgment
OscillatorCCI(20)Overbought/oversold confirmation
OscillatorRSI(14)Momentum indicator (calculated but not used for signals)
VolumeMFIMoney flow analysis
VolatilityBollinger 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_interval and resampled_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

ParameterValueMeaning
Take Profit2%Quick profit lock
Stop Loss10%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

  1. Multi-Layer Confirmation Reduces False Signals: 5 layers ensure only best timing entry
  2. Resampled Trend Filter: Avoid counter-trend trading, improve win rate
  3. Friendly Risk-Reward Ratio: 1:5 risk-reward ratio requires low win rate
  4. High Scalping Efficiency: 1-minute timeframe suitable for high-frequency trading

⚠️ Limitations

  1. High Trading Frequency: Requires exchange supporting high-frequency and low fees
  2. Slippage Sensitivity: 1-minute level requires high execution speed
  3. Overfitting Risk: Multi-condition combination may perform well in historical data but underperform live
  4. Poor Performance in Ranging Markets: ADX filter reduces signals in ranging markets, but also misses opportunities

VIII. Applicable Scenario Recommendations

Market EnvironmentRecommended ConfigurationDescription
Clear TrendDefault configurationADX filter effective, trend-following performs well
Ranging SidewaysLower ADX thresholdIncrease signal frequency but may increase false signals
High VolatilityWiden stop lossGive 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 TypePerformance RatingAnalysis
📈 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 ItemRecommended ValueDescription
Number of Trading Pairs≥ 60Strategy author recommendation, diversify risk
Timeframe1mDefault, 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 PairsMinimum MemoryRecommended Memory
Under 60 pairs4 GB8 GB
Over 60 pairs8 GB16 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:

  1. Multi-Layer Confirmation Mechanism: 5 layers ensure signal quality
  2. Trend Filter Protection: Resampling technology avoids counter-trend trading
  3. 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.