Difference between dry and live run

While dry run will try to simulate live run as much as it can, there will still be some difference that might or might not affect your trading result.

You don’t experience the slippage due to order placing

Let’s say you want to buy 100 of coin A using market order. The bot will pull the latest orderbook data from the exchange to check against your preferred order. Okay, it found an existing sell order of 200 coins at price of $0.51. In dry run, the bot will immediately marked the order as successful. You have bought 100 coin A at price of $0.51.

In live, it’s a different story. The bot will have to send the order to the exchange. There have been some time passed (as small as it is) between the last orderbook fetched and the current orderbook. Price could have be different, either down or up. Your order might have ended as 100 coin A at $0.53, or it could be at $0.48.

Same thing will also happens during any additional entries, partial exits, and/or the full exit order. If you sum all the differences, it might or might not be too significant.

You don’t subjected to other rate limits

On dry, all you need to be worry about is candle fetching rate limit. But on live trade, some exchanges have additional limit rate or trading restrictions on some special cases. I have got some in the past, such as

Message: binance {"code":-4192,"msg":"Trade forbidden due to Cooling-off Period."}
Message: binance {"code":-4411,"msg":"Your agreement signature is required. Please upgrade your APP or sign the agreement on the web."}

or other limit, such as you get rate-limited due to running too many live bots on a single VPS that trades frequently. Those limits won’t happen on your dry run.

You don’t influence the price

This is especially important if you are trading using market orders, and either trading using big stake, or trading coin with low liquidity. Let’s say you want to buy 100 of coin A. When the bot pull the orderbook, it found these sell orders

qty price
20  0.55
20  0.54
20  0.53
20  0.52
20  0.51

The end result of your dry run entry order is you have bought 100 of coin A at average entry rate of $0.53. But if you check the candle chart, the latest price of coin A is still at $0.50, while if it’s a live trade, the latest price would have been $0.55.

You are invincible to the market

Continuing from the previous point, it worth noting that other (bot) traders in the market will react differently on different market changes. From the example above, the market will react differently when the price of coin A stays at $0.50, or if it moved to $0.55 because someone just bought 100 of it.

Let’s say, there is a trader that will put sell order once the price hit $0.55. On your dry run case, that sell order won’t ever happen because the live price don’t reach it for (let’s say) the next 2 days. But it’s a different case in live trade, where after you finished your entry order, the sell order of trader B immediately posted and bring the price down to (for example) $0.45. It might trigger action from trader C, which might trigger action from trader D, and so on.

In some cases, just the fact that you are placing a real limit order on the orderbook can trigger action from others, which won’t happen on a dry run.

More points might be added later when I remember them, but these current points are enough to make difference between if you running a strategy on dry vs live run

One comment

Leave a Reply