Download OpenAPI specification:Download
npm install @openapitools/openapi-generator-cli -gOr you can install it locally in your project:
npm install @openapitools/openapi-generator-cli --save-dev
Important: You must have Java 8 or later installed on your system to use OpenAPI Generator.
Full installation instructions can be found on the OpenAPI Generator website.
openapi-generator-cli generate -i openapi.json -g csharp -o ./csharp-client
This will generate a C# client in the ./csharp-client directory.
For C# you can also use the NSwag or NSWagStudio to generate a client library with a graphical user interface.
openapi-generator-cli generate -i openapi.json -g typescript-angular -o ./typescript-clientor
openapi-generator-cli generate -i openapi.json -g typescript -o ./typescript-clientor
openapi-generator-cli generate -i openapi.json -g typescript-fetch -o ./typescript-clientor
openapi-generator-cli generate -i openapi.json -g typescript-axios -o ./typescript-client
This will generate a TypeScript client in the ./typescript-client directory.
openapi-generator-cli generate -i openapi.json -g python -o ./python-client
This will generate a Python client in the ./python-client directory.
openapi-generator-cli generate -i openapi.json -g php -o ./php-client
This will generate a PHP client in the ./php-client directory.
openapi-generator-cli generate -i openapi.json -g java -o ./java-client
This will generate a Java client in the ./java-client directory.
openapi-generator-cli generate -i openapi.json -g javascript -o ./javascript-clientThis will generate a JavaScript client in the ./javascript-client directory.
In these commands:
Please replace openapi.json with your actual OpenAPI definition file name downloaded from this page.
Remember, you should handle exceptions as necessary, especially for network operations. This code also assumes that you’re using the async/await pattern for asynchronous programming. If you’re not, you’ll need to adjust the code accordingly. Also, remember to dispose of the HttpClient when you’re done with it to free up network resources.
For streaming data, we use WebSockets. To use streaming data, you must first create a streamId using the /stream/create endpoint. You can then use the streamId to subscribe to quotes, depth, and trades using the /stream/{streamId} endpoint. The /stream/{streamId} endpoint will return a WebSocket stream of data to the client. To open a WebSocket connection to the /stream/{streamId} endpoint, you must use the streamId as a parameter in the URL. For example, to open a WebSocket connection to the /stream/{streamId} endpoint, you would use the following URL: wss://demo.ironbeamapi.com/v2/stream/{streamId}. Remember to include the token in the query of the request to authenticate the client. You can use the token that you obtained when you authenticated using the /auth endpoint.
import requests import websocket import jsondef on_message(ws, message): print(f"Received: {message}")
def on_error(ws, error): print(f"Error: {error}")
def on_close(ws): print("Connection closed")
def on_open(ws): print("Connection opened")
# Call the authorization endpoint to get a token auth_response = requests.post("https://demo.ironbeamapi.com/v2/auth", data={"username": "your_username", "password": "your_password"}) token = auth_response.json()['token']
# Call /stream/create to get a streamId stream_response = requests.get("https://demo.ironbeamapi.com/v2/stream/create", headers={"Authorization": f"Bearer {token}"}) streamId = stream_response.json()['streamId']
# Open a WebSocket connection with the bearer token and streamId ws = websocket.WebSocketApp( f"wss://demo.ironbeamapi.com/v2/stream/{streamId}?token={token}",
on_message=on_message, on_error=on_error, on_close=on_close, ) ws.on_open = on_open ws.run_forever()
// Call the authorization endpoint to get a token fetch('https://demo.ironbeamapi.com/v2/auth', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ username: 'your_username', password: 'your_password', }), }) .then(response => response.json()) .then(data => { const token = data.token;// Call /stream/create to get a streamId fetch('https://demo.ironbeamapi.com/v2/stream/create', { method: 'POST', headers: { 'Authorization':
Bearer ${token}
, }, }) .then(response => response.json()) .then(data => { const streamId = data.streamId;// Open a WebSocket connection with the bearer token as query parameter and streamId const socket = new WebSocket(`wss://demo.ironbeamapi.com/v2/stream/${streamId}?token=${token}`); socket.onopen = function(e) { console.log("Connection opened"); }; socket.onmessage = function(event) { console.log(`Received: ${event.data}`); }; socket.onerror = function(error) { console.log(`Error: ${error.message}`); }; socket.onclose = function(event) { if (event.wasClean) { console.log(`Connection closed cleanly, code=${event.code} reason=${event.reason}`); } else { console.log('Connection died'); } };
}); });
using System; using System.Net.Http; using System.Net.WebSockets; using System.Text; using System.Text.Json; using System.Threading; using System.Threading.Tasks;public class Program { public static async Task Main(string[] args) { var httpClient = new HttpClient();
// Call the authorization endpoint to get a token var authResponse = await httpClient.PostAsync("https://demo.ironbeamapi.com/v2/auth", new StringContent(JsonSerializer.Serialize(new { username = "your_username", password = "your_password" }), Encoding.UTF8, "application/json")); var authData = JsonSerializer.Deserialize<Dictionary<string, string>>(await authResponse.Content.ReadAsStringAsync()); var token = authData["token"]; // Call /stream/create to get a streamId var streamResponse = await httpClient.PostAsync("https://demo.ironbeamapi.com/v2/stream/create", new StringContent("", Encoding.UTF8, "application/json")); var streamData = JsonSerializer.Deserialize<Dictionary<string, string>>(await streamResponse.Content.ReadAsStringAsync()); var streamId = streamData["streamId"]; // Open a WebSocket connection with the bearer token and streamId var webSocket = new ClientWebSocket(); var uri = new Uri($"wss://demo.ironbeamapi.com/v2/stream/{streamId}?token={token}"); var cts = new CancellationTokenSource(); await webSocket.ConnectAsync(uri, cts.Token); Console.WriteLine("Connection opened"); // Now you can use the webSocket object to send and receive messages }
}
Get user general info
{- "status": "OK",
- "message": "string",
- "accountCategory": 0,
- "accountTitle": "string",
- "emailAddress1": "string",
- "emailAddress2": "string",
- "group": "string",
- "isClearingAccount": true,
- "phone1": "string",
- "phone2": "string",
- "subGroup": "string",
- "accounts": [
- "5123345"
]
}
This message retrieves the security definitions for the given exchange symbols. If the exchange symbol is not entitled for live data, the response will be empty. If the exchange symbol is entitled for live data, the response will contain a list of security definitions. The list of security definitions is not guaranteed to be in any particular order.
symbols required | Array of strings (Symbol) <= 10 items [^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$] Example: symbols=XCME:ES.U16,XCME:6E.U16,XCME:NQ.U16 Comma separated list of symbols |
{- "securityDefinitions": [
- {
- "exchSym": "XCME:6E.U16",
- "exchangeSource": "CME",
- "activationTime": 1470105600000,
- "expirationTime": 1470105600000,
- "marketComplex": "string",
- "marketGroup": "6E",
- "marketSymbol": "M6E",
- "cfiCode": "FXXXXX",
- "allowOpenOrders": true,
- "maturityMonth": 9,
- "maturityYear": 2016,
- "productDescription": "Euro FX",
- "userDefinded": false,
- "intradayDefinded": false,
- "optionType": "INVALID",
- "optionExpirationType": "INVALID",
- "strikePrice": 2000,
- "underlyingSymbol": "XCME:6E.U16",
- "variableTickTableCode": 0,
- "exchangeStrategyType": "NONE",
- "securityType": "INVALID",
- "securityId": 2000,
- "legs": [
- {
- "symbol": "XCME:6E.U16",
- "ratio": 1,
- "side": "BID",
- "securityId": 2000,
- "exchange": "CME",
- "legExchangeSymbol": "XCME:6E.U16"
}
], - "depthLevels": 10,
- "mainFraction": 2000,
- "subFraction": 2000,
- "scale": 4,
- "minPriceIncrement": 2000,
- "minPriceIncrementValue": 2000,
- "regCode": "INVALID",
- "currencyCode": "USD",
- "displayFactor": 2000,
- "allowTrading": true,
- "scalingFactorScreen": 2000,
- "exchangeSymbol": "XCME:6E.U16",
- "creationDate": 1470105600000
}
], - "status": "OK",
- "message": "string"
}
This message retrieves the security margin for the given exchange symbol. If the exchange symbol is not entitled for live data, the response will be empty. If the exchange symbol is entitled for live data, the response will contain a list of security margin. The list of security margin is not guaranteed to be in any particular order.
symbols required | Array of strings (Symbol) <= 10 items [^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$] Example: symbols=XCME:ES.U16,XCME:6E.U16,XCME:NQ.U16 Comma separated list of symbols |
{- "securityMarginAndValues": [
- {
- "exchSym": "XCME:6E.U16",
- "currentPrice": 2000,
- "currentTime": 1470105600000,
- "currentValue": 1000,
- "initialMarginLong": 1000,
- "initialMaginShort": 1000,
- "maintMarginLong": 1000,
- "maintMarginShort": 1000,
- "spanSettlePrice": 1000,
- "spanSettleValue": 1000,
- "marginScheduleDetails": [
- {
- "startTime": 1470105600000,
- "endTime": 1470105600000,
- "margin": 1000
}
]
}
], - "status": "OK",
- "message": "string"
}
This message retrieves the security status for the given exchange symbol. If the exchange symbol is not entitled for live data, the response will be empty. If the exchange symbol is entitled for live data, the response will contain a list of security status. The list of security status is not guaranteed to be in any particular order.
symbols required | Array of strings (Symbol) <= 10 items [^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$] Example: symbols=XCME:ES.U16,XCME:6E.U16,XCME:NQ.U16 Comma separated list of symbols |
{- "securityStatuses": [
- {
- "exchSym": "XCME:6E.U16",
- "status": "OPEN",
- "statusValue": 17,
- "dateTime": 1470105600000,
- "tradeDate": 1470105600000
}
], - "status": "OK",
- "message": "string"
}
Retrieves the symbols with which start with the given text. If the text is empty, the response will contain 100 first symbols in alphabetic order. The response will be limited to 100 symbols. If the user wants to retrieve more symbols, the user should use the text parameter to filter the symbols.
text | string [ 3 .. 20 ] characters Example: text=ES. The text to filter the symbols |
limit | integer [ 1 .. 1000 ] Example: limit=100 The number of symbols to retrieve, the default is "1000". This parameter is optional. |
preferActive | boolean Example: preferActive=true If true, the response will contain only active symbols, default is "true" . This parameter is optional. |
{- "symbols": [
- {
- "symbol": "XCME:6E.U16",
- "currency": "USD",
- "description": "string",
- "hasQuotes": true,
- "pipValue": 0.1,
- "pipSize": 0.1,
- "minTick": 0.1,
- "qtyStep": 0.1,
- "symbolType": "string"
}
], - "status": "OK",
- "message": "string"
}
This message retrieves the exchange sources for the given exchange. If the exchange is not entitled for live data, the response will be empty. If the exchange is entitled for live data, the response will contain a list of exchange sources. The list of exchange sources is not guaranteed to be in any particular order.
{- "exchanges": [
- "XCME",
- "CBOT"
], - "status": "OK",
- "message": "string"
}
Retrieves the list of market complexes.
exchange required | string <= 10 characters Example: XCME Exchange |
{- "marketComplexes": [
- {
- "groups": [
- {
- "group": "BIT",
- "name": "NANO BITCOIN SPRD J4-K4"
}
], - "name": "NANO BITCOIN SPRD J4-K4"
}
], - "status": "OK",
- "message": "string"
}
Retrieves the list of futures symbols.
exchange required | string <= 10 characters Example: XCME Exchange |
marketGroup required | string <= 10 characters Example: ES Market Group |
{- "symbols": [
- {
- "symbol": "XCME:6E.U16",
- "maturityMonth": "MAR",
- "maturityYear": 2029,
- "description": "E-mini S&P 500"
}
], - "status": "OK",
- "message": "string"
}
Retrieves the symbol groups by complex. The response will contain a list of symbol groups. The list of symbol groups is not guaranteed to be in any particular order.
complex required | string <= 50 characters Example: Currency Complex must be a valid market complex |
{- "symbolGroups": [
- {
- "group": "BIT",
- "name": "NANO BITCOIN SPRD J4-K4"
}
], - "status": "OK",
- "message": "string"
}
Retrieves the list of option symbol groups.
symbol required | string (Symbol) <= 21 characters ^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$ Example: XCME:6E.U16 Symbol |
{- "groups": [
- "E1A",
- "E1B",
- "E1C",
- "E1D",
- "E2A",
- "E2B",
- "E2C",
- "E2D",
- "E3A",
- "E3B",
- "E3C",
- "E3D",
- "E4A",
- "E4B",
- "E4C",
- "E4D",
- "E5A",
- "ES",
- "EW",
- "EW1",
- "EW2",
- "EW3",
- "EW4"
], - "optionGroups": [
- {
- "group": "E1A",
- "expiration": 1712001600000,
- "description": "E-MINI SP MON WKLY"
}
], - "status": "OK",
- "message": "string"
}
Retrieves the list of option symbol groups.
symbol required | string (Symbol) <= 21 characters ^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$ Example: XCME:6E.U16 Symbol |
group required | string <= 5 characters Example: ES Group |
optionType required | string Enum: "call" "put" Example: call Option Type |
near required | boolean Example: true Near money |
{- "symbolOptions": [
- "XCME:6E.U16"
], - "status": "OK",
- "message": "string"
}
Retrieves the list of symbol option spreads.
symbol required | string (Symbol) <= 21 characters ^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$ Example: symbol=XCME:6E.U16 Symbol |
{- "symbolSpreads": [
- "+1:6E.U16:-1:6E.Z16 +1:6E.U16:-1:6E.Z16:+1:6E.H17 +1:ES.Z24.P5680+1:ES.Z24.P5550-1:ES.Z24.P5450-1:ES.Z24.P5780 +1:ES.Z24.P5670-1:ES.Z24.P5550+1:EW3.F25.W3.P5760-1:EW3.F25.W3.P5860"
], - "status": "OK",
- "message": "string"
}
Get the strategy ID from server. The strategy ID is used to identify the strategy in the system.
{- "Id": 0,
- "Minimum": 0,
- "Maximum": 0,
- "status": "OK",
- "message": "string"
}
Get account balance
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
balanceType required | string (BalanceType) Enum: "CURRENT_OPEN" "START_OF_DAY" Example: balanceType=CURRENT_OPEN Account balance type |
{- "balances": [
- {
- "accountId": "5123345",
- "currencyCode": "USD",
- "cashBalance": 1000,
- "cashBalanceAvailable": 1000,
- "openTradeEquity": 1000,
- "totalEquity": 1000,
- "cashAddedToday": 1000,
- "netLiquidity": 1000,
- "netLiquidityAvailable": 1000,
- "daysOnCall": 365,
- "balanceType": "CURRENT_OPEN",
- "marginInfo": {
- "accountId": "5123345",
- "currencyCode": "USD",
- "marginO": {
- "marginError": "string",
- "errorSymbols": "string",
- "initialRiskMargin": 1000,
- "maintenanceRiskMargin": 1000,
- "initialTotalMargin": 1000,
- "maintenanceTotalMargin": 1000,
- "isEstimated": true,
- "asOfTime": 0
}, - "marginOW": {
- "marginError": "string",
- "errorSymbols": "string",
- "initialRiskMargin": 1000,
- "maintenanceRiskMargin": 1000,
- "initialTotalMargin": 1000,
- "maintenanceTotalMargin": 1000,
- "isEstimated": true,
- "asOfTime": 0
}, - "marginOWI": {
- "marginError": "string",
- "errorSymbols": "string",
- "initialRiskMargin": 1000,
- "maintenanceRiskMargin": 1000,
- "initialTotalMargin": 1000,
- "maintenanceTotalMargin": 1000,
- "isEstimated": true,
- "asOfTime": 0
}
}
}
], - "status": "OK",
- "message": "string"
}
The response will contain a list of positions.
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
{- "status": "OK",
- "message": "string",
- "accountId": "5123345",
- "positions": [
- {
- "accountId": "5123345",
- "currencyCode": "USD",
- "exchSym": "XCME:6E.U16",
- "positionId": "10198961658263821681-101",
- "quantity": 1000,
- "price": 2000,
- "dateOpened": 20160801,
- "side": "LONG",
- "unrealizedPL": 1000
}
]
}
Risk information returns the liquidation value at which the account may be auto-liquidated. If this feature is not enabled the value returned will be null. Risk contains a list of liquidation value, one for each Regulatory and Currency Code combination.
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
{- "risks": [
- {
- "accountId": "5123345",
- "regCode": "INVALID",
- "currencyCode": "USD",
- "liquidationValue": 2000
}
], - "status": "OK",
- "message": "string"
}
This message retrieves the fills for the given account. The response will contain a list of fills. The list of fills is not guaranteed to be in any particular order.
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
{- "fills": [
- {
- "orderId": "5123345-1234567890",
- "strategyId": 1234567890,
- "accountId": "5123345",
- "exchSym": "XCME:6E.U16",
- "status": "ANY",
- "side": "BUY",
- "quantity": 1000,
- "price": 1000,
- "fillQuantity": 1000,
- "fillTotalQuantity": 1000,
- "fillPrice": 1000,
- "avgFillPrice": 1000,
- "fillDate": "2016-08-01T00:00:00Z",
- "timeOrderEvent": 123123123123,
- "orderUpdateId": "10336761658263818775-134"
}
], - "status": "OK",
- "message": "string"
}
Get current quotes for the instrument. On first call, the response can be empty if the instrument is not subscribed to. The response will be updated every time the quote changes.
symbols required | Array of strings (Symbol) <= 10 items [^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$] Example: symbols=XCME:ES.U16,XCME:6E.U16,XCME:NQ.U16 Comma separated list of symbols |
{- "Quotes": [
- {
- "s": "XCME:6E.U16",
- "l": 1000,
- "sz": 1000,
- "ch": "0.00425",
- "op": 2000,
- "hi": 2000,
- "lo": 2000,
- "ags": 0,
- "td": 255,
- "stt": 2000,
- "stts": 20160801,
- "sttst": 232342342344,
- "pstt": 2000,
- "pstts": 20160801,
- "sttch": 2000,
- "hb": 2000,
- "la": 2000,
- "b": 2000,
- "bt": 232342342344,
- "bs": 3,
- "ibc": 3,
- "ibs": 3,
- "a": 2000,
- "at": 232342342344,
- "as": 3,
- "ias": 3,
- "iac": 3,
- "tt": 232342342344,
- "tdt": 20160801,
- "secs": "OPEN",
- "sdt": 20160801,
- "oi": 1000,
- "tv": 1000,
- "bv": 1000,
- "swv": 1000,
- "pv": 1000
}
], - "status": "OK",
- "message": "string"
}
Get current depth of market for the instrument.
symbols required | Array of strings (Symbol) <= 10 items [^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$] Example: symbols=XCME:ES.U16,XCME:6E.U16,XCME:NQ.U16 Comma separated list of symbols |
{- "Depths": [
- {
- "s": "XCME:6E.U16",
- "b": [
- {
- "l": 1,
- "t": 1234567890,
- "s": "B",
- "p": 2000,
- "o": 1000,
- "sz": 1000,
- "ioc": 1000,
- "is": 1000
}
], - "a": [
- {
- "l": 1,
- "t": 1234567890,
- "s": "B",
- "p": 2000,
- "o": 1000,
- "sz": 1000,
- "ioc": 1000,
- "is": 1000
}
]
}
], - "status": "OK",
- "message": "string"
}
Get trades for the instrument.
symbol required | string (Symbol) <= 21 characters ^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$ Example: XCME:6E.U16 Symbol |
from required | integer <long> Example: 1612137600000 From date in milliseconds |
to required | integer <long> Example: 1612137600000 To date in milliseconds |
max required | integer [ 1 .. 100 ] Example: 10 Maximum number of records to return |
earlier required | boolean Example: true Earlier |
{- "status": "OK",
- "message": "string",
- "traders": [
- {
- "symbol": "XCME:ES.U16",
- "price": 1.13535,
- "change": 0.0001,
- "size": 1,
- "sequenceNumber": 12132123,
- "sendTime": 1234567890,
- "tickDirection": "INVALID",
- "aggressorSide": 0,
- "tradeDate": "20200101",
- "tradeId": 2131220200101,
- "totalVolume": 1
}
]
}
This message submits new order to the exchange. The response will contain the
order id of the submitted order.
Response will contain the strategy id. Order Id can be received from endpoint /order/{accountId}/toorderid/{strategyId}
.
Order Types:
Market Order: A market order is an order to buy or sell a security at the current market price.
Limit Order: A limit order is an order to buy or sell a security at a specific price or better.
Stop Order: A stop order is an order to buy or sell a security when its price surpasses a particular point, thus ensuring a higher probability of achieving a predetermined entry or exit price.
Stop Limit Order: A stop-limit order is a conditional trade over a set time frame that combines the features of a stop order with those of a limit order and is used to mitigate risk.
Bracket Order: A bracket order is a strategy where you place a take-profit order and a stop-loss order at the same time you place a market order.
Order Duration:
DAY: Order is valid for the current trading day.
GOOD_TILL_CANCEL: Order is valid until it is executed or canceled.
Order Side:
BUY: Buy order.
SELL: Sell order.
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
accountId | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: "5123345" Account ID - account ID class |
exchSym required | string (Symbol) <= 21 characters ^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$ Example: "XCME:6E.U16" Symbol - symbol class |
side required | string (OrderSide) Enum: "BUY" "SELL" "INVALID" Example: "BUY" Order Side - side enum
|
quantity required | number <double> (Quantity) Example: "1" Quantity - quantity class |
limitPrice | number <double> (Price) Example: "2000" Price - price class |
stopPrice | number <double> (Price) Example: "2000" Price - price class |
stopLoss | number <double> (Price) Example: "2000" Price - price class |
takeProfit | number <double> (Price) Example: "2000" Price - price class |
stopLossOffset | number <float> (Stop Loss Offset) Example: "25" Stop loss offset. Distance from the stop loss level to the current market price in pips. |
takeProfitOffset | number <float> (Take Profit Offset) Example: "0.01" Take profit offset . Distance from the take profit level to the current market price in pips. |
trailingStop | number <float> (Trailing Stop) Example: "0.25" Trailing stop - currently not supported - but will be in the future. Distance from the stop loss level to the current market price in pips. |
orderType required | string (OrderType) Enum: "" "1" "2" "3" "4" Example: "LIMIT" enumNames: ["INVALID","MARKET","LIMIT","STOP","STOP_LIMIT"] Order type - order type enum
|
duration required | string (DurationType) Enum: "" "0" "1" Example: "1" enumNames: ["INVALID","DAY","GOOD_TILL_CANCEL"] Order duration - order duration enum
|
waitForOrderId | boolean (Wait for Order ID) Default: true Example: "true" If true (default), the response will wait max. 10 sec. for orderId from exchange.
If false, the response will not contain the order id of the submitted order.
Order will be submitted to the exchange but the response will not contain the order id of the submitted order - it will be assigned by the exchange,
and can be retrieved later using the |
{- "accountId": "5123345",
- "exchSym": "XCME:6E.U16",
- "side": "BUY",
- "quantity": 1,
- "limitPrice": 2000,
- "stopPrice": 2000,
- "stopLoss": 2000,
- "takeProfit": 2000,
- "stopLossOffset": 25,
- "takeProfitOffset": 0.01,
- "trailingStop": 0.25,
- "orderType": "LIMIT",
- "duration": "1",
- "waitForOrderId": true
}
{- "orderId": "5123345-1234567890",
- "strategyId": 1234567890,
- "status": "OK",
- "message": "OK"
}
Get order ID from strategy ID
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
strategyId required | integer <long> (StrategyId) Example: 1234567890 Strategy ID |
{- "orderId": "5123345-1234567890",
- "strategyId": 1234567890,
- "status": "OK",
- "message": "OK"
}
Get strategy ID from order ID
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
orderId required | string (OrderId) <= 50 characters ^.*$ Example: 5123345-1234567890 Order ID |
{- "orderId": "5123345-1234567890",
- "strategyId": 1234567890,
- "status": "OK",
- "message": "OK"
}
This message updates the order for the given account. The response will contain the order id of the updated order.
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
orderId required | string (OrderId) <= 50 characters ^.*$ Example: 5123345-1234567890 Order ID |
orderId required | string (Order ID) Example: "1234567890" The server ID for the order, and is returned in all responses. Required for cancel and replace orders, |
quantity required | integer <int32> (Quantity) Example: "1000" The quantity of the instrument to be traded. For bracket orders, the quantity can't be changed. If you want to change the quantity of a bracket order, you must cancel the bracket order and create a new one. For all other orders, the quantity can be changed. |
limitPrice | number <double> (Price) Example: "2000" Price - price class |
stopPrice | number <double> (Price) Example: "2000" Price - price class |
stopLoss | number <double> (Price) Example: "2000" Price - price class |
takeProfit | number <double> (Price) Example: "2000" Price - price class |
stopLossOffset | number <float> (Stop Loss Offset) Example: "25" Stop loss offset. Distance from the stop loss level to the current market price in pips. |
takeProfitOffset | number <float> (Take Profit Offset) Example: "0.01" Take profit offset. Distance from the take profit level to the current market price in pips. |
trailingStop | number <float> (Trailing Stop) Example: "25" Trailing stop - currently not supported - but will be in the future. Distance from the stop loss level to the current market price in pips. |
{- "orderId": "1234567890",
- "quantity": 1000,
- "limitPrice": 2000,
- "stopPrice": 2000,
- "stopLoss": 2000,
- "takeProfit": 2000,
- "stopLossOffset": 25,
- "takeProfitOffset": 0.01,
- "trailingStop": 25
}
{- "orders": [
- {
- "orderId": "5123345-1234567890",
- "strategyId": 1234567890,
- "parentOrderId": "5123345-1234567890",
- "accountId": "5123345",
- "exchSym": "XCME:6E.U16",
- "status": "ANY",
- "side": "BUY",
- "quantity": 1000,
- "limitPrice": 1000,
- "stopPrice": 1000,
- "orderType": "LIMIT",
- "duration": "1",
- "fillQuantity": 1000,
- "fillPrice": 1000,
- "fillDate": "2016-08-01T00:00:00Z",
- "childOrders": [
- "5123345-1234567890"
], - "orderError": {
- "errorCode": 1234567890,
- "errorText": "Error text"
}
}
], - "status": "OK",
- "message": "string"
}
Get orders for the account. The order status can be used to filter the orders.
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
orderStatus required | string (OrderStatusType) Enum: "ANY" "INVALID" "SUBMITTED" "NEW" "PARTIALLY_FILLED" "FILLED" "DONE_FOR_DAY" "CANCELLED" "REPLACED" "PENDING_CANCEL" "STOPPED" "REJECTED" "SUSPENDED" "PENDING_NEW" "CALCULATED" "EXPIRED" "ACCEPTED_FOR_BIDDING" "PENDING_REPLACE" "CANCEL_REJECTED" "ORDER_NOT_FOUND" … 3 more enumNames: ["ANY","INVALID","SUBMITTED","NEW","PARTIALLY_FILLED","FILLED","DONE_FOR_DAY","CANCELLED","REPLACED","PENDING_CANCEL","STOPPED","REJECTED","SUSPENDED","PENDING_NEW","CALCULATED","EXPIRED","ACCEPTED_FOR_BIDDING","PENDING_REPLACE","CANCEL_REJECTED","ORDER_NOT_FOUND","QUEUED_NEW","QUEUED_CANCEL","COMPLETE"] Order status |
{- "orders": [
- {
- "orderId": "5123345-1234567890",
- "strategyId": 1234567890,
- "parentOrderId": "5123345-1234567890",
- "accountId": "5123345",
- "exchSym": "XCME:6E.U16",
- "status": "ANY",
- "side": "BUY",
- "quantity": 1000,
- "limitPrice": 1000,
- "stopPrice": 1000,
- "orderType": "LIMIT",
- "duration": "1",
- "fillQuantity": 1000,
- "fillPrice": 1000,
- "fillDate": "2016-08-01T00:00:00Z",
- "childOrders": [
- "5123345-1234567890"
], - "orderError": {
- "errorCode": 1234567890,
- "errorText": "Error text"
}
}
], - "status": "OK",
- "message": "string"
}
This message cancels the order with the given order id. The response will contain the order id of the cancelled order.
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
orderId required | string (OrderId) <= 50 characters ^.*$ Example: 5123345-1234567890 Order ID |
{- "orders": [
- {
- "orderId": "5123345-1234567890",
- "strategyId": 1234567890,
- "parentOrderId": "5123345-1234567890",
- "accountId": "5123345",
- "exchSym": "XCME:6E.U16",
- "status": "ANY",
- "side": "BUY",
- "quantity": 1000,
- "limitPrice": 1000,
- "stopPrice": 1000,
- "orderType": "LIMIT",
- "duration": "1",
- "fillQuantity": 1000,
- "fillPrice": 1000,
- "fillDate": "2016-08-01T00:00:00Z",
- "childOrders": [
- "5123345-1234567890"
], - "orderError": {
- "errorCode": 1234567890,
- "errorText": "Error text"
}
}
], - "status": "OK",
- "message": "string"
}
An api for cancelling multiple orders. New orders and replaces must be submitted via SUBMIT_ORDER. The response will contain a list of order ids of the cancelled orders.
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
accountId | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: "5123345" Account ID - account ID class |
orderIds | Array of strings (Order IDs) <= 1000 items [^.*$] Example: "1234567890,1234567891" |
[- {
- "accountId": "5123345",
- "orderIds": [
- "1234567890",
- "1234567891"
]
}
]
{- "orders": [
- {
- "orderId": "5123345-1234567890",
- "strategyId": 1234567890,
- "parentOrderId": "5123345-1234567890",
- "accountId": "5123345",
- "exchSym": "XCME:6E.U16",
- "status": "ANY",
- "side": "BUY",
- "quantity": 1000,
- "limitPrice": 1000,
- "stopPrice": 1000,
- "orderType": "LIMIT",
- "duration": "1",
- "fillQuantity": 1000,
- "fillPrice": 1000,
- "fillDate": "2016-08-01T00:00:00Z",
- "childOrders": [
- "5123345-1234567890"
], - "orderError": {
- "errorCode": 1234567890,
- "errorText": "Error text"
}
}
], - "status": "OK",
- "message": "string"
}
Get orders fills for the account.
accountId required | string (AccountId) <= 10 characters ^[0-9]{5,10}$ Example: 5123345 Account ID |
{- "fills": [
- {
- "orderId": "5123345-1234567890",
- "strategyId": 1234567890,
- "accountId": "5123345",
- "exchSym": "XCME:6E.U16",
- "status": "ANY",
- "side": "BUY",
- "quantity": 1000,
- "price": 1000,
- "fillQuantity": 1000,
- "fillTotalQuantity": 1000,
- "fillPrice": 1000,
- "avgFillPrice": 1000,
- "fillDate": "2016-08-01T00:00:00Z",
- "timeOrderEvent": 123123123123,
- "orderUpdateId": "10336761658263818775-134"
}
], - "status": "OK",
- "message": "string"
}
Create a simulated trader - for each trader created in this endpoint you can link one or more accounts to the trader. The response will contain the trader id.
After calling this endpoint, you should call /simulateAccountAdd to assign one or more accounts to it.
Please note that the trader id is not the same as the account id.
The template is used to create the simulated trader. Enterprise API users should request their specific template IDs.
FirstName required | string <= 50 characters Example: "John" First name of the simulated trader |
LastName required | string <= 50 characters Example: "Doe" Last name of the simulated trader |
Address1 required | string <= 100 characters Example: "123 Main St" Address line 1 of the simulated trader |
Address2 | string <= 100 characters Example: "Apt 4B" Address line 2 of the simulated trader |
City required | string <= 50 characters Example: "New York" City of the simulated trader |
State required | string <= 50 characters Example: "NY" State of the simulated trader |
Country required | string <= 50 characters Example: "USA" Country of the simulated trader |
ZipCode required | string <= 20 characters Example: "10001" Zip code of the simulated trader |
Phone required | string <= 20 characters Example: "+1-555-555-5555" Phone number of the simulated trader |
Email required | string <= 100 characters Example: "email@email.com" Email address of the simulated trader |
Password required | string <= 50 characters Example: "password123" Password of the simulated trader |
TemplateId | string <= 50 characters Example: "XAP50" Template with which the account is created. |
{- "FirstName": "John",
- "LastName": "Doe",
- "Address1": "123 Main St",
- "Address2": "Apt 4B",
- "City": "New York",
- "State": "NY",
- "Country": "USA",
- "ZipCode": "10001",
- "Phone": "+1-555-555-5555",
- "Email": "email@email.com",
- "Password": "password123",
- "TemplateId": "XAP50"
}
{- "status": "OK",
- "message": "string",
- "TraderId": "ABC51380561"
}
Add new simulated account to an existing simulated trader. The response will contain the account id of the created account. Please note that the account id is not the same as the trader id. Password used for the account is the same as the password used for the trader.
TraderId required | string <= 50 characters Example: "123456" Trader ID of the simulated trader |
Password required | string <= 50 characters Example: "password123" Password of the simulated trader used to login to the simulated account - the same password is used for all accounts of the simulated trader. |
TemplateId required | string <= 50 characters Template with which the account is created. |
{- "TraderId": "123456",
- "Password": "password123",
- "TemplateId": "string"
}
{- "status": "OK",
- "message": "string",
- "AccountId": "123456"
}
Simulated account reset. The response is simple HTTP 200 OK. You can reset a simulated account to the initial starting balance and with no trades or positions.
AccountId required | string <= 50 characters Account number. |
StartingBalance required | number <int32> [ 1 .. 9999 ] Default: 50 Example: "50" Starting balance in thousand dollars |
{- "AccountId": "string",
- "StartingBalance": 50
}
{- "status": "OK",
- "message": "string"
}
Simulated account expire. The response is simple HTTP 200 OK.
AccountId required | string <= 50 characters Account number. |
{- "AccountId": "string"
}
{- "status": "OK",
- "message": "string"
}
Create a streamId for the client to use in /stream/{streamId} endpoint. The streamId will be used to subscribe to quotes/depth/trades. Using the same stream, client will receive data for:
{- "streamId": "123e4567-e89b-12d3-a456-426614174000",
- "status": "OK",
- "message": "string"
}
{ "r": { "status": "INFO", "message": "Account changed" } }
wss://demo.ironbeamapi.com/v1/stream/{streamId}?token={token}
streamId required | string <uuid> (StreamSessionId) Example: 123e4567-e89b-12d3-a456-426614174000 Stream ID |
{- "p": {
- "ping": "ping"
}, - "q": [
- {
- "s": "XCME:6E.U16",
- "l": 1000,
- "sz": 1000,
- "ch": "0.00425",
- "op": 2000,
- "hi": 2000,
- "lo": 2000,
- "ags": 0,
- "td": 255,
- "stt": 2000,
- "stts": 20160801,
- "sttst": 232342342344,
- "pstt": 2000,
- "pstts": 20160801,
- "sttch": 2000,
- "hb": 2000,
- "la": 2000,
- "b": 2000,
- "bt": 232342342344,
- "bs": 3,
- "ibc": 3,
- "ibs": 3,
- "a": 2000,
- "at": 232342342344,
- "as": 3,
- "ias": 3,
- "iac": 3,
- "tt": 232342342344,
- "tdt": 20160801,
- "secs": "OPEN",
- "sdt": 20160801,
- "oi": 1000,
- "tv": 1000,
- "bv": 1000,
- "swv": 1000,
- "pv": 1000
}
], - "tb": [
- {
- "t": 1234567890,
- "o": 2000,
- "h": 2000,
- "l": 2000,
- "c": 2000,
- "v": 2000,
- "tc": 1234567890,
- "d": 2000,
- "i": "TradeBar123123123123"
}
], - "tc": [
- {
- "t": 1234567890,
- "o": 2000,
- "h": 2000,
- "l": 2000,
- "c": 2000,
- "v": 2000,
- "tc": 1234567890,
- "d": 2000,
- "i": "TimeBar123123123123"
}
], - "ti": [
- {
- "t": 1234567890,
- "o": 2000,
- "h": 2000,
- "l": 2000,
- "c": 2000,
- "v": 2000,
- "tc": 1234567890,
- "d": 2000,
- "i": "TimeBar123123123123"
}
], - "vb": [
- {
- "t": 1234567890,
- "o": 2000,
- "h": 2000,
- "l": 2000,
- "c": 2000,
- "v": 2000,
- "tc": 1234567890,
- "d": 2000,
- "i": "TradeBar123123123123"
}
], - "ps": [
- {
- "a": "5123345",
- "cc": "USD",
- "s": "XCME:6E.U16",
- "pId": "10198961658263821681-101",
- "q": 1000,
- "p": 2000,
- "do": 20160801,
- "sd": "LONG",
- "upl": 1000
}
], - "f": [
- {
- "oid": "5123345-1234567890",
- "sid": 1234567890,
- "a": "5123345",
- "s": "XCME:6E.U16",
- "st": "ANY",
- "sd": "BUY",
- "q": 1000,
- "p": 1000,
- "fq": 1000,
- "ftq": 1000,
- "fp": 1000,
- "afp": 1000,
- "fd": "2016-08-01T00:00:00Z",
- "t": 123123123123,
- "ouid": "10336761658263818775-134"
}
], - "o": [
- {
- "oid": "5123345-1234567890",
- "sid": 1234567890,
- "poid": "5123345-1234567890",
- "a": "5123345",
- "s": "XCME:6E.U16",
- "st": "ANY",
- "sd": "BUY",
- "q": 1000,
- "lp": 1000,
- "sp": 1000,
- "ot": "LIMIT",
- "dr": "1",
- "fq": 1000,
- "fp": 1000,
- "fd": "2016-08-01T00:00:00Z",
- "cor": [
- "5123345-1234567890"
], - "err": {
- "errorCode": 1234567890,
- "errorText": "Error text"
}
}
], - "d": [
- {
- "s": "XCME:6E.U16",
- "b": [
- {
- "l": 1,
- "t": 1234567890,
- "s": "B",
- "p": 2000,
- "o": 1000,
- "sz": 1000,
- "ioc": 1000,
- "is": 1000
}
], - "a": [
- {
- "l": 1,
- "t": 1234567890,
- "s": "B",
- "p": 2000,
- "o": 1000,
- "sz": 1000,
- "ioc": 1000,
- "is": 1000
}
]
}
], - "tr": [
- {
- "s": "XCME:ES.U16",
- "p": 1.13535,
- "ch": 0.0001,
- "sz": 1,
- "sq": 12132123,
- "st": 1234567890,
- "td": "INVALID",
- "as": 0,
- "tdt": "20200101",
- "tid": 2131220200101,
- "is": true,
- "clx": true,
- "spt": "INVALID",
- "ist": "INVALID",
- "bt": "INVALID"
}
], - "b": {
- "a": "5123345",
- "cc": "USD",
- "cb": 1000,
- "ote": 1000,
- "te": 1000,
- "cba": 1000,
- "cbta": 1000,
- "nl": 1000,
- "nla": 1000,
- "bt": "CURRENT_OPEN",
- "dc": 365,
- "mi": {
- "a": "5123345",
- "cc": "USD",
- "mo": {
- "me": "string",
- "es": "string",
- "irm": 1000,
- "mrm": 1000,
- "itm": 1000,
- "mtm": 1000,
- "ie": true,
- "t": 0
}, - "mow": {
- "me": "string",
- "es": "string",
- "irm": 1000,
- "mrm": 1000,
- "itm": 1000,
- "mtm": 1000,
- "ie": true,
- "t": 0
}, - "mowi": {
- "me": "string",
- "es": "string",
- "irm": 1000,
- "mrm": 1000,
- "itm": 1000,
- "mtm": 1000,
- "ie": true,
- "t": 0
}
}
}, - "i": [
- {
- "n": "Ind123124312",
- "fi": 1,
- "v": [
- [
- "1.13535",
- "1.13535",
- "1.13535",
- "RED",
- "GREEN",
- "BLUE"
], - [
- "1.13535",
- "1.13535",
- "1.13535",
- "RED",
- "GREEN",
- "BLUE"
]
]
}
], - "r": {
- "status": "OK",
- "message": "string"
}
}
Subscribe to quotes for the instruments. Before subscribing to quotes, the client must create a stream using the /stream endpoint. Maximum number of instruments to subscribe is 10 per stream. If the client wants to change the list of instruments, the client must call this endpoint again with the new list of instruments.
streamId required | string <uuid> (StreamSessionId) Example: 123e4567-e89b-12d3-a456-426614174000 Stream ID |
symbols required | Array of strings (Symbol) <= 10 items [^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$] Example: symbols=XCME:ES.U16,XCME:6E.U16,XCME:NQ.U16 Comma separated list of symbols |
{- "status": "OK",
- "message": "OK"
}
Subscribe to depths for the instruments. Before subscribing to depths, the client must create a stream using the /stream endpoint. Maximum number of instruments to subscribe is 10 per stream. If the client wants to change the list of symbols, the client must call this endpoint again with the new list of instruments.
streamId required | string <uuid> (StreamSessionId) Example: 123e4567-e89b-12d3-a456-426614174000 Stream ID |
symbols required | Array of strings (Symbol) <= 10 items [^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$] Example: symbols=XCME:ES.U16,XCME:6E.U16,XCME:NQ.U16 Comma separated list of symbols |
{- "status": "OK",
- "message": "OK"
}
Subscribe to trades for the instruments. Before subscribing to trades, the client must create a stream using the /stream endpoint. Maximum number of instruments to subscribe is 10 per stream. If the client wants to change the list of instruments, the client must call this endpoint again with the new list of instruments.
streamId required | string <uuid> (StreamSessionId) Example: 123e4567-e89b-12d3-a456-426614174000 Stream ID |
symbols required | Array of strings (Symbol) <= 10 items [^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$] Example: symbols=XCME:ES.U16,XCME:6E.U16,XCME:NQ.U16 Comma separated list of symbols |
{- "status": "OK",
- "message": "OK"
}
Unsubscribe from indicator values. The response will contain the status of the unsubscription. Indicator must be created before unsubscribing from an indicator.
streamId required | string <uuid> (StreamSessionId) Example: 123e4567-e89b-12d3-a456-426614174000 Stream ID |
indicatorId required | string (IndicatorId) <= 100 characters Example: TradeBars_638639418687259084 Indicator ID |
{- "status": "OK",
- "message": "OK"
}
Subscribe to Tick Bars indicator values. The response will contain the stream id of the created subscription.
Stream must be created before subscribing to an indicator.
A tick bar is constructed from a sequence of consecutive trades representing all trades that occurred during a fixed span of time, or that is prematurely terminated when the underlying symbol stops trading.
The bar with date-time t and bar period bp includes all trades at times >= t - bp and < t.
We currently support N-minute,
N-hour, and 1-day bars.
streamId required | string <uuid> (StreamSessionId) Example: 123e4567-e89b-12d3-a456-426614174000 Stream ID |
symbol | string (Symbol) <= 21 characters ^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$ Example: "XCME:6E.U16" Symbol - symbol class |
period | integer <int32> Example: "1" Period of entry data for the trade bars. |
barType | string (BarType) Enum: "DAILY" "HOUR" "MINUTE" "TICK" Bar type
|
loadSize | integer <int32> Example: "100" Load size - initial load size of the trade bars values. |
{- "symbol": "XCME:6E.U16",
- "period": 1,
- "barType": "DAILY",
- "loadSize": 100
}
{- "indicatorId": "TradeBars_638639418687259084",
- "valueNames": [
- "date",
- "open",
- "close",
- "high",
- "low",
- "volume",
- "tradeCount",
- "delta",
- "value"
], - "valueTypes": [
- "date",
- "number",
- "string",
- "number",
- "number",
- "number",
- "number",
- "number",
- "number"
], - "status": "OK",
- "message": "string"
}
Subscribe to Trade Bars indicator values. The response will contain the stream id of the created subscription.
Stream must be created before subscribing to an indicator.
streamId required | string <uuid> (StreamSessionId) Example: 123e4567-e89b-12d3-a456-426614174000 Stream ID |
symbol | string (Symbol) <= 21 characters ^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$ Example: "XCME:6E.U16" Symbol - symbol class |
period | integer <int32> Example: "1" Period of entry data for the trade bars. |
barType | string (BarType) Enum: "DAILY" "HOUR" "MINUTE" "TICK" Bar type
|
loadSize | integer <int32> Example: "100" Load size - initial load size of the trade bars values. |
{- "symbol": "XCME:6E.U16",
- "period": 1,
- "barType": "DAILY",
- "loadSize": 100
}
{- "indicatorId": "TradeBars_638639418687259084",
- "valueNames": [
- "date",
- "open",
- "close",
- "high",
- "low",
- "volume",
- "tradeCount",
- "delta",
- "value"
], - "valueTypes": [
- "date",
- "number",
- "string",
- "number",
- "number",
- "number",
- "number",
- "number",
- "number"
], - "status": "OK",
- "message": "string"
}
Subscribe to Time Bars indicator values. The response will contain the stream id of the created subscription.
Stream must be created before subscribing to an indicator.
A time bar is constructed from a sequence of consecutive trades representing all trades that occurred during a fixed span of time, or that is prematurely terminated when the underlying symbol stops trading.
The bar with date-time t and bar period bp includes all trades at times >= t - bp and < t.
We currently support N-minute,
N-hour, and 1-day bars.
streamId required | string <uuid> (StreamSessionId) Example: 123e4567-e89b-12d3-a456-426614174000 Stream ID |
symbol | string (Symbol) <= 21 characters ^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$ Example: "XCME:6E.U16" Symbol - symbol class |
period | integer <int32> Example: "1" Period of entry data for the trade bars. |
barType | string (BarType) Enum: "DAILY" "HOUR" "MINUTE" "TICK" Bar type
|
loadSize | integer <int32> Example: "100" Load size - initial load size of the trade bars values. |
{- "symbol": "XCME:6E.U16",
- "period": 1,
- "barType": "DAILY",
- "loadSize": 100
}
{- "indicatorId": "TradeBars_638639418687259084",
- "valueNames": [
- "date",
- "open",
- "close",
- "high",
- "low",
- "volume",
- "tradeCount",
- "delta",
- "value"
], - "valueTypes": [
- "date",
- "number",
- "string",
- "number",
- "number",
- "number",
- "number",
- "number",
- "number"
], - "status": "OK",
- "message": "string"
}
Subscribe to Volume Bars indicator values. The response will contain the stream id of the created subscription.
Stream must be created before subscribing to an indicator.
An N-volume bar is constructed from a sequence of consecutive trades whose total volume equals N, or which is prematurely terminated when the underlying symbol stops trading. If necessary, a trade is split among multiple volume bars.
streamId required | string <uuid> (StreamSessionId) Example: 123e4567-e89b-12d3-a456-426614174000 Stream ID |
symbol | string (Symbol) <= 21 characters ^[A-Z0-9]{1,10}:[A-Z0-9]{1,10}$ Example: "XCME:6E.U16" Symbol - symbol class |
period | integer <int32> Example: "1" Period of entry data for the trade bars. |
barType | string (BarType) Enum: "DAILY" "HOUR" "MINUTE" "TICK" Bar type
|
loadSize | integer <int32> Example: "100" Load size - initial load size of the trade bars values. |
{- "symbol": "XCME:6E.U16",
- "period": 1,
- "barType": "DAILY",
- "loadSize": 100
}
{- "indicatorId": "TradeBars_638639418687259084",
- "valueNames": [
- "date",
- "open",
- "close",
- "high",
- "low",
- "volume",
- "tradeCount",
- "delta",
- "value"
], - "valueTypes": [
- "date",
- "number",
- "string",
- "number",
- "number",
- "number",
- "number",
- "number",
- "number"
], - "status": "OK",
- "message": "string"
}