The ledger: why +0.25% finishes below zero
A long trade pays a fee on the way in and again on the way out. The exit fee is charged on the exit notional, so a winning trade pays slightly more to close than to open: $1.0025, not $1.00. If your account is charged VAT on trading fees, that tax sits on both fills. The spread and any slippage are paid in price, not on the fee line, but they cost money all the same.
Exact break-even for a long: m = [(1 + t)(f_open + f_close) + allowance + fixed ÷ notional] ÷ [1 − (1 + t) × f_close]. With these inputs, (1.05 × 0.20% + 0.04%) ÷ (1 − 1.05 × 0.10%) ≈ 0.250263%. Anything smaller is a loss before tax on gains.