<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bot LAB</title>
    <description>The latest articles on DEV Community by Bot LAB (@botlab).</description>
    <link>https://dev.to/botlab</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4176924%2Ff768f56f-00fb-4d05-983e-d608497a0de5.png</url>
      <title>DEV Community: Bot LAB</title>
      <link>https://dev.to/botlab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/botlab"/>
    <language>en</language>
    <item>
      <title>Unclaimed ATOM staking rewards: why they do not arrive automatically</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Wed, 04 Nov 2026 10:06:28 +0000</pubDate>
      <link>https://dev.to/botlab/unclaimed-atom-staking-rewards-why-they-do-not-arrive-automatically-2l9f</link>
      <guid>https://dev.to/botlab/unclaimed-atom-staking-rewards-why-they-do-not-arrive-automatically-2l9f</guid>
      <description>&lt;p&gt;If you stake ATOM, your rewards are not added to your wallet balance automatically. They build up and wait until you claim them. Seeing an unclaimed balance is &lt;strong&gt;completely normal&lt;/strong&gt;, and it does not mean anything is stuck.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to claim
&lt;/h2&gt;

&lt;p&gt;Open a Cosmos wallet such as Keplr or Leap, go to staking and choose Claim all. Each claim costs a small fee, so claiming tiny amounts often is not worth it. Some people claim and restake once the amount is meaningfully larger than the fee.&lt;/p&gt;

&lt;p&gt;Unclaimed rewards do not compound. Rewards only earn more once you claim them and delegate them again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do not confuse rewards with unbonding
&lt;/h2&gt;

&lt;p&gt;Unbonding is different. When you undelegate ATOM, it goes through a 21-day waiting period. During that time it earns nothing and cannot be moved, then it returns to your balance automatically. No claim is needed for unbonded ATOM.&lt;/p&gt;

&lt;p&gt;So there are three separate lines to look at: available ATOM, delegated ATOM, and unbonding ATOM, plus rewards on top.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check your own wallet
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://botlab.org.uk/stuckscan?utm_source=learn" rel="noopener noreferrer"&gt;See your ATOM delegations and rewards&lt;/a&gt; with StuckScan. It is free and read-only: you paste a public address, with no wallet connection and no signing. It shows what it checked on each chain, and anything it could not check is listed as such.&lt;/p&gt;

&lt;p&gt;Never share your seed phrase or private key. Nobody legitimate needs them to help you, and BOTLAB never charges a fee to "recover" funds.&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/unclaimed-cosmos-atom-staking-rewards" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>datascience</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Bitcoin transaction stuck unconfirmed? What low fees do and how to fix it</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Wed, 04 Nov 2026 08:06:23 +0000</pubDate>
      <link>https://dev.to/botlab/bitcoin-transaction-stuck-unconfirmed-what-low-fees-do-and-how-to-fix-it-1hlm</link>
      <guid>https://dev.to/botlab/bitcoin-transaction-stuck-unconfirmed-what-low-fees-do-and-how-to-fix-it-1hlm</guid>
      <description>&lt;p&gt;Miners pick transactions largely by fee rate, measured in sats per virtual byte. If yours pays less than others, it waits. Nothing has been lost: an unconfirmed transaction has not moved your coins yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check it first
&lt;/h2&gt;

&lt;p&gt;Paste the transaction ID into a mempool explorer and compare its fee rate with the current recommended rates. If it is close to them, patience is often enough. If it is far below, or below the minimum relay fee, it may wait a very long time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your options
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Replace-by-fee (RBF):&lt;/strong&gt; if you sent it and your wallet supports RBF, use "Bump fee" or "Speed up". This sends a replacement with a higher fee.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Child-pays-for-parent (CPFP):&lt;/strong&gt; if you are the receiver, or the transaction has change returning to you, spend that unconfirmed output with a high fee. Miners then take both transactions together.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wait for it to drop out:&lt;/strong&gt; nodes eventually forget very old unconfirmed transactions, commonly after around two weeks, and your wallet can then let you try again.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Avoid this mistake
&lt;/h2&gt;

&lt;p&gt;Do not resend the same payment from a different wallet while the first one is pending. If both confirm, you have paid twice. Be wary of paid "transaction accelerator" offers from strangers too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check your own wallet
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://botlab.org.uk/stuckscan?utm_source=learn" rel="noopener noreferrer"&gt;Check a wallet for low-fee transactions&lt;/a&gt; with StuckScan. It is free and read-only: you paste a public address, with no wallet connection and no signing. It shows what it checked on each chain, and anything it could not check is listed as such.&lt;/p&gt;

&lt;p&gt;Never share your seed phrase or private key. Nobody legitimate needs them to help you, and BOTLAB never charges a fee to "recover" funds.&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/bitcoin-transaction-stuck-low-fee" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>datascience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>TRX unstaked and 14 days have passed: why you still need to withdraw</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Wed, 04 Nov 2026 08:06:21 +0000</pubDate>
      <link>https://dev.to/botlab/trx-unstaked-and-14-days-have-passed-why-you-still-need-to-withdraw-3g5b</link>
      <guid>https://dev.to/botlab/trx-unstaked-and-14-days-have-passed-why-you-still-need-to-withdraw-3g5b</guid>
      <description>&lt;p&gt;Under TRON Stake 2.0, unstaking is not the last step. After you unstake, the TRX enters a 14-day waiting period. Once that ends, it &lt;strong&gt;does not return to your available balance by itself&lt;/strong&gt;. You need to send one more transaction to withdraw it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open your wallet or Tronscan and connect the address that staked.&lt;/li&gt;
&lt;li&gt;Find the Stake or Resources section.&lt;/li&gt;
&lt;li&gt;Look for the unstaked TRX that has finished waiting, and choose Withdraw.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The transaction uses bandwidth, which most accounts already have, or a small amount of TRX.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Do I lose anything by waiting?&lt;/strong&gt; The amount does not disappear, but it earns no voting rewards while it sits there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I cancel an unstake?&lt;/strong&gt; Stake 2.0 has a function to cancel pending unstakes, and wallets vary in whether they offer it. Check your wallet's staking page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why does my wallet show less TRX than I expected?&lt;/strong&gt; Frozen and unfreezing TRX is often shown separately from the available balance. Add those lines together before assuming anything is missing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check your own wallet
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://botlab.org.uk/stuckscan?utm_source=learn" rel="noopener noreferrer"&gt;Check your TRX staking status&lt;/a&gt; with StuckScan. It is free and read-only: you paste a public address, with no wallet connection and no signing. It shows what it checked on each chain, and anything it could not check is listed as such.&lt;/p&gt;

&lt;p&gt;Never share your seed phrase or private key. Nobody legitimate needs them to help you, and BOTLAB never charges a fee to "recover" funds.&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/trx-unstake-14-days-withdraw" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>datascience</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Unstaked SOL not back in your wallet? Deactivated stake accounts explained</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Wed, 04 Nov 2026 06:06:28 +0000</pubDate>
      <link>https://dev.to/botlab/unstaked-sol-not-back-in-your-wallet-deactivated-stake-accounts-explained-c0h</link>
      <guid>https://dev.to/botlab/unstaked-sol-not-back-in-your-wallet-deactivated-stake-accounts-explained-c0h</guid>
      <description>&lt;p&gt;Staked SOL sits in a separate stake account, not in your main balance. That is why unstaking does not put SOL straight back into your wallet. It takes two steps.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deactivate.&lt;/strong&gt; The stake winds down at the end of the current epoch, which lasts about two days.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Withdraw.&lt;/strong&gt; You then move the SOL from the stake account back to your wallet.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the second step never happens, the SOL stays in the stake account. It is safe, but it earns nothing and it does not appear in your spendable balance.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to withdraw
&lt;/h2&gt;

&lt;p&gt;Open the staking section of the wallet that controls the stake account, such as Phantom or Solflare, find the deactivated account and choose Withdraw. You pay a very small network fee.&lt;/p&gt;

&lt;p&gt;Only the stake account's withdraw authority can do this. That is normally the wallet that created it, but it may not be if the stake came through an exchange or a custody service.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to tell which state you are in
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Active:&lt;/strong&gt; earning rewards. Nothing is wrong.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deactivating:&lt;/strong&gt; wait for the epoch to end.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deactivated:&lt;/strong&gt; withdraw it whenever you like.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not delegated:&lt;/strong&gt; the SOL inside is idle and can be withdrawn.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can look up stake accounts for your address on a Solana explorer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check your own wallet
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://botlab.org.uk/stuckscan?utm_source=learn" rel="noopener noreferrer"&gt;Find your Solana stake accounts&lt;/a&gt; with StuckScan. It is free and read-only: you paste a public address, with no wallet connection and no signing. It shows what it checked on each chain, and anything it could not check is listed as such.&lt;/p&gt;

&lt;p&gt;Never share your seed phrase or private key. Nobody legitimate needs them to help you, and BOTLAB never charges a fee to "recover" funds.&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/solana-stake-deactivated-not-withdrawn" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>datascience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Lido withdrawal finalized but no ETH in your wallet? How to claim it</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Wed, 04 Nov 2026 06:06:27 +0000</pubDate>
      <link>https://dev.to/botlab/lido-withdrawal-finalized-but-no-eth-in-your-wallet-how-to-claim-it-2gbp</link>
      <guid>https://dev.to/botlab/lido-withdrawal-finalized-but-no-eth-in-your-wallet-how-to-claim-it-2gbp</guid>
      <description>&lt;p&gt;A Lido withdrawal has two stages, and only the first happens by itself. After you request a withdrawal, the protocol finalizes it, usually within a few days. &lt;strong&gt;The ETH does not arrive in your wallet at that point.&lt;/strong&gt; You still have to send a claim transaction.&lt;/p&gt;

&lt;p&gt;That catches people out. The request looks finished, nothing arrives, and it is easy to assume something went wrong. In most cases the ETH is waiting for you, with no deadline to claim it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to claim
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open the official Lido app at stake.lido.fi and connect the wallet that made the request.&lt;/li&gt;
&lt;li&gt;Go to Withdrawals, then Claim.&lt;/li&gt;
&lt;li&gt;Select the finalized requests and confirm. You pay only the network fee.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Check the address carefully. Fake staking sites are common, so type it yourself or use a bookmark rather than following a link from a message.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the status means
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pending:&lt;/strong&gt; the request is in the queue. A few days is normal, and it can take longer when many people exit at once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ready to claim (finalized):&lt;/strong&gt; the ETH is available. Claim it whenever you like.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claimed:&lt;/strong&gt; it is finished, and the ETH should be in the wallet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While a request waits, its amount stops earning staking rewards, so there is little reason to leave a finalized request unclaimed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moved your withdrawal NFT?
&lt;/h2&gt;

&lt;p&gt;A request is represented by an unstETH NFT, and whoever holds that NFT can claim. If you moved it to another wallet, claim from that wallet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Small amounts
&lt;/h2&gt;

&lt;p&gt;If the amount is very small, the network fee on Ethereum can be higher than what you would receive. Waiting for a quieter period can help.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check your own wallet
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://botlab.org.uk/stuckscan?utm_source=learn" rel="noopener noreferrer"&gt;Check for unclaimed Lido withdrawals&lt;/a&gt; with StuckScan. It is free and read-only: you paste a public address, with no wallet connection and no signing. It shows what it checked on each chain, and anything it could not check is listed as such.&lt;/p&gt;

&lt;p&gt;Never share your seed phrase or private key. Nobody legitimate needs them to help you, and BOTLAB never charges a fee to "recover" funds.&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/claim-finalized-lido-withdrawal" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>datascience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Hyperliquid Trading Bot: What to Backtest First</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Wed, 04 Nov 2026 04:06:22 +0000</pubDate>
      <link>https://dev.to/botlab/hyperliquid-trading-bot-what-to-backtest-first-3ecd</link>
      <guid>https://dev.to/botlab/hyperliquid-trading-bot-what-to-backtest-first-3ecd</guid>
      <description>&lt;p&gt;Before you trust a Hyperliquid trading bot, backtest its net result after fees, slippage and funding, then check whether that result survives on data the bot has never seen. If it does, run it in paper trading on live prices, because a backtest alone can't show how the bot handles real market conditions.&lt;/p&gt;

&lt;p&gt;New bots and bold screenshots tend to appear wherever attention goes, so it helps to know how to test them. This guide makes no claim about where prices go next.&lt;/p&gt;

&lt;h2&gt;
  
  
  First, define what you are testing
&lt;/h2&gt;

&lt;p&gt;"Hyperliquid trading bot" can mean two different things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A bot that trades the HYPE token&lt;/strong&gt;, on any venue that lists it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A bot that executes on the Hyperliquid exchange&lt;/strong&gt;, on any of its markets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The two have different risks. The first depends on one asset's price history. The second depends on one venue's fees, funding, order books and technical limits. Write down the market, venue, timeframe and order type before you run any test, or your results may not apply to what you later run.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to backtest first
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Total trading costs
&lt;/h3&gt;

&lt;p&gt;Start with costs, because they can end the test quickly. Model all three of these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fees:&lt;/strong&gt; use the fee tier you would actually pay, and separate maker fees from taker fees. Many backtests assume limit orders always fill, which is rarely true.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slippage:&lt;/strong&gt; estimate this from order book depth at your intended order size, not from a flat guess. Depth can vary widely between markets and times of day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Funding:&lt;/strong&gt; perpetual futures charge or pay funding while a position is open. Funding intervals differ by venue, so check the current rules in the exchange docs, and don't reuse assumptions from another venue.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. How much history you really have
&lt;/h3&gt;

&lt;p&gt;HYPE has a relatively short price history, so it covers a limited number of market conditions. A short history creates two problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The bot may have learned one market phase rather than a repeatable pattern.&lt;/li&gt;
&lt;li&gt;You have fewer independent periods to test against.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A strong result on one short period is weak evidence. Our guide on &lt;a href="https://botlab.org.uk/learn/how-many-trades-does-a-backtest-need" rel="noopener noreferrer"&gt;how many trades a backtest needs&lt;/a&gt; explains why sample size matters. Testing the same rules on other liquid markets can also help, though a good result there doesn't prove the bot will work on HYPE.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Out-of-sample and walk-forward results
&lt;/h3&gt;

&lt;p&gt;Split your data before you tune anything. Optimise on one part and keep the later part untouched. Better still, use walk-forward testing: tune on a window, test on the next window, roll forward and repeat.&lt;/p&gt;

&lt;p&gt;Look for these warning signs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most of the result comes from a few trades or one short stretch.&lt;/li&gt;
&lt;li&gt;Small parameter changes turn a gain into a loss.&lt;/li&gt;
&lt;li&gt;Out-of-sample results are far weaker than in-sample results.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. How many versions you tried
&lt;/h3&gt;

&lt;p&gt;If you test hundreds of parameter combinations and keep the best, its score is inflated by selection. Record every variant you run. The &lt;a href="https://botlab.org.uk/learn/deflated-sharpe-ratio-explained" rel="noopener noreferrer"&gt;deflated Sharpe ratio&lt;/a&gt; is one way to adjust for this, and it only works if you count the attempts honestly.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Market exposure versus edge
&lt;/h3&gt;

&lt;p&gt;A long-biased bot can look clever simply because the market rose during the test. Compare the bot with buy-and-hold over the same dates, and split its results into rising, falling and sideways periods.&lt;/p&gt;

&lt;p&gt;If most of the return appears only when the market rises, the bot may just be carrying market exposure. For a coin that tends to move with BTC, also measure the correlation with BTC, because many of your "different" trades may be one bet.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Drawdown and liquidation
&lt;/h3&gt;

&lt;p&gt;Maximum drawdown should be measured on a mark-to-market basis, including open positions, not just on closed trades. If the bot uses leverage, replay the worst periods with liquidation rules included. A backtest that ignores liquidation can show a position recovering when a real account would already have been closed out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Worked example: how costs change the picture
&lt;/h2&gt;

&lt;p&gt;Think of a bot's result as two layers. The gross result is what the entry and exit prices alone would have produced. The net result is what remains after fees on both sides of each trade, slippage on both sides, and funding paid for the hours a position stays open.&lt;/p&gt;

&lt;p&gt;For a bot that trades often and holds for a few hours, each of those costs is small on its own, but they are charged on every trade, so they add up in the same way the gross edge does. A gross edge that looks healthy per trade can shrink to almost nothing once all three are subtracted, and the summed result over a whole backtest can shrink by the same proportion.&lt;/p&gt;

&lt;p&gt;Now stress the test. Assume slippage is worse than your first estimate, as it would be in a thin market or a fast move, and leave everything else unchanged. If the bot's gross edge per trade is only slightly larger than its total costs, that single change can turn a small net gain into a net loss over the whole test.&lt;/p&gt;

&lt;p&gt;The strategy didn't change. Only one cost assumption did, and that was enough to flip the outcome. A bot whose result depends that heavily on a cost assumption has very little margin for error, and you should treat its backtest as fragile until you have tested it with pessimistic costs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Move to paper trading, and measure the gap
&lt;/h2&gt;

&lt;p&gt;A backtest is a controlled replay. Paper trading uses live prices, simulated money and rules fixed in advance, so it can reveal problems a replay hides, such as signal delays, data gaps and bugs in how the bot runs.&lt;/p&gt;

&lt;p&gt;Paper trading still has limits. Your simulated orders don't move the market, and fills can look better than they would in reality. Our guide to &lt;a href="https://botlab.org.uk/learn/paper-trading-crypto-futures-honest-guide" rel="noopener noreferrer"&gt;honest paper trading for crypto futures&lt;/a&gt; covers how to reduce this gap.&lt;/p&gt;

&lt;p&gt;Set these rules before you start:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fix the rules and parameters, with no tuning during the test.&lt;/li&gt;
&lt;li&gt;Decide the minimum number of trades and the test length in advance.&lt;/li&gt;
&lt;li&gt;Compare results with the backtest's trade frequency, average trade and drawdown.&lt;/li&gt;
&lt;li&gt;Stop and investigate if the differences are larger than you expected.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What a high win rate can hide
&lt;/h2&gt;

&lt;p&gt;Our own published data shows why a single number isn't enough. BOTLAB tracks bots against 6 statistical gates (G1–G6), defined on the site. All figures below are paper trading, meaning simulated money at real prices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Combo4h-paper/blocked:&lt;/strong&gt; 64 trades from 12 October to 3 November 2026, with a 75.0% win rate. It passed 5 of 6 gates, has the status "not ready", and its verdict is "market beta, no proven edge".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mr4h/long:&lt;/strong&gt; 143 trades from 16 August to 4 November 2026, with a 72.7% win rate. It passed all 6 gates, and its verdict is still "sample too small to conclude".&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Neither result says anything about how a bot would behave on Hyperliquid or HYPE, and neither predicts future results. They simply show that a high win rate doesn't settle the question.&lt;/p&gt;

&lt;p&gt;To run a basic review of your own bot, try &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;. The &lt;a href="https://botlab.org.uk/platform" rel="noopener noreferrer"&gt;BOTLAB platform page&lt;/a&gt; explains how we monitor and report on bots.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical checks beyond the backtest
&lt;/h2&gt;

&lt;p&gt;Some risks won't appear in a price-based test:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Permissions:&lt;/strong&gt; API keys should be trade-only, with withdrawals off and IP restrictions on where supported. On wallet-based venues, never give anyone your seed phrase or main private key. Use a delegated trading wallet if the venue offers one, and read its documentation first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Technical failure:&lt;/strong&gt; test what happens if the connection drops, an order is rejected or a rate limit is hit. Know how open positions get closed if the bot stops.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Venue risk:&lt;/strong&gt; exchanges can change fees, margin rules and listings, and they can suffer outages. No backtest captures all of this.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local rules:&lt;/strong&gt; check whether a venue is available where you live, and follow the rules that apply to you.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can I backtest a Hyperliquid trading bot with free data?
&lt;/h3&gt;

&lt;p&gt;Often, yes, at least for candle data, but candles alone are usually not enough. For realistic results, you also need historical funding rates and some estimate of order book depth. Check the data for gaps before you trust the output.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are HYPE backtest results reliable?
&lt;/h3&gt;

&lt;p&gt;They are limited by a relatively short price history. Treat them as one piece of evidence, and add out-of-sample tests, cost stress tests and a paper trading period.&lt;/p&gt;

&lt;h3&gt;
  
  
  How long should I paper trade a bot?
&lt;/h3&gt;

&lt;p&gt;There is no fixed length. Set a minimum trade count in advance and try to include different market conditions. A slow bot needs far more calendar time than a fast one to produce the same sample.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does a good backtest mean the bot will work live?
&lt;/h3&gt;

&lt;p&gt;No. It only means the rules would have produced that result on past data under your assumptions. Live trading adds real fills, delays, outages and changing markets, and it can lose money.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Define whether you are testing the HYPE token, the Hyperliquid venue, or both.&lt;/li&gt;
&lt;li&gt;Model fees, slippage and funding first, then stress them.&lt;/li&gt;
&lt;li&gt;Treat short history and heavy tuning as reasons for extra caution.&lt;/li&gt;
&lt;li&gt;Compare results with buy-and-hold to separate market exposure from edge.&lt;/li&gt;
&lt;li&gt;Paper trade with fixed rules before any live decision, and measure the gap against your backtest.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not available in restricted jurisdictions (see the Service Agreement). You trade with your own exchange account; BOTLAB never holds funds.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/hyperliquid-trading-bot-what-to-backtest-first" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>statistics</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Paper Trading Crypto Futures: How to Make It Honest</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Mon, 02 Nov 2026 04:06:22 +0000</pubDate>
      <link>https://dev.to/botlab/paper-trading-crypto-futures-how-to-make-it-honest-45e0</link>
      <guid>https://dev.to/botlab/paper-trading-crypto-futures-how-to-make-it-honest-45e0</guid>
      <description>&lt;p&gt;Paper trading crypto futures means running a strategy or bot with simulated money on real market prices, so you can see how it behaves before risking capital. It is worth doing, but only if the simulation includes fees, slippage, funding payments and liquidation rules. Without those, a paper result will usually look much better than the same strategy would look live.&lt;/p&gt;

&lt;p&gt;This guide shows how to set up an honest futures paper test, what to measure, and how to judge the result without fooling yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why paper trading crypto futures is harder than spot
&lt;/h2&gt;

&lt;p&gt;Spot paper trading is simple: you buy, hold, and sell. Perpetual futures ("perps") add four costs and risks that many paper engines skip or simplify:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Funding payments.&lt;/strong&gt; Perps charge or pay funding at set intervals. A bot that holds positions for hours or days can pay a meaningful amount here.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leverage and liquidation.&lt;/strong&gt; A paper engine that never liquidates you will hide your worst outcomes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Taker fees on both sides.&lt;/strong&gt; Many bots use market orders. Fees are charged on the full position size, not on your margin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slippage.&lt;/strong&gt; Simulated fills at the last price ignore the spread and the order book, especially on fast candles and small coins.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your paper tool ignores any of these, treat its numbers as an upper bound, not an estimate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Paper trading crypto futures: a setup checklist
&lt;/h2&gt;

&lt;p&gt;Before you start a paper run, decide what it must model. A good futures paper test should:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Use the exchange's real fee schedule&lt;/strong&gt; for your account tier, maker and taker separately.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add slippage per side.&lt;/strong&gt; Even a small assumption (for example 0.02–0.10% per side, depending on the coin and order size) is better than zero.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apply funding at the real intervals&lt;/strong&gt; using historical or live funding rates for that contract.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calculate a liquidation price&lt;/strong&gt; for every position from your leverage and the maintenance margin rule, and close the trade if price touches it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use candle data the bot could actually see.&lt;/strong&gt; Signals must use closed candles only, or you get look-ahead bias. See &lt;a href="https://botlab.org.uk/learn/how-to-detect-look-ahead-bias-in-your-own-backtest" rel="noopener noreferrer"&gt;how to detect look-ahead bias&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log every trade&lt;/strong&gt;: entry, exit, size, fee, funding, and the reason for exit.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Decide your success rules before you start
&lt;/h3&gt;

&lt;p&gt;Write down, in advance:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How many trades you need before you judge the result (more on this below).&lt;/li&gt;
&lt;li&gt;The maximum drawdown you would accept.&lt;/li&gt;
&lt;li&gt;What would make you stop the test early.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Setting the rules after you see the results is one of the most common ways traders talk themselves into a weak strategy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Worked example: the paper vs live trading gap
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Illustration only. These are made-up numbers to show the arithmetic. They are not results from any real bot.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Imagine a bot that opens 100 trades on a perp. Each trade uses 1,000 USDT margin at 5x leverage, so each position is 5,000 USDT notional. A basic paper engine (no costs) reports an average gain of +0.30% of notional per trade.&lt;/p&gt;

&lt;p&gt;| Item | Per trade | 100 trades | |---|---|---| | Gross paper result (+0.30% × 5,000) | +15.00 USDT | +1,500 USDT | | Taker fees, assumed 0.055% per side (0.11% round trip) | −5.50 USDT | −550 USDT | | Slippage, assumed 0.05% per side (0.10% round trip) | −5.00 USDT | −500 USDT | | Funding, assumed 2 intervals × 0.01% paid | −1.00 USDT | −100 USDT | | &lt;strong&gt;Net after costs&lt;/strong&gt; | &lt;strong&gt;+3.50 USDT&lt;/strong&gt; | &lt;strong&gt;+350 USDT&lt;/strong&gt; |&lt;/p&gt;

&lt;p&gt;In this illustration, costs remove about 77% of the gross result. A small change in assumptions (say, slippage of 0.08% per side instead of 0.05%) would turn the net result close to zero. That is the paper vs live trading gap in one table.&lt;/p&gt;

&lt;p&gt;Two lessons follow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Costs scale with notional, not margin.&lt;/strong&gt; Leverage makes every fee and slippage figure bigger relative to your capital.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thin edges are fragile.&lt;/strong&gt; If a strategy only survives with optimistic cost assumptions, it probably will not survive live.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For more on how funding interacts with strategy rules, see &lt;a href="https://botlab.org.uk/learn/do-funding-rate-and-open-interest-filters-improve-a-crypto-bot" rel="noopener noreferrer"&gt;do funding rate and open interest filters improve a crypto bot&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to measure during a futures paper test
&lt;/h2&gt;

&lt;p&gt;Win rate on its own tells you little. Track these together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Number of trades.&lt;/strong&gt; Small samples can look great by luck. Our guide on &lt;a href="https://botlab.org.uk/learn/how-many-trades-does-a-backtest-need" rel="noopener noreferrer"&gt;how many trades a backtest needs&lt;/a&gt; covers sample size in detail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Average result per trade after costs&lt;/strong&gt;, in R (multiples of the planned risk) or in % of notional.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Profit factor&lt;/strong&gt;: gross wins divided by gross losses, after costs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maximum drawdown&lt;/strong&gt;, measured from peak equity, including open-position losses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Liquidations and near-liquidations.&lt;/strong&gt; Even one liquidation in a paper test is a serious warning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Funding share.&lt;/strong&gt; What share of total costs came from funding? A high share means holding time matters more than you thought.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Market exposure.&lt;/strong&gt; If the bot is long most of the time in a rising market, its result may just be market direction (beta), not skill.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Compare paper fills with real prices
&lt;/h3&gt;

&lt;p&gt;If you can, sample some paper trades and compare the simulated fill with what the order book actually offered at that time. If paper fills are consistently better, raise your slippage assumption.&lt;/p&gt;

&lt;h2&gt;
  
  
  How long should you paper trade futures?
&lt;/h2&gt;

&lt;p&gt;There is no fixed number of days. What matters is the number of trades and the variety of market conditions. A bot that trades twice a week needs months to show anything; a bot that trades ten times a day may reach a useful sample sooner, but it also pays far more in fees.&lt;/p&gt;

&lt;p&gt;A practical approach:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run until you reach your pre-set trade count.&lt;/li&gt;
&lt;li&gt;Make sure the period includes at least one strong move and one choppy, sideways stretch.&lt;/li&gt;
&lt;li&gt;Judge the result only after costs, and only against the rules you wrote down at the start.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How we judge paper results
&lt;/h2&gt;

&lt;p&gt;At BOTLAB, a bot is only marked "ready for micro live" after it passes 6 statistical gates (G1–G6), defined on the site. Most bots do not pass: of 221 bots tracked, 1 currently has that status and 219 are marked not ready.&lt;/p&gt;

&lt;p&gt;Even a bot that passes needs care. In our published paper trading results, mr4h/long recorded 138 trades over 78 days (16 Aug to 2 Nov 2026, simulated) with a 72.5% win rate and passed all 6 gates, and our verdict is still "sample too small to conclude". That is the standard we suggest for your own tests: a good-looking number is a reason to keep testing, not a reason to go live. You can see how results are tracked on the &lt;a href="https://botlab.org.uk/platform" rel="noopener noreferrer"&gt;platform page&lt;/a&gt;, and recent notes in Lab News such as &lt;a href="https://botlab.org.uk/news/49" rel="noopener noreferrer"&gt;Fees first&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you already have trade logs from your own bot, you can run them through our free tool, &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;, to see how the numbers look after a basic statistical check.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes in futures paper trading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Testing at high leverage "because it's paper".&lt;/strong&gt; Paper trading should match the leverage you would actually use, or the test means nothing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ignoring funding on long holds.&lt;/strong&gt; Swing-style bots on perps can pay funding many times per trade.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restarting the test after a bad week.&lt;/strong&gt; Resetting erases the drawdowns you most need to see.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Changing parameters mid-test.&lt;/strong&gt; Each change starts a new test. Keep a log of every version.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Treating paper as proof.&lt;/strong&gt; Paper trading removes real execution, queue position and emotional pressure. Live results can be worse.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can I paper trade crypto futures for free?
&lt;/h3&gt;

&lt;p&gt;Yes. Many exchanges offer a testnet or demo mode for perps, and several charting and research platforms offer simulated accounts. Check whether the tool models funding, fees, slippage and liquidation before trusting its numbers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I paper trade crypto perps through an API?
&lt;/h3&gt;

&lt;p&gt;Often, yes. Exchange testnets usually expose the same API as the live venue, which lets you test a bot's order logic end to end. Testnet prices and liquidity can differ from the live market, so compare fills against live data where possible. When you later connect any bot to a live account, use a trade-only API key with withdrawals off and IP restriction on.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is TradingView paper trading good enough for futures bots?
&lt;/h3&gt;

&lt;p&gt;It is useful for practising manual entries and checking signals on charts. For bot testing, check whether it charges funding and applies realistic fees and slippage. If it does not, add those costs yourself using a spreadsheet like the table above.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does bot trading work if the paper test is positive?
&lt;/h3&gt;

&lt;p&gt;A positive paper test is one piece of evidence, not proof. It needs enough trades, realistic costs, a period with mixed market conditions, and a result that does not depend on market direction alone. Many strategies that look good on paper fail live. See &lt;a href="https://botlab.org.uk/learn/crypto-trading-bot-backtesting-honest-guide" rel="noopener noreferrer"&gt;crypto trading bot backtesting: an honest how-to guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Paper trading crypto futures is only meaningful if it models fees, slippage, funding and liquidation.&lt;/li&gt;
&lt;li&gt;Costs scale with notional size, so leverage magnifies them.&lt;/li&gt;
&lt;li&gt;Set trade count, drawdown limits and stop rules before you start.&lt;/li&gt;
&lt;li&gt;Judge results after costs, on enough trades, across different market conditions.&lt;/li&gt;
&lt;li&gt;A strong paper result means "keep testing", not "go live".&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not available in restricted jurisdictions (see the Service Agreement). You trade with your own exchange account; BOTLAB never holds funds.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/paper-trading-crypto-futures-honest-guide" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>datascience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Crypto Trading Bots That Work: How to Tell Honestly</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Fri, 30 Oct 2026 04:06:22 +0000</pubDate>
      <link>https://dev.to/botlab/crypto-trading-bots-that-work-how-to-tell-honestly-577j</link>
      <guid>https://dev.to/botlab/crypto-trading-bots-that-work-how-to-tell-honestly-577j</guid>
      <description>&lt;p&gt;People searching for "crypto trading bots that work" usually want a name, but no bot "works" in general. A bot only works if it shows a measurable edge after fees and slippage, over enough trades, in conditions it did not see during design, and most bots fail that test. This guide shows you how to run that test yourself, so you can judge any bot, including one you built, bought or found online.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "a crypto trading bot that works" actually means
&lt;/h2&gt;

&lt;p&gt;A bot that works is not one with a nice screenshot or a high win rate. It is a bot whose results survive four questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Is there enough data?&lt;/strong&gt; A few dozen trades can look brilliant by pure luck.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does it survive real costs?&lt;/strong&gt; Fees, slippage and funding payments eat small edges first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is it more than market beta?&lt;/strong&gt; A long-only bot in a rising market can look clever while simply riding the trend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does it hold up forward?&lt;/strong&gt; Results on data the bot was never tuned on matter far more than the backtest.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a bot cannot answer all four with evidence, you do not know whether it works. That is a fine place to be. It means you keep testing instead of risking capital.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Check the sample size before anything else
&lt;/h2&gt;

&lt;p&gt;Small samples are the most common reason people think a bot works when it does not. With 30 trades, a strategy with zero edge can easily show a 60% win rate.&lt;/p&gt;

&lt;p&gt;Practical rules of thumb:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Under 50 trades: treat results as anecdotes.&lt;/li&gt;
&lt;li&gt;100–300 trades: you can start to see patterns, but confidence intervals are still wide.&lt;/li&gt;
&lt;li&gt;Several hundred trades across different market regimes (trend, range, high volatility): now the numbers begin to mean something.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Days matter as well as trades. A bot that made 300 trades in one week has seen one market regime. For more detail, see &lt;a href="https://botlab.org.uk/learn/how-many-trades-does-a-backtest-need" rel="noopener noreferrer"&gt;How Many Trades Does a Backtest Need?&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Put real costs into every result
&lt;/h2&gt;

&lt;p&gt;Many bots that "work" in a backtest are simply ignoring costs. Add all of these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trading fees&lt;/strong&gt; on both entry and exit (taker fees if the bot uses market orders).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slippage&lt;/strong&gt;: the gap between the price the bot wanted and the price it got. It grows in thin markets and fast moves.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Funding payments&lt;/strong&gt; on perpetual futures, which can run for or against you every few hours.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spread&lt;/strong&gt; on less liquid pairs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Scalping and high-frequency bots are hit hardest, because costs are paid on every trade while the edge per trade is tiny.&lt;/p&gt;

&lt;h2&gt;
  
  
  Worked example: why a 70% win rate can still lose
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;The numbers below are a made-up illustration, not BOTLAB results and not results of any real bot.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Imagine a bot with these backtest stats over 100 trades:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Win rate: 70%&lt;/li&gt;
&lt;li&gt;Average win: +0.8%&lt;/li&gt;
&lt;li&gt;Average loss: −1.6%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Before costs&lt;/strong&gt; (simple sum, ignoring compounding):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wins: 70 × 0.8% = +56%&lt;/li&gt;
&lt;li&gt;Losses: 30 × 1.6% = −48%&lt;/li&gt;
&lt;li&gt;Gross result: &lt;strong&gt;+8%&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now add realistic costs per round trip:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fees: 0.11% (0.055% each side)&lt;/li&gt;
&lt;li&gt;Slippage: 0.10% (0.05% each side)&lt;/li&gt;
&lt;li&gt;Total: 0.21% per trade × 100 trades = &lt;strong&gt;−21%&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Net result: +8% − 21% = −13%.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The high win rate hid a poor ratio of average win to average loss, and costs did the rest. This is why you should judge a bot on expectancy and profit factor after costs, not on win rate alone. See &lt;a href="https://botlab.org.uk/learn/profit-factor-vs-win-rate-trading-bots" rel="noopener noreferrer"&gt;Profit Factor vs Win Rate for Trading Bots&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Separate edge from market beta
&lt;/h2&gt;

&lt;p&gt;If Bitcoin rose strongly during the test period, almost any long-biased bot looks good. Ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How did the bot do compared with simply holding the asset over the same period?&lt;/li&gt;
&lt;li&gt;Did it trade both directions, or only long?&lt;/li&gt;
&lt;li&gt;How did it behave in the falling and sideways parts of the test?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If returns track the market almost one-to-one, the bot is mostly giving you market exposure with extra fees. That is not an edge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Check for overfitting
&lt;/h2&gt;

&lt;p&gt;A bot with many tunable parameters can be fitted to almost any history. Warning signs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Results collapse when you change a parameter slightly (for example, a 20-period moving average works but 18 and 22 do not).&lt;/li&gt;
&lt;li&gt;The developer tested hundreds of variants and shows you only the best one.&lt;/li&gt;
&lt;li&gt;Performance is concentrated in a few huge trades.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tools that help: walk-forward testing, out-of-sample periods, and statistics that adjust for how many variants were tried, such as the &lt;a href="https://botlab.org.uk/learn/deflated-sharpe-ratio-explained" rel="noopener noreferrer"&gt;deflated Sharpe ratio&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Close the paper vs live trading gap
&lt;/h2&gt;

&lt;p&gt;A backtest is a model. Paper trading on live candles is the next step, because it exposes problems a backtest hides: missed fills, late signals, API errors and data gaps. Paper trading uses simulated money at real prices, so it is still not live, but it is a much more honest filter than a backtest.&lt;/p&gt;

&lt;p&gt;When you finally compare paper and live, expect live to be somewhat worse. The size of that gap tells you how realistic your cost assumptions were.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Look at drawdown, not just return
&lt;/h2&gt;

&lt;p&gt;Before trusting any bot, find:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Maximum drawdown&lt;/strong&gt;: the largest peak-to-trough fall in equity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drawdown duration&lt;/strong&gt;: how long it took to recover.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Worst losing streak&lt;/strong&gt;: how many losses in a row.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then ask whether you could sit through that without switching the bot off at the worst moment. A strategy you abandon mid-drawdown does not work for you, whatever the backtest says.&lt;/p&gt;

&lt;h2&gt;
  
  
  Crypto trading bots that work: red flags to avoid
&lt;/h2&gt;

&lt;p&gt;Walk away, or at least dig much deeper, if you see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Promises of fixed monthly returns or "guaranteed" profit.&lt;/li&gt;
&lt;li&gt;Results with no trade count, no dates and no costs.&lt;/li&gt;
&lt;li&gt;Only screenshots, no exportable trade log.&lt;/li&gt;
&lt;li&gt;Pressure to deposit funds with the bot provider rather than using your own exchange account.&lt;/li&gt;
&lt;li&gt;Requests for API keys with withdrawal permission. A bot needs trade-only keys, with withdrawals off and IP restriction on.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What honest results look like in practice
&lt;/h2&gt;

&lt;p&gt;At BOTLAB, a bot is only labelled "ready for micro live" after passing all 6 statistical gates (G1–G6), defined on the site. Most bots do not pass.&lt;/p&gt;

&lt;p&gt;As of 30/10/2026, BOTLAB tracks 212 bots in paper trading (simulated money, real prices): 1 is marked ready for micro live and 211 are not ready. The one that passed, mr4h/long, has 124 paper trades over 74 days (16/08/2026 to 29/10/2026) with a 71.0% win rate, and our own verdict is still "sample too small to conclude". Three Atlas trend bots, with 224–359 paper trades each over 78 days (08/08/2026 to 25/10/2026), passed only 2 of 6 gates, with the verdict "market beta, no proven edge". Publishing the losers is part of the method; see &lt;a href="https://botlab.org.uk/news/42" rel="noopener noreferrer"&gt;Day one: read the losers too&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That ratio is the honest answer to the search: bots that clearly work are rare, and even a bot that passes every test still needs forward data. You can read more about how bots are tested and monitored on the &lt;a href="https://botlab.org.uk/platform" rel="noopener noreferrer"&gt;platform page&lt;/a&gt;. Not available in restricted jurisdictions (see the Service Agreement). You trade with your own exchange account; BOTLAB never holds funds.&lt;/p&gt;

&lt;p&gt;If you have your own bot's trade history, you can run a first sanity check with the free tool: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  A quick checklist you can use today
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;At least a few hundred trades across more than one market regime?&lt;/li&gt;
&lt;li&gt;Fees, slippage and funding included?&lt;/li&gt;
&lt;li&gt;Compared with simply holding the asset?&lt;/li&gt;
&lt;li&gt;Tested out of sample or walk-forward?&lt;/li&gt;
&lt;li&gt;Paper traded on live candles before any real money?&lt;/li&gt;
&lt;li&gt;Max drawdown you could actually live with?&lt;/li&gt;
&lt;li&gt;Trade-only API key, withdrawals off?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If any answer is "no" or "I don't know", the bot has not yet shown that it works.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Are crypto trading bots worth it?
&lt;/h3&gt;

&lt;p&gt;They can be useful for executing rules consistently and testing ideas, but that is different from being profitable. Whether one is worth it depends on evidence: trade count, costs, drawdown and forward results. Without that, you are paying for automation, not an edge. See also &lt;a href="https://botlab.org.uk/learn/is-trading-bot-profitable-how-to-test" rel="noopener noreferrer"&gt;Is a Trading Bot Profitable?&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trading bot vs human: who actually wins?
&lt;/h3&gt;

&lt;p&gt;Neither wins by default. Bots are faster and do not panic, but they follow rules blindly when market conditions change. Humans adapt but break their own rules. The fair comparison is the same strategy, the same costs and the same period, judged on risk-adjusted results.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is paper trading crypto useful before going live?
&lt;/h3&gt;

&lt;p&gt;Yes. Paper trading on live prices catches execution problems, signal delays and unrealistic cost assumptions that backtests miss. It does not include real slippage or emotional pressure, so treat it as a filter, not proof.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is a realistic trading bot success rate?
&lt;/h3&gt;

&lt;p&gt;There is no fixed figure. A win rate means little without the average win, average loss and costs. Read &lt;a href="https://botlab.org.uk/learn/trading-bot-success-rate-explained" rel="noopener noreferrer"&gt;Trading Bot Success Rate: What the Number Really Means&lt;/a&gt; for how to interpret it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No bot "works" in general; it either shows a tested edge after costs or it does not.&lt;/li&gt;
&lt;li&gt;Check sample size, real costs, market beta and overfitting before trusting any result.&lt;/li&gt;
&lt;li&gt;A high win rate can still lose money once fees and slippage are included.&lt;/li&gt;
&lt;li&gt;Paper trade on live candles before risking capital, and expect live results to be worse.&lt;/li&gt;
&lt;li&gt;Use trade-only API keys with withdrawals off, and avoid anyone promising fixed returns.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/crypto-trading-bots-that-work-how-to-tell" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>statistics</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Solana Trading Bot: What to Backtest First</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Wed, 28 Oct 2026 04:06:22 +0000</pubDate>
      <link>https://dev.to/botlab/solana-trading-bot-what-to-backtest-first-5hjk</link>
      <guid>https://dev.to/botlab/solana-trading-bot-what-to-backtest-first-5hjk</guid>
      <description>&lt;p&gt;Before you run a trading bot on Solana, backtest three things first: whether the strategy survives realistic fees, slippage and funding, whether it holds up across different volatility regimes, and whether it has enough trades to mean anything. A SOL bot that looks good on a clean chart often fails one of these tests, so check them before you spend time on settings.&lt;/p&gt;

&lt;p&gt;Solana is getting a lot of attention today, and attention like this often draws new bot users. This guide does not predict where SOL goes next. It shows how to test a bot on a coin that is getting a lot of attention, so you can judge it on evidence instead of excitement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Solana needs its own backtest
&lt;/h2&gt;

&lt;p&gt;A strategy that worked on BTC will not automatically work on SOL. Three differences matter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Higher volatility.&lt;/strong&gt; Altcoins like SOL usually move more than BTC in percentage terms. Stops get hit more often, and leverage hurts faster.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Beta to BTC.&lt;/strong&gt; SOL often moves with BTC, but more sharply. A bot that "wins" on SOL may simply be riding BTC's direction with extra risk on top. That is market beta, not an edge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Attention spikes.&lt;/strong&gt; When a coin trends, spreads, funding rates and order-book depth can change quickly. A backtest built on quiet weeks may not describe a busy one.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So treat a SOL bot as a new strategy, even if the logic was copied from a BTC bot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Price in every cost
&lt;/h2&gt;

&lt;p&gt;Most bot backtests fail here. Gross results ignore what you actually pay.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trading fees
&lt;/h3&gt;

&lt;p&gt;Use your exchange's real taker and maker fees for USDT perpetuals, and count both entry and exit. If your bot uses market orders, assume taker fees on both sides.&lt;/p&gt;

&lt;h3&gt;
  
  
  Slippage
&lt;/h3&gt;

&lt;p&gt;Your fill price is rarely the candle close. Model slippage as a percentage per side and make it pessimistic. Then rerun with double that slippage. If the result collapses, the edge was too thin to be real.&lt;/p&gt;

&lt;h3&gt;
  
  
  Funding
&lt;/h3&gt;

&lt;p&gt;On perpetual futures, longs and shorts pay each other funding, usually every 8 hours. Funding can rise during trending periods. A bot that holds positions for days can lose a noticeable share of its gross result to funding alone. Use historical funding data for SOL perps, not a flat guess.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Split the history into regimes
&lt;/h2&gt;

&lt;p&gt;A single backtest number hides how the bot behaved in different market conditions. Cut your SOL history into periods and test each one separately:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Strong uptrend&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strong downtrend&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sideways and choppy&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-volatility spikes&lt;/strong&gt; (days when SOL or BTC moved sharply)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A trend-following bot will often look good in the first two and bleed in the third. A mean-reversion bot is often the opposite. Neither is "bad", but you need to know which conditions the bot depends on.&lt;/p&gt;

&lt;p&gt;Also compare the bot to simply holding SOL over the same period. If the bot only makes money when SOL rises, and loses when SOL falls, it may be giving you leveraged exposure to SOL rather than a strategy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Check the sample size
&lt;/h2&gt;

&lt;p&gt;Twenty trades on a trending coin prove very little. Results from small samples swing wildly by chance. As a rough rule, you want enough trades across several regimes before drawing conclusions. We go deeper on this in &lt;a href="https://botlab.org.uk/learn/how-many-trades-does-a-backtest-need" rel="noopener noreferrer"&gt;How Many Trades Does a Backtest Need?&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you tested many parameter combinations to find the "best" one, the best result is inflated by luck. The &lt;a href="https://botlab.org.uk/learn/deflated-sharpe-ratio-explained" rel="noopener noreferrer"&gt;Deflated Sharpe Ratio&lt;/a&gt; is one way to adjust for this.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Rule out backtest errors
&lt;/h2&gt;

&lt;p&gt;Before trusting any number, check for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Look-ahead bias:&lt;/strong&gt; the bot uses information it could not have known at the time (for example, a candle's close before it closed). See &lt;a href="https://botlab.org.uk/learn/how-to-detect-look-ahead-bias-in-your-own-backtest" rel="noopener noreferrer"&gt;How to Detect Look-Ahead Bias in Your Own Backtest&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Survivorship bias:&lt;/strong&gt; testing only on coins that are popular today. SOL is trending now; that tells you nothing about how the bot would have picked coins in the past.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unrealistic fills:&lt;/strong&gt; limit orders assumed to fill whenever price touches them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Worked example: how costs change a SOL bot
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Illustration only. These are made-up numbers to show the arithmetic. They are not BOTLAB results and not a forecast for SOL.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Imagine a SOL perpetual bot with this backtest:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;80 trades&lt;/li&gt;
&lt;li&gt;Average gross result: &lt;strong&gt;+0.35% per trade&lt;/strong&gt; (on position size)&lt;/li&gt;
&lt;li&gt;Average holding time: 16 hours&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now add costs per round trip:&lt;/p&gt;

&lt;p&gt;| Cost | Per trade | |---|---| | Fees (0.055% taker × 2 sides) | 0.11% | | Slippage (0.05% × 2 sides) | 0.10% | | Funding (0.01% per 8h × 2 periods, if paying) | 0.02% | | &lt;strong&gt;Total cost&lt;/strong&gt; | &lt;strong&gt;0.23%&lt;/strong&gt; |&lt;/p&gt;

&lt;p&gt;Net result per trade: 0.35% − 0.23% = &lt;strong&gt;+0.12%&lt;/strong&gt;. Costs took about two thirds of the gross result.&lt;/p&gt;

&lt;p&gt;Now stress-test it. During a busy, trending week, assume slippage doubles to 0.10% per side (0.20% per trade) and funding doubles to 0.04%:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Total cost: 0.11% + 0.20% + 0.04% = &lt;strong&gt;0.35%&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Net result per trade: 0.35% − 0.35% = &lt;strong&gt;0.00%&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The same bot is now flat before any bad luck. If a modest cost increase wipes out the edge, the edge is too thin to rely on.&lt;/p&gt;

&lt;h3&gt;
  
  
  What leverage does to this
&lt;/h3&gt;

&lt;p&gt;At x10 leverage, a 10% move against your position is roughly a full loss of the margin on that trade, before fees. Large single-day moves are common in altcoins. Any leverage setting should be tested in the backtest against the worst historical moves, not the average ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Paper trade forward before anything else
&lt;/h2&gt;

&lt;p&gt;A backtest is a story about the past. Paper trading (simulated money, real live prices) tests the bot on data it has never seen, with real-time spreads and timing.&lt;/p&gt;

&lt;p&gt;Run the SOL bot in paper mode for enough trades to cover at least a couple of different market conditions. Compare the paper results with the backtest:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is the win rate similar?&lt;/li&gt;
&lt;li&gt;Is the average trade close to the backtest after costs?&lt;/li&gt;
&lt;li&gt;Are drawdowns deeper than the backtest suggested?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A large gap between backtest and paper results usually means the backtest was too optimistic.&lt;/p&gt;

&lt;h2&gt;
  
  
  How we judge bots at BOTLAB
&lt;/h2&gt;

&lt;p&gt;We hold every bot to 6 statistical gates (G1–G6), defined on the site, and a bot is only marked "ready for micro live" after passing all six. Out of 209 bots tracked, 1 currently has that status and 208 are not ready. For example, our bot mr4h/long passed 6 of 6 gates in paper trading (simulated) from 16 Aug to 28 Oct 2026, with 121 trades and a 70.2% win rate, and our verdict is still "sample too small to conclude". Three Atlas trend bots, with 224 to 359 trades each in paper trading (simulated) from 8 Aug to 25 Oct 2026, were judged "market beta, no proven edge". We publish the bots that fail our gates as well as the ones that pass. You can see how the tools fit together on the &lt;a href="https://botlab.org.uk/platform" rel="noopener noreferrer"&gt;platform page&lt;/a&gt;. All paper results are simulated.&lt;/p&gt;

&lt;p&gt;If you already have a bot's trade history, you can run it through our free tool: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is a Solana trading bot profitable?
&lt;/h3&gt;

&lt;p&gt;There is no general answer. Some strategies have made money on SOL in some periods and lost in others. The only honest way to judge a specific bot is a cost-aware backtest across several regimes, followed by forward paper trading. Even then, past results do not predict future results.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I use the same settings on SOL as on BTC?
&lt;/h3&gt;

&lt;p&gt;Not without testing. SOL usually moves more than BTC, so stop distances, position size and leverage that suit BTC can be too tight or too risky on SOL. Backtest SOL separately.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do BTC moves matter for a SOL bot?
&lt;/h3&gt;

&lt;p&gt;They can. SOL often moves with BTC, so a bot's SOL results may partly reflect BTC's direction. Test how your bot did on days when BTC moved strongly in each direction, and check whether the bot adds anything beyond simply holding SOL.&lt;/p&gt;

&lt;h3&gt;
  
  
  How long should I paper trade a SOL bot?
&lt;/h3&gt;

&lt;p&gt;Long enough to collect a meaningful number of trades across more than one market condition. A single trending week is not enough, because quiet and choppy periods often behave very differently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Test fees, slippage and funding first, then stress-test them at double the cost.&lt;/li&gt;
&lt;li&gt;Split SOL history into trend, chop and spike regimes; know which ones your bot needs.&lt;/li&gt;
&lt;li&gt;Compare the bot with simply holding SOL to separate edge from beta.&lt;/li&gt;
&lt;li&gt;Small samples and heavy parameter searches inflate results.&lt;/li&gt;
&lt;li&gt;Paper trade forward before trusting any backtest.&lt;/li&gt;
&lt;li&gt;Crypto trading can lose money, including all capital.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not available in restricted jurisdictions (see the Service Agreement). You trade with your own exchange account; BOTLAB never holds funds.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/solana-trading-bot-what-to-backtest-first" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>statistics</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Grid Trading Bot Backtest: How to Test One Honestly</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Mon, 26 Oct 2026 04:06:21 +0000</pubDate>
      <link>https://dev.to/botlab/grid-trading-bot-backtest-how-to-test-one-honestly-932</link>
      <guid>https://dev.to/botlab/grid-trading-bot-backtest-how-to-test-one-honestly-932</guid>
      <description>&lt;p&gt;A grid trading bot backtest is only useful if it models how grid orders actually fill, charges every fee and funding payment, and includes the moment price leaves your range. Most grid backtests look smooth because they skip at least one of those, so the honest test is less about the profit line and more about what happens at the edges.&lt;/p&gt;

&lt;p&gt;This guide shows how to backtest a grid bot properly, where grid backtests usually lie, and how to read the result before you risk real money.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a grid trading bot backtest has to prove
&lt;/h2&gt;

&lt;p&gt;A grid bot places buy orders below the current price and sell orders above it, at fixed spacing. Each time price drops to a buy level and then rises back to the next sell level, the bot completes a "round trip" and books a small gain.&lt;/p&gt;

&lt;p&gt;That design makes two promises your backtest must check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;In a range:&lt;/strong&gt; many small round trips add up to more than fees.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Out of a range:&lt;/strong&gt; the losses from holding inventory while price trends away do not erase everything the range earned.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A backtest that only shows the first part is half a test. Grid bots tend to look excellent in sideways data and fail in trending data, so the question is never "did it make money in this window?" but "what did it do in the windows it was not designed for?"&lt;/p&gt;

&lt;h2&gt;
  
  
  How to run a grid trading bot backtest step by step
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Use data fine enough to see the fills
&lt;/h3&gt;

&lt;p&gt;Grid levels are often 0.5–2% apart. On 1-hour or 4-hour candles, price can touch several levels inside one bar, and you cannot know the order in which it touched them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If a single candle's high and low cross both a buy level and the sell level above it, a naive backtest books a full round trip. In reality the order may have been sell-first, or only one side filled.&lt;/li&gt;
&lt;li&gt;Use 1-minute candles or trade data where you can. If you only have coarse candles, adopt a &lt;strong&gt;conservative rule&lt;/strong&gt;: at most one fill per level per bar, and never a buy and its matching sell in the same bar.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Define a realistic fill rule
&lt;/h3&gt;

&lt;p&gt;A limit order "touched" is not a limit order "filled". There is a queue in front of you.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Count a buy as filled only if price trades &lt;em&gt;through&lt;/em&gt; the level (for example, one tick below), not just to it.&lt;/li&gt;
&lt;li&gt;Run the test twice: once with touch-fills and once with trade-through fills. If the result collapses under the stricter rule, the edge was in the fill assumption, not the strategy.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Charge every cost
&lt;/h3&gt;

&lt;p&gt;Grid bots trade a lot for small gains, so costs decide the outcome.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fees:&lt;/strong&gt; use your real maker and taker rates, both sides of every round trip. If some of your orders end up as taker (re-entries, stop-outs, market rebalances), charge taker for those.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slippage:&lt;/strong&gt; small on limit fills, real on any market order, especially exits during fast moves.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Funding:&lt;/strong&gt; if you run a grid on perpetual futures, inventory held across funding times pays or receives funding. In a long trend against you, this adds up quietly. Include it from historical funding data, not an average guess.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Pick the range without peeking
&lt;/h3&gt;

&lt;p&gt;This is the most common hidden bias in grid backtests. If you look at a chart, see that price stayed between two levels for three months, and then set your grid to exactly that range, you have used future information. Of course it worked: you drew the box around the answer.&lt;/p&gt;

&lt;p&gt;Instead, set the range with a rule that only uses past data at the time, for example "range = last 30 days' high and low, recalculated weekly". Our guide on &lt;a href="https://botlab.org.uk/learn/how-to-detect-look-ahead-bias-in-your-own-backtest" rel="noopener noreferrer"&gt;detecting look-ahead bias&lt;/a&gt; covers more ways this sneaks in.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Decide what happens at the edges
&lt;/h3&gt;

&lt;p&gt;Your backtest must include an explicit rule for when price leaves the grid:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stop the bot and close inventory at a loss?&lt;/li&gt;
&lt;li&gt;Hold inventory and wait?&lt;/li&gt;
&lt;li&gt;Shift the grid to follow price?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each choice gives a very different equity curve. Whatever you choose, test it as part of the strategy, not as an afterthought.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Cover more than one market regime
&lt;/h3&gt;

&lt;p&gt;Include at least one strong uptrend, one strong downtrend and one sideways period. A single calm month is a sample of one regime, as we put it in &lt;a href="https://botlab.org.uk/news/35" rel="noopener noreferrer"&gt;One sunny week isn't a climate&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Worked example: why the edges matter
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Illustration only. These are made-up round numbers to show the arithmetic. They are not BOTLAB results and not a forecast.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Imagine a spot grid on a coin priced at 100 USDT:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Range 90 to 110, levels every 2 USDT (about 2% apart).&lt;/li&gt;
&lt;li&gt;1,000 USDT split into 10 orders of 100 USDT each.&lt;/li&gt;
&lt;li&gt;Fee 0.1% per side.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Inside the range.&lt;/strong&gt; One round trip on a 100 USDT order with a 2-point gap earns about 2 USDT gross. Fees on both sides cost about 0.20 USDT. Net is about 1.80 USDT. If the backtest shows 40 round trips in a month, that is roughly 72 USDT net.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then price breaks down to 80.&lt;/strong&gt; Five buy orders filled on the way down, at 98, 96, 94, 92 and 90. At a price of 80, each is now worth less:&lt;/p&gt;

&lt;p&gt;| Buy price | Loss at 80 (per 100 USDT order) | |---|---| | 98 | about 18.4 USDT | | 96 | about 16.7 USDT | | 94 | about 14.9 USDT | | 92 | about 13.0 USDT | | 90 | about 11.1 USDT | | &lt;strong&gt;Total&lt;/strong&gt; | &lt;strong&gt;about 74 USDT&lt;/strong&gt; |&lt;/p&gt;

&lt;p&gt;One move of 20% wipes out the whole month of round trips, before any slippage on an exit. If this were a leveraged futures grid, the same move could hit liquidation and add funding costs.&lt;/p&gt;

&lt;p&gt;The lesson: a grid backtest that ends while price is still inside the range is showing you the 72 USDT and hiding the 74.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to read the results honestly
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Trade count overstates your sample
&lt;/h3&gt;

&lt;p&gt;A grid bot can log hundreds of round trips in a few weeks. That looks like a big sample, but those trades are highly correlated: they all depend on the same thing, price staying in the range. Three hundred round trips inside one sideways month are closer to one observation of "sideways market" than to 300 independent tests. See &lt;a href="https://botlab.org.uk/learn/how-many-trades-does-a-backtest-need" rel="noopener noreferrer"&gt;how many trades a backtest needs&lt;/a&gt; for why the number of &lt;em&gt;independent&lt;/em&gt; outcomes matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  Win rate will look high, and mean little
&lt;/h3&gt;

&lt;p&gt;Grid bots close winners often and hold losers as open inventory. A 90% win rate on closed trades can sit next to a large unrealised loss. Always judge on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Equity including open positions&lt;/strong&gt;, marked to market every bar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maximum drawdown&lt;/strong&gt;, including unrealised losses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Profit after all costs&lt;/strong&gt;, divided by the worst drawdown.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Check for overfitting
&lt;/h3&gt;

&lt;p&gt;If you tested 50 combinations of range width, grid count and spacing, then the best one will look good partly by luck. Signs of overfitting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Results change sharply when you move spacing slightly (say 1.8% vs 2.0%).&lt;/li&gt;
&lt;li&gt;The best settings differ a lot between one year and the next.&lt;/li&gt;
&lt;li&gt;Performance depends on one or two big trending bars landing at the right moment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use walk-forward testing: choose settings on one period, then test them unchanged on the next. Our &lt;a href="https://botlab.org.uk/learn/crypto-trading-bot-backtesting-honest-guide" rel="noopener noreferrer"&gt;honest backtesting guide&lt;/a&gt; walks through the process.&lt;/p&gt;

&lt;h3&gt;
  
  
  Then forward test on paper
&lt;/h3&gt;

&lt;p&gt;A backtest is a hypothesis. The next step is paper trading on live prices for long enough to see a range break, then comparing paper fills with what the backtest predicted. The gap between them, from fills, latency and fees, is information you cannot get from historical data.&lt;/p&gt;

&lt;h2&gt;
  
  
  How we judge bots at BOTLAB
&lt;/h2&gt;

&lt;p&gt;We run every bot through 6 statistical gates (G1–G6), defined on the site, and publish paper trading (simulated money, real prices) results, losers included. Of 204 bots tracked as of 26 Oct 2026, 202 are NOT_READY. One, mr4h/long, has passed all 6 gates with 110 paper trades between 16 Aug and 26 Oct 2026, and even there our verdict is "sample too small to conclude". That is the standard we suggest for any grid bot: passing tests is a reason to keep watching, not proof of an edge.&lt;/p&gt;

&lt;p&gt;If you already have a bot's trade log, you can run it through our free tool: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;. Details of the hosted software and plans are on &lt;a href="https://botlab.org.uk/platform" rel="noopener noreferrer"&gt;/platform&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is a grid trading bot profitable?
&lt;/h3&gt;

&lt;p&gt;It can make money in ranging markets and lose money in trending ones, and nobody can know in advance which regime is coming. A backtest can tell you how the bot behaved in past regimes after costs. It cannot tell you future results. Our article on &lt;a href="https://botlab.org.uk/learn/is-trading-bot-profitable-how-to-test" rel="noopener noreferrer"&gt;whether a trading bot is profitable&lt;/a&gt; explains how to test that question.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I backtest a grid bot for free?
&lt;/h3&gt;

&lt;p&gt;Yes. You can use free historical candle data and a spreadsheet or open-source backtesting library, as long as you apply strict fill rules and real fees. Free paper trading on live prices is a good second step before any real money.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the best grid trading bot strategy?
&lt;/h3&gt;

&lt;p&gt;There is no single best setting. A useful grid strategy is one whose range rule, spacing and exit rule survive walk-forward testing across several regimes, with acceptable drawdown when price leaves the range. Be cautious of any setting that only works on one period.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should a grid bot use spot or futures?
&lt;/h3&gt;

&lt;p&gt;Futures add leverage, funding costs and liquidation risk, which a backtest must model explicitly. Spot grids avoid liquidation but still carry inventory risk when price trends down. This is a general description, not a recommendation for your situation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A grid trading bot backtest must model fills, fees, slippage and funding, or it will overstate results.&lt;/li&gt;
&lt;li&gt;Set the range with a rule that only uses past data; drawing the range on a chart is look-ahead bias.&lt;/li&gt;
&lt;li&gt;Always test what happens when price leaves the range; that is where grid losses come from.&lt;/li&gt;
&lt;li&gt;Hundreds of grid trades in one regime are not a large independent sample.&lt;/li&gt;
&lt;li&gt;Judge on equity including open positions and max drawdown, then forward test on paper.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not available in restricted jurisdictions (see the Service Agreement). You trade with your own exchange account; BOTLAB never holds funds.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Want these checks run on your own strategy? See the &lt;a href="https://botlab.org.uk/audit" rel="noopener noreferrer"&gt;strategy and backtest audit&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/grid-trading-bot-backtest-honest-guide" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>statistics</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Crypto Trading Bot Backtesting: An Honest How-To Guide</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Fri, 23 Oct 2026 04:06:21 +0000</pubDate>
      <link>https://dev.to/botlab/crypto-trading-bot-backtesting-an-honest-how-to-guide-383l</link>
      <guid>https://dev.to/botlab/crypto-trading-bot-backtesting-an-honest-how-to-guide-383l</guid>
      <description>&lt;p&gt;Crypto trading bot backtesting means running a bot's rules over past market data to see how it would have traded, before you risk any money. Done honestly, it does not tell you whether a bot will make money. It tells you whether a bot is worth testing further, and most bots fail that test.&lt;/p&gt;

&lt;p&gt;This guide shows how to run a backtest that is hard to fool: realistic costs, enough trades, data the bot never saw, and a forward test on live prices.&lt;/p&gt;

&lt;h2&gt;
  
  
  What crypto trading bot backtesting can and cannot tell you
&lt;/h2&gt;

&lt;p&gt;A backtest replays history. It can show:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How often the rules would have traded&lt;/li&gt;
&lt;li&gt;How large the losing streaks and drawdowns could get&lt;/li&gt;
&lt;li&gt;How sensitive results are to fees, slippage and funding&lt;/li&gt;
&lt;li&gt;Whether the edge holds across different coins and time periods&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It cannot show:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How the bot behaves in market conditions that never appeared in your data&lt;/li&gt;
&lt;li&gt;Your real fills during fast moves or thin order books&lt;/li&gt;
&lt;li&gt;Whether the edge was real or a pattern you found by trying many settings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A backtest is the first filter, not the final verdict.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why most crypto bot backtests look better than reality
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Costs are missing or too small
&lt;/h3&gt;

&lt;p&gt;Many tools default to zero fees and perfect fills. On perpetual futures you pay a trading fee on every entry and exit, you lose some price to slippage, and you pay or receive funding every few hours while a position is open. A strategy that trades often can turn from positive to negative once these are included.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Overfitting
&lt;/h3&gt;

&lt;p&gt;If you test 200 combinations of moving-average lengths and pick the best one, that "best" result is partly luck. The more variants you try, the better the top one looks by chance. The deflated Sharpe ratio is one way to correct for this; see &lt;a href="https://botlab.org.uk/learn/deflated-sharpe-ratio-explained" rel="noopener noreferrer"&gt;Deflated Sharpe Ratio Explained&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Look-ahead bias
&lt;/h3&gt;

&lt;p&gt;The bot uses information it would not have had at the time. A common example is acting on a candle's close while it is still forming. Our guide on &lt;a href="https://botlab.org.uk/learn/how-to-detect-look-ahead-bias-in-your-own-backtest" rel="noopener noreferrer"&gt;how to detect look-ahead bias in your own backtest&lt;/a&gt; walks through the checks.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Too few trades
&lt;/h3&gt;

&lt;p&gt;Twenty trades with a 70% win rate can easily be noise. You need enough trades for the result to be distinguishable from luck; see &lt;a href="https://botlab.org.uk/learn/how-many-trades-does-a-backtest-need" rel="noopener noreferrer"&gt;How Many Trades Does a Backtest Need?&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. One market regime
&lt;/h3&gt;

&lt;p&gt;A trend bot tested only during a strong rally will look excellent. That may be market beta (the coin went up), not skill. Always compare against simply holding the asset over the same period.&lt;/p&gt;

&lt;h2&gt;
  
  
  A step-by-step backtesting process
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Write the rules down before you test
&lt;/h3&gt;

&lt;p&gt;State entry, exit, stop, position size and which coins and timeframes the bot trades. If you change the rules after seeing results, record every change. Each one counts as another attempt.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Use clean, realistic data
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use the exchange's own candles for the instrument you will trade (spot vs perpetual prices differ).&lt;/li&gt;
&lt;li&gt;Check for gaps, duplicate candles and exchange outages.&lt;/li&gt;
&lt;li&gt;For perpetuals, include historical funding rates.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 3: Model costs pessimistically
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Taker fee on both sides unless you are sure your orders rest as maker&lt;/li&gt;
&lt;li&gt;Slippage per trade (larger for small-cap coins and fast moves)&lt;/li&gt;
&lt;li&gt;Funding for every interval a position is held&lt;/li&gt;
&lt;li&gt;If your account is funded in USDT, include any conversion or withdrawal costs you actually pay&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the strategy only works with costs set to zero, it does not work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Split your data
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;In-sample:&lt;/strong&gt; where you design and tune the rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Out-of-sample:&lt;/strong&gt; a later period you do not touch until the rules are frozen&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Walk-forward:&lt;/strong&gt; repeat tune-then-test across rolling windows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If out-of-sample results collapse compared with in-sample, assume overfitting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Measure more than total return
&lt;/h3&gt;

&lt;p&gt;Look at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Number of trades and test period&lt;/li&gt;
&lt;li&gt;Win rate together with average win and average loss (see &lt;a href="https://botlab.org.uk/learn/profit-factor-vs-win-rate-trading-bots" rel="noopener noreferrer"&gt;Profit Factor vs Win Rate&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Maximum drawdown and the longest time spent under a previous peak&lt;/li&gt;
&lt;li&gt;Result versus buy-and-hold over the same dates&lt;/li&gt;
&lt;li&gt;Result per coin and per year, not only the total&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 6: Stress test
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Double your slippage estimate&lt;/li&gt;
&lt;li&gt;Shift entries by one candle&lt;/li&gt;
&lt;li&gt;Nudge each parameter by 10–20%&lt;/li&gt;
&lt;li&gt;Remove the single best trade&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A robust strategy degrades gradually. A fragile one falls apart.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 7: Forward test on paper
&lt;/h3&gt;

&lt;p&gt;Run the frozen rules on live prices with simulated money. This is where the paper vs live trading gap starts to show: missed fills, latency, and conditions the backtest never saw. Only forward results should change your opinion of a bot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Worked example: what costs do to a scalping bot
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Illustration only. These are made-up numbers to show the arithmetic. They are not BOTLAB results and not a real bot.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A bot on a 5-minute chart shows this backtest with zero costs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;600 trades over 3 months&lt;/li&gt;
&lt;li&gt;Average gross result per trade: +0.10% of position size&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That looks like a steady edge. Now add realistic costs per round trip:&lt;/p&gt;

&lt;p&gt;| Cost item | Per round trip | |---|---| | Taker fee, entry + exit (0.055% each) | 0.110% | | Slippage (0.015% each side) | 0.030% | | Average funding while held | 0.005% | | &lt;strong&gt;Total cost&lt;/strong&gt; | &lt;strong&gt;0.145%&lt;/strong&gt; |&lt;/p&gt;

&lt;p&gt;Net result per trade: 0.10% − 0.145% = &lt;strong&gt;−0.045%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Across 600 trades, before compounding, that is roughly 600 × −0.045% = −27% of position size. The same rules that looked profitable now lose money. Nothing about the signal changed, only the honesty of the cost model.&lt;/p&gt;

&lt;p&gt;The lesson: the more often a bot trades, the bigger its edge per trade must be to survive costs.&lt;/p&gt;

&lt;h2&gt;
  
  
  How we apply this in practice
&lt;/h2&gt;

&lt;p&gt;BOTLAB uses 6 statistical gates (G1–G6), defined on the site, that a bot must pass before it is considered for anything beyond paper trading. Most bots do not pass.&lt;/p&gt;

&lt;p&gt;Our published results include the losers. For example, in BOTLAB paper trading (simulated money, real prices), Atlas/donchian-20d made 353 trades between 2026-08-08 and 2026-10-23 with a 41.6% win rate, and our verdict was "market beta, no proven edge". In other words, it mostly followed the market rather than showing skill. We wrote it up in &lt;a href="https://botlab.org.uk/news/30" rel="noopener noreferrer"&gt;Graveyard story: Atlas/donchian-20d&lt;/a&gt;. Paper results are simulated, and past results do not predict future results.&lt;/p&gt;

&lt;p&gt;If you already have a backtest or trade log, you can run it through the free &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt; tool to see common warning signs, or read more about how the research platform works on &lt;a href="https://botlab.org.uk/platform" rel="noopener noreferrer"&gt;/platform&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes checklist
&lt;/h2&gt;

&lt;p&gt;Before you trust a backtest, ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are fees, slippage and funding all included?&lt;/li&gt;
&lt;li&gt;Is there an out-of-sample or walk-forward period?&lt;/li&gt;
&lt;li&gt;How many variants did I try before picking this one?&lt;/li&gt;
&lt;li&gt;Are there enough trades to separate skill from luck?&lt;/li&gt;
&lt;li&gt;Does it beat buy-and-hold over the same dates, after costs?&lt;/li&gt;
&lt;li&gt;Does it survive small parameter changes?&lt;/li&gt;
&lt;li&gt;Has it been forward tested on live prices?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you answer "no" or "not sure" to several of these, the backtest is not evidence yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is there free trading bot backtesting software?
&lt;/h3&gt;

&lt;p&gt;Yes. Many charting platforms and open-source libraries let you backtest for free. The tool matters less than the method: check that it lets you set fees, slippage and funding, and that you can hold back an out-of-sample period.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do you backtest a grid trading bot?
&lt;/h3&gt;

&lt;p&gt;Grid bots need a fill model at every grid level, fees on each small trade, and a test across trending periods, not only sideways ones. Grids often look smooth in ranges and then carry large losses when price breaks out of the range and keeps going. Include that scenario in your data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does bot trading work?
&lt;/h3&gt;

&lt;p&gt;Some rule-based strategies have shown an edge for a while; many have not. A bot is a tool that executes rules. If the rules have no edge after costs, automation only loses money faster. Test honestly and expect most ideas to fail. Our guide &lt;a href="https://botlab.org.uk/learn/is-trading-bot-profitable-how-to-test" rel="noopener noreferrer"&gt;Is a Trading Bot Profitable? How to Test One Honestly&lt;/a&gt; goes further.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is a Python trading bot backtest more accurate?
&lt;/h3&gt;

&lt;p&gt;Not automatically. Writing your own backtester gives control, but it also makes look-ahead bias and cost mistakes easier to introduce. Validate it against a few trades you can calculate by hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Crypto trading bot backtesting is a filter, not a forecast.&lt;/li&gt;
&lt;li&gt;Include fees, slippage and funding, pessimistically.&lt;/li&gt;
&lt;li&gt;Count every variant you tried; overfitting grows with each one.&lt;/li&gt;
&lt;li&gt;Use out-of-sample data, walk-forward tests and stress tests.&lt;/li&gt;
&lt;li&gt;Compare against buy-and-hold to separate edge from market beta.&lt;/li&gt;
&lt;li&gt;Only forward paper results on live prices should change your view of a bot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not available in restricted jurisdictions (see the Service Agreement). You trade with your own exchange account; BOTLAB never holds funds.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/crypto-trading-bot-backtesting-honest-guide" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>statistics</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Chainlink Trading Bot: What to Backtest First</title>
      <dc:creator>Bot LAB</dc:creator>
      <pubDate>Wed, 21 Oct 2026 04:06:22 +0000</pubDate>
      <link>https://dev.to/botlab/chainlink-trading-bot-what-to-backtest-first-5f0l</link>
      <guid>https://dev.to/botlab/chainlink-trading-bot-what-to-backtest-first-5f0l</guid>
      <description>&lt;p&gt;Before you run a trading bot on Chainlink (LINK), backtest three things first: whether the strategy survives realistic fees, slippage and funding costs, whether it has enough trades to mean anything, and how deep its worst drawdown gets. A coin being in the news changes how many people watch it. It does not change how you should test a bot.&lt;/p&gt;

&lt;p&gt;Chainlink is on today's trending list, and attention brings a familiar urge: point a bot at the hot coin and see what happens. This guide shows what to check before any bot gets near a real account. It says nothing about where LINK's price is heading, because a testing guide can't tell you that and shouldn't try.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a trending coin needs more testing, not less
&lt;/h2&gt;

&lt;p&gt;When a coin trends, three things often change at once:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Volatility can change.&lt;/strong&gt; A backtest built on calm months may not reflect a busier market, or the other way round.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Liquidity conditions shift.&lt;/strong&gt; Spreads and order book depth on altcoin pairs can move a lot from one week to the next.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your own bias grows.&lt;/strong&gt; If you already expect a move, you are more likely to accept a backtest that agrees with you.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rule is simple. Test the strategy as if the coin were boring. If the logic only works because of recent excitement, you have learned about the news, not about your bot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Put real costs into the backtest
&lt;/h2&gt;

&lt;p&gt;Most altcoin bots that look good on paper fail here first. A backtest without costs is a sketch, not a test.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fees
&lt;/h3&gt;

&lt;p&gt;Count the fee on every entry and every exit. Use taker fees unless you have proof your orders fill as maker. Market and stop orders are usually taker.&lt;/p&gt;

&lt;h3&gt;
  
  
  Slippage
&lt;/h3&gt;

&lt;p&gt;Slippage is the gap between the price your backtest assumed and the price you would actually get. On a mid-cap pair it is often larger than on BTC or ETH, and it tends to be worst exactly when the bot wants to trade: on fast candles and breakouts.&lt;/p&gt;

&lt;p&gt;A practical check: rerun the backtest at 2x and 3x your slippage estimate. If the result flips from positive to negative, the edge is too thin to trust.&lt;/p&gt;

&lt;h3&gt;
  
  
  Funding cost on perpetuals
&lt;/h3&gt;

&lt;p&gt;If the bot trades perpetual futures, it pays or receives funding while positions are open. Bots that hold for hours or days can lose a meaningful share of their gross result to funding. Model it from historical funding data rather than assuming zero. For more on funding-based filters, see &lt;a href="https://botlab.org.uk/learn/do-funding-rate-and-open-interest-filters-improve-a-crypto-bot" rel="noopener noreferrer"&gt;Do Funding Rate and Open Interest Filters Improve a Crypto Bot?&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Worked example: a LINK bot before and after costs
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;The numbers below are a made-up illustration to show the method. They are not BOTLAB results and not results of any real bot.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Imagine a short-term LINK perpetual strategy with this backtest:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;140 trades over 60 days&lt;/li&gt;
&lt;li&gt;Average gross result per trade: &lt;strong&gt;+0.14%&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Win rate: 58%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That looks fine. Now add costs, per round trip:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Taker fee 0.055% on entry plus 0.055% on exit = &lt;strong&gt;0.11%&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Estimated slippage, both sides = &lt;strong&gt;0.04%&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Average funding paid while holding = &lt;strong&gt;0.01%&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Total cost per trade = 0.11% + 0.04% + 0.01% = &lt;strong&gt;0.16%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Net result per trade = 0.14% − 0.16% = &lt;strong&gt;−0.02%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The win rate did not change, but the strategy went from "working" to slowly losing. This is why win rate alone tells you little; see &lt;a href="https://botlab.org.uk/learn/profit-factor-vs-win-rate-trading-bots" rel="noopener noreferrer"&gt;Profit Factor vs Win Rate for Trading Bots&lt;/a&gt;. Leverage does not fix this. It multiplies both the gross result and the losses, and it brings liquidation risk closer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Check the sample size
&lt;/h2&gt;

&lt;p&gt;A backtest with 25 trades can look excellent by luck alone. Before you trust any LINK result, ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;How many trades?&lt;/strong&gt; Dozens are rarely enough. A few hundred, spread over different market conditions, tells you much more. Our guide &lt;a href="https://botlab.org.uk/learn/how-many-trades-does-a-backtest-need" rel="noopener noreferrer"&gt;How Many Trades Does a Backtest Need?&lt;/a&gt; goes into the details.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How many conditions?&lt;/strong&gt; Did the test include trending, falling and sideways periods, or only one regime?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How concentrated is the result?&lt;/strong&gt; If removing the best 3 trades erases the profit, the bot depends on rare events.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3: Look for overfitting
&lt;/h2&gt;

&lt;p&gt;Overfitting means the strategy learned the noise in past data instead of a repeatable pattern. Trending coins invite it, because it is tempting to tune parameters until the backtest catches the recent move perfectly.&lt;/p&gt;

&lt;p&gt;Warning signs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Many parameters for a small number of trades&lt;/li&gt;
&lt;li&gt;Results that collapse when a setting changes slightly (say, a 20-period lookback works but 18 and 22 do not)&lt;/li&gt;
&lt;li&gt;You tried dozens of variants and are reporting only the best one&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Out-of-sample testing.&lt;/strong&gt; Tune on one period, then test on data the strategy never saw.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Walk-forward testing.&lt;/strong&gt; Repeat the tune-then-test cycle across rolling windows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adjust for the number of attempts.&lt;/strong&gt; If you tested 50 variants, the best Sharpe ratio is inflated. The &lt;a href="https://botlab.org.uk/learn/deflated-sharpe-ratio-explained" rel="noopener noreferrer"&gt;deflated Sharpe ratio&lt;/a&gt; corrects for this.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check for look-ahead bias&lt;/strong&gt;, where the backtest accidentally uses information that wasn't available at the time: &lt;a href="https://botlab.org.uk/learn/how-to-detect-look-ahead-bias-in-your-own-backtest" rel="noopener noreferrer"&gt;How to Detect Look-Ahead Bias&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 4: Measure drawdown before you look at the total
&lt;/h2&gt;

&lt;p&gt;Total result is the number people share. Maximum drawdown is the number that decides whether you can live with the bot.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What was the deepest peak-to-trough fall in the backtest?&lt;/li&gt;
&lt;li&gt;How long did it take to recover?&lt;/li&gt;
&lt;li&gt;What would that drawdown look like with the leverage you plan to use?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Expect live drawdowns to be deeper than backtest drawdowns. Set a drawdown alert in advance, a level where you pause the bot and investigate, rather than deciding in the middle of a losing streak.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Paper trade forward and compare
&lt;/h2&gt;

&lt;p&gt;A backtest replays history. A forward paper test (simulated money, live prices) shows how the bot behaves on candles it has never seen. Then compare:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Paper fills vs backtest assumptions&lt;/li&gt;
&lt;li&gt;Trade frequency vs backtest frequency&lt;/li&gt;
&lt;li&gt;Drawdown vs backtest drawdown&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The paper vs live trading gap is real. Paper trading still doesn't capture every partial fill, rejected order or API delay, so treat even good paper results as a starting point, not a conclusion.&lt;/p&gt;

&lt;h2&gt;
  
  
  How we apply this at the lab
&lt;/h2&gt;

&lt;p&gt;At BOTLAB, every bot is judged against 6 statistical gates (G1–G6), defined on the site, and we publish the losers alongside the rest. One example from our published paper trading (simulated) results: Atlas/donchian-20d made 347 trades from 2026-08-08 to 2026-10-18, with a 41.8% win rate, and our verdict was "market beta, no proven edge". That is a useful lesson in itself: plenty of trades and a long period still did not show an edge beyond following the market. The full story is in &lt;a href="https://botlab.org.uk/news/30" rel="noopener noreferrer"&gt;Graveyard story: Atlas/donchian-20d&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Before you trust a strategy, you can run it through our free tool: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;. To see how hosted bots and paper results fit together, visit the &lt;a href="https://botlab.org.uk/platform" rel="noopener noreferrer"&gt;platform page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Not available in restricted jurisdictions (see the Service Agreement). You trade with your own exchange account; BOTLAB never holds funds.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A quick pre-launch checklist for any LINK bot
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Fees modelled as taker on every entry and exit&lt;/li&gt;
&lt;li&gt;[ ] Slippage stress-tested at 2x and 3x&lt;/li&gt;
&lt;li&gt;[ ] Funding included for perpetual positions&lt;/li&gt;
&lt;li&gt;[ ] Enough trades across more than one market regime&lt;/li&gt;
&lt;li&gt;[ ] Out-of-sample or walk-forward test done&lt;/li&gt;
&lt;li&gt;[ ] Number of variants tested written down&lt;/li&gt;
&lt;li&gt;[ ] Max drawdown known, and a pause level set&lt;/li&gt;
&lt;li&gt;[ ] Forward paper test compared with the backtest&lt;/li&gt;
&lt;li&gt;[ ] API key set to trade-only, withdrawals off, IP-restricted&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is a Chainlink trading bot different from a BTC bot?
&lt;/h3&gt;

&lt;p&gt;The testing method is the same. Practical conditions often differ: altcoin pairs can have wider spreads, thinner order books and different funding behaviour, so cost assumptions that worked on BTC may be too optimistic for LINK. Test each pair with its own data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I backtest only the recent trending period?
&lt;/h3&gt;

&lt;p&gt;No. A test limited to a period when the coin was in the headlines tells you how the bot did in one unusual window. Include quiet and falling periods as well, then check that results hold out of sample.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can a high win rate make up for trading costs?
&lt;/h3&gt;

&lt;p&gt;Not by itself. As the illustration shows, a bot can win most of its trades and still lose money once fees, slippage and funding are counted. Look at net result per trade, profit factor and drawdown together.&lt;/p&gt;

&lt;h3&gt;
  
  
  How long should I paper trade before considering a live account?
&lt;/h3&gt;

&lt;p&gt;There is no fixed number of days. What matters is enough forward trades across changing conditions to compare honestly with the backtest. If the paper results drift far from the backtest, find out why before going further.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A coin trending does not make a strategy better; test it as if the coin were boring.&lt;/li&gt;
&lt;li&gt;Model fees, slippage and funding first, since thin edges often disappear there.&lt;/li&gt;
&lt;li&gt;Small samples and many tuned variants inflate results; use out-of-sample tests and adjust for the number of attempts.&lt;/li&gt;
&lt;li&gt;Judge drawdown before total result, and set a pause level in advance.&lt;/li&gt;
&lt;li&gt;Forward paper testing narrows the gap with live trading but doesn't close it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Paper trading results are simulated. Past results don't predict future results. Crypto trading can lose money, including all capital. Not financial advice.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://botlab.org.uk/learn/chainlink-trading-bot-what-to-backtest-first" rel="noopener noreferrer"&gt;BOTLAB&lt;/a&gt;. Score your own bot's trade log free: &lt;a href="https://botlab.org.uk/#tool" rel="noopener noreferrer"&gt;Check your bot&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>trading</category>
      <category>crypto</category>
      <category>statistics</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
