Tag your journal trades with your own rules first and the model last

Setup and mistake tags are applied in a fixed order: your written rules in code, then tags you corrected before, and only then the model for leftovers. Uncertain tags go to a review pile, and model spend has a weekly cap.

How it works

  1. Write your tag rules as plain conditions a script can check on fields you already record, such as the setup tag chosen at entry, holding days, whether the stop was moved, or whether the entry happened outside your planned window. Each rule sets exactly one tag.
  2. A script applies those rules to the week's closed trades first. Tags set this way are final and labelled "rule".
  3. Next the script checks a corrections file. Every time you changed a tag by hand in the past, the trade's note and your corrected tag were saved there. Close matches get your earlier correction, labelled "your correction".
  4. Only trades still untagged go to the model, with your tag list and definitions. It must pick from your list or answer "unsure", and quote the words in your note that support its choice. These are labelled "model".
  5. Every "unsure", and every model tag without a supporting quote, goes to a review pile. You tag those yourself, and each choice is added to the corrections file.
  6. The script stops calling the model at your weekly cap (a number of calls or a spend limit) and sends the rest to the review pile.
  7. Before anything is written, you see a diff of the tags to be added to your journal and confirm it.

Copy-paste prompt

You tag closed trades from my journal notes. You do not give trading advice and you never comment on securities,
markets or what to trade.

Allowed tags and their definitions: {{tag_list}}
Trades still untagged after my rules and my past corrections: {{untagged_rows}} (row_id, setup_tag, note)

For each row, choose exactly one tag from my list, or "unsure". Quote the exact words from my note that support the
tag. If no words in the note support any tag, answer "unsure". Never create a new tag and never change rows that
are not in this list.

Return a table: row_id, tag, supporting quote, origin "model". Do not write to any file.

Guardrails

  • Your rules and your corrections always win; the model only sees trades they couldn't tag.
  • The model picks from your tag list or says unsure, and a tag without a supporting quote from your note goes to review.
  • Every tag records its origin (rule, your correction, model), so you can rerun your stats without model tags.
  • Model calls stop at your weekly cap, and anything left goes to the review pile.
  • Tags are written to your journal only after you have seen a diff and confirmed. There is no broker access.

What can go wrong

Tag statistics are only as honest as the tags. Model-only tagging drifts toward the most common tag and tends to "find" mistakes that match the mood of a note, and those then show up as patterns in your weekly stats. The order (rules, corrections, model) contains that, but only if you keep the origin label and now and then check your stats with model tags left out. Watch the corrections file as well: if you correct tags when tired, you teach the script your tired habits.

Why it helps

Weekly stats by setup and mistake type are only useful if the tags are right, and tagging by hand is the chore that gets skipped. Handing it all to a model fills the gaps with plausible tags that bend your statistics. Putting your own rules first, your past corrections second and the model last gives you most of the convenience, keeps every model guess visible and reviewable, and keeps the bill small.

How it fits with other entries

The weekly stats (aft-0007) and the R-multiple review (aft-0006) depend on clean tags; this is how they get them. The setup library (aft-0022) holds the definitions the tags refer to. The claim labels entry (aft-0023) uses the same idea of recording where each piece of information came from.

Where this comes from

A short public post by Dan C (@madebydanc) on X about a household money app he built for himself. Categories come from his rules first, then from what he had already corrected, then from Claude for the leftovers; anything unsure stays in a review pile, and AI spend is capped. We applied that order to trade tags.

Source and references

The order of operations comes from a public post by @madebydanc on X about a self-built household money app: his own rules first, then what he had already corrected, then Claude for the leftovers, with unsure items left in a review pile and capped AI spend. We adapted that order to tagging trades in a journal, in our own words.

Original: Dan C on x

Spotted an error, or want your post removed? Email hello@agentsfortraders.com.

Educational content only. Not investment advice or a personal recommendation. No tickers, signals or trade alerts. Trading involves risk of loss.

Conteúdo exclusivamente educativo. Não constitui aconselhamento nem recomendação de investimento. Sem tickers, sinais ou alertas de negociação. Negociar envolve risco de perda.

Related use cases