How It Works
1. Notional Volume Calculation
Notional volume represents the total market value of a leveraged position. It's calculated differently depending on the instrument type:
General Formula
Notional (USD) = Lots x Contract Size x Price x FX Rate
Formulas by Instrument Type
| Type | Examples | Formula | Explanation |
|---|---|---|---|
| USD Base Pairs | USDJPY, USDCAD, USDCHF | Lots x 100,000 |
Base currency is already USD, no conversion needed |
| USD Quote Pairs | EURUSD, GBPUSD, AUDUSD | Lots x 100,000 x Close Price |
Close price represents how many USD per base unit |
| Cross Pairs | GBPJPY, EURJPY, AUDCAD | Lots x 100,000 x Base-to-USD Rate |
Requires FX rate lookup to convert base currency to USD |
| Commodities & Indices | XAUUSD, BTCUSD, GER40 | Lots x Contract Size x Close Price x FX Rate |
Uses specific contract sizes and FX conversion if needed |
Contract Sizes
| Instrument | Contract Size |
|---|---|
| Forex Pairs | 100,000 units |
| Gold (XAUUSD) | 100 troy ounces |
| Silver (XAGUSD) | 5,000 troy ounces |
| Crude Oil (WTI/USOIL) | 1,000 barrels |
| Instrument | Contract Size |
|---|---|
| Bitcoin (BTCUSD) | 1 BTC |
| Ethereum (ETHUSD) | 1 ETH |
| Indices (GER40, US30) | 1 unit |
Example Calculation
Calculation: 0.5 x 100,000 x 1.0850 = $54,250 USD
2. FX Rate Conversion
When a trade's base currency is not USD, we need to convert it to USD using the exchange rate from the trade's close date.
When FX Conversion is Needed
- Cross currency pairs (e.g., GBPJPY) - need to convert GBP to USD
- Non-USD indices (e.g., GER40) - need to convert EUR to USD
How Rates Are Fetched
- Historical API - We use the Frankfurter API to fetch historical exchange rates
- Date-Based Lookup - Rates are fetched for the exact date the trade was closed
- In-Memory Caching - Once fetched, rates are cached to avoid duplicate API calls
- Fallback Rates - If the API is unavailable, approximate static rates are used
3. FX Source Types
Each trade shows an "FX Source" badge indicating how the exchange rate was obtained:
Direct USD Quote
The instrument is already quoted in USD (e.g., EURUSD, XAUUSD). No FX conversion needed - rate is 1.0.
Historical API
Fresh rate fetched from the Frankfurter API for the trade's close date. Most accurate source.
Cached API Rate
Rate was previously fetched for the same currency/date combination and reused from memory cache.
Fallback Rate
API unavailable - using approximate static rate. Results may be less accurate.
4. Supported Platforms
MT5MetaTrader 5
Export your trade history from the History tab:
- Open the History tab in MT5
- Right-click and select "Report"
- Choose "Open XML" or export as Excel
- Upload the .xlsx file
cTradercTrader
Export your trade history from History:
- Go to the History section
- Select date range
- Click "Statement" or export icon
- Upload the .xlsx or .csv file