MngOpenTradesList¶
Opens the same market position for a list of trading accounts. The method is a bulk coordinator over the standard manager open-trade flow: every account is validated independently and every accepted trade passes through the normal trade pipeline, including execution routing.
The command accepts between 1 and 100 unique account logins. An error for one account does not stop processing the remaining accounts.
Access control¶
The command is available to manager, administrator, and dealer sessions. For every login, the server independently verifies account visibility, brand/group scope, and dealer trade-write access.
Request parameters¶
| Name | Type | Required | Description |
|---|---|---|---|
logins |
int[] | Yes | Between 1 and 100 unique positive account logins |
cmd |
int | Yes | Market command: OP_BUY=0 or OP_SELL=1 |
volume |
int | Yes | Position volume in server integer volume units |
symbol |
string | Yes | Internal trading symbol |
sl |
double | Yes | Stop Loss; use 0 when it is not set |
tp |
double | Yes | Take Profit; use 0 when it is not set |
open_price |
double | No | Optional requested opening price |
open_time |
int64 | No | Optional opening timestamp |
comment |
string | No | Comment copied to every generated trade |
__access |
object | Yes | Session access object injected by the server transport |
Request example¶
{
"command": "MngOpenTradesList",
"extID": "bulk-open-1",
"data": {
"logins": [2000001, 2000002, 2000003],
"cmd": 0,
"volume": 100,
"symbol": "EURUSD",
"sl": 0,
"tp": 0,
"comment": "Manager bulk operation"
}
}
Response parameters¶
| Name | Type | Description |
|---|---|---|
total |
int | Number of requested accounts |
accepted |
int | Number of accepted open-trade requests |
rejected |
int | Number of rejected accounts |
results |
object[] | Independent result for every login, in request order |
Each successful result contains login, accepted=true, reserved order, and
the accepted trade state. When routing creates a dealer request, the result
also contains dealer_request_id.
Each failed result contains login, accepted=false, http_code, and the
available error and message fields.
Response example¶
{
"extID": "bulk-open-1",
"status": 200,
"data": {
"total": 3,
"accepted": 2,
"rejected": 1,
"results": [
{
"login": 2000001,
"accepted": true,
"order": 1249001,
"state": 1
},
{
"login": 2000002,
"accepted": false,
"error": "RET_TRADE_DISABLED",
"message": "Trade disabled",
"http_code": 400
},
{
"login": 2000003,
"accepted": true,
"order": 1249002,
"state": 1
}
]
}
}
Validation and execution semantics¶
- An empty list or more than 100 logins returns
400 INVALID_DATA. - A non-integer or non-positive login returns
400 INVALID_DATA. - Duplicate logins reject the complete request with
400 DUPLICATE_LOGINto prevent accidental duplicate positions. - Only market orders are supported by this method.
- A
200response describes batch processing, not final execution. An item withaccepted=truehas entered the standard trade lifecycle and must be tracked by itsorderthrough trade events or trade query methods. - Routing, dealer, gateway, and internal-execution rules are evaluated for each generated trade separately.
See also MngOpenTrade and the common Trade Request Lifecycle.