Keep your original decision separate from the trade that actually filled

Writing “I should have bought here” after looking at the chart erases the conditions you chose at the time. Before ordering, record the reasons for your decision. Afterwards, add the actual records. These two blank CSV sheets keep those stages separate.

Download the pre-order planning sheet · Download the actual-record sheet

Use the planning sheet when setting your conditions

Record the instrument, source address and source date, then write one sentence describing what would make you consider an entry. Replace “it looks good” with a condition you can recognize when you reread the sheet.

In the next fields, record what would invalidate that condition, the amount you intend to commit and the exit condition. Give every plan row a unique plan ID and copy that ID into the record sheet. This links each observation or fill to its original decision, including multiple decisions on the same instrument and day. When changing a condition, add a row with a new ID and record the previous ID and reason in change_reason. Keep the original row intact.

Record actual fills rather than signals

The record sheet separates the time you observed the information, the order time and the actual fill time. It also provides separate fields for order type, quantity, fill price, fees, deposits and withdrawals. The realized-profit field is separate so that a later price movement is not entered as your trade's outcome.

If you combined automated and manual trading, note that in the comments. Use the record-type field to distinguish a real trade, an observation and a hypothetical calculation. Separating a deposit that increased the balance from money earned by trading also makes the subsequent review easier.

Begin with an observation if you have not ordered yet

In the planning sheet, enter the source address and date, instrument and condition you want to check, then assign a plan ID. Copy that ID, instrument and plan date into the record sheet. Set record_type to observation, enter when you read the source in observation_time and note what you checked. That completes your first record.

For an observation without an order, leave the order and fill times, order type, quantity, price, fees and realized profit empty. If you later trade, add an actual-trade row with the same plan ID and copy only values from the exchange fill record. In trade_side, retain its buy/sell or long/short label, and copy the order and fill IDs. Split partial fills into separate rows with their own fill IDs. Leave realized_profit empty if the exchange does not provide it for that fill. In profit_basis, record whether the original amount is before or after fees, using the exchange's definition. If an order has not filled, leave the fill fields empty and write unfilled in notes.

Put the currency beside the amount and the unit beside the quantity

Fill amount_currency in the plan and the separate price, fee, cashflow and profit currency fields in the record. Keep KRW, USD and USDT distinct. If a fee is charged in another currency, retain that currency. Enter the exchange record's quantity unit, such as coins, shares or contracts, and include the date and time zone with each timestamp. Use + for a deposit and the ordinary numeric minus sign - for a withdrawal so that the direction remains clear.

Open the files and begin with your own record

Both files are UTF-8 CSV; the Korean versions include a BOM. Open a file in Excel or Google Sheets, fill the first empty row and add a row for each subsequent record. The files contain no example trades with prefilled dates, amounts or profits.

These are blank recording tools. They do not generate buy or sell signals or send exchange orders. Use them to retain your source and decision, then place actual records beside them.

Read the difference between touching and holding a price · Compare the roles of the semi-automatic and full packages

Templates created by Coinian on 12 October 2026. Download and use them on your own device.