SuperTrend EMA150 Scalp Spot Trading Strategy
SuperTrend EMA150 Scalp is a spot trend-breakout strategy. It combines a long EMA, Supertrend direction, a break above recent highs, and an optional higher-timeframe EMA filter.
At entry it creates a risk-based plan from the closer of a recent swing low and the Supertrend line. The profit target is a multiple of that initial risk, while the stop can trail upward with Supertrend.
warning
The default entry is strict: a fresh bullish Supertrend flip and a recent-high breakout must occur together. Low trade counts can be normal and should not automatically be “fixed” by loosening every filter.
Trading behavior
Entry
A buy setup requires:
- Current close above
STEMA_EMA_LENGTH. - Bullish Supertrend.
- When
STEMA_REQUIRE_SUPERTREND_FLIPis enabled, Supertrend must have just changed from bearish to bullish. - Current close above the highest high of the previous
STEMA_BREAK_LOOKBACKcandles. - The optional higher-timeframe filter is bullish.
- Spread, news, cooldown, balance, and order checks pass.
The recent-high calculation excludes the current candle, so the breakout does not move its own reference level.
The strategy buys once and does not DCA.
tip
Disabling the fresh-flip requirement still requires bullish Supertrend and a new price-action breakout. It allows continuation entries later in an established bullish Supertrend.
Higher-timeframe filter
When enabled, the strategy groups base candles by STEMA_HTF_FACTOR and calculates STEMA_HTF_EMA_LENGTH on those grouped closes.
With the default three-minute period and factor 20, each grouped candle represents about 60 minutes. The default 150-length HTF EMA therefore needs extensive history.
Until enough grouped history exists, the strategy uses the ordinary price-above-EMA condition as its available trend confirmation.
This is an approximation built from the pair's selected candle series; it is not a separately fetched exchange timeframe.
Initial stop and target
The initial stop is the higher, and therefore closer, of:
- The lowest low in
STEMA_SWING_LOOKBACK. - The current Supertrend line.
An entry is skipped if that stop is not below the ask.
The initial target is:
entry + ((entry - stop) × STEMA_RISK_REWARD)
It is raised when necessary to cover estimated fees plus STEMA_MIN_NET_GAIN_PCT.
The target is saved at entry. Trailing the stop later does not recalculate the target.
Supertrend trailing stop
With STEMA_TRAIL_SUPERTREND enabled, a bullish Supertrend line can raise the saved stop. It never moves the stop downward.
The trailing line only executes when STEMA_USE_PROTECTION is enabled. Without protection, it remains a visible risk reference.
Trend exits
Two profit-protected exits are available:
STEMA_EXIT_ON_SUPERTREND_SELL: sell when current Supertrend is bearish.STEMA_EXIT_ON_EMA_LOSS: sell when current close is below the long EMA.
Both wait until bid reaches the minimum profitable price. They do not realize a loss.
STEMA_USE_PROTECTION is the control that allows the saved or trailed stop to close below break-even.
News and cooldown
The manual news block pauses entries only. Existing positions continue to be managed.
STEMA_ENFORCE_COOLDOWN_IN_BACKTEST models the three-minute default action cooldown during historical testing. Position exits are checked before the entry cooldown.
Good market conditions
SuperTrend EMA150 Scalp is best suited to:
- A new or continuing bullish trend above a long EMA.
- A decisive break above recent highs.
- Agreement between base and higher-timeframe direction.
- Enough volatility to reach a risk-based target without excessive spread.
It is weaker in:
- Ranges with repeated Supertrend flips.
- Late-stage breakouts far above the EMA.
- Thin markets where a single wick defines the recent high.
- Sharp reversals when protection is disabled.
The default three-minute period is fast relative to the EMA 150 filter. This combination looks for short breakouts inside a much broader local trend.
How to create the strategy
- Create a new spot strategy in the advanced strategy editor.
- Select
supertrendema150scalpas both buy and sell method. - Start with the default three-minute period.
- Align both trading-limit controls.
- Load enough history for EMA 150 and the higher-timeframe filter.
- Compare fresh-flip and continuation entries.
- Inspect the stop-to-target distance on actual signals.
- Test protection through failed breakouts.
A practical tuning workflow
Tune trend context first:
- Increase EMA length for a slower trend gate.
- Increase Supertrend multiplier for fewer, less sensitive flips.
- Increase Supertrend length for smoother volatility measurement.
Then tune breakout timing. A longer break lookback demands a more significant high. Requiring a fresh Supertrend flip makes timing stricter than breakout alone.
Tune risk after entries look sensible. Increasing swing lookback can find a lower low, but the Supertrend line may still be the closer stop. STEMA_RISK_REWARD controls target distance directly from the chosen stop.
Test HTF settings with enough data. A backtest that is too short may not exercise the intended grouped EMA filter.
Core settings
| Label | Config parameter | Default | Description |
|---|---|---|---|
| Buy enabled | BUY_ENABLED | true | Allows qualifying breakout entries. |
| Sell enabled | SELL_ENABLED | true | Allows target, trend, EMA, and stop exits. |
| Period | PERIOD | 3 | Base candle period in minutes. |
| Trading limit | TRADING_LIMIT | 100 | Compatibility fallback only. It is ignored while the strategy-specific trading limit is positive; the two values do not need to match. For USDT-BTC, this value is in USDT. |
| Funds reserve | FUNDS_RESERVE | 0 | For USDT-BTC, the amount of USDT the bot must leave unused. |
| Amount retained from sells | KEEP_QUOTE | 0 | For USDT-BTC, the amount of BTC the strategy must not sell. |
| Min volume to buy | MIN_VOLUME_TO_BUY | 10 | General minimum buy value. Keep it aligned with STEMA_MIN_ORDER_VALUE. For USDT-BTC, this value is in USDT. |
| Min volume to sell | MIN_VOLUME_TO_SELL | 10 | General minimum sell value. Keep it aligned with STEMA_MIN_SELL_VALUE. For USDT-BTC, this value is in USDT. |
| Gain | GAIN | 0.4 | General gain field. This strategy builds its target from risk/reward instead. |
Execution settings
| Label | Config parameter | Default | Description |
|---|---|---|---|
| STEMA trading limit | STEMA_TRADING_LIMIT | 100 | For USDT-BTC, the amount of USDT used for the single buy. |
| STEMA min order value | STEMA_MIN_ORDER_VALUE | 10 | Minimum value required for a buy. For USDT-BTC, this value is in USDT. |
| STEMA min sell value | STEMA_MIN_SELL_VALUE | 10 | Minimum position value required for a sell. For USDT-BTC, this value is in USDT. |
| STEMA cooldown ms | STEMA_COOLDOWN_MS | 180000 | Minimum milliseconds between entry actions. 180000 is three minutes. |
| Enforce cooldown in backtest | STEMA_ENFORCE_COOLDOWN_IN_BACKTEST | true | Includes the cooldown in historical tests. |
| STEMA max spread % | STEMA_MAX_SPREAD_PCT | 0.06 | Maximum spread as a percentage of midpoint. |
| STEMA max spread absolute | STEMA_MAX_SPREAD_ABSOLUTE | 0 | Optional maximum spread in pair price units. For USDT-BTC, this value is in USDT. |
Trend and breakout settings
| Label | Config parameter | Default | Description |
|---|---|---|---|
| EMA length | STEMA_EMA_LENGTH | 150 | Long trend EMA. Entry requires close above it. |
| Supertrend length | STEMA_SUPERTREND_LENGTH | 10 | ATR lookback for Supertrend. |
| Supertrend multiplier | STEMA_SUPERTREND_MULTIPLIER | 3 | ATR distance of Supertrend bands. Higher values reduce flips. |
| Require Supertrend flip | STEMA_REQUIRE_SUPERTREND_FLIP | true | Requires a fresh bullish direction change for entry. |
| Break lookback | STEMA_BREAK_LOOKBACK | 5 | Previous highs the current close must exceed. |
| Swing lookback | STEMA_SWING_LOOKBACK | 10 | Candles searched for the recent stop reference low. |
Higher-timeframe and risk settings
| Label | Config parameter | Default | Description |
|---|---|---|---|
| Use HTF filter | STEMA_USE_HTF_FILTER | true | Requires grouped-candle close above its EMA when enough grouped data exists. |
| HTF factor | STEMA_HTF_FACTOR | 20 | Number of base candles combined into one higher-timeframe candle. |
| HTF EMA length | STEMA_HTF_EMA_LENGTH | 150 | EMA lookback applied to grouped closes. |
| Risk reward | STEMA_RISK_REWARD | 1.2 | Target multiple of initial entry-to-stop risk. |
| Minimum net gain % | STEMA_MIN_NET_GAIN_PCT | 0.3 | Minimum gain above estimated fee-adjusted break-even. |
| Use protection | STEMA_USE_PROTECTION | false | Allows the saved or trailed stop to close below break-even. |
| Trail Supertrend | STEMA_TRAIL_SUPERTREND | true | Raises the saved stop with a rising bullish Supertrend line. |
| Exit on Supertrend sell | STEMA_EXIT_ON_SUPERTREND_SELL | true | Allows bearish Supertrend to sell at or above minimum profit. |
| Exit on EMA loss | STEMA_EXIT_ON_EMA_LOSS | true | Allows close below the long EMA to sell at or above minimum profit. |
News and backtesting
| Label | Config parameter | Default | Description |
|---|---|---|---|
| News block | STEMA_NEWS_BLOCK | false | Manually pauses new entries. |
| News block until | STEMA_NEWS_BLOCK_UNTIL | 0 | Timestamp until which entries remain blocked. |
| Backtest since | BF_SINCE | 0 | Optional backtest start boundary. |
| Backtest until | BF_UNTIL | 0 | Optional backtest end boundary. |
| Deep testing | DEEP_TESTING | false | Enables deeper backtesting without changing live signals. |
Important limitations
- The strategy opens one position and does not DCA.
- The higher-timeframe view is aggregated from base candles.
- Fresh Supertrend flip plus breakout can be very selective.
- Trend and EMA exits never realize a loss.
- Supertrend trailing only executes when protection is enabled.
- The target does not move when the stop trails.
- The news block is manual.
The strategy is strongest when trend, breakout, and risk geometry agree before entry. If the stop is too close or the breakout is too extended, the signal may be valid while the trade plan is not.