Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| developers:systempricing [2025/08/13 21:12] – created chad | developers:systempricing [2025/12/04 01:48] (current) – chad | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== System Price Format ====== | ====== System Price Format ====== | ||
| + | T4 publishes prices in two formats: **Decimal** (default) and **Real**. The setting controls only decimal placement on all prices, including chart data and API/FIX responses. | ||
| - | The T4 system publishes market prices in two formats, Decimal and Real. The selected format controls where we place the decimal point on all prices published on the system, including chart data. | + | <WRAP center round info 100%> |
| + | If you expect ES to look like '' | ||
| + | </ | ||
| - | The Decimal format represents the prices exactly as published on the various exchange API's. This is the default | + | ===== Formats ===== |
| + | ^ Format ^ Description ^ Example (ES) ^ | ||
| + | | Real | Human-readable decimal placement used by most trading UIs. | < | ||
| + | | Decimal (default) | Raw exchange representation, | ||
| - | The Real format represents the prices as most trade screens, displays and websites would typically display them. | ||
| + | ===== Where it applies ===== | ||
| + | * All price fields in Streaming API (gRPC) and REST responses | ||
| + | * Streaming market data and historical/ | ||
| + | * FIX API order routing and market data messages (when decimal pricing is enabled via RefMsgType on LOGON) | ||
| - | ===== Overview | + | ===== Set format during login ===== |
| - | The price format setting determines how price values are returned in API responses. You can configure this during the login process for both API and REST authentication methods. | + | ==== Streaming |
| + | <code csharp> | ||
| + | var loginRequest = new T4Proto.V1.Auth.LoginRequest { | ||
| + | Firm = demoConfig.Firm, | ||
| + | Username | ||
| + | Password | ||
| + | AppName | ||
| + | AppLicense | ||
| + | PriceFormat = T4Proto.V1.Common.PriceFormat.Real | ||
| + | }; | ||
| + | </ | ||
| - | ===== Available Price Formats ===== | + | ==== REST ==== |
| + | Option 1 — Use bearer token from Streaming API\ | ||
| + | If you authenticate via Streaming and reuse that bearer token, the price format is already set. No additional REST setup is required. | ||
| - | * **Real** - Returns prices in real/decimal format | + | Option 2 — /login endpoint\ |
| - | * **Numeric value: 1** - Alternative way to specify Real format | + | Specify |
| - | + | < | |
| - | ===== API Implementation ===== | + | |
| - | + | ||
| - | ==== Setting Price Format in API Login ==== | + | |
| - | + | ||
| - | When creating your login request using the API, include the '' | + | |
| - | + | ||
| - | < | + | |
| - | loginRequest = new T4Proto.V1.Auth.LoginRequest | + | |
| { | { | ||
| - | Firm = *demoConfig.Firm, | + | " |
| - | | + | " |
| - | | + | " |
| - | AppName = *demoConfig.AppName, | + | " |
| - | | + | |
| - | | + | " |
| - | }; | + | } |
| </ | </ | ||
| - | <WRAP center round info 60%> | + | ==== FIX API ==== |
| - | **Note:** You can use either '' | + | For FIX, price format is selected on the **LOGON [35=A]** message using the RefMsgType session property group: |
| - | </ | + | |
| - | ===== REST Implementation ===== | + | * Tag **384 (NoMsgTypes)** – number of RefMsgType entries |
| + | * Repeating group: | ||
| + | * Tag **372 (RefMsgType)** – session property value | ||
| - | ==== Setting Price Format in REST Login ==== | + | To control price format, include a RefMsgType value of: |
| - | For REST API authentication, | + | * **D** – **Decimal** pricing |
| + | * **RD** – **Real** decimal pricing | ||
| - | === Option 1: Using Bearer Token from Streaming API === | + | Example LOGON with Real pricing: |
| - | If you obtain your bearer token from the streaming API, the price format is already configured and no additional setup is required. | + | |
| - | === Option 2: Using /login REST Endpoint | + | < |
| - | If you use the '' | + | 8=FIX.4.2|9=200|35=A|49=T4Example|56=T4|52=20250101-12:00: |
| + | 91=112A04B0-5AAF-42F4-994E-FA7CB959C60B|90=36|98=0|108=30| | ||
| + | 553=username|554=password|384=1|372=RD|10=123| | ||
| + | </code> | ||
| + | |||
| + | Example LOGON with Decimal pricing: | ||
| - | < | + | < |
| - | { | + | 8=FIX.4.2|9=200|35=A|49=T4Example|56=T4|52=20250101-12:00:00.000| |
| - | " | + | 91=112A04B0-5AAF-42F4-994E-FA7CB959C60B|90=36|98=0|108=30| |
| - | " | + | 553=username|554=password|384=1|372=D|10=123| |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | } | + | |
| </ | </ | ||
| - | ===== Important Notes ===== | ||
| - | <WRAP center round important 60%> | + | ===== Notes ===== |
| - | * The price format must be specified during login - it cannot be changed after authentication | + | |
| - | * Both API and REST methods support the same price format options | + | |
| - | * Ensure consistency between your application' | + | |
| - | </ | + | |
| - | ===== Related Documentation ===== | + | * Price format must be chosen at login and cannot be changed until you re-authenticate. |
| + | * For FIX API, choose **RefMsgType | ||
| - | * [[authentication|Authentication Guide]] | ||
| - | * [[api_reference|API Reference]] | ||
| - | * [[rest_endpoints|REST Endpoints]] | ||