My Trading Bot Made 100 Trades to Earn $4.33… and Taught Me Something Important
Inside an 83-hour Freqtrade NostalgiaForInfinity X7 trade that fell nearly 25%, crystallised heavy losses, and still ground its way back…
My Trading Bot Made 100 Trades to Earn $4.33… and Taught Me Something Important
Inside an 83-hour Freqtrade NostalgiaForInfinity X7 trade that fell nearly 25%, crystallised heavy losses, and still ground its way back into profit
The final profit was modest, the learning was anything but.

An editorial interpretation of systematic trading through a sharp decline and volatile recovery. AI-generated illustration.
At 01:30 on 27 July, my live Freqtrade bot bought 2,712 RIF at $0.0797. Within twelve hours, RIF had fallen as low as $0.0600. The original position was temporarily worth around 25% less than I had paid for it.
Had I made the trade manually, I doubt the story would have continued much further. As in past expereriences I would probably have sold, accepted the loss and avoided RIF thereafter. That emotional reaction would have locked in the worst part of the trade.
The Freqtrade bot did something more nuanced.
Over the following three and a half days, it de-risked, bought, sold, rebuilt and reduced the position repeatedly. By the time the trade finally closed, it had generated 10 filled RIF orders.
The final result was a profit of $4.33 after fees. Wow. About 0.3%
That sounds like an absurd failure : more than 83 hours of activity and 100 filled orders to earn less than five dollars.Delving deeper into the behaviour reveals a fascinating example of what systematic trading can and can’t do.
The ultimate achievement was not in predicting a trade correctly, it was continuing to follow a coherent process after the original prediction had gone badly wrong.
Credit where it belongs
This was not a proprietary bot or an algorithm that I invented, the execution framework was Freqtrade, an open-source cryptocurrency trading bot written in Python. Freqtrade provides the exchange integration, order handling, trade persistence, position adjustment through strategy, reporting and operational infrastructure.
The trading logic came from NostalgiaForInfinity, commonly abbreviated to NFI, an open-source strategy project developed primarily by Iterativ and supported by its contributor community. The strategy used here was NostalgiaForInfinity X7, running on Binance Spot against USDT. Throughout this article I’ll continue to use $ to imply the USDT stablecoin.
The de-risking, grinding, entry and exit logic discussed in this article belongs to the NFI project and its contributors. I ran it live, observed what happened and then reconstructed this trade from its database and order history. Both Freqtrade and NostalgiaForInfinity are distributed under the GPL-3.0 licence. The authors also make clear that users remain responsible for understanding the software and accepting the risks of live trading.
So, a bad entry got worse

The initial position therefore experienced a drawdown of roughly 24.7%. After this, X7 did not simply hold the entire position and wait, or fully close the trade. As RIF continued falling, it progressively sold portions through three de-risking actions :
- 542 RIF at approximately $0.0704
- 813 RIF at $0.0648
- 1,356 RIF at approximately $0.06162
Those sales crystallised a substantial loss. In aggregate, the first three de-risking levels sold almost the whole original position and created an estimated gross loss of approximately $41.67 relative to its original cost. With hindsight, these sales look badly timed. RIF eventually recovered above the original entry price. Isn’t hindsight marvellous ?
At $0.0616, the bot could not know whether RIF was about to rebound or continue lower, but de-risking reduced exposure to the latter. It exchanged some participation in a potential recovery for protection against a potentially much deeper collapse. That protection turned out to be short-term expensive, but as I’ll show here, it was rational and without emotion.
The grinding begins
After reducing the original exposure, X7 began repeatedly trading smaller quantities around RIF’s oscillations.
The broad pattern looked like this :
buy a tranche → sell it into a rebound → buy again after weakness → reduce again into strength
NFI calls this behaviour “grinding.” It is not machine learning, and the strategy was not studying its mistake or rewriting its entry logic, it was simply following a sophisticated but predetermined position-management system.
X7 adapted to the evolving state of the trade, but only within rules its developers had already written. Once the RIF trade closed, the bot did not retain a learning lesson such as “entry tag 42 entered RIF too early.”
What it did retain was the ability to act without emotional memory. It did not become frightened of RIF after selling at a loss, it did not refuse to buy again because the coin had “hurt” it, nor did it revenge-trade in an effort to force the money back immediately. It simply continued responding to the conditions encoded in the strategy.
X7 had no need to be proved right about its original entry. It only had to manage the position that actually existed.

A conceptual view of grinding : repeated small trades gradually repairing a much larger realised loss. AI-generated illustration.
By the final exit, the database contained :
- 100 filled orders
- 57 filled buys
- 43 filled sells
- 17,516 RIF bought
- 17,516 RIF sold
- $1,491.46 in cumulative purchases, and $1,498.05 in cumulative sales
The word “cumulative” is worth expanding because the bot did not have $1,491 tied up in RIF at any one time, it repeatedly reused capital released by partial sales. Reconstructing the cash flows suggests that peak net cash committed at any one point was approximately $242.46.
So, total gross trading gains across the complete sequence were about $6.58. Trading fees consumed approximately $2.25, leaving the recorded final result :
$4.33 net profit
That is a useful reminder that headline turnover can be misleading. The strategy circulated nearly $1,500 through the trade, but its simultaneous exposure was a fraction of that. It is also a reminder that grinding is not free. Each small edge must overcome fees, spread and execution costs. Paying Binance fees in BNB reduced my effective fee rate, but the 100 fills still consumed more than one-third of the gross recovery.
The final exit
The trade finally closed after 83 hours and 23 minutes at an effective RIF price approximately $0.09524. During that period, RIF had traded between $0.0600 and $0.1030. The original entry had been $0.0797.
Had I simply held the initial 2,712 RIF and sold near the bot’s final exit price, the result would have been far better : approximately $41.79 net, or about 19.3%, after estimated fees.
Grinding did not beat buy-and-hold on this particular price path, but buy-and-hold enjoyed that superior result only because RIF recovered. It required retaining the complete position through a drawdown of nearly 25%, without knowing that the recovery was coming. As a manual trade, that might only have happened if I’d stopped monitoring for a few days. Incidentally at the time of writing (about 24 hours after the trade closed), the price of RIF is approximately 50% higher. The bot, for reasons encoded, has not entered into a new RIF trade.
In recovery, the bot took a different path by sacrificing potential upside to reduce risk during the fall, then used subsequent volatility to repair the damage.
Entry timing changes the whole story
This trade also demonstrated how dramatically entry timing affects our judgement of a strategy.
The original purchase at $0.0797 was temporarily down about $53 when RIF reached $0.0600.
With perfect hindsight, buying at that exact low and selling near $0.095 would have returned almost 59% gross, roughly $127 on the same initial capital. Feels like a painful miss, no ?
Later, I observed an X7 dry-run trade enter RIF at $0.0858 and exit near $0.0872. It earned $2.90, or 1.43%, in approximately half an hour. That short simulated trade produced around two-thirds of the described live trade’s eventual net profit, with none of its prolonged drama. Feels like easy money, doesn’t it ?
It does illustrate the problem :
At the moment of entry, how could anyone know which price path lay ahead?
The lowest low looks obvious only after it has passed and so does the recovery. A chart viewed from the future is full of easy decisions that were invisible in real time.
What removing emotion really means
It would be tempting to describe this as a victory of algorithmic discipline over human emotion, or more harshly a collection of failures that somehow came good in the end. There is some truth in those observations, but the result needs qualification. During the trade, the bot crystallised a large loss. Some of its actions were highly unfavourable in hindsight: it did not discover an optimal solution, and its final profit was far below what passive holding would have earned. Removing emotion did not make every decision correct.
But what it did was prevent a recognisably human sequence :
- Enter a trade.
- Watch it fall.
- Sell near the worst moment out of fear.
- Avoid the asset during its recovery because the previous loss remains emotionally painful.
X7 sold during the fall too, but it did so within a planned risk process. Crucially, it remained willing to trade RIF again when its rules called for it.
It did not experience embarrassment, fear, attachment to the original entry price or a desire for revenge. Behavioural consistency may be more important than any individual order. A human trader can sometimes apply judgement that outperforms a fixed algorithm, but human judgement is not automatically rational merely because it is human. Under stress, it is often an unstable mixture of prediction, hope, fear and memory.
The X7 rules can be judged as imperfect, but they were also persistent enough to take a deeply damaged trade through 100 fills and out the other side with a profit.
What this case study does not prove
One trade cannot validate the algorithm of NFI X7. It cannot establish that grinding will reliably rescue losing positions, that the de-risking thresholds are optimal or that the strategy will outperform simpler approaches over time.
There are also several specific limitations :
- The later 1.43% RIF trade was observed in dry-run, not live, execution.
- The analysis concerns Binance Spot and one particular market path.
- RIF recovered strongly; a continuing collapse could have produced a very different result.
- The automated updater loaded newer X7 revisions while the position remained open. This therefore documents X7 in live operation rather than a controlled experiment using one frozen strategy version.
- Fees were included, but spread and any difference between simulated and live execution remain relevant.
- The figures describe one account and should not be treated as expected returns.
Freqtrade itself advises users to begin in dry-run, understand their strategy and never risk money they are afraid to lose. Nothing in this experience weakens that advice.
The modest profit is not the point
A profit of $4.33 will not transform anyone’s finances, but the trade provided something more valuable than the ultimate return ie a detailed view of how a complex rule-based strategy behaves after a poor entry.
X7 reduced risk, recycled capital, repeatedly traded the volatility and remained consistent when a human operator might have abandoned the position in frustration.
After 83 hours, 100 filled orders and a journey from $0.0797 down to $0.0600 and eventually above $0.0950, it emerged with a small profit. That is the evidence of process, and watching that process unfold taught me more about systematic trading than a quick, uncomplicated winning trade ever could.
Disclosure : This article describes my personal experience operating open-source trading software. It is not financial advice or a recommendation to use Freqtrade, NostalgiaForInfinity, Binance, RIF or any particular strategy. Cryptocurrency trading can result in substantial losses. This article is an independent personal case study of my use of open-source software. I am not representing, promoting or receiving compensation from Freqtrade, NostalgiaForInfinity, Binance, RIF or any cryptocurrency project. I do not operate a crypto/Web3 project, promote investments, use referral links, participate in bounties or solicit funds. The article contains risk disclosures and credits the original open-source projects. Please review whether the restriction was triggered by automated classification of cryptocurrency-related content.
메타데이터
- post_id
- 392fc5dcfcea
- slug
- my-trading-bot-made-100-trades-to-earn-4-33-and-taught-me-something-important-392fc5dcfcea
- url
- https://medium.com/@EnglishScot/my-trading-bot-made-100-trades-to-earn-4-33-and-taught-me-something-important-392fc5dcfcea
- canonical_url
- https://medium.com/@EnglishScot/my-trading-bot-made-100-trades-to-earn-4-33-and-taught-me-something-important-392fc5dcfcea
- author_url
- https://medium.com/@EnglishScot
- status
- ok
- fetched_at
- 2026-08-20 21:17:11