Skip to main content

stepgridscalp

This strategy is a next iteration of stepgridhybrid and its trend module, trying to find a balance between scalping (quick, small trades with high probabilities of winning) and grid trading (DCA in more or less predictable steps). The trend module used in this strategy builds on several existing concepts, but is entirely new and now accomodates for user set timeframes.

Ideal scenario: trading grid style with very adaptive trailing and a clean exit. Next initial buy would happen after the market cools down

Key features:

  • truly multi timeframe: user configurable low, medium und high timeframes for monitoring aspects like trend changes, momentum strength and more. For example you could trade on 5m charts, while also monitoring 15m and 4h.
  • different trading styles that are automatically used when opportune:
    • normal grid trading
    • cautious 'scalping' in upper ranges: aiming to exit the zone with no or a very small sized bag, using a smaller amount per buy order, strict buydowns for DCA and very cautious sell trailing
    • trade supports: when the market looks very bad, grid buy trading stops and the strategy moves into a mode where it trades higher timeframe supports with limit orders
  • different sell trailing styles that are automatically used when opportune:
    • regular trailing, with dynamic trailing ranges
    • candle low trailing, to trail bigger moves upwards
    • micro stop loss style, to quickly start sell trailing after riskier buy orders, accepting a tiny loss as outcome
  • better at selling more volume at higher prices, due to 'partial sell ratio cap' and better sell trailing
  • much quicker detection of trend direction changes
  • is a lot more cautious about when it opens new trades
info

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

About the trend module#

The trend options are what set this strategy apart from other similar strategies. The exact details are not public to protect the work of the author, but how the data is used is a lot simpler and more transparent than in previous strategies that use black box data.

All data mentioned below, is visible in the right sidebar on the chart page

Phase system#

Using data from three configurable timeframes, one out of six phases gets 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, coming from a situation where 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 by increasing the sell trailing range in a very bullish market.

Trend scalping uses the phase system to go into 'scalping mode' when the market is either bullish, or very bullish. This mode using a more careful sell trailing mechanism (including tiny, partial stop losses), and reduces the number of 'high' buy orders, and instead buying more when price is slightly moving down again.

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 the current momentum is bullish or bearish, the strategy can be either 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 overbought and momentum status.

info

The 'strict entry' option is disabled by default, but only because it causes the bot to be less active than many users might expect. It is an option meant to prevent many situations where a new trade is opened during very risky market conditions.

Balance & profit settings#

SettingDescription
Trading limit

The standard amount to invest per buy order.

The amount used for each regular buy order. This value is also used to calculate 'buy count'.

If you use 'trend sync' and/or 'trend scalping', some orders types can use different amounts using trading limit multiplier settings. The base amount these multipliers use, is the amount set as 'trading limit'.

Max buy count

Limits maximum trade size.

When max is reached, the strategy goes in sell mode only.

A value of 40 means that the total trade size may not exceed 40x the amount set as 'trading limit'. When max is reached, the strategy goes in sell mode only.

Min volume to sell

To ignore tiny balances.

Set this to the minimum order size of the pair, to make the bot ignore small balances that cannot be sold.

Gain

Profit target for full sell orders

Minimum gain percentage target above active unit cost / break even, depending on which of these targets is used.

When set to 1, full sell is only allowed when hitting a sell step at least 1% above current unit cost / break even target.

Unit cost

Determines how the break even price is calculated.

When enabled, break even target represents the average price per unit of remaining units in balance.

When disabled, break even target represents the point at which the remaining units can be sold for the total trade sequence to break even.

Dynamic exit logic

Different targets for different market situations.

Use this to dynamically change the exit logic used for the strategy. Unit cost is used when the detected trend phase is 'bullish', 'very bullish' or 'bearish reversal'. In any other market situation, the break even target will be used.

Disable unit cost to use this option.

Dynamic SL

Stop loss for small positions.

This is a stop loss option for small and risky positions (up to 2x 'trading limit', rounded), accumulated in higher regions. Does not trigger often.

The goal is to accept a relatively small loss sometimes, before a trade gets hard to DCA effectively.

Partial sell ratio

Defines partial sell amounts.

The strategy is aware of how much volume was bought below the current price, and how much remains to be sold profitably. If a sell step is reached where nothing can be sold profitably, the step is skipped. When placing a sell order below the overall break even rate, the sell volume is defined by partial sell ratio.

If for example 200 units were bought at rates lower than the current price, a partial sell of 0.4 will lead to a partial sell order of 80 units.

Partial sell cap

Use a maximum value for partial sell amounts.

Set an upper limit to partial sell order quantity per sell step.

When disabled, only 'partial sell ratio' applies to partial sell order. When enabled, 'Partial sell cap ratio' is additionally applied.

Partial sell cap ratio

Caps partial sell amounts.

Allows for putting a maximum on partial sell amounts, as well as selling higher volumes after effective sell trailing. Setting 1 as cap value means that a partial sell order may not exceed 1x 'trading limit' in value per step.

Example for the 'per step' part: this means that in a case where sell trailing is very effective and the distance of 3 steps is covered before selling, the cap value internally gets multiplied by 3.

Partial sell gain

Gain target for partial sell orders

Minimum gain target for partial sell orders. When set to 0.5, only buy orders at least 0.5% (+ trading fees) below current price are considered when calculating partial sell volume

Customize grid#

SettingDescription
Auto step size

Enables using automatic step size.

Lets the bot automatically determine a grid step size that fits the pairs current volatility, Based on Average True Range (ATR).

Step size

Sets a manual step size.

Manually defined grid step size for buy and sell orders, when auto step size is not enabled.

Normally set as a price: setting 500 on USDT-BTC makes the bot trade each time price moves 500 USDT.

When using Pct step size, the value represents a percentage: setting 2 will lead to having steps of 2% of current price.

Minimum step pct

Minimum value for auto step size.

Minimum percentage size for steps, to overrule automatic step size. Setting 1 means that a step is set to 1% of price, unless auto step size is higher than 1%

Pct step size

Use a percentage based step size.

When enabled, the value for step size represents a percentage.

Enforce step size.

Predictable minimum distance between orders.

Used to ensure orders are not placed at a rate worse than step target.

Price trailing can sometimes finish at a rate worse than the current grid step up or down. With this option enabled, orders may only get fired when trailing finishes at a better rate than the current step target. This can be useful for very precise balance management.

Customize trailing#

SettingDescription
Pct buy trailing range

Use custom buy trailing range

By default trailing ranges are set automatically set to 0.2 x ATR. With this option you can set a percentage as custom trailing range to be used for buy trailing.

Custom buy trailing range

Set trailing range as percentage

When 'Pct buy trailing range' is enabled, setting 0.5 will lead to having trailing ranges of 0.5% of current price.

Pct sell trailing range

Use custom sell trailing range

By default trailing ranges are set automatically 0.2 x ATR. With this option you can set a percentage as custom trailing range to be used for sell trailing.

Custom sell trailing range

Set trailing range as percentage

When 'Pct sell trailing range' is enabled, setting 0.5 will lead to having trailing ranges of 0.5% of current price.

Trend sync#

SettingDescription
Trend sync

Trend phase awareness.

When enabled, trend data using the configured timeframes for short, medium and long term is used to:
- (dis)allow opening new trades
- switch between normal grid trailing and grid trailing with increased trailing ranges
- go into a mode in which buy targets are placed at medium or long term support levels.

Lower support orders are placed upfront as limit orders once the first support is reached.

Support TL ratio

Defines order size for support buys.

When trend sync is enabled and multiple timeframes move downwards, buy targets are placed at medium or high timeframe supports.

This setting determines the buy order value for support targets, it multiplies 'trailing limit' Setting 2 places buy orders for 'trading limit' * 2

Trend plus#

SettingDescription
Trend plus

Dynamic trailing ranges

When enabled, trend data using the configured timeframes for short, medium and long term is used to in- and decrease trailing ranges based on the currently detected market phase. This overrules a trailing modifier in 'trend sync'.

Buy multiplier small

Smallest buy trailing range multiplier. Multiplies the currently active trailing range: auto or custom pct. 1x auto trailing range equals 0.2x ATR.

Buy multiplier medium

Medium buy trailing range multiplier. Multiplies the currently active trailing range: auto or custom pct. 1x auto trailing range equals 0.2x ATR.

Buy multiplier large

Largest buy trailing range multiplier. Multiplies the currently active trailing range: auto or custom pct. 1x auto trailing range equals 0.2x ATR.

Sell multiplier small

Smallest sell trailing range multiplier. Multiplies the currently active trailing range: auto or custom pct. 1x auto trailing range equals 0.2x ATR.

Sell multiplier medium

Medium sell trailing range multiplier. Multiplies the currently active trailing range: auto or custom pct. 1x auto trailing range equals 0.2x ATR.

Sell multiplier large

Largest sell trailing range multiplier. Multiplies the currently active trailing range: auto or custom pct. 1x auto trailing range equals 0.2x ATR.

Trend scalping#

SettingDescription
Trend scalping

Micro scalp higher price regions.

When enabled, trend data using the configured timeframes for short, medium and long term is used to:
- reduce risk by disallowing opening new trades in high, risky zones
- switch between normal grid trailing micro scalping
- place non grid orders, based on detected market conditions (for example buy after a dip below ema 50)

During micro scalping partial stop loss orders are possible. This means that when sell trailing starts, the initial trailing stop is placed slightly below the last buy rate and the amount to sell is roughly equal to the last buy amount (overriding settings for partial sell ratio).

Scalp TL ratio

Defines order size for scalp buys.

When trend scalping is enabled and a scalping zone is reached, buy and sell amounts are based on this ratio.

This setting determines the buy order value for support targets, it multiplies 'trailing limit'. Setting 0.5 places buy orders for 'trading limit' * 0.5

Indicator settings#

SettingDescription
Period

Trading timeframe

Sets which timeframe to use for short term market data. This is the main trading timeframe.

Period medium

Sets which timeframe to use for medium term market data.

Period long

Sets which timeframe to use for long term market data.

ATR period

How many candles are used for calculating ATR.

Number of candles used to calculate Average True Range, which is used to calculate auto step size. Default value of 50 should usually not need tuning.

Custom trading range mode#

SettingDescription
Custom trading range

Set a price range to allow opening new trades in

With this mode you can define the price zone in which you want the strategy to operate, and optionally set a stop target.

With the settings like in the defaults, new trades may only be opened when price is between 8000 and 10000. DCA trades can be placed at any price. In case price drops below 7000 all funds get sold. Set stop target to 0 to effectively disable it.

Trading range low

Lower range limit

Lower limit of manual trading range. When not in a trade and price is below the lower limit, no new trades will get opened.

Trading range high

Upper range limit

Upper limit of manual trading range. When not in a trade and price is above the upper limit, no new trades will get opened.

Trading range stop

Stop loss target

Stop loss target of manual trading range. When in a trade and the current candle open price is below this target price, all assets get sold immediately.

Trading range DCA stop

Lower limit for allowing DCA orders.

Use this to block DCA orders below a specified price.

Advanced settings#

SettingDescription
Buy enabled

Allow or disallow placing buy orders.

When disabled, no buy orders will be placed at all.

Sell enabled

Allow or disallow placing sell orders.

When disabled, no sell orders will be placed at all.

Stop after next sell

To stop trading a pair after the position closes.

When enabled, no buy orders are placed when there is no balance left to sell.

Averaging down of the current position continues, partial sell orders do not make the bot stop afterwards.

Strict entry

When enabled, more conservative criteria are used to (dis)allow opening new trades. This can lead to times of inactivity after a final sell, by design.

Strict DCA

When enabled, more conservative criteria are used to (dis)allow placing DCA trades.

Forever bags

Force identical behavior below and above break even.

Used to 'ride trends up'. The default strategy behavior is to exit a trade in one or a small number of sell orders above the break even price. Using the 'forever bags' option the break even price is completely ignored.

Exhaustion sensitivity

This setting controls up to which timeframe exhaustion must pass before a next DCA buy is allowed.
- SHORT: do not allow buy orders when short term is exhausted
- MEDIUM: do not allow buy orders when short OR medium term is exhausted
- LONG: do not allow buy orders when short OR medium OR long term is exhausted

Keep quote

Keep a number of units when selling

By setting keep quote at any number above 0, this number of units will be held back when the next sell order happens.

Ignore trades before

Ignore part of the order history

Optional parameter to force Gunbot to not consider any trades before the time set Value represents a unix timestamp in milliseconds. Get a current timestamp on currentmillis.com

Warning: this setting can lead to all kinds of unexpected behavior. Only use it when you know you need it.

tip

Other parameters

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