DN AI Trading Beginner Series · Reviewed 8 November 2026
What matters
To explain an AI trading bot’s recorded decision, start with the evidence that existed when it made that decision. Find the signal, the settings it referenced, the recorded reason and action, and the particular request that followed. A persuasive explanation written afterwards is a separate piece of commentary.
A useful record preserves the links between those items. It also preserves what you cannot establish. A missing reason, a different settings reference and an unavailable reply are different findings; none should disappear because another part of the record looks complete.
The free DN Decision Evidence Map below checks four declared reference links across five records. It can report agreement, gaps and conflicts in what you enter. It does not authenticate logs, connect to an account, prove causation or establish the current state of an order.
Imagine opening your bot dashboard and finding an order you did not expect. The chart now shows a signal. The bot has a success message. An AI assistant offers an explanation involving momentum, a threshold and a risk check. Which of those items tells you what was recorded before this particular request was submitted?
The answer depends on the evidence. The current chart might describe a different configuration. The success message might describe delivery to an intermediary. The explanation might have been generated after you asked the question. Each item can be useful, but they answer different questions.
This guide gives you eight checks for reconstructing the recorded basis of one decision. It builds on DN’s live-results and net-P&L audit, which examines trade accounting, and the signal-data guide, which examines timing, finality and delivery stages. Here the task is to connect contemporaneous evidence to a specific request without filling the missing pieces with a story.
Five records, four links
Use a small case first. You do not need to describe every bot, service and historical trade in one worksheet. The DN map separates these records:
| Record | Question it helps answer | Link to preserve |
|---|---|---|
| Signal snapshot | Which input or signal was referenced? | The decision’s signal reference |
| Settings snapshot | Which configuration was referenced? | The decision’s settings reference |
| Decision record | What reason and action were recorded? | The request’s decision reference |
| Submitted-request record | Which instruction was recorded as submitted? | The reply’s request reference |
| Reply record | What did the responding layer report? | Its specific request reference and reply kind |
This is DN’s inspection framework, not a claim that every platform exposes these five objects. If your platform provides only some of them, record that limitation. An honest partial record is more useful than a complete-looking reconstruction with invented links.
OpenTelemetry distinguishes structured records with consistent field names, types and meanings from records that merely happen to be encoded as JSON. That distinction is useful here: a field called “ID” needs a defined meaning before you compare it with another field called “ID.” [1]
1. Define the exact case you are investigating
Start by naming the venue, account alias, product or instrument, and environment. Keep the case narrow enough that two records can reasonably be compared. “My trading bot” is not a sufficiently precise context if you run several instances, connect more than one account or keep both test and live environments.
Use harmless aliases such as ACCOUNT-A in the shared worksheet. Retain the private mapping to the actual account in your own controlled records. The purpose of the alias is to preserve a distinction without exposing an account identifier.
Then specify the question. You might be investigating which settings the decision referenced, whether a request points to that decision, or whether a supplied reply belongs to that request. Those are narrower questions than “Did the bot work correctly?” They can produce useful answers even when the broader question remains unresolved.
Keep the identifier’s scope with the case. Binance’s Spot glossary defines orderId as identifying an order on a symbol. A bare order number copied without the product context therefore discards part of the documented meaning. [2]
Do not change context labels just to make records line up. If one record belongs to a test environment and another belongs to a live account, preserve that difference. A matching-looking reference does not erase a context conflict.
2. Find the signal evidence the decision actually referenced
Locate the input or signal snapshot associated with the decision. A snapshot can be a saved alert record, a bounded input record or another retained artifact. Give it a safe local alias, and keep a reference to where the original can be inspected. The worksheet needs the relationship, not a paste of the entire payload.
Record what the evidence contains and what it leaves out. An alert message may identify an action and instrument without retaining every input used to calculate the condition. A screenshot may show a chart without showing which saved alert generated the message. Treat those as different kinds of evidence.
If you reproduce the calculation now, label the reproduction as a later analysis. It may help test an explanation, but it is not automatically the input record used by the earlier decision. Preserve the original reference separately.
Timestamp labels also need their meanings. OpenTelemetry’s data model separates the time an event occurred, measured by its source clock, from the time a collection system observed it. Trace and span identifiers are optional processing references; they should not be relabeled as exchange order IDs. [3]
This map does not compare clocks or calculate latency. If your question is whether a signal was stale, incomplete or based on an unfinished candle, use the signal-data checks. Here, preserve the reference to the actual evidence instead of substituting a newer observation.
3. Match the settings snapshot, not today’s settings
Find the configuration record referenced by the decision. Give the record its own alias and retain a version label if one exists. An alias such as SET-7 identifies the saved settings evidence; a version label such as CFG-7 describes that evidence. Neither label proves that the bot used it.
The decisive link is the decision’s settings reference. If the decision points to SET-8 while the supplied settings card is SET-7, do not silently replace one value. The immediate finding is that the supplied records do not establish the proposed settings link.
TradingView provides a concrete reason to preserve the saved context. Its running alerts use the script, inputs, symbol and timeframe saved when the alert was created. Later changes to the chart or inputs do not update that existing alert context. [4]
For your own case, a configuration reference can point to a small, redacted record of the relevant settings. Include the part needed to examine the decision: for example, the configured rule version, the permitted action or the limit that the decision claims to have checked. Avoid exporting unrelated account details.
A current dashboard screenshot is useful evidence of what you can see now. It should retain that description. If the historical settings are unavailable, leave the historical link unresolved rather than relabeling the current screenshot as an earlier configuration.
4. Separate the recorded reason from a later explanation
The decision record should answer two distinct questions: what action was recorded, and where is the evidence for the reason recorded at that time? In the DN map, the action can be submit a new order, do not submit or unknown. The reason has its own reference and timing classification: contemporaneous, later note or unknown.
“Contemporaneous” describes the relationship of the record to the decision process. It is not a judgment that the reason was correct, complete or honest. A rule identifier and input references may explain the stated basis more precisely than a paragraph saying the market looked favorable.
For example, a retained decision summary might say that a named entry condition passed under a particular configuration, then identify the applicable input and settings records. You can investigate that recorded claim. A later message saying “the bot probably saw momentum” is a hypothesis unless the earlier evidence supports it.
If an AI assistant helps organize the records, ask it to separate copied facts, missing fields and later interpretations. Its new explanation does not become the original decision record simply because it sounds coherent. Keep a later note attached as a later note.
Preserve an explicit do-not-submit action too. If that decision is linked to a recorded new-order request, the map should show the inconsistency. It should not change the action to submit merely because a request record exists. A cancellation or amendment is a different request kind, so the same comparison must not automatically treat every request as a new order.
If no decision reason was retained, state that directly. You may still establish other reported links. The missing reason remains a missing reason.
5. Link the submitted request with the right kind of identifier
Keep the request record separate from the decision. The request is the instruction recorded as submitted; the decision is the record of the stated basis and intended action. Give each its own alias, preserve the request’s decision reference, and identify whether the instruction was a new order, cancellation, amendment or an unknown kind.
Identifier names are not interchangeable. Kraken Spot WebSocket v2 distinguishes an echoed request identifier, req_id, from its exchange-generated order_id. Its cl_ord_id identifies an open order per client, while order_userref is explicitly non-unique and can group orders. [5]
A grouping tag can help you find candidates. It cannot, by itself, select one request from several candidates. Likewise, a request identifier does not become an exchange order identifier because the two values happen to look similar. Retain the identifier type and context.
Provider behavior also differs. Coinbase Advanced Trade documents a particular duplicate client_order_id rule: it returns the corresponding existing order rather than creating another one. That is an endpoint-specific rule, not a universal meaning of “client ID” or a general instruction to retry. [6]
The DN tool compares the exact aliases you declare within typed links. It does not discover the correct IDs from a raw log, test a provider’s uniqueness rules or decide whether a new request should be sent. If the evidence supports several candidates, record that ambiguity.
6. Read the reply at the layer it describes
Keep a reply’s reference link separate from its meaning. A reply can belong to the request you are examining while providing only limited information about what happened afterwards. Conversely, a detailed-looking reply may be unrelated to the request in your case.
TradingView’s webhook documentation describes sending an alert message by HTTP POST and checking delivery in the alert log’s Webhook status column. That status concerns delivery to the selected URL. It is not an exchange fill record. [7]
Similarly, Binance Spot’s documented ACK response contains identifying fields and a transaction time; it does not contain fill quantities or order status. An acknowledgement therefore cannot answer every execution question. [2]
The map lets you distinguish a transport receipt, an order acknowledgement, a reported acceptance, a reported rejection, a reported fill and an unknown reply kind. These are reader classifications of supplied evidence. Selecting “reported fill” does not verify an exchange account or calculate how much remains unfilled.
Binance’s Spot execution report separates client, order, trade and execution identifiers, as well as execution type and order status. Those labels describe different parts of the record. [8]
TradingView strategy order-fill alerts originate from its broker emulator; they are not themselves external exchange fill records. [4]
If the reply is missing, retain the signal, settings and decision findings already available. Do not convert the missing reply into either a successful trade or a confirmed failure. Questions about an unresolved submission belong in DN’s order-timeout guide, not in a guessed answer from this map.
7. Preserve gaps, ambiguous links and conflicts separately
A record can be available without establishing the link you need. You may have two candidate requests with the same group label. You may have a settings record whose reference differs from the one named by the decision. You may have a reply from another environment. Those findings deserve their own descriptions.
Do not treat “no matching record supplied” as “the event did not happen.” The records you can see may have limited coverage. Kraken’s executions channel, for example, has separate controls for open-order and trade-history snapshots. A selected snapshot is not automatically a complete account history. [9]
Coinbase Advanced Trade’s List Fills endpoint also has filters and pagination, and distinguishes fill, trade, order and product identifiers. A selected row or page therefore needs its retrieval context if you use it as evidence. [10]
For the map, record the specific limitation: missing record, unknown reference, grouping-only reference, multiple candidates, different context or mismatched value. A reported match requires the exact reference and the reader’s declaration that the evidence is unique within the same case context.
An explicit conflict is useful information. It can tell the person reviewing the system where to look next. It does not establish that someone falsified a log, that the bot ignored a rule, or which record is authoritative. Preserve both records and the conflict rather than choosing the one that produces the tidiest explanation.
Keep the review bounded. The map is about the supplied evidence for one case; it does not certify the completeness of the wider logging system.
8. Share a small, redacted record and a precise question
Before handing the case to a developer, support team or another reviewer, separate the evidence references from credentials. A useful handoff identifies the case, the relevant records, the link that does not resolve and what additional evidence would address that gap.
OWASP’s logging guidance includes application and interaction context, actions, results and reasons. It also identifies access tokens, passwords and primary secrets as data that normally should not be recorded directly in logs. Preserve useful context without copying credentials into the shared worksheet. [11]
Use consistent harmless aliases for local records and keep original evidence under your own access controls. Do not paste API keys, bearer tokens, webhook secrets, complete signed URLs or raw private logs into this tool. It is a structured worksheet, not a secret detector or redaction service.
A focused support question might be: “Decision DEC-A references SET-8, but the available configuration export is SET-7. Which retained configuration record corresponds to SET-8?” That question asks for evidence without asserting that the bot must have used the wrong settings.
Current 3Commas Signal Bot documentation points users to the bot’s Logs for alert processing and errors, and separately to Positions for the resulting position. Those are useful places to inspect; the documentation does not promise that every internal decision reason is exposed. [12]
If a platform cannot supply the missing reason or configuration record, preserve that limitation in the final explanation. The gap is part of what you learned.
Use the DN Decision Evidence Map
The map has five cards and four typed reference comparisons. The decision points to its signal and settings records; the submitted request points to the decision; the reply points to the request. Each record belongs to the case namespace you enter: venue, account alias, product or instrument, and environment.
For a link to report a match, the exact references must agree and you must declare that the evidence uniquely identifies the record in the same context. Those declarations are not independently checked. A reported match means the entered relationship meets the worksheet’s conditions; it does not mean the underlying records are authentic.
The signal and settings cards separately distinguish a decision-time snapshot, a later view and unknown evidence. Reference agreement does not change those classifications. An old reference copied onto a current view does not make the view contemporaneous.
Reason evidence remains separate. A complete set of reference matches can coexist with a later explanatory note. That case has different support for the decision’s recorded basis from one with contemporaneous reason evidence.
Load a fictional example to see the distinctions, then use a fresh record for your own redacted aliases. Keep unknown values unknown. The downloadable record preserves the entered evidence declarations and findings; it does not retrieve the missing records for you.
A local evidence record
DN Decision Evidence Map
Describe five records using redacted aliases. Compare their references, recorded decision basis and reported reply meaning without treating matching text as proof.
Blank means unknown, not that an event did not happen. Do not enter credentials, account identifiers, raw logs, private prompts or order payloads.
Choosing an example does not change your record until you load it.
For each reference, “Unique same context” means you report one matching record within the named venue, account, product/symbol and environment. A grouping label or multiple candidates cannot establish that link.
1. Signal snapshot
Name the input snapshot described as available to the decision.
2. Settings snapshot
Keep the settings snapshot and version separate from the signal. Both can feed the same decision.
3. Decision record
Compare the signal and settings references, then identify the recorded reason and action.
4. Submitted-request record
Describe one request and the decision it references. This does not establish acceptance or execution.
5. Reply record
Keep the reported reply kind separate from whether it can be uniquely linked to the request.
The tool runs locally in this page. It does not connect to an account or save inputs between visits.
The entered trail is incomplete
0 of 4 typed links are reported matches. This is a count of declared links, not a confidence, authenticity or safety score. Decision basis, request consistency and reply meaning are assessed separately below.
Four typed reference comparisons
Signal and settings both feed the decision. Matching aliases are a reported link only when the required context and uniqueness declarations are also supplied.
Signal to decision
Unknown
- Parent record alias
- Not supplied
- Reference in child record
- Not supplied
- Child record alias
- Not supplied
The supplied fields do not establish a unique reported link. Missing evidence does not mean the event did not happen.
Missing or invalid dependencies
- Unknown: Signal record alias; Decision record alias; Signal alias referenced by decision; Signal-to-decision reference basis; Venue alias; Account alias; Product and symbol alias; Environment alias.
Settings to decision
Unknown
- Parent record alias
- Not supplied
- Reference in child record
- Not supplied
- Child record alias
- Not supplied
The supplied fields do not establish a unique reported link. Missing evidence does not mean the event did not happen.
Missing or invalid dependencies
- Unknown: Settings record alias; Decision record alias; Settings alias referenced by decision; Settings-to-decision reference basis; Venue alias; Account alias; Product and symbol alias; Environment alias.
Decision to request
Unknown
- Parent record alias
- Not supplied
- Reference in child record
- Not supplied
- Child record alias
- Not supplied
The supplied fields do not establish a unique reported link. Missing evidence does not mean the event did not happen.
Missing or invalid dependencies
- Unknown: Decision record alias; Submitted-request record alias; Decision alias referenced by request; Decision-to-request reference basis; Venue alias; Account alias; Product and symbol alias; Environment alias.
Request to reply
Unknown
- Parent record alias
- Not supplied
- Reference in child record
- Not supplied
- Child record alias
- Not supplied
The supplied fields do not establish a unique reported link. Missing evidence does not mean the event did not happen.
Missing or invalid dependencies
- Unknown: Submitted-request record alias; Reply record alias; Request alias referenced by reply; Request-to-reply reference basis; Venue alias; Account alias; Product and symbol alias; Environment alias.
Decision evidence stays separate
Signal snapshot
Unknown
The required record reference or evidence basis has not been supplied.
Missing or invalid dependencies
- Unknown: Signal record alias; Signal snapshot basis.
Settings snapshot and version
Unknown
The required record reference or evidence basis has not been supplied.
Missing or invalid dependencies
- Unknown: Settings record alias; Settings version alias; Settings snapshot basis.
Decision reason
Unknown
The required record reference or evidence basis has not been supplied.
Missing or invalid dependencies
- Unknown: Decision record alias; Reason evidence alias; Reason evidence basis.
Decision and request consistency
Attribution not established
A unique decision-to-request link is not established, so the tool does not attribute a request conflict to this decision.
Missing or invalid dependencies
- Unknown: Reported decision action; Request kind.
Reported reply meaning
Unknown
A reply record or its kind has not been supplied. This is not evidence that no reply or execution occurred.
Request attribution: not established.
Reported order alias: Not supplied. This is metadata, not a join or account verification.
Missing evidence in this record
Not supplied or unknown in this record:
- Venue alias
- Account alias
- Product and symbol alias
- Environment alias
- Signal record alias
- Settings record alias
- Settings version alias
- Decision record alias
- Signal alias referenced by decision
- Settings alias referenced by decision
- Reason evidence alias
- Submitted-request record alias
- Decision alias referenced by request
- Request-details evidence alias
- Reply record alias
- Request alias referenced by reply
- Signal snapshot basis
- Settings snapshot basis
- Reason evidence basis
- Reported decision action
- Request kind
- Reported reply kind
- Signal-to-decision reference basis
- Settings-to-decision reference basis
- Decision-to-request reference basis
- Request-to-reply reference basis
What this map cannot establish
- This manual map does not authenticate a log, verify that a record existed at decision time or prove why an order happened.
- It does not search unentered records, discover hidden duplicates or establish identifier uniqueness for a real venue or account.
- It does not reconcile orders, fills, holdings, balances or profit, and it never authorizes submission, cancellation or retry.
- A reported acknowledgment, acceptance, rejection or fill is a reader-described record kind, not verified account truth.
- A version alias is not proof of the settings actually loaded; later notes and current views cannot replace contemporaneous evidence.
Reference-documentation review: 2026-11-08 (Africa/Johannesburg). Your aliases, evidence descriptions and link declarations are not fetched or verified.
JavaScript is off. This is the initial unknown record; editing and downloads require JavaScript. The article and initial evidence boundaries remain readable.
Worked example: the references agree, but what does that establish?
The examples are fictional. Their namespace is VENUE-A / ACCOUNT-A / SPOT:BASE/QUOTE / TEST-A. These are teaching labels, not a venue, account or trading recommendation.
In the first case, the signal is SIG-A, the settings record is SET-7 with version label CFG-7, and the decision is DEC-A. The decision names both earlier references and points to REASON-A as contemporaneous reason evidence. It records an intention to submit.
The submitted-request record is REQ-A, with details referenced by REQUEST-DETAILS-A. It points to DEC-A. The reply record, RPL-A, points to REQ-A and is classified only as an order acknowledgement. With the required uniqueness and context declarations, the four links can report matches. That describes the supplied reference chain, not proof of a fill or of the strategy’s correctness.
Change one part at a time. If the decision names SET-8 while the available settings record remains SET-7, that link conflicts. If the reply is unavailable, the earlier reported links remain visible. If the reason is a later note, the references can still agree while the contemporaneous reason remains unestablished.
The six included cases cover those distinctions, grouping and multiple candidates, and an explicit do-not-submit decision linked to a recorded new-order request. The last case also leaves the reason and reply unavailable, so a clear conflict remains visible alongside missing evidence.
Methodology and limits
DN designed the map as a deterministic comparison of reader-entered records. It compares four typed reference relationships under declared context and uniqueness conditions, while reporting decision-reason timing and an explicit action/request inconsistency separately. It does not infer a missing edge from the other three.
The six example cases are synthetic teaching records. They are not measured provider behavior, authenticated logs, executed trades or evidence of investment performance. The dataset documents their inputs and expected findings so the examples can be inspected.
The tool does not read the evidence files behind your aliases. It cannot establish that the saved settings were deployed, that a recorded reason faithfully describes a model’s internal process, or that a reply proves the present account state. No score summarizes those unknowns into a verdict.
Use the output to state the support precisely: which reported links agree, which records conflict, which reason evidence was contemporaneous and which questions remain open. That is a more reviewable explanation than replacing missing evidence with confidence.
Frequently asked questions
Can the DN Decision Evidence Map tell me why my AI trading bot really acted?
It can organize the recorded reason and reference links you supply. It cannot verify the records or establish the bot’s actual internal cause. A reported match means the entered references and declarations agree under the worksheet’s conditions, not that the explanation is complete or correct.
What if all four reference links match but the reason was written later?
Keep both findings. The reference chain can report agreement while the reason remains a later note. A new explanation does not become contemporaneous evidence merely because it refers to the same decision or sounds plausible.
Is a TradingView webhook success or order-fill alert proof of an exchange fill?
TradingView’s Webhook status describes delivery. Its strategy order-fill alerts come from the broker emulator. Neither alone establishes an external exchange fill. [7][4]
Does a missing reply mean the order failed?
No. A missing supplied reply is an evidence gap. Preserve any supported signal, settings, decision and request links, and leave the reply unresolved. This map does not determine the current order state or authorize a retry.
Why does a grouping tag or shared identifier remain ambiguous?
A grouping tag may refer to several candidates. The map requires a specific typed reference plus your declaration of unique evidence in the same case context before reporting a match. A similar-looking value or a shared label does not supply that missing distinction.
Should I paste my raw logs, API keys or webhook URL into the tool?
Use harmless record aliases and redacted descriptions. Do not enter credentials, tokens, webhook secrets, complete signed URLs or raw private logs. The worksheet does not sanitize secrets or inspect the original files behind your references.
What do the downloadable record and fictional dataset establish?
The record preserves your entered references, evidence declarations and reported findings. The six dataset cases demonstrate the comparison rules with synthetic inputs. Neither retrieves account data, authenticates evidence, calculates fills or certifies causation or profitability.
Research scope and disclosure
Official documentation was reviewed on 8 November 2026, Africa/Johannesburg. Provider examples retain their named product and API scope. The educational map uses redacted references and reader declarations; no private account, credential, order or live log was accessed for this research.
For adjacent questions, use the net-P&L audit for results, the order-instruction guide for order constraints, and the shared API-budget guide for request accounting. None of those questions is answered by a matching reference alone.
Links labeled affiliate may earn Decentralised News a commission. Product inclusion does not authenticate the evidence or establish plan, account or regional eligibility. This is educational operational guidance, not a trade recommendation.
Primary sources
Official documentation reviewed on 8 November 2026 (SAST). Product, route, identifier and record meaning matter. These are documentation findings, not live execution verification.
- Logs — OpenTelemetry
- SPOT API Glossary — Binance
- Logs Data Model — OpenTelemetry
- Alerts — TradingView Pine Script v6
- Add Order — Kraken Spot WebSocket v2
- Create Order — Coinbase Advanced Trade
- How to configure webhook alerts — TradingView
- Spot WebSocket Stream Schemas — Binance
- Executions — Kraken Spot WebSocket v2
- List Fills — Coinbase Advanced Trade
- Logging Cheat Sheet — OWASP
- Signal Bot: Comprehensive JSON Guide — 3Commas