Tools · Free · No sign-up

Trading Expectancy Calculator

Paste a list of closed trades and read what one trade is worth on average, measured in R. The page also returns the win rate, the profit factor, the best and the worst result, the longest winning and losing runs, and the deepest drawdown the history went through.

What you can paste

One trade per line, in any of these three shapes. The page decides which one it is reading from how many fields the line has, so a list can be prepared in whichever form the records already exist in.

  • One R per line 1.8 The result already expressed in R, one number per line. A trade that made one and a half times what it risked is 1.5, a trade stopped out where the stop sat is -1, and a trade closed at break even is 0.
  • Entry, exit and stop 50, 56, 48 Three prices per line, in that order. The risk is the distance between entry and stop, and the R comes out of it, so the sample line above is a trade that made three times its risk. The direction is read from which side the stop falls on: below the entry is a buy, above it is a short.
  • Entry, exit, stop and direction 50, 44, 52, short The same three prices with long or short written after them. Use this shape whenever the direction should not be guessed from the stop, and the word decides it.

Commas, semicolons and tabs all work as separators, so a block copied straight out of a spreadsheet goes in as it is. A decimal comma is read as a decimal point, and a stray % or R next to a number is ignored. Blank lines are skipped. A header line at the top is reported rather than counted.

What goes in that box is a trade history, so it is worth saying plainly where it goes: nowhere. The lines are read here, in this tab, by code running on your own machine. Nothing is sent over the network, nothing is written to storage, and closing the tab leaves nothing behind.

Your numbers never leave your browser. No account, nothing uploaded, and nothing you type is tracked.

R, and why it makes trades comparable

R is the risk of a trade taken as the unit of measurement. Whatever the account stood to lose if the stop had been hit is one R, and every outcome is read against it. A trade that made twice what it risked is +2R, a trade stopped out exactly where the stop sat is -1R, and a trade closed early for a third of the intended risk is +0.33R. The instrument, the size of the position and the currency of the account all drop out, which is the whole point of the unit.

Without it a history cannot be added up honestly. A 400 win on a position sized at 4,000 and a 400 win on a position sized at 40,000 are not the same trade, and averaging the money values treats them as if they were. In R the first is +4R and the second +0.4R, and the difference survives the arithmetic. It also means a history from an older, smaller account belongs in the same column as this week. Where the stop sits fixes that entire scale, which is the single trade our risk and reward calculator works on before it ever becomes a row here.

Why expectancy outranks the win rate

Expectancy is the average of every R in the list: add them up and divide by how many there were. It answers the question that actually compounds, which is what one more trade taken the same way is worth. A win rate answers a narrower one, how often trades end green, and it moves for free with where the exit is placed. Pull the target closer and the win rate rises with nothing else about the method having changed.

That is why the two figures can point opposite ways. A method that wins 70% of the time on +0.4R winners and loses the rest at -1R has an expectancy of -0.02R: a losing method wearing a win rate most people would be happy to quote. A method that wins 35% of the time on +3R winners carries an expectancy of +0.4R while being wrong two trades out of three. When a history comes out positive here, the next question is whether that came from the method or from a good run, which is what our Luck or Edge calculator is for. What a given expectancy turns into over a long series is a separate arithmetic, run by our compounding calculator.

What the profit factor adds

The profit factor divides everything the winners made by everything the losers cost, both as totals. Expectancy already carries that information averaged per trade, so the two never disagree about the sign: above 1 goes with a positive expectancy, below 1 with a negative one. What the ratio adds is the margin. A profit factor of 1.1 and one of 2.5 describe very different histories even when the expectancy looks similar, because at 1.1 the gross profit only has to slip by a tenth for the whole record to turn negative.

The longest losing run is a floor, not a ceiling

The longest run of losses in a history is not a limit on what comes next. It is the worst run that happened to fall inside the trades recorded so far, and a longer sample would tend to contain a longer one. With a method that wins four times out of ten, a run of eight losses turns up somewhere in a few hundred trades as ordinary arithmetic, not as a sign that anything broke.

The same reading applies to the deepest drawdown, which this page measures in R off the running total of the list. It describes the worst stretch already lived through, and it belongs in a plan as a lower bound: the size that makes that run survivable is a starting point, not a ceiling. Forty trades that never lost five in a row say very little about whether five in a row is on the way.

How many trades before this means anything

Below thirty trades the page says so above the figures rather than under them, because at that size the numbers describe what happened instead of what to expect. A handful of trades can hand back an expectancy of +0.8R that owes everything to one outsized winner, and the same method over the next fifty can settle near zero. Thirty is where the warning stops, not where the figures become reliable.

What makes a sample worth reading is its consistency as much as its size. Trades taken under one set of rules, sized the same way, with stops placed and held the same way, add up to something. Trades from three different approaches mixed into one list average into a figure that belongs to none of them. The useful habit is one list per method, fed as it grows, and every reading treated as provisional while a single trade can still move the answer.

Questions

What is expectancy measured in R?
R is the risk of a trade taken as the unit of measurement: whatever the account stood to lose if the stop had been hit counts as one R, and every outcome is read against it. A trade that made twice what it risked is +2R and one stopped out exactly at the stop is -1R. Using R lets trades of different sizes and instruments sit in the same list, because the currency and position size drop out of the arithmetic.
What format do I paste my trades in?
The page accepts three shapes, one trade per line: a single R value already worked out, three prices as entry, exit and stop, or those three prices followed by the word long or short. Commas, semicolons and tabs all work as separators, so a block copied from a spreadsheet goes in as it is. Nothing typed into the box is sent anywhere; it is read locally in the browser tab.
What does the profit factor tell me that expectancy does not?
The profit factor divides everything the winners made by everything the losers cost, both as totals, so it never disagrees with expectancy about the sign: above 1 goes with a positive expectancy, below 1 with a negative one. What it adds is the margin, since a profit factor of 1.1 and one of 2.5 can share a similar expectancy while describing very different histories. At 1.1 the gross profit only has to slip by a tenth for the whole record to turn negative.
Why doesn't a small sample of trades mean much?
Below thirty trades the numbers describe what happened rather than what to expect, and a handful of trades can hand back an expectancy that owes everything to one outsized winner. What makes a sample worth reading is consistency as much as size: trades taken under one set of rules, sized and stopped the same way, add up to something a mixed list of different methods does not. Thirty is where the warning above the figures stops appearing, not where the figures become reliable.

Expectancy is only as good as the trades that go into it. Trend maturity tells which ones were taken early and which ones late.

See Edo Trend Maturity Engine → Read: structure before signals →

Indicators that draw this for you

The numbers above are what these tools mark on the chart: levels, stops and context, no spreadsheet.