Unstoppable Grid Trading

Get the most out of your grid trading bot strategy using HaasScript
    -- == Miscellaneous Usefulness
        -- deep clone an object
        function clone(original)
            local copy = {}
            for k, v in pairs(original) do
                if GetType(v) == ArrayDataType then
                    v = clone(v)
                copy[k] = v
            return copy
    -- == Logger
        local LoggerLevels = {
            ErrorsOnly = 'Errors Only',
            ErrorsAndWarnings = 'Erorrs & Warnings',
            All = 'All'
        local Logger = {
            _level = InputOptions('DEBUG Level',
                    {group = '     DEBUG'}),
            _in = 'Main',
            _prevIn = {},
            _log = Log,
            _warn = LogWarning,
            _error = LogError
        function Logger:level()
            if Logger._level == LoggerLevels.ErrorsOnly then
                return 0
            elseif Logger._level == LoggerLevels.ErrorsAndWarnings then
                return 1
            elseif Logger._level == LoggerLevels.All then
                return 2
            LogError('Logger level undefined: "' .. Logger._level .. '"')
        function Logger:where()
            local ret = ''
            local prevs = self._prevIn
            if #prevs > 0 then
                for i = 1, #prevs do
                    if prevs[i] != '' and #prevs[i] > 0 then
                        ret = ret .. prevs[i] .. '::'
            return ret .. self._in
        function Logger:enter(to)
            self._prevIn = ArrayAdd(self._prevIn, self._in)
            self._in = to
        function Logger:exit()
            self._in = ArrayLast(self._prevIn)
            self._prevIn = ArrayPop(self._prevIn)
        function Logger:log(msg, color)
            if self:level() >= 2 then
                if not color then
                    color = ''
                local _in = Logger:where()
                self._log('['.._in..'] '..msg, color)
        function Logger:warn(msg)
            if self:level() >= 1 then
                local _in = Logger:where()
                self._warn('['.._in..'] '..msg)
        function Logger:error(msg)
            local _in = Logger:where()
            self._error('['.._in..'] '..msg)
            DeactivateBot('FCB Deactivation on Error')
    -- == Options for inputs
        local options = {
            SpreadTypes = {
                Fixed = 'Fixed Amount',
                Percentage = 'Percentage',
                PercentageBoost = 'Percentage With Boost',
                Exponential = 'Exponential'
            StartControlTypes = {
                AbovePrice = 'Above Price',
                BelowPrice = 'Below Price'
            Currencies = {
                Base = 'Base',
                Quote = 'Quote'
Unlock the full power of HaasOnline
Start a free trial and enjoy 7-days free. We'll help you make better trades using Grid Trading Bot.
Start free 7-day trial
Jun 07, 23, 10:30:45 Bot deactivated
Jun 07, 23, 10:30:45 Backtest start date: 06/07/23 10:30:45 GTM+0
Jun 07, 23, 10:30:45 Backtest end date: 06/07/23 10:30:45 GTM+0
Jun 07, 23, 10:30:45 Backtest took: 00:00:01.6642358ms
Jun 07, 23, 10:30:45 ----- Custom Report -----
Jun 07, 23, 10:30:45 Estimated Profit: 0.01 BTC
Jun 07, 23, 10:30:45 ----- Backtest report BINANCE_BNB_BTC_ -----
Jun 07, 23, 10:30:45 Gross profits: 100.00000000 BNB
Jun 07, 23, 10:30:45 Fee costs: 10.00000000 BNB
Jun 07, 23, 10:30:45 Realized profits: 90.00000000 BNB
Jun 07, 23, 10:30:45 Return on investment: 10.0000 %
Jun 07, 23, 10:30:45 Price change: 0.0306%
Jun 07, 23, 10:30:45 Closed positions: 100x
Jun 07, 23, 10:30:45 Profitable positions: 60x (90.00%)
Jun 07, 23, 10:30:45 Losing positions: 40x (10.00%)
Jun 07, 23, 10:30:45 Average margin: 5.00000000 BNB
Jun 07, 23, 10:30:45 Average realized profits: 10.00000000 BNB
Jun 07, 23, 10:30:45 Executed orders: 100x
Jun 07, 23, 10:30:45 Completed order: 100x
Jun 07, 23, 10:30:45 Average open time: 10 seconds
Jun 07, 23, 10:30:45 ----- Performance report BINANCE_BNB_BTC_ -----
Jun 07, 23, 10:30:45 Max. DrawDown: 1.00% / 40.00000000 BNB
Jun 07, 23, 10:30:45 Sharpe Ratio: 1.00
Jun 07, 23, 10:30:45 Sortino Ratio: 1.00
Jun 07, 23, 10:30:45 Win %: 3.00 %
Jun 07, 23, 10:30:45 Profit Ratio: 3.00
Jun 07, 23, 10:30:45 Profit Factor: 3.00
Jun 07, 23, 10:30:45 CPC Index: 1.00
Jun 07, 23, 10:30:45 Tail Ratio: 2.00
Jun 07, 23, 10:30:45 Common Sense Ratio: 2.00
Jun 07, 23, 10:30:45 Outlier Win Ratio: 3.00
Jun 07, 23, 10:30:45 Outlier Loss Ratio: 1.00
Jun 07, 23, 10:30:45 Profit Margin Ratio: 54.00
Jun 07, 23, 10:30:45 Biggest Win: 100.00000000
Jun 07, 23, 10:30:45 Biggest Loss: -100.00000000
Jun 07, 23, 10:30:45 Highest Point in PNL: 5.00000000
Jun 07, 23, 10:30:45 Lowest Point in PNL: -5.00000000

*These numbers are for illustration only and do not reflect past or future performance.

The crypto grid trading strategy presents various benefits, and when you utilize trading bots on TradeServer Cloud, you can optimize your trading experience and potentially increase your profits.

Our infamous crypto grid trading bot is often referred to as the flash crash trading bot. The grid trading bot will set pre-orders above and below a specified base price. Buy orders are placed at predefined price points that fall below the set base price. Conversely, sell orders are placed above this base price. When a buy order has been completed, the base price will be moved down and a sell order will be placed on the old base price. When a sell order has been completed the base price moves up and a buy order is placed on the old base price. This approach allows you to take advantage of price fluctuations, capturing profits as the market moves up and down within the grid.

A crypto grid trading strategy can help you capitalize on market fluctuations by placing multiple buy and sell orders within a specific price range. By employing trading bots on TradeServer Cloud, you can automate this process, customize your strategy, and gain valuable insights to improve your overall trading experience.

More Alpha. Less Noise.

See if these exclusive offers can help your trading strategies, claim these rewards while they last!

Promotions offered by third-parties and are subject to availability, terms, and conditions. Other restrictions may apply. Individual results may vary and are not typical.
  • Lower entry point

    Enter and exit more positions at lower price points which translates into a more accessible trading strategy.

  • Ease of use

    As one of the easier to understand trading strategies, the grid trading bot is straightforward to use and customizable.

  • Automation friendly

    Due to the necessity to enter and exit positions quickly and calculate new grids, the grid trading strategy perfectly compliments bots.

  • Sideways markets

    Grid trading bots have the unique advantage of turning a profit in sideways and stagnant markets.

  • Add liquidity

    You increase the market liquidity of the exchange's market by placing both buy and sell orders.

  • Risk management

    You can earn a small but steady profit with minimal risks when you bet on stablecoin pairs.

Frequently Asked Questions

  • What does the grid bot do?

    GRID bot is made to make a profit on a sideways (flat) market by trading between multiple order levels (’grid’).

    The bot will use two currencies of the pair (e.g. BTC / USDT) for placing limit orders for buying and selling and will make a profit in one currency.

    If you choose to make a profit in USDT, the bot will be buying and selling BTC for profit in USDT and vice versa — if you choose BTC, then your bot will be selling it for USDT to buy back cheaper with profit in BTC.

    The bot keeps trading as long as the price stays inside the grid.

    If the price breaks outside, the grid follows it automatically and the bot stays active.

    In other words, the bot makes a profit in USDT on a flat market and follows the price if it moves up, or accumulates Bitcoin on a flat market and follows the price if it goes down.

  • What is the grid bot strategy?

    The driving force of this strategy is a stochastic price fluctuation, also referred to as a ’flat’ or ’sideways’ market.

    When the price is fluctuating in a tight range, you could potentially make an infinite profit by just making trades repeatedly.

    In reality, the price does not stick anywhere for too long, so you need to cover as many levels as possible by splitting your investment into multiple Buy and Sell orders aka ’order grid’.

    You are making profits steadily as long as the price is bouncing inside the grid so that you are buying let’s say 0.1 BTC on each Buy level and selling it at a higher Sell level for profit in USDT.

    The success factors of your strategy are time and volatility — the longer the price stays inside the grid, the longer you keep trading, and the more volatile is the price, the more trades you make.

    Overall, the grid strategy may work well as it is utilizing the only guaranteed market direction — to the right.

  • Is this bot backtest ready?

    We offer a 7-day free trial so you can access all premium features of the GRID bot in live trading mode as well as in the risk-free virtual Demo mode. Moreover, we provide the Backtesting function which is available in the bot editor so you can run the bot in a quick simulation.

Discover alternatives to the Grid Trading Bot

Pro Upgrade1. Completely Free2. Unrestricted Trial3.

Try TradeServer Cloud for 7-days and discover opportunities you've been missing.
Start free 7-day trial ›
1 TradeServer Cloud Pro upgrade is a 7-day trial of a premium subscription. Automatically downgraded to Lite on expiration or non-payment.
2 During the 7-day TradeServer Cloud Pro trial you will not be required to pay to access Pro plan features.
3 Access to premium features within TradeServer Cloud does not include third-party restrictions or unforeseen issues.