ctrader-ts 0.1.11 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +259 -91
  2. package/dist/bin/auth.js +8 -8
  3. package/dist/bin/auth.js.map +1 -1
  4. package/dist/cli/index.js +169 -26
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/src/{client.d.ts → core/client.d.ts} +57 -15
  7. package/dist/src/core/client.d.ts.map +1 -0
  8. package/dist/src/{client.js → core/client.js} +306 -49
  9. package/dist/src/core/client.js.map +1 -0
  10. package/dist/src/core/config.d.ts.map +1 -0
  11. package/dist/src/{config.js → core/config.js} +13 -13
  12. package/dist/src/core/config.js.map +1 -0
  13. package/dist/src/{connect.d.ts → core/connect.d.ts} +3 -3
  14. package/dist/src/core/connect.d.ts.map +1 -0
  15. package/dist/src/{connect.js → core/connect.js} +4 -6
  16. package/dist/src/core/connect.js.map +1 -0
  17. package/dist/src/{connection.d.ts → core/connection.d.ts} +48 -4
  18. package/dist/src/core/connection.d.ts.map +1 -0
  19. package/dist/src/{connection.js → core/connection.js} +70 -14
  20. package/dist/src/core/connection.js.map +1 -0
  21. package/dist/src/{errors.d.ts → core/errors.d.ts} +5 -0
  22. package/dist/src/core/errors.d.ts.map +1 -0
  23. package/dist/src/core/errors.js +85 -0
  24. package/dist/src/core/errors.js.map +1 -0
  25. package/dist/src/{helpers.d.ts → core/helpers.d.ts} +3 -3
  26. package/dist/src/core/helpers.d.ts.map +1 -0
  27. package/dist/src/{helpers.js → core/helpers.js} +9 -7
  28. package/dist/src/core/helpers.js.map +1 -0
  29. package/dist/src/{symbol-cache.d.ts → core/symbol-cache.d.ts} +2 -2
  30. package/dist/src/core/symbol-cache.d.ts.map +1 -0
  31. package/dist/src/core/symbol-cache.js.map +1 -0
  32. package/dist/src/index.d.ts +26 -11
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +24 -9
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/modules/account.d.ts +68 -2
  37. package/dist/src/modules/account.d.ts.map +1 -1
  38. package/dist/src/modules/account.js +91 -34
  39. package/dist/src/modules/account.js.map +1 -1
  40. package/dist/src/modules/auth.d.ts +29 -2
  41. package/dist/src/modules/auth.d.ts.map +1 -1
  42. package/dist/src/modules/auth.js +42 -10
  43. package/dist/src/modules/auth.js.map +1 -1
  44. package/dist/src/modules/market.d.ts +51 -3
  45. package/dist/src/modules/market.d.ts.map +1 -1
  46. package/dist/src/modules/market.js +65 -18
  47. package/dist/src/modules/market.js.map +1 -1
  48. package/dist/src/modules/trading.d.ts +69 -3
  49. package/dist/src/modules/trading.d.ts.map +1 -1
  50. package/dist/src/modules/trading.js +74 -35
  51. package/dist/src/modules/trading.js.map +1 -1
  52. package/dist/src/protocol/codec.d.ts.map +1 -0
  53. package/dist/src/{codec.js → protocol/codec.js} +2 -2
  54. package/dist/src/protocol/codec.js.map +1 -0
  55. package/dist/src/{enums.d.ts → protocol/enums.d.ts} +177 -0
  56. package/dist/src/protocol/enums.d.ts.map +1 -0
  57. package/dist/src/{enums.js → protocol/enums.js} +177 -0
  58. package/dist/src/protocol/enums.js.map +1 -0
  59. package/dist/src/protocol/proto/messages.d.ts +7496 -0
  60. package/dist/src/protocol/proto/messages.js +21525 -0
  61. package/dist/src/protocol/proto/proto/messages.d.ts +7496 -0
  62. package/dist/src/protocol/proto/proto/messages.js +21525 -0
  63. package/dist/src/{types.d.ts → protocol/types.d.ts} +151 -3
  64. package/dist/src/protocol/types.d.ts.map +1 -0
  65. package/dist/src/{types.js.map → protocol/types.js.map} +1 -1
  66. package/llms.txt +280 -0
  67. package/package.json +89 -61
  68. package/dist/src/client.d.ts.map +0 -1
  69. package/dist/src/client.js.map +0 -1
  70. package/dist/src/codec.d.ts.map +0 -1
  71. package/dist/src/codec.js.map +0 -1
  72. package/dist/src/config.d.ts.map +0 -1
  73. package/dist/src/config.js.map +0 -1
  74. package/dist/src/connect.d.ts.map +0 -1
  75. package/dist/src/connect.js.map +0 -1
  76. package/dist/src/connection.d.ts.map +0 -1
  77. package/dist/src/connection.js.map +0 -1
  78. package/dist/src/enums.d.ts.map +0 -1
  79. package/dist/src/enums.js.map +0 -1
  80. package/dist/src/errors.d.ts.map +0 -1
  81. package/dist/src/errors.js +0 -47
  82. package/dist/src/errors.js.map +0 -1
  83. package/dist/src/helpers.d.ts.map +0 -1
  84. package/dist/src/helpers.js.map +0 -1
  85. package/dist/src/proto/messages.d.ts +0 -7076
  86. package/dist/src/proto/messages.js +0 -23289
  87. package/dist/src/proto/proto/messages.d.ts +0 -7076
  88. package/dist/src/proto/proto/messages.js +0 -23289
  89. package/dist/src/symbol-cache.d.ts.map +0 -1
  90. package/dist/src/symbol-cache.js.map +0 -1
  91. package/dist/src/types.d.ts.map +0 -1
  92. /package/dist/src/{config.d.ts → core/config.d.ts} +0 -0
  93. /package/dist/src/{symbol-cache.js → core/symbol-cache.js} +0 -0
  94. /package/dist/src/{codec.d.ts → protocol/codec.d.ts} +0 -0
  95. /package/dist/src/{types.js → protocol/types.js} +0 -0
@@ -1,4 +1,7 @@
1
- import { OrderType, PayloadType } from "../enums.js";
1
+ import { OrderType, PayloadType, } from "../protocol/enums.js";
2
+ /**
3
+ * Low-level trading operations — direct protocol wrappers for order management. Use CTrader (client.ts) for the high-level API with human-friendly units.
4
+ */
2
5
  export class CTraderTrading {
3
6
  connection;
4
7
  accountId;
@@ -9,21 +12,39 @@ export class CTraderTrading {
9
12
  setAccountId(accountId) {
10
13
  this.accountId = accountId;
11
14
  }
15
+ /**
16
+ * Execute a market order
17
+ */
12
18
  async marketOrder(params) {
13
19
  return this.sendNewOrder({ ...params, orderType: OrderType.MARKET });
14
20
  }
21
+ /**
22
+ * Place a limit order
23
+ */
15
24
  async limitOrder(params) {
16
25
  return this.sendNewOrder({ ...params, orderType: OrderType.LIMIT });
17
26
  }
27
+ /**
28
+ * Place a stop order
29
+ */
18
30
  async stopOrder(params) {
19
31
  return this.sendNewOrder({ ...params, orderType: OrderType.STOP });
20
32
  }
33
+ /**
34
+ * Place a stop-limit order
35
+ */
21
36
  async stopLimitOrder(params) {
22
37
  return this.sendNewOrder({ ...params, orderType: OrderType.STOP_LIMIT });
23
38
  }
39
+ /**
40
+ * Place a market range order
41
+ */
24
42
  async marketRangeOrder(params) {
25
43
  return this.sendNewOrder({ ...params, orderType: OrderType.MARKET_RANGE });
26
44
  }
45
+ /**
46
+ * Close a position partially or fully
47
+ */
27
48
  async closePosition(positionId, volume) {
28
49
  const res = await this.connection.request(PayloadType.CLOSE_POSITION_REQ, {
29
50
  ctidTraderAccountId: this.accountId,
@@ -32,70 +53,88 @@ export class CTraderTrading {
32
53
  });
33
54
  return res;
34
55
  }
56
+ /**
57
+ * Modify SL/TP on an existing position
58
+ */
35
59
  async amendPositionSltp(positionId, params) {
36
60
  const payload = {
37
61
  ctidTraderAccountId: this.accountId,
38
62
  positionId,
39
63
  };
40
64
  if (params.stopLoss !== undefined)
41
- payload["stopLoss"] = params.stopLoss;
65
+ payload.stopLoss = params.stopLoss;
42
66
  if (params.takeProfit !== undefined)
43
- payload["takeProfit"] = params.takeProfit;
67
+ payload.takeProfit = params.takeProfit;
44
68
  if (params.guaranteedStopLoss !== undefined)
45
- payload["guaranteedStopLoss"] = params.guaranteedStopLoss;
69
+ payload.guaranteedStopLoss = params.guaranteedStopLoss;
46
70
  if (params.trailingStopLoss !== undefined)
47
- payload["trailingStopLoss"] = params.trailingStopLoss;
71
+ payload.trailingStopLoss = params.trailingStopLoss;
48
72
  if (params.stopLossTriggerMethod !== undefined)
49
- payload["stopLossTriggerMethod"] = params.stopLossTriggerMethod;
73
+ payload.stopLossTriggerMethod = params.stopLossTriggerMethod;
50
74
  await this.connection.request(PayloadType.AMEND_POSITION_SLTP_REQ, payload);
51
75
  }
76
+ /**
77
+ * Modify an existing pending order
78
+ */
52
79
  async amendOrder(orderId, params) {
53
80
  const payload = {
54
81
  ctidTraderAccountId: this.accountId,
55
82
  orderId,
56
83
  };
57
84
  if (params.volume !== undefined)
58
- payload["volume"] = params.volume;
85
+ payload.volume = params.volume;
59
86
  if (params.limitPrice !== undefined)
60
- payload["limitPrice"] = params.limitPrice;
87
+ payload.limitPrice = params.limitPrice;
61
88
  if (params.stopPrice !== undefined)
62
- payload["stopPrice"] = params.stopPrice;
89
+ payload.stopPrice = params.stopPrice;
63
90
  if (params.expirationTimestamp !== undefined)
64
- payload["expirationTimestamp"] = params.expirationTimestamp;
91
+ payload.expirationTimestamp = params.expirationTimestamp;
65
92
  if (params.stopLoss !== undefined)
66
- payload["stopLoss"] = params.stopLoss;
93
+ payload.stopLoss = params.stopLoss;
67
94
  if (params.takeProfit !== undefined)
68
- payload["takeProfit"] = params.takeProfit;
95
+ payload.takeProfit = params.takeProfit;
69
96
  if (params.slippageInPoints !== undefined)
70
- payload["slippageInPoints"] = params.slippageInPoints;
97
+ payload.slippageInPoints = params.slippageInPoints;
71
98
  if (params.relativeStopLoss !== undefined)
72
- payload["relativeStopLoss"] = params.relativeStopLoss;
99
+ payload.relativeStopLoss = params.relativeStopLoss;
73
100
  if (params.relativeTakeProfit !== undefined)
74
- payload["relativeTakeProfit"] = params.relativeTakeProfit;
101
+ payload.relativeTakeProfit = params.relativeTakeProfit;
75
102
  if (params.guaranteedStopLoss !== undefined)
76
- payload["guaranteedStopLoss"] = params.guaranteedStopLoss;
103
+ payload.guaranteedStopLoss = params.guaranteedStopLoss;
77
104
  if (params.trailingStopLoss !== undefined)
78
- payload["trailingStopLoss"] = params.trailingStopLoss;
105
+ payload.trailingStopLoss = params.trailingStopLoss;
79
106
  if (params.stopTriggerMethod !== undefined)
80
- payload["stopTriggerMethod"] = params.stopTriggerMethod;
107
+ payload.stopTriggerMethod = params.stopTriggerMethod;
81
108
  await this.connection.request(PayloadType.AMEND_ORDER_REQ, payload);
82
109
  }
110
+ /**
111
+ * Cancel a pending order
112
+ */
83
113
  async cancelOrder(orderId) {
84
114
  await this.connection.request(PayloadType.CANCEL_ORDER_REQ, {
85
115
  ctidTraderAccountId: this.accountId,
86
116
  orderId,
87
117
  });
88
118
  }
119
+ /**
120
+ * Subscribe to order execution events
121
+ */
89
122
  onExecution(handler) {
90
123
  return this.connection.on(PayloadType.EXECUTION_EVENT, (payload) => {
91
124
  handler(payload);
92
125
  });
93
126
  }
127
+ /**
128
+ * Subscribe to order error events
129
+ */
94
130
  onOrderError(handler) {
95
131
  return this.connection.on(PayloadType.ORDER_ERROR_EVENT, (payload) => {
96
132
  handler(payload);
97
133
  });
98
134
  }
135
+ /**
136
+ * Subscribe to trailing stop loss change events
137
+ */
99
138
  onTrailingSLChanged(handler) {
100
139
  return this.connection.on(PayloadType.TRAILING_SL_CHANGED_EVENT, (payload) => {
101
140
  handler(payload);
@@ -110,39 +149,39 @@ export class CTraderTrading {
110
149
  volume: params.volume,
111
150
  };
112
151
  if ("limitPrice" in params && params.limitPrice !== undefined)
113
- payload["limitPrice"] = params.limitPrice;
152
+ payload.limitPrice = params.limitPrice;
114
153
  if ("stopPrice" in params && params.stopPrice !== undefined)
115
- payload["stopPrice"] = params.stopPrice;
154
+ payload.stopPrice = params.stopPrice;
116
155
  if ("baseSlippagePrice" in params && params.baseSlippagePrice !== undefined)
117
- payload["baseSlippagePrice"] = params.baseSlippagePrice;
156
+ payload.baseSlippagePrice = params.baseSlippagePrice;
118
157
  if ("slippageInPoints" in params && params.slippageInPoints !== undefined)
119
- payload["slippageInPoints"] = params.slippageInPoints;
158
+ payload.slippageInPoints = params.slippageInPoints;
120
159
  if ("timeInForce" in params && params.timeInForce !== undefined)
121
- payload["timeInForce"] = params.timeInForce;
160
+ payload.timeInForce = params.timeInForce;
122
161
  if ("expirationTimestamp" in params && params.expirationTimestamp !== undefined)
123
- payload["expirationTimestamp"] = params.expirationTimestamp;
162
+ payload.expirationTimestamp = params.expirationTimestamp;
124
163
  if (params.stopLoss !== undefined)
125
- payload["stopLoss"] = params.stopLoss;
164
+ payload.stopLoss = params.stopLoss;
126
165
  if (params.takeProfit !== undefined)
127
- payload["takeProfit"] = params.takeProfit;
166
+ payload.takeProfit = params.takeProfit;
128
167
  if (params.relativeStopLoss !== undefined)
129
- payload["relativeStopLoss"] = params.relativeStopLoss;
168
+ payload.relativeStopLoss = params.relativeStopLoss;
130
169
  if (params.relativeTakeProfit !== undefined)
131
- payload["relativeTakeProfit"] = params.relativeTakeProfit;
170
+ payload.relativeTakeProfit = params.relativeTakeProfit;
132
171
  if (params.guaranteedStopLoss !== undefined)
133
- payload["guaranteedStopLoss"] = params.guaranteedStopLoss;
172
+ payload.guaranteedStopLoss = params.guaranteedStopLoss;
134
173
  if (params.trailingStopLoss !== undefined)
135
- payload["trailingStopLoss"] = params.trailingStopLoss;
174
+ payload.trailingStopLoss = params.trailingStopLoss;
136
175
  if (params.stopTriggerMethod !== undefined)
137
- payload["stopTriggerMethod"] = params.stopTriggerMethod;
176
+ payload.stopTriggerMethod = params.stopTriggerMethod;
138
177
  if (params.label !== undefined)
139
- payload["label"] = params.label;
178
+ payload.label = params.label;
140
179
  if (params.comment !== undefined)
141
- payload["comment"] = params.comment;
180
+ payload.comment = params.comment;
142
181
  if (params.clientOrderId !== undefined)
143
- payload["clientOrderId"] = params.clientOrderId;
182
+ payload.clientOrderId = params.clientOrderId;
144
183
  if (params.positionId !== undefined)
145
- payload["positionId"] = params.positionId;
184
+ payload.positionId = params.positionId;
146
185
  const res = await this.connection.request(PayloadType.NEW_ORDER_REQ, payload);
147
186
  return res;
148
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"trading.js","sourceRoot":"","sources":["../../../src/modules/trading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trading.js","sourceRoot":"","sources":["../../../src/modules/trading.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../src/protocol/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,UAAU,eAAe;IACxB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,IAAI,UAAU,CAAA;KAAE,CAAC;IACrF,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrE;AA4BD;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEhF;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,WAAW,CAAC,EAAE,MAAM,GAClB,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAexC;AA+CD,MAAM,WAAW,cAAc;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAc9D"}
@@ -14,8 +14,8 @@
14
14
  * encode the inner object, wrap it in a ProtoMessage, and return the
15
15
  * framed bytes ready for the socket.
16
16
  */
17
- import { ProtoMessage, ProtoHeartbeatEvent } from "./proto/messages.js";
18
17
  import { PayloadType } from "./enums.js";
18
+ import { ProtoHeartbeatEvent, ProtoMessage } from "./proto/messages.js";
19
19
  // ---------------------------------------------------------------------------
20
20
  // Payload-type → Protobuf class registry
21
21
  // ---------------------------------------------------------------------------
@@ -33,7 +33,7 @@ for (const key of Object.keys(pb)) {
33
33
  typeof candidate.decode === "function") {
34
34
  try {
35
35
  const instance = new candidate();
36
- const pt = instance["payloadType"];
36
+ const pt = instance.payloadType;
37
37
  if (typeof pt === "number" && pt > 0) {
38
38
  registry.set(pt, candidate);
39
39
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/protocol/codec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /** Message type identifiers for the cTrader Open API protocol. Each value maps to a specific request, response, or event message. */
1
2
  export declare enum PayloadType {
2
3
  PROTO_MESSAGE = 5,
3
4
  ERROR_RES = 50,
@@ -92,85 +93,155 @@ export declare enum PayloadType {
92
93
  GET_POSITION_UNREALIZED_PNL_REQ = 2187,
93
94
  GET_POSITION_UNREALIZED_PNL_RES = 2188
94
95
  }
96
+ /** Order type. Determines how the order is filled. */
95
97
  export declare enum OrderType {
98
+ /** Instant fill at current market price. */
96
99
  MARKET = 1,
100
+ /** Fill at specified price or better. */
97
101
  LIMIT = 2,
102
+ /** Trigger market order when price reaches stop price. */
98
103
  STOP = 3,
104
+ /** Protection order (SL/TP only, cannot open new position). */
99
105
  STOP_LOSS_TAKE_PROFIT = 4,
106
+ /** Market order with maximum allowed slippage. */
100
107
  MARKET_RANGE = 5,
108
+ /** Stop order that becomes limit order when triggered. */
101
109
  STOP_LIMIT = 6
102
110
  }
111
+ /** Trade direction. */
103
112
  export declare enum TradeSide {
113
+ /** Long position (buy). */
104
114
  BUY = 1,
115
+ /** Short position (sell). */
105
116
  SELL = 2
106
117
  }
118
+ /** Order expiration policy. */
107
119
  export declare enum TimeInForce {
120
+ /** Expires at specified date/time. */
108
121
  GOOD_TILL_DATE = 1,
122
+ /** Stays active until manually cancelled. */
109
123
  GOOD_TILL_CANCEL = 2,
124
+ /** Fill what you can immediately, cancel the rest. */
110
125
  IMMEDIATE_OR_CANCEL = 3,
126
+ /** Fill entirely or cancel. */
111
127
  FILL_OR_KILL = 4,
128
+ /** Execute at market open. */
112
129
  MARKET_ON_OPEN = 5
113
130
  }
131
+ /** Describes what happened in an execution event. */
114
132
  export declare enum ExecutionType {
133
+ /** Order accepted by server. */
115
134
  ORDER_ACCEPTED = 2,
135
+ /** Order fully filled. */
116
136
  ORDER_FILLED = 3,
137
+ /** Order modified. */
117
138
  ORDER_REPLACED = 4,
139
+ /** Order cancelled. */
118
140
  ORDER_CANCELLED = 5,
141
+ /** Order expired. */
119
142
  ORDER_EXPIRED = 6,
143
+ /** Order rejected. */
120
144
  ORDER_REJECTED = 7,
145
+ /** Cancel request rejected. */
121
146
  ORDER_CANCEL_REJECTED = 8,
147
+ /** Overnight interest swap applied. */
122
148
  SWAP = 9,
149
+ /** Balance deposit or withdrawal. */
123
150
  DEPOSIT_WITHDRAW = 10,
151
+ /** Order partially filled. */
124
152
  ORDER_PARTIAL_FILL = 11,
153
+ /** Bonus deposit or withdrawal. */
125
154
  BONUS_DEPOSIT_WITHDRAW = 12
126
155
  }
156
+ /** Position lifecycle status. */
127
157
  export declare enum PositionStatus {
158
+ /** Position is active. */
128
159
  OPEN = 1,
160
+ /** Position is closed. */
129
161
  CLOSED = 2,
162
+ /** Position just created (transient state). */
130
163
  CREATED = 3,
164
+ /** Position error. */
131
165
  ERROR = 4
132
166
  }
167
+ /** Pending order status. */
133
168
  export declare enum OrderStatus {
169
+ /** Order accepted. */
134
170
  ACCEPTED = 1,
171
+ /** Order filled. */
135
172
  FILLED = 2,
173
+ /** Order rejected. */
136
174
  REJECTED = 3,
175
+ /** Order expired. */
137
176
  EXPIRED = 4,
177
+ /** Order cancelled. */
138
178
  CANCELLED = 5
139
179
  }
180
+ /** Deal (trade execution) status. */
140
181
  export declare enum DealStatus {
182
+ /** Deal fully filled. */
141
183
  FILLED = 2,
184
+ /** Deal partially filled. */
142
185
  PARTIALLY_FILLED = 3,
186
+ /** Deal rejected. */
143
187
  REJECTED = 4,
188
+ /** Deal rejected internally. */
144
189
  INTERNALLY_REJECTED = 5,
190
+ /** Deal error. */
145
191
  ERROR = 6,
192
+ /** Deal missed. */
146
193
  MISSED = 7
147
194
  }
195
+ /** Candlestick timeframe. M=minute, H=hour, D=day, W=week, MN=month. */
148
196
  export declare enum TrendbarPeriod {
197
+ /** 1 minute. */
149
198
  M1 = 1,
199
+ /** 2 minutes. */
150
200
  M2 = 2,
201
+ /** 3 minutes. */
151
202
  M3 = 3,
203
+ /** 4 minutes. */
152
204
  M4 = 4,
205
+ /** 5 minutes. */
153
206
  M5 = 5,
207
+ /** 10 minutes. */
154
208
  M10 = 6,
209
+ /** 15 minutes. */
155
210
  M15 = 7,
211
+ /** 30 minutes. */
156
212
  M30 = 8,
213
+ /** 1 hour. */
157
214
  H1 = 9,
215
+ /** 4 hours. */
158
216
  H4 = 10,
217
+ /** 12 hours. */
159
218
  H12 = 11,
219
+ /** 1 day. */
160
220
  D1 = 12,
221
+ /** 1 week. */
161
222
  W1 = 13,
223
+ /** 1 month. */
162
224
  MN1 = 14
163
225
  }
226
+ /** Quote type (bid or ask). */
164
227
  export declare enum QuoteType {
228
+ /** Buy price (broker sells to you). */
165
229
  BID = 1,
230
+ /** Sell price (broker buys from you). */
166
231
  ASK = 2
167
232
  }
233
+ /** How stop order trigger price is determined. */
168
234
  export declare enum OrderTriggerMethod {
235
+ /** Trigger on last trade price. */
169
236
  TRADE = 1,
237
+ /** Trigger on opposite side quote. */
170
238
  OPPOSITE = 2,
239
+ /** Trigger on double trade price. */
171
240
  DOUBLE_TRADE = 3,
241
+ /** Trigger on double opposite quote. */
172
242
  DOUBLE_OPPOSITE = 4
173
243
  }
244
+ /** Day of week. 0=none, 1=Monday...7=Sunday. */
174
245
  export declare enum DayOfWeek {
175
246
  NONE = 0,
176
247
  MONDAY = 1,
@@ -181,69 +252,120 @@ export declare enum DayOfWeek {
181
252
  SATURDAY = 6,
182
253
  SUNDAY = 7
183
254
  }
255
+ /** How broker commissions are calculated. */
184
256
  export declare enum CommissionType {
257
+ /** USD per million USD traded. */
185
258
  USD_PER_MILLION_USD = 1,
259
+ /** USD per lot. */
186
260
  USD_PER_LOT = 2,
261
+ /** Percentage of trade value. */
187
262
  PERCENTAGE_OF_VALUE = 3,
263
+ /** Quote currency per lot. */
188
264
  QUOTE_CCY_PER_LOT = 4
189
265
  }
266
+ /** How SL/TP distance is measured. */
190
267
  export declare enum SymbolDistanceType {
268
+ /** Distance in points. */
191
269
  SYMBOL_DISTANCE_IN_POINTS = 1,
270
+ /** Distance as percentage. */
192
271
  SYMBOL_DISTANCE_IN_PERCENTAGE = 2
193
272
  }
273
+ /** Currency for minimum commission. */
194
274
  export declare enum MinCommissionType {
275
+ /** Base currency. */
195
276
  CURRENCY = 1,
277
+ /** Quote currency. */
196
278
  QUOTE_CURRENCY = 2
197
279
  }
280
+ /** Whether trading is enabled on symbol. */
198
281
  export declare enum TradingMode {
282
+ /** Trading enabled. */
199
283
  ENABLED = 0,
284
+ /** Trading disabled, pending orders not executed. */
200
285
  DISABLED_WITHOUT_PENDINGS_EXECUTION = 1,
286
+ /** Trading disabled, pending orders executed. */
201
287
  DISABLED_WITH_PENDINGS_EXECUTION = 2,
288
+ /** Only closing trades allowed. */
202
289
  CLOSE_ONLY_MODE = 3
203
290
  }
291
+ /** How overnight swap is calculated. */
204
292
  export declare enum SwapCalculationType {
293
+ /** Swap in pips. */
205
294
  PIPS = 0,
295
+ /** Swap as percentage. */
206
296
  PERCENTAGE = 1,
297
+ /** Swap in points. */
207
298
  POINTS = 2
208
299
  }
300
+ /** Account access level. */
209
301
  export declare enum AccessRights {
302
+ /** Full trading access. */
210
303
  FULL_ACCESS = 0,
304
+ /** Can only close positions. */
211
305
  CLOSE_ONLY = 1,
306
+ /** No trading allowed. */
212
307
  NO_TRADING = 2,
308
+ /** Account disabled. */
213
309
  NO_LOGIN = 3
214
310
  }
311
+ /** How total margin is calculated across positions. */
215
312
  export declare enum TotalMarginCalculationType {
313
+ /** Use maximum of all positions. */
216
314
  MAX = 0,
315
+ /** Sum all positions. */
217
316
  SUM = 1,
317
+ /** Net hedged positions. */
218
318
  NET = 2
219
319
  }
320
+ /** Account hedging model. */
220
321
  export declare enum AccountType {
322
+ /** Separate positions per direction. */
221
323
  HEDGED = 0,
324
+ /** Positions offset each other. */
222
325
  NETTED = 1,
326
+ /** Spread betting account. */
223
327
  SPREAD_BETTING = 2
224
328
  }
329
+ /** How margin is calculated for limited risk accounts. */
225
330
  export declare enum LimitedRiskMarginCalculationStrategy {
331
+ /** Use leverage. */
226
332
  ACCORDING_TO_LEVERAGE = 0,
333
+ /** Use guaranteed stop loss. */
227
334
  ACCORDING_TO_GSL = 1,
335
+ /** Use both GSL and leverage. */
228
336
  ACCORDING_TO_GSL_AND_LEVERAGE = 2
229
337
  }
338
+ /** Which positions close first on margin call. */
230
339
  export declare enum StopOutStrategy {
340
+ /** Close highest margin positions first. */
231
341
  MOST_MARGIN_USED_FIRST = 0,
342
+ /** Close most losing positions first. */
232
343
  MOST_LOSING_FIRST = 1
233
344
  }
345
+ /** OAuth client permission scope. */
234
346
  export declare enum ClientPermissionScope {
347
+ /** Read-only access. */
235
348
  SCOPE_VIEW = 0,
349
+ /** Trading access. */
236
350
  SCOPE_TRADE = 1
237
351
  }
352
+ /** Margin level warning notification thresholds. */
238
353
  export declare enum NotificationType {
354
+ /** Margin level warning 1. */
239
355
  MARGIN_LEVEL_THRESHOLD_1 = 61,
356
+ /** Margin level warning 2. */
240
357
  MARGIN_LEVEL_THRESHOLD_2 = 62,
358
+ /** Margin level warning 3. */
241
359
  MARGIN_LEVEL_THRESHOLD_3 = 63
242
360
  }
361
+ /** Bonus deposit or withdrawal type. */
243
362
  export declare enum ChangeBonusType {
363
+ /** Bonus added. */
244
364
  BONUS_DEPOSIT = 0,
365
+ /** Bonus removed. */
245
366
  BONUS_WITHDRAW = 1
246
367
  }
368
+ /** Balance change reasons (deposits, withdrawals, commissions, fees, swaps, etc.). */
247
369
  export declare enum ChangeBalanceType {
248
370
  BALANCE_DEPOSIT = 0,
249
371
  BALANCE_WITHDRAW = 1,
@@ -281,61 +403,116 @@ export declare enum ChangeBalanceType {
281
403
  BALANCE_DEPOSIT_CONVERTED_BONUS = 38,
282
404
  BALANCE_DEPOSIT_NEGATIVE_BALANCE_PROTECTION = 39
283
405
  }
406
+ /** Low-level protocol errors. */
284
407
  export declare enum ProtoErrorCode {
408
+ /** Unknown error. */
285
409
  UNKNOWN_ERROR = 1,
410
+ /** Message type not supported. */
286
411
  UNSUPPORTED_MESSAGE = 2,
412
+ /** Request invalid. */
287
413
  INVALID_REQUEST = 3,
414
+ /** Request timed out. */
288
415
  TIMEOUT_ERROR = 5,
416
+ /** Entity not found. */
289
417
  ENTITY_NOT_FOUND = 6,
418
+ /** Cannot route request. */
290
419
  CANT_ROUTE_REQUEST = 7,
420
+ /** Message frame too long. */
291
421
  FRAME_TOO_LONG = 8,
422
+ /** Market closed. */
292
423
  MARKET_CLOSED = 9,
424
+ /** Concurrent modification. */
293
425
  CONCURRENT_MODIFICATION = 10,
426
+ /** Payload type blocked. */
294
427
  BLOCKED_PAYLOAD_TYPE = 11
295
428
  }
429
+ /** cTrader Open API specific error codes. */
296
430
  export declare enum ProtoOAErrorCode {
431
+ /** Access token expired. */
297
432
  OA_AUTH_TOKEN_EXPIRED = 1,
433
+ /** Account not authorized. */
298
434
  ACCOUNT_NOT_AUTHORIZED = 2,
435
+ /** Login not found. */
299
436
  RET_NO_SUCH_LOGIN = 12,
437
+ /** Already logged in. */
300
438
  ALREADY_LOGGED_IN = 14,
439
+ /** Account disabled. */
301
440
  RET_ACCOUNT_DISABLED = 64,
441
+ /** Too many connections. */
302
442
  CONNECTIONS_LIMIT_EXCEEDED = 67,
443
+ /** Cannot widen guaranteed stop loss. */
303
444
  WORSE_GSL_NOT_ALLOWED = 68,
445
+ /** Symbol on holiday. */
304
446
  SYMBOL_HAS_HOLIDAY = 69,
447
+ /** Authentication failure. */
305
448
  CH_CLIENT_AUTH_FAILURE = 101,
449
+ /** Client not authenticated. */
306
450
  CH_CLIENT_NOT_AUTHENTICATED = 102,
451
+ /** Client already authenticated. */
307
452
  CH_CLIENT_ALREADY_AUTHENTICATED = 103,
453
+ /** Access token invalid. */
308
454
  CH_ACCESS_TOKEN_INVALID = 104,
455
+ /** Server not reachable. */
309
456
  CH_SERVER_NOT_REACHABLE = 105,
457
+ /** cTrader account not found. */
310
458
  CH_CTID_TRADER_ACCOUNT_NOT_FOUND = 106,
459
+ /** Open API client not found. */
311
460
  CH_OA_CLIENT_NOT_FOUND = 107,
461
+ /** Request rate limit exceeded. */
312
462
  REQUEST_FREQUENCY_EXCEEDED = 108,
463
+ /** Server under maintenance. */
313
464
  SERVER_IS_UNDER_MAINTENANCE = 109,
465
+ /** Channel blocked. */
314
466
  CHANNEL_IS_BLOCKED = 110,
467
+ /** Not subscribed to spot prices. */
315
468
  NOT_SUBSCRIBED_TO_SPOTS = 112,
469
+ /** Already subscribed. */
316
470
  ALREADY_SUBSCRIBED = 113,
471
+ /** Symbol not found. */
317
472
  SYMBOL_NOT_FOUND = 114,
473
+ /** Unknown symbol. */
318
474
  UNKNOWN_SYMBOL = 115,
475
+ /** Incorrect boundaries. */
319
476
  INCORRECT_BOUNDARIES = 35,
477
+ /** No quotes available. */
320
478
  NO_QUOTES = 117,
479
+ /** Insufficient funds. */
321
480
  NOT_ENOUGH_MONEY = 118,
481
+ /** Maximum exposure reached. */
322
482
  MAX_EXPOSURE_REACHED = 119,
483
+ /** Position not found. */
323
484
  POSITION_NOT_FOUND = 120,
485
+ /** Order not found. */
324
486
  ORDER_NOT_FOUND = 121,
487
+ /** Position not open. */
325
488
  POSITION_NOT_OPEN = 122,
489
+ /** Position locked. */
326
490
  POSITION_LOCKED = 123,
491
+ /** Too many positions. */
327
492
  TOO_MANY_POSITIONS = 124,
493
+ /** Invalid volume. */
328
494
  TRADING_BAD_VOLUME = 125,
495
+ /** Invalid stop loss or take profit. */
329
496
  TRADING_BAD_STOPS = 126,
497
+ /** Invalid prices. */
330
498
  TRADING_BAD_PRICES = 127,
499
+ /** Invalid stake. */
331
500
  TRADING_BAD_STAKE = 128,
501
+ /** Stop loss or take profit too close to market. */
332
502
  PROTECTION_IS_TOO_CLOSE_TO_MARKET = 129,
503
+ /** Invalid expiration date. */
333
504
  TRADING_BAD_EXPIRATION_DATE = 130,
505
+ /** Order pending execution. */
334
506
  PENDING_EXECUTION = 131,
507
+ /** Trading disabled. */
335
508
  TRADING_DISABLED = 132,
509
+ /** Trading not allowed. */
336
510
  TRADING_NOT_ALLOWED = 133,
511
+ /** Cannot cancel order. */
337
512
  UNABLE_TO_CANCEL_ORDER = 134,
513
+ /** Cannot amend order. */
338
514
  UNABLE_TO_AMEND_ORDER = 135,
515
+ /** Short selling not allowed. */
339
516
  SHORT_SELLING_NOT_ALLOWED = 136
340
517
  }
341
518
  //# sourceMappingURL=enums.d.ts.map