s↗sanforex.
SANFOREX / ATFC

Transparent by design.

The formulas, data and assumptions behind SanForex.

Pips and contract size

Supported instruments are conventional fiat currency pairs. Pip size is 0.01 when JPY is the quote currency and 0.0001 otherwise. Standard contract size defaults to 100,000 base units and can be changed. Fractional broker quote ticks are not whole pips. Metals, indices, futures and crypto require different specifications and are not supported.

Position size and pip value

Cash risk equals balance × percentage / 100. Pip value per lot equals contract size × pip size × quote-to-account conversion. With zero entered costs, raw lots equal cash risk / (stop pips × pip value per lot). With cost inputs, subtract fixed trade costs from the budget and divide by (stop pips × pip value per lot + estimated costs per lot), then round down to the lot step. Check the displayed price risk plus entered costs against the budget. Zero lots means no position fits; no trade costs are charged in that zero-size estimate. Entry/stop-price mode derives the stop distance using the pair’s pip convention and validates its direction. Unentered costs, stop gaps and slippage remain excluded.

Profit, margin and ratios

Long profit equals (exit − entry) × units; short profit reverses the difference. Convert quote P&L into account currency, then subtract entered costs. Estimated margin equals base units × base-to-account conversion / assumed leverage. Reward/risk compares favorable and adverse price distances; theoretical break-even win rate is risk / (risk + reward), excluding costs.

Currency reference data

European Central Bank daily EUR-relative reference data is retrieved server-side, cached and periodically refreshed. Effective date and retrieval time are shown separately. Cross conversion is target EUR-relative rate / source EUR-relative rate. ECB attribution and source links are displayed with the tools. Cross rates are calculated by SanForex; they are not independently published or endorsed by the ECB. Data older than 96 hours is flagged. When the source fails, the last available snapshot is retained; users can supply a custom conversion rate.

Session conventions

Indicative sessions are Sydney 08:00–17:00, Tokyo 09:00–18:00, London 08:00–17:00 and New York 08:00–17:00, Monday through Friday in each local time zone. IANA time-zone conversion handles DST. These windows do not model holidays, specific broker hours or exchange calendars.

Journal statistics

The journal stores entered net cash results calculated from gross P&L less entered costs. Win rate is wins / (wins + losses), excluding zeros. Profit factor is positive net results / absolute negative net results; it is undefined without losses. Average net result divides total net by all recorded trades including zeros. Closed-trade cash drawdown measures the largest decline from a cumulative realized-P&L peak using close-date order and entry order within each day. It is not account-equity drawdown and excludes open positions, deposits and withdrawals. Use one account currency per journal; no exchange conversion is applied. JSON restores entries here; CSV exports support spreadsheet review.

Verification and corrections

Automated tests cover known-answer arithmetic, conversion direction, lot-step floors, invalid inputs and time-zone transitions. These tests do not establish broker equivalence or validate a trading strategy. Use the contact form for corrections with non-sensitive example inputs.

Source: ECB reference rates · ECB reuse conditions