No Gap, Different Risk
In our stock trading journal piece, the central problem was that a stop loss on a stock only fires while the market is open, so an earnings report after the close can turn a planned 1R loss into 2.6R by the next morning. Crypto trades around the clock, seven days a week, so a stop resting on an exchange can trigger at 3am on a Sunday. The stock-style gap, where price jumps from one session's close to the next session's open with nothing in between, mostly does not happen.
That does not make crypto risk simpler. It moves it. Three things take the gap's place, and none of them shows up in a trade log that records only what you made or lost in dollars:
- Fees charged in the coin, which make the position you hold smaller than the one you ordered.
- Thin hours, when order books are shallower and a stop that fires can fill some distance past its trigger.
- Volatility that varies enormously from coin to coin, so the same dollar result means completely different things on bitcoin and on a small altcoin.
Fees in the Coin: Why Your Position Is Smaller Than You Think
On many exchanges, and depending on the order type and your settings, the trading fee on a buy is taken out of the coin you receive rather than charged separately in dollars. The order says one quantity; the wallet holds a slightly smaller one. Here is a round trip at an illustrative 0.1% fee per side. Fee levels vary widely by exchange, account tier and whether you take or provide liquidity, so treat 0.1% as a round number, not a quote:
| Step | SOL | Dollars |
|---|---|---|
| Buy $10,000 of SOL at $150.00 | 66.6667 ordered | -$10,000.00 |
| 0.1% fee taken in SOL | -0.0667 | (worth $10.00) |
| Received | 66.6000 | - |
| Sell all of it at $165.00, 0.1% fee in dollars | -66.6000 | +$10,989.00 - $10.99 |
| Actual profit | - | +$978.01 |
A journal that records the order as placed, 66.6667 SOL from $150 to $165 with no fees, shows +$1,000.00. That is $21.99 too high, which is small on one trade, and it creates a second problem that is not small: the journal now believes you still hold 0.0667 SOL. Anything that matches buys against sells by quantity, whether that is your spreadsheet or an importer, will carry that sliver as an open position indefinitely. Across a few hundred trades those slivers become a phantom portfolio.
The correct record is the quantity you received, 66.60 SOL, with the coin fee converted to dollars at the fill price, $10.00, as the entry fee, and $10.99 as the exit fee. That reproduces the cash result exactly: (165 - 150) x 66.60 = $999.00, minus $20.99 in fees, is $978.01.
The bigger reason to get fees right is what they do to your edge. A round-trip fee is a fixed percentage of the position, and one R is also a percentage of the position: the distance to your stop. So the cost of fees in R is simply the round-trip fee divided by the stop distance:
| Stop distance | Typical style | 0.2% round-trip fee, in R |
|---|---|---|
| 10% | Position trade | 0.02R |
| 5% | Swing trade | 0.04R |
| 3% | Short swing | 0.07R |
| 1.5% | Intraday | 0.13R |
| 0.75% | Scalp | 0.27R |
A position trader can round fees away. An intraday trader with 1.5% stops and an expectancy of +0.20R before fees keeps about +0.07R after them, so two-thirds of the edge goes to the exchange. That is why fees belong in the journal as numbers, not as a line in your head that says "fees are small". If you trade perpetual futures, funding payments are a second recurring cost of the same kind, and they belong in the record for the same reason.
Thin Hours
A market that never closes is not equally liquid at every hour. Depth on most pairs is commonly thinner at weekends and in the hours when the major financial centres are all quiet, and a stop that triggers into a thin book fills wherever the next resting orders are. On a stock, the gap is the loss beyond your stop. On crypto, this slippage is, and it concentrates in exactly the hours when you are least likely to be watching.
How much this costs you depends on the pairs you trade and the size you trade them in, and the honest answer is to measure it rather than assume it. Two fields make that possible:
- Entry and exit time, in one fixed timezone. UTC is the simplest, since crypto has no home exchange and no official session. With times recorded, you can split results into weekday and weekend, or by hour of the day.
- The price you intended to get. An exchange export records fills, not intentions. The difference between your stop level and your actual stop-out price is the slippage, and only you can write down the first number.
After a couple of months, compare average R on weekend trades with weekday trades, and average stop-out slippage by hour. If the weekend trades are worse, you have a rule to consider, such as smaller size, wider stops sized down to match, or no new positions after Friday. If they are not, you can stop worrying about it. Either way it is a number rather than folklore.
One Journal, Twenty Volatilities: Why Dollars Can't Compare Coins
The problem that breaks the most crypto journals is the one that looks least like a problem. Bitcoin and a small altcoin can differ several times over in how far they typically move in a day, so a sensible stop on one is a meaningless stop on the other. If you size by dollars, putting the same $5,000 into each trade, the risk you actually take varies with the coin:
| BTC | Altcoin | |
|---|---|---|
| Entry / stop | $60,000 / $58,200 (3%) | $2.00 / $1.70 (15%) |
| Position for $5,000 | 0.0833 BTC | 2,500 coins |
| Risk if stopped (1R) | $150 | $750 |
| A 2R winner pays | +$300 | +$1,500 |
Now run ten trades of each. Every winner is +2R and every loser is -1R. The bitcoin trades win six times out of ten; the altcoin trades win four:
| 10 trades each | Wins / losses | Net in R | Expectancy | Net in dollars |
|---|---|---|---|---|
| BTC | 6 / 4 | +8.0R | +0.80R | +$1,200 |
| Altcoin | 4 / 6 | +2.0R | +0.20R | +$1,500 |
In dollars, the altcoin trades made more money, and a trader reading a P&L column would conclude that altcoins are where their edge is. In R-multiples, the bitcoin trades are four times better per trade. The altcoin trades only made more because each one carried five times the risk. Put the same five-times risk behind the bitcoin setup and it would have made $6,000.
Ten trades is far too few to conclude anything about a real strategy, and the point here is not that bitcoin beats altcoins. It is that dollar P&L cannot answer the question at all, because it mixes the quality of the trade with the size of the bet. The R-multiple separates them, which is what normalising gold against EURUSD does for forex traders, and it points to the fix on the sizing side as well: size every trade to the same dollar risk, so a 15% stop gets a position one-fifth the size of a 3% stop.
The Fields, and Which Ones an Export Can Give You Back
Exchanges keep good records of what happened. They keep no record of what you meant to happen. That is the dividing line between what a crypto journal can import later and what it has to capture at the time:
| Field | Why it matters on crypto | In an exchange export later? |
|---|---|---|
| Entry, exit, quantity, time | The P&L itself, and the weekend and hour-of-day splits | Yes |
| Fees | Can cost a third of the edge or more on tight stops | Yes, but possibly in the coin |
| Planned stop | Defines 1R; the only way to compare BTC with an altcoin | No |
| Intended price | Slippage in thin hours | No - fills only |
| Setup / strategy | Expectancy per setup, not per coin or per account | No |
| Buy and sell on different exchanges | One trade split across two records | Each side only, never paired |
The three "no" rows are the case for journaling at the moment of the trade. If you only have time for a few fields, the minimum viable journal is the right starting set, and on crypto the planned stop is the one never to skip, because without it nothing you trade can be compared with anything else you trade.
Getting Crypto Trades In
For the mechanical fields, import rather than type. SignalDeck connects to Coinbase, along with Robinhood, Schwab and other brokers, through SnapTrade. The connection is read-only: it reads your account activity and never places orders. Because an exchange reports individual buys and sells rather than trades, the importer rebuilds completed round trips from them, averaging the entry price when you scaled in and attaching fees to the entry and the exit. Activity refreshes roughly once a day, not in real time. For any exchange SnapTrade does not cover, the generic CSV importer takes an export of trades or fills and walks you through mapping the columns. Moving coins between exchanges is the one case an importer cannot pair for you: a buy on one venue and a sell on another arrive as two unrelated halves, so log those trades by hand. What connects live and what imports from a file across every platform is in our platform support write-up.
What SignalDeck Does for Crypto Traders, and What It Does Not
What it does. Crypto is its own instrument type, with pair search, and quantities and prices recorded to eight decimal places, so fractional positions and sub-cent coins are stored exactly. Results are measured in R-multiples against the stop recorded at entry, so a bitcoin trade and an altcoin trade land on the same scale. Dollar P&L is recorded net of entry and exit fees, long and short. There are no market-hours restrictions on logging, and open crypto positions are re-priced by a background worker around the clock, weekends included, so unrealised P&L stays current, and price alerts on open positions work at any hour. Maximum favourable and adverse excursion are computed when a trade closes.
Limits worth knowing before you rely on it:
- R-multiples are calculated from prices, before fees. The fees are in the dollar P&L but not in the R figure. For wide stops the difference is negligible. For tight stops, subtract the fee cost from the table above, or compare R with dollar P&L per trade to see it.
- Fees are recorded in dollars. A fee charged in the coin has to be converted at the fill price, and the quantity should be the amount you received, as in the SOL example.
- No funding or leverage fields on crypto trades. If you trade perpetuals, fold funding payments into fees so they reach your P&L, and note the leverage in the trade notes.
- Excursion comes from daily bars. MAE and MFE use the high and low of each day you held the position, so on an intraday trade they cover the whole day's range and are an upper bound on what you experienced rather than a measurement of it.
- The pre-trade concentration check covers stocks only. Several altcoins that move together are one bet, and SignalDeck does not flag that for crypto today.
- It is not a tax tool. It does not compute cost basis, tax lots or tax reports. Your exchange's reports are the record for that.
For what the crypto side of the product looks like overall, see the crypto trading journal overview.
What to Do With This
Starting with your next trade, write down the stop you planned before you enter, record the quantity you actually received, and put every fee in dollars. Those three habits fix the phantom-position problem, make fees visible in R, and let you compare every coin you trade on one scale. None of it needs new software.
After a couple of months, run three comparisons: expectancy in R by coin or by setup, rather than P&L by coin; weekend against weekday; and your average R before and after fees. Each one answers a question that a dollar P&L column cannot, and at least one of them is likely to change how you trade.
Frequently Asked Questions
What should I track in a crypto trading journal?
Beyond entry, exit, quantity and fees, which an exchange export already contains, record what only exists at the moment of entry: the planned stop, so every result can be measured in R-multiples; the setup or strategy the trade belongs to; the price you intended to get, so slippage can be measured; and the entry time in a fixed timezone, so you can compare weekend and weekday or thin-hour and busy-hour results. Record the quantity you actually received rather than the quantity you ordered, because many exchanges take the fee out of the coin, and record every fee in one currency. The R-multiple matters more on crypto than on most markets, because coins differ so much in volatility that dollar P&L cannot compare a bitcoin trade with an altcoin trade.
Do I need a trading journal if I only hold crypto?
You need less of one, but not none. A long-term holder does not need entry-time or slippage fields. What a holder does need is the reason for each buy and the condition that would make them sell, written down at the time of purchase, because after a large drawdown it is very hard to remember honestly why a position was bought. A record of each buy, its fees, and that one-line thesis is enough, and it is also the record that tells you later whether your buying and selling added anything compared with simply holding.
How do I record fees paid in crypto?
Convert the fee into your account currency at the price of the fill it was charged on, and record the quantity you actually received after the fee. For example, if you buy 10,000 dollars of SOL at 150 and the exchange takes a 0.1% fee in SOL, you receive 66.60 SOL rather than 66.67. Record the position as 66.60 SOL with a 10.00 dollar entry fee. Logging the 66.67 you ordered overstates the profit on the trade and leaves a small quantity of coin that can never be closed, which will sit in your records as an open position.
Can I import crypto trades from Coinbase?
Yes. SignalDeck connects to Coinbase, along with Robinhood, Schwab and other brokers, through SnapTrade, which reads your account activity and rebuilds completed trades from the individual buys and sells, with the fees attached to the entry and the exit. The connection is read-only and SignalDeck never places orders. Account activity refreshes about once a day rather than in real time. For exchanges that SnapTrade does not cover, a generic CSV importer takes any export that lists trades or fills. Imported trades still need a planned stop added, because no exchange export contains one, and without it results cannot be expressed in R-multiples.
How SignalDeck Compares
Two widely used journals, set against R-normalised results across coins of very different volatility.
Related Articles
Stock Trading Journal: What to Track When Your Stop Can Gap
The mirror image of this piece: a market that closes, and what that does to a stop.
What Is an R-Multiple?
The unit that puts a bitcoin trade and an altcoin trade on the same scale.
Fixed-R Position Sizing
Turning a dollar risk and a stop distance into a position size, on any coin.
Trading Expectancy
The per-trade number that fees quietly eat into.
Put every coin on the same scale
Import your crypto trades, add the stop you planned, and every result is measured in R, so a bitcoin trade and an altcoin trade can finally be compared. Free during beta; Pro is $30/mo and Elite $50/mo when billing launches.