Skip to content
strategies7 min read

Pionex neutral grid bot: +8% grid profit, -62% account

A r/Pionex screenshot shows a 10x neutral futures grid with +8.39% grid profit and a 61.88% account loss. Neutral means you start flat, not that you stay flat.

Account after 72 days: minus 61.88 percent, 75.10 USDT down to 28.62. Beneath it the split, a short blue bar for grid profit at plus 8.39 percent against a long red bar for trend PnL at minus 70.28 percent.

Affiliate disclosure: This post may contain affiliate links. If you sign up through a link on this page I may earn a commission at no extra cost to you. This does not affect my ratings. Learn more.

Someone posted their Pionex dashboard to r/Pionex this week under the title "60% loss on Pionex", and the screenshot is the clearest teaching object I've seen all year. A BTC/USDT futures grid, neutral mode, 10x leverage, running 72 days on 75.1 USDT. Grid profit: +6.3 USDT, or +8.39%. Total profit: -46.48 USDT, or -61.88%.

Both numbers are correct. The bot did exactly what it was built to do, 427 completed arbitrage rounds and not a single failed cycle, and the account still lost almost two thirds of its value. Understanding how those two facts coexist is worth more than any bot review, so let's take the screenshot apart.

Neutral describes the first second, not the next 72 days

The word doing the damage here is "neutral." It sounds like market-neutral, delta-neutral, hedged, the language of a position that doesn't care which way price goes. That is not what it means on this bot.

Pionex's own page on the neutral futures grid is explicit: "in a neutral grid, no initial positions are opened," with sell limit orders placed above market price and buy limit orders below. Neutral is a statement about how the bot starts. You begin flat, which is genuinely why the docs can say the margin is more abundant and the liquidation price more favourable than long or short mode.

Now follow the mechanics forward. Price falls, and the bot fills a buy order. Falls further, fills another. Every step down converts a limit order into a long position, so a neutral grid in a falling market is a machine for accumulating longs on the way down. By the time price left the bottom of this user's range, the bot was holding everything it had bought across the entire descent. That's not a malfunction. That is the strategy, executed correctly.

The screenshot shows the range set from 71,382 to 87,244.6, with a start price of 79,346.1. Last price on the screen: 64,121.4. BTC had fallen 19.2% from the start price and was sitting 10.2% below the floor of the grid entirely, which is why the banner reads "The current price is lower than the lower limit. The robot has paused arbitrage."

Paused. The grid stopped earning. The position it had accumulated did not stop existing.

Two numbers on the dashboard, one of them is your money

Here's the part that makes this specific screenshot so useful: it separates the buckets, and you can watch them disagree.

Grid profit reads +6.3. Trend PnL reads -52.78. Add them and you get -46.48, exactly the total. So the dashboard is not lying, it's showing you a complete and honest decomposition. The problem is which of those two numbers a person's eye lands on, and Pionex's knowledge base entry on grid profit describes the design in a line worth reading twice: grid profit is what the bot "has already locked in with executed sell orders," and it "can only be positive and never decreases."

A number that can only go up is not a performance metric, it's a counter. Grid profit measures how busy the bot has been, not whether you made money. It will read green on a dashboard belonging to an account that is being liquidated. Right next to it, this bot displays a grid annualized figure of 42.53% and a total annualized figure of -99.25%, both true, describing the same 72 days.

427 completed rounds produced 6.3 USDT of locked-in grid profit. The position those rounds built lost 52.78. The bot won every battle it was designed to fight and the war was never on that battlefield.

Worth noting the fee side too, because the grid profit is small for a reason. Ninety grids across a range from 71,382 to 87,244.6 puts roughly 176 USDT between levels, about 0.22% per step at these prices. Pionex charges a flat 0.05% per fill, so a completed round trip costs 0.10%. Close to half of every grid cycle's gross spread went to fees before anything reached the user. That's the arithmetic I worked through in the Pionex futures grid review, showing up here in a live account.

The thread got the lesson backwards

The replies were mostly variations on "neutral bot is the worst way to trade" and "you didn't understand the product," with one commenter saying they only ever run long futures grids and would never touch neutral.

I want to push back on that, because it's confidently wrong in a way that will cost somebody money. In a 19% downward move, a long grid would have been worse, not better. Long mode opens a position immediately at launch and then buys down through the same levels, so you'd carry the starting position's full loss on top of everything the grid accumulated. Neutral's flat start is the reason this account was still alive at 64,121 with an estimated liquidation price of 51,552.8 instead of gone. Neutral didn't cause this. Ten times leverage on a directional asset with no stop did.

The original poster asked the better question, and got downvoted for it: "What's the point of a bot that you need to manage based on market movements? Should a bot not adjust for what the market is doing?" The answer given was that you'd need an AI or algorithmic bot instead, which is not really an answer. The honest response is that a grid bot is not a strategy, it's an execution schedule, and an execution schedule has no opinion about whether it should be running today. That's a reasonable thing not to know when the product is sold with a 42.53% annualized number on the screen.

(I'd add that a Pionex rep replied in the thread, in Spanish, explaining that the bot works as designed and pointing to the documentation. Which is fair, accurate, and completely beside the point the user was making.)

What actually would have prevented this

Not a better range, and not a different mode. Two things, neither of which is a bot setting people enjoy discussing.

The first is leverage discipline. At 10x, a 19% adverse move is roughly a 190% move against your margin before the grid's accumulation is even counted, and the only reason this didn't liquidate is the extra margin sitting at 29.09 USDT propping it up. At 1x or 2x, the same 72 days would have been an unpleasant unrealized drawdown rather than a near-death event. That ceiling is the single conclusion I'd carry out of every futures grid piece on this site, including the OKX version where the same range-exit dynamic plays out with a different fee schedule.

The second is a stop, defined before launch. The screenshot's Take Profit/Stop Loss field reads "--". Empty. A grid bot with no stop is a strategy whose only exit condition is you deciding, emotionally, on some bad afternoon, that this is enough.

I don't know this user's full context, and it's possible they were sizing this as money they'd written off to learn something, in which case 75 USDT bought a genuinely good lesson at a fair price. What I can say from the screenshot alone is that the bot behaved correctly, the documentation described the behavior accurately in advance, and neither of those facts protected the account.

If you're running a futures grid right now, go look at whether your stop loss field is empty and what your leverage is set to. Those two fields decide more than your range ever will.

Share:X / TwitterReddit
Hung Phu
Hung Phu
DCA BotsGrid BotsPythonCrypto FuturesBacktesting

Python algo trader since 2019. I build and test trading bots with real capital on Bybit and Binance. AlgoGrade is my lab notebook.

Related posts