EMA Band Scalp
EMA Band Scalp looks for a momentum recovery after price pulls back into a fast EMA band. The band is formed from separate EMAs of candle highs, closes, and lows. A slower trend EMA determines whether that entire band is in bullish or bearish territory, while a full stochastic oscillator times the entry.
The strategy buys only when the complete fast band is above the trend EMA, price interacts with the band, and stochastic %K crosses upward from its lower zone. It uses a fixed fee-aware target, optional protection below the band, and break-even-aware exits when the trend structure weakens.
This is a trend-pullback method. It works best when a rising market repeatedly returns to a well-defined EMA band and resumes upward.
warning
The protective stop is disabled by default. Band, trend, and opposite-signal exits do not deliberately sell at a loss, so they cannot replace a stop.
The EMA band
EBS_BAND_EMA_LENGTH is applied separately to candle highs, closes, and lows. These three lines form a narrow, price-responsive band.
EBS_TREND_EMA_LENGTH creates the slower trend reference. Keep it longer than the band length.
A buy zone exists only when the bottom of the entire fast band is above the trend EMA. This is stricter than checking a single fast EMA: all three band components must have moved above the slow reference.
The mirrored sell zone exists when the top of the band is below the trend EMA. Spot mode does not open a short position, but this state contributes to the optional short-signal exit.
Pullback entry
During a buy zone, the candle low must reach the top of the band plus the configured proximity, while the close must remain near or above the bottom of the band.
In pip mode, EBS_PULLBACK_PROXIMITY_PIPS defines the allowance around the band. In percentage mode, the allowance is fixed at approximately 0.02% of current price, so changing the pip proximity has no effect.
When EBS_REQUIRE_CLOSE_BACK_ABOVE_BAND is enabled, the candle must close at or above the middle of the band. This asks for a clearer recovery after the touch. When disabled, the close may remain slightly below the band as long as it stays inside the allowed proximity.
Stochastic trigger
Stochastic %K must have been at or below EBS_STOCH_BUY_LEVEL, then cross above that level on the current candle.
With EBS_REQUIRE_STOCH_D_CONFIRM enabled, %K must also be at or above %D. This adds confirmation that the faster oscillator line is leading the recovery.
The sell level defines the mirrored bearish cross used for short-signal exits.
The strategy holds one position at a time and does not average down.
Target and exits
The position target uses EBS_TARGET_PIPS in pip mode or EBS_TARGET_PCT in percentage mode. Estimated round-trip fees and EBS_MIN_NET_GAIN_PCT can raise the effective target.
EBS_TARGET_PIPS_MIN and EBS_TARGET_PIPS_MAX clamp the requested pip target. They do not make the target dynamically vary inside that range.
Three technical exits can close at break-even or better:
EBS_EXIT_ON_SHORT_SIGNALexits when the complete mirrored bearish setup occurs.EBS_EXIT_ON_BAND_BREAKexits when price closes below the bottom of the fast EMA band.EBS_EXIT_ON_EMA100_BREAKexits when price closes below the configured trend EMA. The name remains “EMA100,” but the actual length comes fromEBS_TREND_EMA_LENGTH.
Because these exits are break-even protected, a losing position can remain open after price breaks the band or trend EMA.
Protective stop
Enable EBS_USE_PROTECTION to activate the stop.
The structural stop is placed below the entry-time band bottom by EBS_STOP_BELOW_BAND_PIPS. It is compared with a fallback:
- the same pip distance below entry in pip mode;
EBS_STOP_PCTbelow entry in percentage mode.
The lower of those levels is used, keeping the stop below both the band reference and fallback. This means EBS_STOP_PCT is not a guaranteed maximum loss if the band-based level is farther below the entry.
The band offset always uses EBS_PIP_SIZE, even when targets are percentage based.
Good market conditions
EMA Band Scalp generally works best when:
- the pair is liquid and spread is small;
- the complete fast band is clearly above a stable or rising trend EMA;
- pullbacks reach the band without turning into a sustained breakdown;
- stochastic resets into its lower zone and crosses upward;
- there is enough normal movement to cover fees and the target.
A good setup often looks like a rising band with price briefly dipping into it, then closing back toward its middle or upper edge as stochastic turns upward.
Avoid flat markets where the fast band repeatedly crosses the trend EMA. Also be cautious when candles close decisively below the band, volatility expands downward, or the trend EMA is falling. An oscillator recovery during those conditions can be temporary.
Creating the strategy
Create a spot strategy and select EMA Band Scalp as the buy and sell method. Start with backtesting or paper trading.
A practical setup sequence is:
- Select a liquid pair and realistic candle period.
- Keep the default 50/100 band and trend relationship initially.
- Compare simple band interaction with the close-back-above requirement.
- Compare stochastic threshold crosses with and without %D confirmation.
- Set pair-appropriate spread, pip-size, and target values.
- Choose which technical failures should allow a profitable early exit.
- Inspect the actual structural stop distance before enabling protection.
- Test ranging and declining samples as well as clean trends.
Strategy settings
Trading and execution
| Setting | Description |
|---|---|
BUY_ENABLED | Enables new buy orders. |
SELL_ENABLED | Enables target, technical, and protective sell orders. |
PERIOD | Candle period used for all EMA and stochastic calculations. |
TRADING_LIMIT | Compatibility fallback only. It is ignored while the strategy-specific trading limit contains a positive value. Configure the strategy-specific setting for normal use. For USDT-BTC, this value is in USDT. |
EBS_TRADING_LIMIT | For USDT-BTC, the amount of USDT used for an entry. |
FUNDS_RESERVE | For USDT-BTC, the amount of USDT the bot must leave unused. |
KEEP_QUOTE | For USDT-BTC, the amount of BTC the strategy must not sell. |
MIN_VOLUME_TO_BUY | General minimum buy value. For USDT-BTC, this value is in USDT. |
MIN_VOLUME_TO_SELL | General minimum sell value. For USDT-BTC, this value is in USDT. |
EBS_MIN_ORDER_VALUE | Strategy-specific minimum entry value. For USDT-BTC, this value is in USDT. |
EBS_MIN_SELL_VALUE | Strategy-specific minimum exit value. For USDT-BTC, this value is in USDT. |
EBS_COOLDOWN_MS | Minimum live-trading delay in milliseconds between actions. It is not applied in backtests. |
EBS_MAX_SPREAD_PCT | Maximum permitted bid/ask spread as a percentage. |
EBS_MAX_SPREAD_ABSOLUTE | Optional maximum spread in USDT for a pair such as USDT-BTC. Set 0 to disable it. |
EBS_NEWS_BLOCK | Manually blocks new entries while existing positions remain manageable. |
EBS_NEWS_BLOCK_UNTIL | Blocks new entries until the configured time. |
EMA band and pullback
| Setting | Description |
|---|---|
EBS_BAND_EMA_LENGTH | Length used for the high, close, and low EMAs that form the fast band. |
EBS_TREND_EMA_LENGTH | Length of the slower trend EMA; keep it above the band length. |
EBS_PULLBACK_PROXIMITY_PIPS | Permitted distance around the band in pip mode. Percentage mode uses a fixed proportional allowance. |
EBS_REQUIRE_CLOSE_BACK_ABOVE_BAND | Requires the pullback candle to close at or above the band midpoint. |
Stochastic
| Setting | Description |
|---|---|
EBS_STOCH_LENGTH | Base lookback of the full stochastic oscillator. |
EBS_STOCH_K_SMOOTH | Smoothing applied to %K. |
EBS_STOCH_D_SMOOTH | Smoothing applied to the %D confirmation line. |
EBS_STOCH_BUY_LEVEL | Lower threshold that %K must cross upward for a long entry. |
EBS_STOCH_SELL_LEVEL | Upper threshold that %K must cross downward for a mirrored short signal. |
EBS_REQUIRE_STOCH_D_CONFIRM | Requires %K to be on the confirming side of %D at the threshold cross. |
Target and protection
| Setting | Description |
|---|---|
GAIN | General gain fallback retained in the configuration. The strategy normally uses its own target setting. |
EBS_USE_PIPS | Uses a pip target and pip fallback stop instead of percentage distances. |
EBS_PIP_SIZE | For USDT-BTC, the USDT value represented by one pip; also used for band-based stop offsets. |
EBS_TARGET_PIPS | Requested target in pip mode. |
EBS_TARGET_PIPS_MIN | Lowest permitted pip target. |
EBS_TARGET_PIPS_MAX | Highest permitted pip target. |
EBS_TARGET_PCT | Target percentage when pip mode is disabled. |
EBS_STOP_BELOW_BAND_PIPS | Pip-sized distance below the entry-time lower band for the structural stop. |
EBS_STOP_PCT | Percentage fallback stop; it does not cap a farther band-based stop. |
EBS_USE_PROTECTION | Activates the protective stop. |
EBS_MIN_NET_GAIN_PCT | Minimum intended gain beyond estimated round-trip fee break-even. |
Technical exits
| Setting | Description |
|---|---|
EBS_EXIT_ON_SHORT_SIGNAL | Enables a break-even-or-better exit on the complete mirrored bearish setup. |
EBS_EXIT_ON_BAND_BREAK | Enables a break-even-or-better exit after a close below the fast band. |
EBS_EXIT_ON_EMA100_BREAK | Enables a break-even-or-better exit below the configured trend EMA, regardless of whether its length remains 100. |
Backtesting range
| Setting | Description |
|---|---|
BF_SINCE | Start of the selected backtesting period. |
BF_UNTIL | End of the selected backtesting period. |
DEEP_TESTING | Enables deeper backtesting mode in the editor. |
Practical tuning directions
For earlier and more frequent setups, shorten the band and trend EMAs or leave close-back confirmation disabled. Expect more range noise.
For stricter pullbacks, enable both close-back and stochastic %D confirmation. This asks price and momentum to demonstrate recovery on the same candle.
Keep a meaningful separation between the band and trend lengths. When they are too similar, the buy-zone classification can change frequently and no longer represents a fast structure above a slower trend.
If profitable positions exit too quickly, test technical exits individually. If losing positions remain open, those exits cannot help below break-even; review protection instead.
Important limitations
- EMA bands lag and can remain bullish after momentum has weakened.
- Stochastic crosses can repeat during ranges or continuing declines.
- Percentage mode uses a fixed pullback proximity rather than the pip field.
- Technical exits do not intentionally realize a loss.
- The “EMA100” exit follows the configurable trend EMA length.
- The percentage stop is not a hard loss cap when the band-based stop is lower.
- Band stop offsets remain pip-based in both target modes.
- Backtests cannot perfectly reproduce live spread, slippage, latency, or liquidity.
EMA Band Scalp works best when the band behaves like support inside a broader uptrend. If price continually cuts through both the band and trend EMA, the market is not providing the structure the method is designed to trade.