Trading cost calculator

Separate spread, commission, slippage and financing. Compare two execution-cost scenarios for the same order.

Start with an example

Assumed total costs: A 1.90 USD and B 1.60 USD, both for 0.10 lot. Difference A − B = 0.30 USD: B is cheaper despite its higher commission.

Calculation inputs

Changing inputs recalculates the result. Use account currency for amounts unless a field names another unit.

0.10 lot is one tenth of a lot. Where do I find this input?
Account-currency amount for one pip of 1.00 lot, rather than for the whole entered position. The calculator scales it by volume. Where do I find this input?
One modelled bid/ask cost for comparing assumptions. Do not deduct it again from profit based on actual execution prices. Where do I find this input?
Opening and closing combined, in account currency. Multiplied by volume. Where do I find this input?
Assumed extra execution cost for the complete trade. Enter 0 if it is already included in the distances or execution prices. Where do I find this input?
Total account-currency cost, shared by scenarios A and B. Compare different financing terms in separate scenarios. Where do I find this input?
Labels the amounts. Changing this currency does not fetch an exchange rate or automatically convert the numbers you entered. Where do I find this input?
Compare with scenario B
The same order and pip value. A lower spread does not necessarily mean a lower total cost. Where do I find this input?
Opening and closing combined, in account currency. Where do I find this input?
Your assumed execution cost for the complete trade in scenario B. Where do I find this input?
Jump to the result ↓

Result for your inputs

Scenario A spread cost—
Scenario A commission—
Scenario A slippage cost—
Scenario A total cost, including financing—
Scenario A cost in position pips—
Scenario B total cost, including financing—
Difference A − B (positive: B is cheaper)—

How to interpret the result

Results appear when the calculator starts.

The comparison uses the same volume and instrument under fixed assumptions. Financing is shared by A and B; different rates need separate scenarios. This tool does not assess broker quality. Do not deduct spread again from profit based on actual execution prices.

Calculations run in your browser. A downloaded CSV contains your inputs and results.

Work through the calculations

Pip value → position size → margin → portfolio risk. Transfer with a button and confirm before applying on the next page.

A draft remains usable for 30 minutes and is stored in this browser session on this domain. We do not send it to the server or put amounts in the URL. A browser may retain a restored tab session; use “Clear calculation draft” to remove the data.

How the result is calculated

Cost = lots × [(spread + slippage) × pip value per lot + commission per lot] + financing for the whole position. Cost in pips = cost / (pip value per lot × lots). Difference = scenario A cost − scenario B cost; a positive amount means B is cheaper.

Worked example

Hypothetical example with 0.10 lot, a pip value of 10 USD per lot and no financing cost. A: spread 1 pip, slippage 0.2 pip, commission 7 USD per lot → 1 + 0.20 + 0.70 = 1.90 USD. B: spread 0.5 pip, slippage 0.2 pip, commission 9 USD per lot → 0.50 + 0.20 + 0.90 = 1.60 USD. B is cheaper by 0.30 USD despite its higher commission.

Specifications and conventions: MetaQuotes: profit in account currency

Inputs before results

Where do I find this calculator’s inputs?

Gather the instrument specification, account settings and your own assumptions. Do not treat default values as your broker’s settings.

Buy position · executionsFictional example. Buy at ask on entry: 1.10020; Sell at bid on exit: 1.10070; Difference / 0.0001 pip: 0.00050 / 0.0001 = 5; 0.10 lot · position pip 1 USD: 5 pips × 1 USD = 5 USD. Conclusion: the 5 USD price result already uses appropriate bid/ask executions. Do not subtract spread a second time; account for separate fees.ILLUSTRATIVE DIAGRAMBuy at ask on entry1.10020Sell at bid on exit1.10070Difference / 0.0001 pip0.00050 / 0.0001 = 50.10 lot · position pip 1 USD5 pips × 1 USD = 5 USD
Buy position · executions. Original diagram with fictional learning inputs; not a platform screenshot or broker offer.

Conclusion: the 5 USD price result already uses appropriate bid/ask executions. Do not subtract spread a second time; account for separate fees.

Contract and volume specification

Open the specification for the exact symbol and account type you will use. In MT5: Market Watch → symbol context menu → Specification. Read the contract size per 1 lot and the minimum, maximum and volume step.

100,000 base-currency units per lot is our example assumption. A position of 0.10 lot then represents 10,000 units. A 0.01 step does not establish the minimum or maximum; check all three settings.

Return to the form ↑

Pip, point and value per 1 lot

First establish the pip size in price units. Separately check the quoted point and the minimum price increment (tick size). The number of decimal places alone does not give a pip’s cash value.

For our fictional EUR/USD, a 0.0001 pip is ten times the 0.00001 tick. With a 100,000 EUR contract and a USD account, a tick of 1 lot is worth 1 USD and a pip 10 USD. Enter 10 in a per-lot pip field, although a pip of a 0.10-lot position is worth 1 USD. Platform tick values can differ for a profit and a loss; check the direction, currency and current conditions.

Return to the form ↑

Execution prices, distances and spread

For position P/L, use actual prices from execution history; for a plan, use your assumptions for the appropriate quote side. A buy opens at ask and closes at bid. A sell opens at bid and closes at ask.

A distance in pips is the price difference divided by pip size. When execution prices already include spread, do not subtract it again. The separate spread in the cost comparison is one modelled cost. Enter slippage as additional adverse execution for the whole trade only when it is not already included in prices or distances.

Return to the form ↑

Round-trip commission per 1 lot

Check your account’s fee schedule and actual charges: rate unit, currency, separate opening and closing charges, and any minimum fee.

Fictional 3.50 USD per lot for opening and the same for closing makes 7 USD per lot round trip. For 0.10 lot that is 0.70 USD if the rate is linear with no minimum. Enter 7 in a per-lot field. Enter a separate volume-independent charge in “fixed fee” where the form provides that field.

Return to the form ↑

Financing for the whole position

Check the rate for the correct position direction, its currency and event schedule. Convert a points-based or percentage rate into the account-currency amount for the whole position and holding period.

This field takes a positive financing cost shared by A and B. Do not enter a per-lot rate. Compare different financing terms in separate scenarios. Do not enter a financing credit as a negative cost here: this model does not support credits.

Return to the form ↑

Balance, equity and used margin

Read current account amounts in the same currency. Balance, equity including open P/L, and free margin describe different quantities.

For the loss budget, deliberately choose balance or equity and keep that definition throughout the plan. In the margin calculator, enter current equity and margin already used by other positions. Do not substitute free margin for equity or count the new position’s margin twice.

Return to the form ↑

Check field meanings in the platform documentation: MetaQuotes: specification and fees · MetaQuotes: order profit estimate