Skip to main content

EMA Band Scalp

EMA Band Scalp strategy behavior

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_SIGNAL exits when the complete mirrored bearish setup occurs.
  • EBS_EXIT_ON_BAND_BREAK exits when price closes below the bottom of the fast EMA band.
  • EBS_EXIT_ON_EMA100_BREAK exits when price closes below the configured trend EMA. The name remains “EMA100,” but the actual length comes from EBS_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_PCT below 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:

  1. Select a liquid pair and realistic candle period.
  2. Keep the default 50/100 band and trend relationship initially.
  3. Compare simple band interaction with the close-back-above requirement.
  4. Compare stochastic threshold crosses with and without %D confirmation.
  5. Set pair-appropriate spread, pip-size, and target values.
  6. Choose which technical failures should allow a profitable early exit.
  7. Inspect the actual structural stop distance before enabling protection.
  8. Test ranging and declining samples as well as clean trends.

Strategy settings

Trading and execution

SettingDescription
BUY_ENABLEDEnables new buy orders.
SELL_ENABLEDEnables target, technical, and protective sell orders.
PERIODCandle period used for all EMA and stochastic calculations.
TRADING_LIMITCompatibility 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_LIMITFor USDT-BTC, the amount of USDT used for an entry.
FUNDS_RESERVEFor USDT-BTC, the amount of USDT the bot must leave unused.
KEEP_QUOTEFor USDT-BTC, the amount of BTC the strategy must not sell.
MIN_VOLUME_TO_BUYGeneral minimum buy value. For USDT-BTC, this value is in USDT.
MIN_VOLUME_TO_SELLGeneral minimum sell value. For USDT-BTC, this value is in USDT.
EBS_MIN_ORDER_VALUEStrategy-specific minimum entry value. For USDT-BTC, this value is in USDT.
EBS_MIN_SELL_VALUEStrategy-specific minimum exit value. For USDT-BTC, this value is in USDT.
EBS_COOLDOWN_MSMinimum live-trading delay in milliseconds between actions. It is not applied in backtests.
EBS_MAX_SPREAD_PCTMaximum permitted bid/ask spread as a percentage.
EBS_MAX_SPREAD_ABSOLUTEOptional maximum spread in USDT for a pair such as USDT-BTC. Set 0 to disable it.
EBS_NEWS_BLOCKManually blocks new entries while existing positions remain manageable.
EBS_NEWS_BLOCK_UNTILBlocks new entries until the configured time.

EMA band and pullback

SettingDescription
EBS_BAND_EMA_LENGTHLength used for the high, close, and low EMAs that form the fast band.
EBS_TREND_EMA_LENGTHLength of the slower trend EMA; keep it above the band length.
EBS_PULLBACK_PROXIMITY_PIPSPermitted distance around the band in pip mode. Percentage mode uses a fixed proportional allowance.
EBS_REQUIRE_CLOSE_BACK_ABOVE_BANDRequires the pullback candle to close at or above the band midpoint.

Stochastic

SettingDescription
EBS_STOCH_LENGTHBase lookback of the full stochastic oscillator.
EBS_STOCH_K_SMOOTHSmoothing applied to %K.
EBS_STOCH_D_SMOOTHSmoothing applied to the %D confirmation line.
EBS_STOCH_BUY_LEVELLower threshold that %K must cross upward for a long entry.
EBS_STOCH_SELL_LEVELUpper threshold that %K must cross downward for a mirrored short signal.
EBS_REQUIRE_STOCH_D_CONFIRMRequires %K to be on the confirming side of %D at the threshold cross.

Target and protection

SettingDescription
GAINGeneral gain fallback retained in the configuration. The strategy normally uses its own target setting.
EBS_USE_PIPSUses a pip target and pip fallback stop instead of percentage distances.
EBS_PIP_SIZEFor USDT-BTC, the USDT value represented by one pip; also used for band-based stop offsets.
EBS_TARGET_PIPSRequested target in pip mode.
EBS_TARGET_PIPS_MINLowest permitted pip target.
EBS_TARGET_PIPS_MAXHighest permitted pip target.
EBS_TARGET_PCTTarget percentage when pip mode is disabled.
EBS_STOP_BELOW_BAND_PIPSPip-sized distance below the entry-time lower band for the structural stop.
EBS_STOP_PCTPercentage fallback stop; it does not cap a farther band-based stop.
EBS_USE_PROTECTIONActivates the protective stop.
EBS_MIN_NET_GAIN_PCTMinimum intended gain beyond estimated round-trip fee break-even.

Technical exits

SettingDescription
EBS_EXIT_ON_SHORT_SIGNALEnables a break-even-or-better exit on the complete mirrored bearish setup.
EBS_EXIT_ON_BAND_BREAKEnables a break-even-or-better exit after a close below the fast band.
EBS_EXIT_ON_EMA100_BREAKEnables a break-even-or-better exit below the configured trend EMA, regardless of whether its length remains 100.

Backtesting range

SettingDescription
BF_SINCEStart of the selected backtesting period.
BF_UNTILEnd of the selected backtesting period.
DEEP_TESTINGEnables 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.