Practical validation guide with a worked BTC experiment · By CoinNudge Research · · Guide updated 2026-10-04 · 22 min read

How to Backtest an AI Crypto Trading Strategy Without False Profits

Quick answer

To backtest an AI crypto trading strategy, define what the AI actually decides, freeze the rules and time-available inputs, replay trades with realistic costs, and judge the equity path against an exposure-matched baseline and later untouched data. A chatbot describing a profitable strategy is not a backtest. Our worked BTC example is supporting evidence: one authored rule replayed on 35,040 completed 15-minute bars produced 819 simulated trades and a 6.72% net account loss. AI did not choose those historical trades; code did. The guide below explains the workflow, the tests that can disqualify an attractive result, and what evidence would justify a forward paper trial.

Test your BTC strategy · Inspect 819-trade evidence · Explore research data

How should you backtest an AI crypto strategy before trusting it?

  • State the AI's exact role, freeze the rule, and use only information available at each historical decision. AI-assisted rule interpretation is not the same as replaying model decisions candle by candle.
  • Judge net returns together with drawdown, exposure, losing periods and realistic fills. Reserve later untouched data and a prospective paper trial before making a performance claim.
  • The worked BTC replay also exits on an opposite EMA cross, which the first protocol paragraph accidentally omitted and now explicitly corrects; every effective exit must be disclosed.
  • In this one-year BTC example, 819 trades produced a 6.72% simulated account loss after modeled costs. Only 187 trades had positive net P&L; a high trade count did not create an edge.
  • The fully invested BTC buy-and-hold reference fell 24.76% over this window, but the strategy mostly allocated at most $500 at a time. Those return percentages do not establish a fair risk-adjusted victory.
  • The historical replay is deterministic. The public AI Live Trade accounts are a separate forward paper experiment with actual model decisions, not two years of past model calls.

How do you backtest an AI crypto trading strategy step by step?

Backtest an AI crypto strategy by freezing its decision contract, checking when each input became available, replaying explicit fills and costs, then reserving later evidence for validation. If a rule cannot be translated into observable inputs and an exact action, clarify it before testing.

Next, build time-ordered features using only information available at each decision candle. Preserve raw event time, the time the data was actually known, missing bars and symbol eligibility. Simulate the next executable opportunity rather than filling at the candle close that generated the signal. Include fees, spread or adverse slippage, unfilled orders, and the possibility that a stop and target are both touched within the same bar.

Finally, compare net equity, drawdown, exposure, losing stretches and trade count with a simple baseline under comparable capital at risk. Lock the rule, code and data hashes; reserve later data and a forward paper window for genuine validation. A backtest can reject a weak idea quickly. It cannot certify a model's future profits.

Before pressing run, create a one-page contract: BTC market/venue, candle interval, entry and invalidation, all exit triggers, sizing, allowed direction, execution timing, transaction costs and success criterion. Read the interpreted rule back against the request. An omitted opposite exit, pyramiding or mixed-timeframe clause is a failed interpretation, not an acceptable silent approximation.

Question before runningRequired answerFailure if omitted
What is the AI allowed to decide?A written input-output contract and versionAn authored rule is mislabelled as autonomous AI
What could the strategy know then?Closed candles and point-in-time feature availabilityFuture information leaks into the signal
When and how does it fill?Next eligible price, order type, costs and no-fill ruleIdeal fills manufacture an edge
What does success mean?Net return, drawdown, exposure and baselineA low-exposure account is compared unfairly with full BTC ownership
What remains untouched?Later test period and prospective paper trialRepeated parameter tuning is mistaken for validation

Verify: Point-in-time backtest data guide · Backtest overfitting research

What can AI do in a crypto backtest, and what must code verify?

AI may interpret a written rule or propose a contextual filter, but deterministic code should calculate, time-align, execute and reconcile the backtest. Those are different claims from a model deciding every historical trade.

Deterministic code should calculate indicators, enforce timestamps, position size and hard risk limits, execute the replay and reconcile the ledger. If a historical test truly calls an AI model at each step, archive the exact model identifier, prompt, input snapshot, response, failures, latency and cost. Do not let the model see later candles, revised labels or the answer you are trying to predict. Re-running an updated model on old data is a retrospective simulation, not a record of what it knew then.

Use the smallest AI role that answers the research question. If a simple code rule performs as well as the AI-filtered variant under identical costs and data, the AI layer has not demonstrated incremental trading value. Include model-call cost and unavailable responses in that comparison.

A model called today may already have learned about famous historical events or price outcomes, even when your prompt hides later candles. Cutting input timestamps reduces direct leakage but does not prove its training lacked future knowledge. Label such a replay retrospective and use a prospective paper period to test a model-in-the-loop claim without pretending historical availability.

System typeWho makes historical decisions?Claim it can support
AI-interpreted rule backtestFrozen code after human approvalWhether this exact rule survived historical assumptions
Historical model-in-the-loop replayA named model called on time-cut snapshotsRetrospective model behavior, if inputs and outputs are archived
Forward paper AI agentModel decisions recorded after launchProspective simulated behavior, not exchange execution
Live exchange accountModel plus risk code and real order venueActual historical fills when reconciled, not future profit

Verify: CoinNudge paper model account · NIST AI risk management framework

How do you tell whether AI adds value beyond the same coded strategy?

Compare the same eligible opportunities with and without the AI step. Four useful arms are the original code rule, a code-only environment filter, a model filter, and a model filter with independently approved risk controls. Do not compare a model’s selected winners with every trade from another strategy.

Freeze the candidate ledger, features available at each decision, common start/end dates, costs and capital limits. A rejected opportunity remains a record with its reason and later outcome; otherwise a system that waits almost always can appear selective without earning anything. If a model changes sizing or exits, that is a different intervention and must be identified separately.

This page has a completed authored-rule replay, not completed four-arm AI results. The 819 trades and −6.72% net account result remain the evidence for that original rule only. The comparison below is a proposed validation contract; unrun arms have no score or win rate.

ArmWhat changesWhat evidence currently exists here
Authored code ruleFrozen EMA entry/exit and sizingPublished candles, 819 trades, equity and reproduction
Code environment filterA prespecified numeric filter onlyNot run as a paired comparison in this edition
Model filterAccept/wait/reject with archived input and outputNot run on these historical candidates
Model plus controlsSame proposals; independent approved vetoesNot run; separate veto from the model’s choice

Which decisions, waits and failures belong in an AI backtest ledger?

Retain every eligible decision opportunity, including a model wait, unavailable response and code veto. Record candidate ID, rule/model version, time cutoff, input availability, proposed action, actual action and reason. Link an executed action to its fill and account marks without implying every proposal filled.

Distinguish deliberate wait from timeout and unsupported input. A missed deadline is not a profitable no-trade decision, and a rejected trade is not a completed trade with zero return. Report request count, accepted/blocked/unavailable counts, trade frequency and capital deployment alongside net profit and drawdown.

For a filter, report paired event-minus-baseline results and clustered uncertainty on an untouched period. Opportunities can overlap in time and share a BTC market shock; many rows do not create independent trials. Prospective archived decisions are stronger evidence of actual time-available model behavior than calling today’s model on old dates.

Verify: Write a reproducible AI trading contract · Check point-in-time data and retrospective inputs

How should inference cost and model delay change a trading backtest?

Subtract model and operating charges from the complete account comparison, not only from trades that won. Include inference attempts, paid retries and any agreed hosting or data charge; report currency conversion and whether these are measured invoices or modeled assumptions.

If a proposal arrives after the eligible price, use the later allowed execution price or mark the opportunity missed under the frozen contract. Never fill it at the earlier candle open while charging only a small token bill. Fixed latency, observed latency and a distribution of delays are different experiments.

Show both the trading-only result and the after-operating-cost result over the same duration. The original 819-trade code example includes stated fill fees and slippage but no per-candle language-model calls, so there is no measured inference bill to subtract from that historical result. A future model comparison must add its own ledger rather than retroactively relabel the old study.

What would justify a forward paper trial rather than another optimized backtest?

A forward trial needs a frozen, feasible rule, an untouched evaluation with adequate independent opportunities, visible costs and no unresolved time leakage—not merely a larger simulated ending balance. A smaller loss can reflect smaller exposure rather than a better strategy.

Before viewing the evaluation, specify the minimum independent sample, acceptable drawdown, incremental after-cost improvement and uncertainty criterion. Also require input completeness, failure handling and a reconciled opportunity/order ledger. There is no universal acceptance number for every rule or capital base.

If improvement is concentrated in one market day or disappears with plausible costs, classify the result as exploratory. Keep all tested versions and the failed evaluation. A negative result should stop an unsupported claim, not trigger endless retuning on the same holdout.

Verify: Which kind of AI trading tool is being tested? · Pause and recovery checklist for a trading bot

Did this AI-assisted Bitcoin strategy make money after costs?

No. The fixed example finished with $9,327.83 from $10,000, a −6.72% account return. The 819 trades generated 187 positive and 632 negative net outcomes; modeled commissions totaled $409.37, before considering any model-call costs. The sampled account-equity maximum drawdown was 7.37%. This is a historical simulation of an authored rule, not actual AI agent performance or executable fills.

The first half had 398 trades and −$297.17 aggregate trade P&L; the second half had 421 and −$375.00. That split shows the loss was not isolated to one side of this particular year, but neither half is untouched out-of-sample validation. The same strategy and market regime can generate dependent trades.

BTC fully invested over the same dates returned −24.76% under the model's buy-and-hold allowance. Comparing that with −6.72% for an account that commits at most $500 per entry is not a fair claim that the EMA strategy beat BTC: much of its balance stayed in cash. To judge an edge, compare equal capital at risk, exposure, drawdown and opportunity cost as well as nominal return.

Use the negative result to reject this exact authored rule under the disclosed assumptions, not to reject all AI trading. The primary contract was not a model-versus-human contest or a search for the best EMA pair. The appropriate next output is a failure record and separately versioned hypothesis, not an edited winning curve.

Frozen measurementObserved resultHow to interpret it
BTC 15m closed candles35,040 / 35,040; 0 missing2025-09-25 06:00 to 2026-09-25 06:00 UTC exclusive
Simulated completed trades819187 net winners; 632 net losers
Final account / return$9,327.83 / −6.72%Started $10,000; $500 maximum margin per trade; 1×
Modeled commissions$409.37Entry and exit fees; adverse slippage is embedded in fill prices
Maximum sampled equity drawdown7.37%Mark-to-market samples, not every intrabar extreme
Cost ×2 sensitivity−12.42%Same trades rules; double fee and adverse-slippage assumptions
Fully invested BTC reference−24.76%Different capital exposure; not a like-for-like alpha estimate

Verify: Full published result · Trade-by-trade ledger

Which backtest metrics matter more than an AI bot's win rate?

Net account return is the start, not the verdict. Inspect maximum drawdown, time underwater, exposure, average win versus average loss, profit factor, turnover and sensitivity to doubled costs. Include open-position marks and losing regimes; a high win rate can hide rare losses larger than many small wins. For leveraged strategies, also test margin use and a liquidation-aware downside scenario rather than reading a spot-price candle replay as a perpetual-futures result.

A benchmark must use comparable capital and risk. This BTC example kept most of its $10,000 in cash and used at most $500 margin per entry, so its −6.72% return cannot simply be called better than a fully invested BTC return of −24.76%. Compare exposure-matched BTC, cash-plus-BTC, or a simpler rule at similar risk; publish the exact comparison formula.

No universal Sharpe, win-rate or trade-count threshold proves an edge. If several variants were tried, disclose that search history and require stronger untouched validation. Small samples and overlapping trades make precise-sounding probabilities unreliable.

As an illustrative diagnostic, 90 wins of $1 and 10 losses of $15 yield a 90% win rate but −$60 before any omitted costs. For the actual BTC release, use trade-level net P&L, not that illustration, to derive monetary win/loss totals. Report the metric's denominator and sampling frequency beside it; sampled drawdown is not tick-level drawdown.

MetricWhat it answersMisleading reading
Net return after all costsDid simulated account equity grow?Ignoring model calls, fees or financing
Maximum drawdown and underwater timeHow painful was the path?Reporting only the final balance
Exposure and turnoverHow much capital and trading did the return require?Comparing a mostly-cash bot with 100% BTC
Average win/loss and profit factorCan losses outweigh frequent wins?Promoting win rate alone
Cost and regime sensitivityDoes the result survive less friendly assumptions?Choosing the best fee or market regime after seeing results

Verify: Worked BTC equity and trades · Crypto trading cost calculator

What happened along the way—not just at the final balance?

Historical account-equity curve for one fixed BTC EMA strategy, showing a gradual net decline from ten thousand dollars to 9,327.83 dollars
Actual output of the deterministic paper replay, sampled about every 12 hours. The horizontal $10,000 line marks initial capital. Full coordinates are in equity.csv; intrabar equity can be worse. Chart data (JSON) · Open full-size chart

The frozen BTC example ended below initial capital, and its sampled equity path also contains the risk while positions were open. The chart is approximately 12-hour marks, not every intrabar low or a real exchange balance.

A useful backtest page should show its path, losing periods and trade ledger alongside its headline. A single profitable ending can conceal a long underwater interval; here the ending itself is negative.

To interpret an equity curve, locate the previous high, measure the trough relative to that high, and ask how long capital remained below it. Then inspect the underlying trades across that interval. The downloadable equity.csv can reconstruct these sampled marks; it cannot recover lower intrabar equity or prove a stop would have filled at its modeled level.

What exact BTC trading rule was tested?

The authored natural-language idea was: buy BTC when EMA9 crosses above EMA21 on a completed 15-minute candle; use at most $500, no leverage, a 2% initial stop, a 4% target and a 48-hour maximum hold. The fixed strategy JSON is downloadable. It deliberately did not ask an AI model to choose each historical entry, invent a new indicator or revise thresholds after seeing results.

The production replay also closes an open long at the next bar's open after an EMA9-below-EMA21 reverse cross. That exit was part of the code during the original run, but omitted from the first prose protocol. We recorded a post-calculation correction rather than quietly hiding it or claiming a perfectly pre-registered experiment. Of 819 exits, 785 were opposite crosses, 26 touched the target and 8 touched the stop in the modelled OHLC path. No time exits occurred in this sample.

Signals use completed candles only and fill at the next bar open, with a 0.05% fee per fill and 0.02% adverse slippage per fill. If stop and target are both touched within one 15-minute candle, the model takes the stop first. This is a conservative convention for unknown intrabar order, not a reconstruction of tick-level execution.

At rule review, distinguish a crossing from merely being above an indicator: EMA9 above EMA21 may last many candles, but a new crossing occurs only when the relation changes between completed bars. Preserve the next-open entry and every effective exit. Changing that interpretation produces a different strategy even if the indicator names remain identical.

StepFrozen contractCommon misleading shortcut avoided
SignalEMA9 crosses above EMA21 at a completed 15m closeNo partially formed candle or future close
EntryNext 15m open; long only; maximum $500 margin, 1×No same-candle ideal close fill
Exit2% stop, 4% target, opposite EMA cross or 48hOpposite-cross exit disclosed in method correction
Costs0.05% fee + 0.02% adverse slippage per fillNo zero-cost paper profit
RiskOne open position and $10,000 starting cashNo assumed 100% deployment
AI roleAuthored rule specification; production code replayNo claim of historical AI decisions

Verify: Frozen strategy JSON · Protocol and correction

Which historical crypto data did the experiment actually use?

CoinNudge read retrospectively archived Binance BTCUSDT spot 5-minute K lines and rebuilt each 15-minute bar only when three consecutive source bars existed. The fixed one-year decision window contains 35,040 of 35,040 expected completed 15-minute bars and zero missing bars. An additional 400-bar warmup seeds indicators; it does not count as test-period performance. The input series and source-partition SHA-256 values are published.

Historical event time and the time CoinNudge later obtained that history are different. The old candles can be used to test a fixed rule today; they cannot prove we had an AI model making those choices in the past. The public AI Live Trade accounts began collecting prospective virtual decisions in September 2026 and must be assessed on their own forward record.

This one BTC market is not a multi-coin or multi-exchange sample. No order-book queue, venue outage, actual maker/taker tier, funding, borrow rate, tax or real liquidation path is reconstructed. A real user's fee and trade eligibility can differ.

For your own test, count expected bars from the UTC interval and granularity, subtract warmup from the performance window, and compare observed timestamps for duplicate or missing bars. If coverage is incomplete, report excluded windows and the configured gap handling before judging returns. A long calendar range with few usable intervals is not a complete backtest.

Data fieldThis releaseWhy it matters
SourceBinance BTCUSDT spot OHLC, archived locallyA spot-price proxy, not executed AI orders
GranularityThree complete 5m bars per 15m barMissing components would exclude that aggregate
Test window2025-09-25 06:00 to 2026-09-25 06:00 UTCStable one-year comparison window
Completeness35,040 observed / 35,040 expectedNo synthetic missing candles in the primary window
Time semanticsHistorical bars imported retrospectivelyNot contemporaneous point-in-time AI decisions

Verify: Binance spot K-line specification · Coverage and source hashes · CoinNudge point-in-time data guide

How much did fees and slippage change this backtest?

The model charged $409.37 in explicit entry/exit commissions across 819 trades. Adverse slippage is already embedded in entry and exit prices, so adding it again to the commission figure would double-count. When both per-fill assumptions are doubled and the same rule is replayed, the account return worsens from −6.72% to −12.42%.

This does not estimate a user's actual Binance tier or prove that doubling costs is the most likely real scenario. It is a sensitivity check showing how a frequent-trading rule depends on execution assumptions. Some small apparent gross edges disappear after the spread, slippage, fees and non-filled orders that a candle-only simulation cannot fully observe.

A lower-frequency rule or a different entry would be a different strategy. We did not select one after seeing the negative result and call it an improvement; any new variant needs a new frozen edition and future verification.

A simple illustrative cost check: a $500 notional round trip at 0.05% per fill incurs about $0.50 in commissions if entry and exit notionals are similar; 0.02% adverse slippage each side adds roughly $0.20 through prices. The actual replay uses each fill's exact value, so do not infer $0.70 × 819 equals its bill. Funding and borrow costs require their own contract and time history; neither is reconstructed by this spot-price example.

Cost assumptionNet account resultInterpretation
0.05% fee + 0.02% adverse slip per fill−6.72%Fixed primary replay
0.10% fee + 0.04% adverse slip per fill−12.42%Double-cost sensitivity, not a measured venue bill

What would make an AI strategy backtest more trustworthy?

First, require the interpreted rules to be shown back to the trader before testing. If a prompt says 'hold until stop or target' but the engine also exits on an opposite cross, that difference changes the strategy. This edition itself exposed exactly that documentation error. The correct response is a visible correction and versioned result, not retroactively claiming the prompt always contained it.

Second, inspect a complete transaction ledger, gaps and losing regimes. All 819 trades and the historical candle input are downloadable. An independent standard-library audit reproduced all 819 trades, 5,733 trade-field comparisons, final cash and summed commissions without calling the production replay function. That validates implementation consistency for this frozen example, not live executability or a future return.

Third, reserve genuinely later data for a forward test. The first/second-half split reported here is useful diagnostics, but the author saw this historical result before any new rule could be proposed. A convincing improvement would require a separately frozen revised strategy evaluated prospectively or on a previously untouched period after realistic costs.

For walk-forward testing, freeze rules on an earlier interval, evaluate the next untouched interval, then roll only after preserving that result. If feature/label windows overlap the split, exclude or separate overlapping observations as the design requires. Record every tried variant; selecting the best of many and reporting only one understates search risk. This release does not claim to have performed such a new validation.

Trust checkEvidence hereStill unproven
Exact rulesVersioned strategy.json plus disclosed exit correctionNo claim of perfect original prose pre-registration
Data coverage35,040 complete primary bars plus source hashesNo live exchange order-filling history
Trades and costs819 rows, fees, reason and equity pathAccount-specific fees and actual queue priority
Independent arithmetic5,733 field checks in separate auditExternal economic validity or future profitability
Future testNot yet performed for this strategyOut-of-sample or real-money edge

Verify: Reproduction program · Artifact hashes

How can you test your own Bitcoin strategy on CoinNudge?

On CoinNudge, register or sign in before submitting a BTC strategy, describe its entry/exit, risk and timeframe, and approve the interpreted rule before the replay starts. The supported single-timeframe families are EMA crossover, RSI reversion, channel breakout, standard MACD and Bollinger 20/2 across 5m, 15m, 1h, 4h and daily candles.

The experiment returns its actual observed window and gaps, strategy JSON, trade list, return, drawdown, cost sensitivity and comparison figures. The historical test is separate from the public AI model accounts. Unsupported coins, custom multi-timeframe logic or vague discretionary requirements should be rejected or clarified, never silently simplified into a rule that was not asked for.

Treat a favorable result as a candidate for further testing, not a green light to trade real money. Compare with a simpler rule and capital-matched benchmark, then monitor a versioned forward paper record. If your strategy changed after seeing the history, disclose that the history is now a training sample.

A correct review screen should show the requested family, timeframe, direction, margin, leverage, stops/targets, hold time and unsupported requirements. If a required clause is unsupported, revise or stop; do not accept a different rule merely to obtain a score. During execution read queued/running/complete/failed status; only a completed run with stated coverage is a result. Up to five experiments run concurrently; extra accepted work queues under account/site intake limits.

What should you do after an AI crypto strategy passes or fails a backtest?

If net performance fails reasonable cost assumptions, document the failure and either stop or formulate a genuinely new hypothesis for a new release. This BTC EMA example failed its fixed test; changing its thresholds now and reporting only the best variant would use the same year both to discover and validate an apparent edge.

If the result looks promising, freeze the strategy and conduct a later forward paper trial with the same model, risk controls and versioned prompt. Compare decisions due versus decisions received, unavailable responses, rejected proposals, order acceptance, actual paper fills, net P&L and drawdown. A paper win still does not establish live executability. Only then consider whether a small, separately controlled real-money test is appropriate for your own circumstances; no backtest creates an obligation to trade.

CoinNudge's own public evidence illustrates both sides: the 819-trade replay is a historical code experiment, while its AI Live Trade page records prospective paper decisions. They must not be combined into one uninterrupted AI performance curve. Read the decision audit if you need to see how often a model actually waited, failed or proposed an order.

A passing result should advance to a new stage, not immediately to live capital: hold the rule fixed, use untouched later data or prospective observations, evaluate costs and operational failures, and define a human pause condition. A failed implementation audit requires correcting the implementation with a new disclosed version before discussing economic performance.

Verify: Why AI bots do not trade · Verify AI bot performance claims

Can I reproduce the 819-trade Bitcoin experiment?

Yes. Download the frozen candle CSV gzip, strategy JSON, research JSON, trades CSV and equity CSV. In the same directory, run the independent standard-library reproduce.py to verify each trade and the final balance. The protocol documents the exact sample, costs, same-bar rule and post-calculation prose correction; manifest.json gives SHA-256 for every immutable artifact other than itself.

All timestamps are UTC epoch seconds in the files and UTC ISO dates in the article. Trades.csv includes modelled entry/exit prices, fees, net P&L and exit reason. Equity.csv contains sampled marks, not full intrabar lows. No missing value is converted into a zero profit.

This public research evidence is free. It is not a promise that a purchased fixed-edition data pack includes this specific study or that AI Live Trade places real exchange orders. The actual paid scope is listed in the single data catalog.

For an integrity-first local replay, keep the downloaded edition together, compare its artifact SHA-256 values with manifest.json, inspect reproduce.py, then run it in a disposable environment using the documented inputs. Expected output is agreement on all 819 trades, fees and final cash. A hash mismatch, missing input or trade difference is a failed reproduction requiring diagnosis, not an alternative profitable result. The files are public study evidence; one-time paid data packs are separately scoped fixed editions in the catalog.

Public evidenceDirect filePurpose
Full resultresearch.jsonRule, coverage, trades, equity and sensitivity
Trade ledgertrades.csvAll 819 modelled exits with net P&L
Input candlescandles.csv.gzComplete 15m OHLC plus indicator warmup
Independent auditreproduce.pyRebuild and verify every ledger entry
Protocol and hashesprotocol.md / manifest.jsonVersioned assumptions and integrity

Verify: Full research JSON · Trade ledger CSV · Candle input archive · Independent reproduction script · Method and correction · Artifact manifest

BTC strategy validation cover showing 819 simulated trades and a 6.72 percent net loss over one year
One frozen historical Bitcoin strategy example. A negative result is evidence too; no real orders or historical AI model calls occurred. · Open full-size chart

Take the next step with this evidence.

Choose ongoing Telegram monitoring or inspect structured data in your own research workflow.

Receive qualifying events in Telegram.

Use the ready-made alert checklist, message explanations and daily briefing. Check the supported categories and coins before subscribing; every Research page is not a separate alert category.

Check the alert list · View alert plans

Inspect the data before choosing a pack.

Prepared research packs supply scoped features, separate outcomes where available and quality flags. Buy a fixed edition once and download directly; API use is optional.

Check data pack samples · Explore the full data catalog · Compare data plans

Each purchased pack includes its specified fields and published date range. This page's full dataset is not automatically included. Other data families require coverage, date, field and source-use confirmation before purchase. Telegram Pro is a separate 30-day service; historical packs are one-time purchases.

Frequently asked questions

Can ChatGPT or an AI model backtest a crypto strategy by itself?

A model can help translate a written idea, but the arithmetic should run against time-ordered market data under explicit fill, cost and risk rules. CoinNudge's historical BTC tests use deterministic code after the user reviews the interpreted rule; the model does not choose every past trade.

Did your AI Bitcoin strategy make money in this test?

No. This fixed, authored 15m EMA example lost 6.72% net on a $10,000 simulated account over 35,040 complete candles and 819 trades. It is not a historical AI-agent performance result.

Why did it lose if Bitcoin buy-and-hold fell even more?

The strategy had much lower capital exposure than a fully invested BTC position. Its smaller nominal loss does not prove a superior risk-adjusted or executable edge.

What costs does the test include?

The primary model charges 0.05% per fill in fees and 0.02% adverse slippage per fill. Funding, borrowing, tax, venue outages and actual order-book execution are excluded.

Does the test have two years of 15-minute Bitcoin data?

No. The frozen study uses one year of complete 15m bars. CoinNudge's workbench targets about one year for 5m/15m and two years for 1h/4h/daily; each run reports its actual coverage and gaps.

Were model decisions replayed for every historical candle?

No. The example is a deterministic code replay of an authored rule. The AI Live Trade model accounts are a separate prospective paper experiment that began later.

Can I download the full data and verify it?

Yes. The candle archive, every trade, sampled equity marks, frozen strategy, protocol and independent reproduction script are linked in the article's evidence section.

Was the strategy fully prespecified?

Its parameters, sample and costs were fixed before calculation, but the first prose protocol omitted the production engine's existing opposite-EMA-cross exit. We published a dated correction and do not describe this as a perfectly pre-registered performance test.

Does a negative backtest mean every AI trading strategy loses?

No. It means this exact example lost under these data and assumptions. Other rules need their own frozen, cost-aware and preferably forward tests; this result cannot establish a universal AI trading outcome.

What data should an AI model see during a historical test?

Only the market, account and external information actually available by each decision time. Archive the input snapshot and label later-imported history as retrospective; do not use future candles, revised labels or outcome fields as features.

What is the next step after a profitable AI strategy backtest?

Freeze the exact rule or model version and test it on untouched later data and a prospective paper account under the same risk and cost assumptions. A positive backtest alone is not evidence of live exchange profitability.

Can a historical LLM replay leak information even if future candles are hidden?

Yes. A model called today may have learned about historical outcomes during training. Time-cut prompts reduce direct input leakage but cannot prove historical model ignorance; label the replay retrospective and add a prospective test.

How do I know the natural-language strategy was tested correctly?

Compare the interpreted family, timeframe, entry, all exits, sizing and unsupported clauses with your original request before confirming. If a required condition is omitted or silently substituted, the result does not test your strategy.

Does this report prove the AI filter beats pure code?

No. The completed 819-trade experiment is an authored-rule code replay. The four-arm comparison is an explicit proposed protocol with unrun arms, not a new AI performance result.

Should model timeouts count as good rejected trades?

No. Preserve them as unavailable decisions. Apply the frozen missed-opportunity and later-fill rules; do not award an unavailable model selective-trading credit.

Sources and verification

Check your BTC strategy against archived candles before interpreting a simulated profit as an edge.

Review the rule, costs and gaps; then watch forward paper decisions separately.

Open BTC strategy test