Psychology

Trading Psychology Journal: How to Log Emotions So They're Useful Later

Logging how you felt produces a diary nobody can query. This is how to turn emotional state into a field you can filter, what it costs in sample size before it says anything, and the contamination that makes a state label read as proof when it is only your P&L written twice.

October 7, 202612 min readBy TradingSFX
Share:
Table of contents
  1. 01The Test Any Emotion Log Has to Pass
  2. 02The Contamination That Makes a State Field Lie
  3. 03Build the Field: Three or Four Values, Defined by Circumstance
  4. 04What It Costs in Sample Size
  5. 05Coverage Is a Number, and You Should Check It First
  6. 06Never Make State a Rule
  7. 07What the Free-Text Note Is Actually For
  8. 08The Weekly Review, in Three Questions
  9. 09Setting It Up in TradingSFX
  10. 10Bottom Line

Nearly every article on trading psychology ends at the same instruction: log your emotional state, because awareness is the first step. It sounds right, it takes five seconds to write, and it produces a journal field that cannot answer a single question six months later.

The problem is not that feelings are unimportant. It is that "felt rushed, probably shouldn't have taken it, market was choppy and I was annoyed about yesterday" is a sentence. You cannot group sentences. You cannot average them. You cannot ask your journal what that state costs you per trade, which is the only question that would change what you do tomorrow.

This post is about the version that works: what shape the field has to take, the contamination that makes it lie convincingly, how many trades it takes before it says anything, and why the state field should never be one of your rules.

The Test Any Emotion Log Has to Pass

A journal field earns its place if it can complete this sentence with a number:

My average result is X R per trade. On trades where the state field said Y, it was Z R.

That is it. If the field cannot produce a Z, it is a diary. Diaries are fine, and re-reading one has its own value, but it is not data and it will not survive the month you are too busy to write in it.

Completing that sentence requires three things, and free-text emotion notes fail all three.

1. A closed list of values. Averages need buckets. "Anxious", "a bit anxious", "nervous" and "unsettled" are four buckets of one trade each, which is no buckets at all. Three or four fixed values, mutually exclusive, picked from a list rather than typed.

2. A fixed recording moment. The value has to be set at entry, before the outcome exists. This is the requirement everyone breaks, and the next section is about what it does to your conclusions.

3. Few enough values that each one fills up. A 1 to 10 tilt scale sounds more precise than four words. In practice it gives you ten buckets, eight of which you never use, and the two you do use are indistinguishable. Precision you cannot populate is worse than a coarse scale you can.

The Contamination That Makes a State Field Lie

Here is the failure that produces the most confident wrong conclusions, and it happens to people who are being completely honest.

You review the trade after it closes. You are filling the state field during the review, because that is when you have time. The trade lost. You remember, accurately as far as you can tell, that you had been impatient. So you tag it.

Memory does not work independently of outcome. Knowing the result changes which parts of the entry you recall and how you weigh them. The label you apply after the fact is partly a label on the result.

Work out what that does. Take 200 trades of a 1:2 setup winning 40% of the time: 80 winners at +2R and 120 losers at -1R, so +40R in total and +0.20R per trade. Now suppose that, labelling after the fact, you tag "rushed" on 60% of the losers and 15% of the winners.

StateTradesTotal RAverage
Rushed84-48.0R-0.57R
Clean116+88.0R+0.76R

A gap of 1.33R per trade. It looks like the most important discovery you have ever made about yourself. It is entirely manufactured: the strategy's results were identical in both buckets, and the only thing that differed was which trades got the label.

Worse, the finding is unfalsifiable from inside the data. A genuine state effect would also show more losers in the bad bucket, so the skew itself proves nothing.

Two things do help.

Fix it procedurally, not analytically. Pick the value at entry, in the same action as placing the trade, and treat it as locked once the trade is open. A state field filled during review is not a weaker version of the same data. It is a different variable.

Then check the objective fingerprints. If a state genuinely degraded your execution, it should show up in things no memory touched: position size, minutes since the previous trade, trade number that day, how many confluences were present. If "rushed" trades are indistinguishable from clean ones on every measurable dimension and differ only in P&L, you have logged your P&L twice. Revenge trading has three measurable signatures for exactly this reason: the signatures were chosen because they do not require introspection.

Build the Field: Three or Four Values, Defined by Circumstance

The second trick that makes a state field work is to stop naming feelings and start naming circumstances. "Anxious" is a judgement you make about yourself. "Entered after price had already moved past my level" is a fact about the chart that you can answer in one second with no self-knowledge required.

A working list looks more like this:

  • Clean. The planned setup, waited for, nothing else running.
  • Chasing. Price was already past the level when I clicked.
  • Distracted. Traded while doing something else, or on short sleep.
  • Pressured. Trading against a deadline or a number I need.

Four values, each decidable at entry, each describing something that happened rather than something you felt. Notice that the emotional content has not been removed. Chasing is what impatience looks like from the outside, and from the outside is the only angle your journal can see.

Two things deliberately left off that list, because the journal already knows them:

  • "Already down for the day." Derivable from the trades you have logged. Do not spend a value slot on a field the data computes. Overtrading turns out to be this exact distinction: the fourth trade of a day is not the problem, the fourth trade taken while down is, and both facts come free from trade sequence.
  • "After a losing streak." Also derivable, by tagging each trade with the consecutive-loss count at entry. Losing streaks covers what to compare it against.

The rule of thumb: self-report is expensive and unreliable, so spend it only on what nothing else records. Sleep, outside stress and the deadline in your head qualify. Sequence, size and timing do not.

What It Costs in Sample Size

This is the part that gets left out, and leaving it out is why people abandon state tracking after six weeks of finding nothing.

The number of trades needed to establish a difference depends on the size of that difference relative to the spread of your results. The working version of the arithmetic is n = (2s / E) squared, where E is the difference you want to detect in R and s is the standard deviation of your per-trade results. How many trades before you go live derives it.

For the same 1:2 setup winning 40% of the time, per-trade outcomes are +2R and -1R around a mean of +0.20R, which gives s of about 1.47R. So, per bucket:

Difference to detectTrades needed in each state
0.2R per tradeabout 216
0.5R per tradeabout 35
1.0R per tradeabout 9

Then adjust for how often the state actually occurs. If you are chasing on one trade in five, reaching 35 chasing trades takes about 175 logged trades. Reaching 216 takes over a thousand, which at ten trades a week is two years.

Three conclusions follow, and they are all useful before you log anything:

  1. A state field can only catch a large effect in a reasonable timeframe. Half an R per trade and up. That is not a weakness. A state that costs you 0.1R a trade does not warrant restructuring your day.
  2. Do not read the field at 20 trades. At that size the difference between buckets is noise with a story attached, and the story will be a good one because you wrote the labels.
  3. The two-sigma bar sits at roughly even odds of detection, so if you want a real effect to show up reliably rather than half the time, double those numbers.

Measured against that, a four-value list is already a stretch. Three is better. The fastest way to learn nothing is to build eleven mood categories and spread 200 trades across them.

Coverage Is a Number, and You Should Check It First

Before comparing buckets, check what fraction of trades carry the field at all. Missing labels are not missing at random. They are missing on the trades you would rather not label.

Here is what that does. Suppose you were genuinely chasing on 40 of 200 trades, and those trades averaged -0.30R while the other 160 averaged +0.33R. Now suppose you only filled the field on half of them, and the twenty you skipped were the worst: the twenty you logged average -0.05R, the twenty you skipped average -0.55R. Your journal reports chasing at -0.05R against clean at +0.33R, a gap of 0.38R, when the real gap is 0.63R.

So the gap the field reports is a floor rather than an estimate, provided you skip the worse trades. Skip the calm losers instead and it inflates. Either way, one diagnostic catches it:

What percentage of my winners carry a state value, and what percentage of my losers do?

If it is 85% of winners and 55% of losers, stop reading the comparison and fix the habit first. A field filled on the comfortable trades measures your comfort.

Never Make State a Rule

This is the one that matters most inside a journal that scores rule-following, and it is counterintuitive, because turning things into rules is usually the advice.

In TradingSFX a custom confluence becomes a tracked rule the moment you set a required answer on it, and only then. Fields without a required answer are recorded and analysed but never scored. The discipline score is total checks met divided by total checks made, across the fields that have a required answer.

So picture marking "Clean" as the required value on your state field. Every honest "Chasing" is now a rule violation that visibly lowers your score. Two cheap ways to protect the score appear immediately: pick the flattering value, or leave the field blank. Blank fields produce no check at all, so they cost nothing.

You have built a field that charges you for accuracy and rewards you for silence, in the one place where accuracy is the entire product.

Keep state unscored. Put the required answers on things you actually control: the maximum number of trades in a day, the minimum reward multiple, the session you are allowed to trade. Why you break your own trading rules sorts a repeatedly broken rule into four causes and only one of them is discipline, which is the other half of this: rules want to be decidable at the moment you act, and state is not a decision.

What the Free-Text Note Is Actually For

None of this means notes are useless. It means notes have a narrower job than the one they are usually given.

A fixed field holds what can be grouped. A note holds the one thing no field can: what you believed at the time, in enough detail to be judged wrong later. That is worth more than a description of the feeling, because a belief has a truth value and a mood does not.

The format that survives review is two clauses, written before the outcome:

I expect price to reject this level and run to the previous low. I am wrong if it closes above the level on the 15 minute chart.

Three weeks later that is checkable. "Felt confident, good setup" is not.

Keeping notes findable is a separate problem, since free text cannot be filtered into buckets. Two things help: write one line rather than a paragraph, and start it with a consistent word when you want to find a theme again. In TradingSFX the trade note sits on the trade, and longer write-ups go in the journal under a Psychology category, which is a Pro feature. On the paid plans the AI coach searches both by meaning, so asking what you wrote on the days you felt pressured returns the notes instead of making you scroll a year of entries. Below that, searchability is whatever your own naming gives you, which is a reason to keep the lines short and consistent.

The Weekly Review, in Three Questions

Fifteen minutes, once a week, in this order. Order matters, because questions two and three are meaningless if one fails.

1. On what share of trades did I set the state at entry, and is that share the same for winners and losers? Below roughly 80%, or skewed between winners and losers, and the rest of the review is theatre. Fix the habit.

2. Does any state differ from my baseline by half an R or more, with at least 35 trades in that bucket? If no, there is nothing to act on yet, and that is a legitimate result. Write down the counts and come back in a month.

3. If one does, do the objective measures move with it? Average risk per trade, minutes since the previous trade, trade number in the day, confluence count. If the state is real, at least one of those should move with it. If none do, suspect the label before you suspect yourself.

Then, and only then, write a rule. It fires on the circumstance, not on the feeling, because the feeling is not observable at the moment the rule has to fire:

If I notice price is already past my level, then I do not take the entry and I log the setup as skipped.

That is an implementation intention in the sense Peter Gollwitzer introduced in 1999: the decision is made once, in advance, instead of being negotiated at the worst possible moment.

Setting It Up in TradingSFX

Concretely, in this journal:

  • The state field is a Text confluence with options. Add the three or four values, and they render as one-tap chips in the trade form, so the tag costs one click rather than a typing session. Single select, so the values stay mutually exclusive.
  • Leave the required value empty. That keeps it out of the discipline score, which is the whole point of the previous section.
  • The free plan allows one custom confluence, so on Basic the state field is your only field. Paid plans let you add more, which is what you need the moment you want state and a couple of real rules at the same time.
  • Splitting results by a confluence value lives on the per-symbol and per-strategy analysis pages, where state becomes a filter you can cross with strategy and session, and in the Confluence Report, which scores every value on its own and in combination with the others. Both are Pro and above.
  • Everything exports to CSV on every plan, including free, so the comparison is also a pivot table away if you would rather do the arithmetic yourself.

Basic is free forever at 10 trades a month with no card. Pro is $19.99 a month and Premium is $29.99 a month. Pricing has the full split, and the demo analysis pages show the cross-filtering on sample data without an account.

Bottom Line

Logging emotions fails for a mechanical reason, not a motivational one: sentences cannot be grouped, so they cannot be compared to a baseline, so they never produce a number anyone would act on.

The version that works is smaller than what most trading psychology advice asks for. Three or four values describing circumstances rather than feelings. Picked at entry, locked afterwards. Never scored as a rule. Read only once a bucket holds about 35 trades, and only believed if something measurable moves with it.

Start it on one value this week. Pick the one circumstance you already suspect costs you money, tag it on every trade including the ones you would rather not, and let it run for two months before you draw a conclusion. The hard part was never the insight. It was having a field you can still ask a question of in March.


Published October 7, 2026. All arithmetic in this post is worked openly from stated illustrative samples: no figure here comes from a survey, a study or a user count, and no competitor feature or price is claimed. The implementation intentions concept is attributed to Peter Gollwitzer's 1999 work without quoting effect sizes. Plan limits were read from the product rather than from memory.

Free to start

Turn your trades into a real edge

Stop guessing what works. Log your trades, track confluences, and let the AI Coach surface the patterns you keep missing across every prop firm rule and strategy.

No credit card required · Start for free

Not financial advice. This article is for educational and informational purposes only and does not constitute financial, investment, or trading advice. Trading forex, indices, crypto, and other leveraged instruments carries a high level of risk and can result in the loss of all your capital. Past performance is not indicative of future results. Always do your own research and consider consulting a licensed financial advisor before making any trading decision.
All third-party names and trademarks mentioned in this article are the property of their respective owners. References are made for descriptive and comparative purposes only. TradingSFX is not affiliated with, endorsed by, or sponsored by any third party mentioned. See our Terms of Service for the full trademark disclaimer.

    We use cookies for analytics to improve your experience. Privacy Policy