Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| developers:systempricing [2025/08/13 21:15] – 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) | |
| - | The T4 system | + | |
| - | + | ||
| - | The Decimal format represents the prices exactly as published on the various exchange | + | |
| - | + | ||
| - | The Real format represents the prices as most trade screens, displays and websites would typically display them. | + | |
| <WRAP center round info 100%> | <WRAP center round info 100%> | ||
| - | If you expect | + | If you expect ES to look like '' |
| </ | </ | ||
| - | ===== Overview | + | ===== Formats |
| + | ^ Format ^ Description ^ Example (ES) ^ | ||
| + | | Real | Human-readable decimal placement used by most trading UIs. | < | ||
| + | | Decimal (default) | Raw exchange representation, | ||
| - | 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. | ||
| - | ===== Available Price Formats | + | ===== Where it applies |
| - | * **Real** - Returns prices in real/decimal format | + | * All price fields in Streaming API (gRPC) and REST responses |
| - | * **Numeric value: 1** - Alternative way to specify Real format | + | |
| + | * FIX API order routing and market data messages (when decimal pricing is enabled via RefMsgType on LOGON) | ||
| - | ===== API Implementation | + | ===== Set format during login ===== |
| - | ==== Setting Price Format in API Login ==== | + | ==== Streaming |
| + | <code csharp> | ||
| + | var loginRequest = new T4Proto.V1.Auth.LoginRequest { | ||
| + | Firm = demoConfig.Firm, | ||
| + | Username | ||
| + | Password | ||
| + | AppName | ||
| + | AppLicense | ||
| + | PriceFormat = T4Proto.V1.Common.PriceFormat.Real | ||
| + | }; | ||
| + | </ | ||
| - | When creating your login request using the API, include | + | ==== REST ==== |
| + | Option 1 — Use bearer token from Streaming | ||
| + | If you authenticate via Streaming and reuse that bearer token, the price format is already set. No additional REST setup is required. | ||
| - | < | + | Option 2 — /login endpoint\ |
| - | loginRequest = new T4Proto.V1.Auth.LoginRequest | + | Specify '' |
| + | < | ||
| { | { | ||
| - | 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]] | ||