Skip to main content

StepGridScalp Spot Trading Strategy

This strategy is the next iteration of StepGridHybrid and its trend module. It balances scalping (quick, small trades with high win probability) and grid trading (DCA in predictable steps). The trend module builds on existing concepts but adds user-set timeframes.

Key Features:

  • Truly multi-timeframe: user-configurable low, medium, and high timeframes for trend changes, momentum, and more. Example: trade on 5m while monitoring 15m and 4h.
  • Different trading styles used automatically when opportune:
    • Normal grid trading
    • Cautious scalping in upper ranges: smaller buy orders, stricter buydowns for DCA, and very cautious sell trailing to exit with no or small bags.
    • Trade supports: when the market looks very bad, grid buy trading stops and the strategy places limit orders at higher timeframe supports.
  • Different sell trailing styles used automatically when opportune:
    • Regular trailing with dynamic ranges.
    • Candle low trailing to trail larger moves upward.
    • Micro stop-loss style to start sell trailing quickly after riskier buys, accepting a tiny loss.
  • Better at selling more volume at higher prices via the partial sell ratio cap and improved sell trailing.
  • Quick detection of trend direction changes.
  • Can be very cautious about opening new trades.
info

Cancel orders must be disabled in the global bot settings when you use the trade supports option (you can do that on the setup page).

About the Trend Module

The trend options set this strategy apart. Exact details are not public to protect the author's work, but the data usage is more transparent than previous black-box approaches.

Info

Scalping aims to profit from small price changes after a trade becomes profitable. Grid trading places buy and sell orders at predefined intervals above and below a set price, creating a grid.

StepGridScalp strategy sidebar showing multi-timeframe trend data visualization All data mentioned below is visible in the right sidebar on the chart page.

Phase System

Using data from three configurable timeframes, one of six phases is recognized at any time:

1: Very Bearish 2: Bullish Reversal 3: Bullish 4: Very Bullish 5: Bearish Reversal 6: Bearish

Trend Sync uses the phase system to determine if any of the following is allowed:

  • Opening new trades when there is no balance to sell.
  • Grid trading.
  • Pausing grid trading and placing limit orders at higher timeframe supports.

Trend Plus uses the phase system to apply dynamic trailing ranges, for example, increasing the sell trailing range in a very bullish market.

Trend Scalping uses the phase system to enter scalping mode when the market is bullish or very bullish. This mode uses more careful sell trailing (including tiny, partial stop losses) and reduces the number of high buy orders while buying more on slight pullbacks.

All trend options can be used together or individually.

Overbought Status and Momentum

By monitoring higher timeframes to determine if (and how much) the market is overbought and if momentum is bullish or bearish, the strategy can be more careful with new trades or extend trailing ranges to aim for more profit.

The Strict Entry and Strict DCA options depend heavily on longer-term momentum status.

Overview of Restrictions

This strategy offers settings that restrict when new trades may open and when DCA is allowed; most can be combined.

When all restrictions are disabled, the strategy behaves like a more configurable StepGrid with small hardcoded limits on repeated buy orders in the same price zone and improved sell trailing.

The overview below describes the main impact of each restrictive setting.

SettingRestrictions on New TradesRestrictions on Any Buy Order
Price Action Analysis
  • New trades not allowed in phases 'Very Bearish' and 'Bearish'.
  • Grid buy trades not allowed in phases 'Very Bearish' and 'Bearish'.
Strict Entry
  • New trades not allowed when money flow, momentum, and volatility are not favorable on the upper timeframe.
  • None.
Strict DCA
  • None.
  • Grid buy trades not allowed when momentum is not favorable on the upper timeframe.
Exhaustion Sensitivity
  • None.
  • Grid buy trades not allowed when any of the timeframes is overbought, up to the specified timeframe (none, short, medium, or long). For example, when exhaustion sensitivity is set to 'medium', then buy orders are not allowed while the short, medium, or both of these timeframes are overbought.
Trade Supports
  • None.
  • Grid buy trades not allowed in phases 'Very Bearish' and 'Bearish'. During this time, limit orders are placed at medium or long-term supports.
Trend Scalping
  • New trades not allowed on upper step when in phases 'Bullish' or 'Very Bullish' and short-term trend is bullish.
  • Enforce additional grid buydown in phases 'Bullish' and 'Very Bullish'.
Custom Trading Range
  • New trades not allowed when price is not between 'Trading Range Low' and 'Trading Range High'.
  • Grid buy trades not allowed when price is below 'Trading Range DCA Stop'.

Examples for Various Restrictions

These examples show how the strategy performs under different restrictive settings. Charts for each backtest are included.

Check the detailed test result links for interactive charts.

Variation 1: Unrestricted

All restrictive settings are disabled. The strategy behaves like a more configurable StepGrid with minor limits on repeated buy orders in the same price zone and enhanced sell trailing.

Link to detailed test results

Backtesting variation 1 result image

Variation 2: Strict DCA

Strict DCA restricts grid buys when momentum is not favorable on the upper timeframe, avoiding additional exposure during unfavorable conditions.

Link to detailed test results

Backtesting variation 2 result image

Variation 3: Trade Support + Trend Scalping

Grid buys are not allowed in phases 'Very Bearish' and 'Bearish'; limit orders are placed at medium or long-term supports. New trades are also blocked on the upper step during 'Bullish' or 'Very Bullish' phases if the short-term trend is bullish.

Link to detailed test results

Backtesting variation 3 result image

Variation 4: Trade Support + Price Action Analysis + Trend Scalping

New trades are not allowed in phases 'Very Bearish' and 'Bearish', and grid buys are similarly restricted. Trend Scalping blocks new trades on the upper step during 'Bullish' or 'Very Bullish' phases if the short-term trend is bullish.

Link to detailed test results

Backtesting variation 4 result image

StepGridScalp Settings

Balance Settings

LabelConfig ParameterDefault ValueDetailed Description
Trading limitTRADING_LIMIT40Base amount used for each regular buy order and for calculating buy count.
Trading limit multiplierTL_MULTIPLIER1Scales the invested amount for each consecutive buy. Example with a 100 USDT trading limit and max buy count of 3: 1.5 results in 100, 150, and 225 USDT buys.
Always use TL multiplierALWAYS_USE_TL_MULTIPLIERfalseApplies the TL multiplier to the base amount used in all TL ratio calculations. If disabled, TL ratios use the absolute trading limit multiplied by the ratio.
Max buy countMAX_BUY_COUNT40Limits maximum position size except in BTFD mode. A value of 40 caps the position at 40x trading limit, accounting for TL multiplier increases.
Min volume to sellMIN_VOLUME_TO_SELL10Minimum notional value for sells; verify with your exchange minimum order size.
Max invested baseMAX_INVESTMENT999999999999999Cap on total base currency invested (e.g., USDT in USDT-BTC). Example: 1000 USDT.

Profit Settings

LabelConfig ParameterDefault ValueDetailed Description
GainGAIN1Minimum gain target (%) above unit cost or break-even before a full sell is placed.
Partial Sell GainGAIN_PARTIAL0.5Minimum gain target (%) for partial sells, requiring buys to be at least 0.5% (plus fees) below the current price.
Partial Sell RatioPARTIAL_SELL_RATIO0.95Portion of volume bought below current price that can be sold. Example: 200 units bought below and ratio 0.4 sells 80 units.
Use Partial Sell CapPARTIAL_SELL_CAPfalseSets an upper limit on partial sell quantity per sell step.
Partial Sell Cap RatioPARTIAL_SELL_CAP_RATIO1Maximum partial sell volume per step, expressed as a multiple of Trading Limit.
Unit Costunit_costtrueBreak-even calculation: enabled uses average cost per unit remaining; disabled uses the full trade sequence.
Dynamic Exit LogicDYNAMIC_EXIT_LOGICfalseIn uptrends, exit target is unit cost; otherwise targets full-sequence break-even. Requires Unit Cost to be disabled.

Period Settings

LabelConfig ParameterDefault ValueDetailed Description
PeriodPERIOD5Main timeframe in minutes for short-term analysis.
Period MediumPERIOD_MEDIUM15Medium-term timeframe in minutes.
Period LongPERIOD_LONG60Long-term timeframe in minutes.

Customize Grid

LabelConfig ParameterDefault ValueDetailed Description
Auto Step SizeAUTO_STEP_SIZEATRAuto step sizing based on volatility. Options: None (manual), ATR, or CandleSize.
Minimum Step PctMIN_STEP_PCT0.3Minimum step size (%) to override smaller auto steps.
Step SizeSTEP_SIZE500Fixed step size when auto is disabled. With Pct Step Size enabled, this value is a percentage.
Pct Step SizePCT_STEP_SIZEfalseConverts Step Size to a percentage of the current price.
Enforce Step SizeENFORCE_STEPfalseOnly executes orders if trailing completes at a rate better than the target step.

Customize Trailing

LabelConfig ParameterDefault ValueDetailed Description
Pct Buy Trailing RangePCT_TRAILING_RANGEfalseUses a custom percentage trailing range for buy and sell operations instead of automatic ranges.
Custom Buy Trailing RangeCUSTOM_TRAILING_RANGE0.3Custom buy trailing range (%) when Pct Buy Trailing Range is enabled.
Pct Sell Trailing RangePCT_SELL_TRAILING_RANGEfalseCustom percentage sell trailing range.
Custom Sell Trailing RangeCUSTOM_SELL_TRAILING_RANGE0.3Custom sell trailing range (%) when Pct Sell Trailing Range is enabled.

IRIS-Trend | Price Action

LabelConfig ParameterDefault ValueDetailed Description
Price Action AnalysisTREND_SYNCfalseUses trend data to decide when to open trades and adjust trailing ranges based on price action.
Price Action TL RatioPRICE_ACTION_TL_RATIO1Adjusts Trading Limit for buy orders during positive price action. Example: 2 doubles Trading Limit.
Price Action ThresholdPRICE_ACTION_THRESHOLD0ATR percentage rank threshold used with a green candle signal to trigger the price action multiplier.
Strict EntrySTRICT_ENTRYfalseMore conservative criteria for opening new trades, avoiding overbought conditions.
Strict DCASTRICT_DCAfalsePrevents DCA trades when upper timeframe momentum is bearish.
Exhaustion SensitivityEXHAUSTION_SENSITIVITYMEDIUMTimeframe exhaustion check before new DCA buys: NONE, SHORT, MEDIUM, or LONG.

IRIS-Trend | Trade Supports

LabelConfig ParameterDefault ValueDetailed Description
Trade SupportsTRADE_SUPPORTStrueUses trend data to place limit orders at medium or long-term supports when grid trading is unfavorable.
S1 TL RatioSUPPORT_TL_RATIO2Buy order size multiplier for S1 support targets.
S2 TL RatioSUPPORT2_TL_RATIO2Buy order size multiplier for S2 support targets.

IRIS-Trend | Micro Scalping

LabelConfig ParameterDefault ValueDetailed Description
Micro ScalpingTREND_SCALPINGtrueUses short, medium, and long-term trend data to manage trades during micro scalping phases.
Micro Scalp TL RatioSCALP_TL_RATIO0.625Adjusts buy and sell amounts during micro scalping as a ratio of Trading Limit.
Initial Buy Step MultiplierSCALP_INIT_BUY_MULTIPLIER0.6Reduces initial buy step size when entering without a position during scalping phases.
Dynamic Stop LossDYNAMIC_SLfalseDynamic stop loss for smaller positions in higher price zones, allowing a controlled small loss.

IRIS-Trend | Multiple Timeframes

LabelConfig ParameterDefault ValueDetailed Description
Multi Timeframes ModeMULTIPLE_TIMEFRAMES_MODEfalseSwitches to lower timeframes during bullish reversals to increase trading frequency.
Multi Timeframes Mode TL RatioMTF_TL_RATIO1Trading Limit for buys when using lower timeframes.
Lower Set Low PeriodLOWER_PERIOD_LOW5Low period for the lower timeframe set.
Lower Set Medium PeriodLOWER_PERIOD_MEDIUM15Medium period for the lower timeframe set.
Lower Set High PeriodLOWER_PERIOD_HIGH30High period for the lower timeframe set.

IRIS-Trend | Accumulation Cycle

LabelConfig ParameterDefault ValueDetailed Description
Accumulation CycleACCUMULATION_CYCLEfalseOnly allows full sells when gain target is reached and the upper timeframe is exhausted. Disallows partial sells below break-even and opens new trades only during bullish reversals.

IRIS-Trend | Advanced Trailing

LabelConfig ParameterDefault ValueDetailed Description
Advanced TrailingTREND_PLUStrueUses trend data across timeframes to adjust trailing ranges based on detected phases.
Buy Multiplier SmallTREND_PLUS_BUY_MULTIPLIER_SMALL1Smallest buy trailing multiplier; 1 means no adjustment.
Buy Multiplier MediumTREND_PLUS_BUY_MULTIPLIER_MEDIUM2Medium buy trailing multiplier.
Buy Multiplier LargeTREND_PLUS_BUY_MULTIPLIER_LARGE5Largest buy trailing multiplier for high volatility or strong trends.
Sell Multiplier SmallTREND_PLUS_SELL_MULTIPLIER_SMALL0.5Smallest sell trailing multiplier to capture profit faster in weaker moves.
Sell Multiplier MediumTREND_PLUS_SELL_MULTIPLIER_MEDIUM2Medium sell trailing multiplier.
Sell Multiplier LargeTREND_PLUS_SELL_MULTIPLIER_LARGE5Largest sell trailing multiplier for strong trends.

IRIS-Trend | BTFD Mode

LabelConfig ParameterDefault ValueDetailed Description
BTFD ModeBTFD_MODEfalsePlaces a series of limit buys below predefined or dynamic targets to buy dips when no orders are open.
Use Trend FilterBTFD_TREND_FILTERfalseAllows BTFD only with confirmed bearish sentiment, high sell volume on upper timeframes, and elevated volatility.
BTFD Dip TargetBTFD_DIP_TARGET0Manual price target to trigger BTFD when price drops below it and no orders are open.
BTFD Max Dip TargetBTFD_MAX_DIP_TARGET0Lowest price at which BTFD operates; no buys are placed below this level.
BTFD Use Automatic TargetsBTFD_AUTO_TARGETnoneUses automatic dip targets based on market conditions, especially with Trade Supports.
BTFD TL RatioBTFD_TL_RATIO1Adjusts the buy amount for BTFD orders as a ratio of Trading Limit.
BTFD Max Buy CountBTFD_MAX_BUY_COUNT25Maximum position size during BTFD mode, accounting for Trading Limit multipliers.
BTFD Max Dip OrdersBTFD_MAX_ORDERS5Maximum number of sequential dip buy orders.
BTFD GainBTFD_GAIN1Gain target (%) above the last order rate for sell targets in BTFD mode.
BTFD Auto Step SizeBTFD_AUTO_STEP_SIZEATRAuto step sizing in BTFD mode: ATR, CandleSize, or None for manual steps.
BTFD Step SizeBTFD_STEP_SIZE500Manual grid step size for BTFD buy orders when auto step sizing is disabled.
BTFD Pct Step SizeBTFD_PCT_STEP_SIZEfalseConverts BTFD step size to a percentage of the current price.

Custom Trading Range

LabelConfig ParameterDefault ValueDetailed Description
Custom Trading RangeCUSTOM_TRADING_RANGE_MODEfalseAllows trading only within specified price boundaries, with an optional stop target to sell all holdings if price drops below a set point.
Trading Range LowTRADING_RANGE_LOW8000Lower limit for opening new trades.
Trading Range HighTRADING_RANGE_HIGH10000Upper limit for opening new trades.
Trading Range StopTRADING_RANGE_STOP7000Stop-loss target; if price falls below this level, all positions are sold.
Trading Range DCA StopTRADING_RANGE_DCA_STOP7500Lower boundary for DCA orders; no additional DCA below this level.
Stop Loss RatioTRADING_RANGE_STOP_RATIO1Partial stop-loss ratio triggered by the DCA stop target (e.g., 0.5 sells half the quote balance).

Advanced

LabelConfig ParameterDefault ValueDetailed Description
Buy EnabledBUY_ENABLEDtrueControls whether buy orders can be placed.
Sell EnabledSELL_ENABLEDtrueControls whether sell orders can be placed.
Stop After Next SellSTOP_AFTER_SELLfalseStops trading after the current holdings are sold.
ATR PeriodATR_PERIOD50Number of candles used to calculate ATR for step sizes and trailing ranges.
Forever BagsFOREVER_BAGSfalseSkips standard break-even/profit targets to hold positions for longer-term gains.
Keep QuoteKEEP_QUOTE0Amount of quote asset to retain and not sell (e.g., 0.01 BTC in USDT-BTC).
Ignore Trades BeforeIGNORE_TRADES_BEFORE0Timestamp (ms) before which trades are ignored for a clean strategy start.
tip

Other Parameters

Besides settings mentioned on this page, no other strategy setting has any effect on StepGridScalp.