@cryptorobot.ai/client 0.0.39 → 0.0.40

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 (81) hide show
  1. package/lib/src/client.js +29 -2
  2. package/lib/src/services/agents/agents.class.d.ts +11 -0
  3. package/lib/src/services/agents/agents.d.ts +11 -0
  4. package/lib/src/services/agents/agents.schema.d.ts +2371 -0
  5. package/lib/src/services/agents/agents.shared.d.ts +13 -0
  6. package/lib/src/services/agents/agents.shared.js +13 -0
  7. package/lib/src/services/agents/prepare/prepare.class.d.ts +18 -0
  8. package/lib/src/services/agents/prepare/prepare.d.ts +11 -0
  9. package/lib/src/services/agents/prepare/prepare.schema.d.ts +285 -0
  10. package/lib/src/services/agents/prepare/prepare.shared.d.ts +13 -0
  11. package/lib/src/services/agents/prepare/prepare.shared.js +13 -0
  12. package/lib/src/services/agents/sessions/conversations/conversations.class.d.ts +11 -0
  13. package/lib/src/services/agents/sessions/conversations/conversations.d.ts +11 -0
  14. package/lib/src/services/agents/sessions/conversations/conversations.schema.d.ts +2561 -0
  15. package/lib/src/services/agents/sessions/conversations/conversations.shared.d.ts +13 -0
  16. package/lib/src/services/agents/sessions/conversations/conversations.shared.js +13 -0
  17. package/lib/src/services/agents/sessions/sessions.class.d.ts +11 -0
  18. package/lib/src/services/agents/sessions/sessions.d.ts +11 -0
  19. package/lib/src/services/agents/sessions/sessions.schema.d.ts +803 -0
  20. package/lib/src/services/agents/sessions/sessions.shared.d.ts +13 -0
  21. package/lib/src/services/agents/sessions/sessions.shared.js +13 -0
  22. package/lib/src/services/events/events.class.d.ts +11 -0
  23. package/lib/src/services/events/events.d.ts +11 -0
  24. package/lib/src/services/events/events.schema.d.ts +786 -0
  25. package/lib/src/services/events/events.shared.d.ts +13 -0
  26. package/lib/src/services/events/events.shared.js +13 -0
  27. package/lib/src/services/events/triggers/triggers.class.d.ts +11 -0
  28. package/lib/src/services/events/triggers/triggers.d.ts +11 -0
  29. package/lib/src/services/events/triggers/triggers.schema.d.ts +1582 -0
  30. package/lib/src/services/events/triggers/triggers.shared.d.ts +13 -0
  31. package/lib/src/services/events/triggers/triggers.shared.js +13 -0
  32. package/lib/src/services/events/types/types.class.d.ts +11 -0
  33. package/lib/src/services/events/types/types.d.ts +11 -0
  34. package/lib/src/services/events/types/types.schema.d.ts +688 -0
  35. package/lib/src/services/events/types/types.shared.d.ts +13 -0
  36. package/lib/src/services/events/types/types.shared.js +13 -0
  37. package/lib/src/services/exchanges/download/download.shared.d.ts +1 -1
  38. package/lib/src/services/exchanges/download/download.shared.js +1 -1
  39. package/lib/src/services/extensions/extensions.class.d.ts +11 -0
  40. package/lib/src/services/extensions/extensions.d.ts +11 -0
  41. package/lib/src/services/extensions/extensions.schema.d.ts +1275 -0
  42. package/lib/src/services/extensions/extensions.shared.d.ts +13 -0
  43. package/lib/src/services/extensions/extensions.shared.js +13 -0
  44. package/lib/src/services/keys/KeysService.d.ts +13 -0
  45. package/lib/src/services/keys/keys.class.d.ts +11 -0
  46. package/lib/src/services/keys/keys.d.ts +11 -0
  47. package/lib/src/services/keys/keys.schema.d.ts +719 -0
  48. package/lib/src/services/keys/keys.shared.d.ts +14 -0
  49. package/lib/src/services/keys/keys.shared.js +13 -0
  50. package/lib/src/services/messages/messages.schema.d.ts +4 -4
  51. package/lib/src/services/restricted/restricted.class.d.ts +26 -0
  52. package/lib/src/services/restricted/restricted.d.ts +21 -0
  53. package/lib/src/services/restricted/restricted.shared.d.ts +13 -0
  54. package/lib/src/services/restricted/restricted.shared.js +13 -0
  55. package/lib/src/services/strategies/backtest/results/results.schema.d.ts +28 -28
  56. package/lib/src/services/strategies/generate/generate.class.d.ts +11 -0
  57. package/lib/src/services/strategies/generate/generate.d.ts +11 -0
  58. package/lib/src/services/strategies/generate/generate.schema.d.ts +429 -0
  59. package/lib/src/services/strategies/generate/generate.shared.d.ts +13 -0
  60. package/lib/src/services/strategies/generate/generate.shared.js +13 -0
  61. package/lib/src/services/strategies/hyperopt/hyperopt.schema.d.ts +12 -4
  62. package/lib/src/services/strategies/indicators/indicators.schema.d.ts +177 -97
  63. package/lib/src/services/strategies/indicators/talib/talib.schema.d.ts +4 -4
  64. package/lib/src/services/strategies/strategies.schema.d.ts +2708 -303
  65. package/lib/src/services/strategies/templates/templates.schema.d.ts +2142 -12
  66. package/lib/src/services/tools/openapi/openapi.class.d.ts +34 -0
  67. package/lib/src/services/tools/openapi/openapi.d.ts +10 -0
  68. package/lib/src/services/tools/openapi/openapi.shared.d.ts +13 -0
  69. package/lib/src/services/tools/openapi/openapi.shared.js +13 -0
  70. package/lib/src/services/tools/tools.class.d.ts +11 -0
  71. package/lib/src/services/tools/tools.d.ts +11 -0
  72. package/lib/src/services/tools/tools.schema.d.ts +269 -0
  73. package/lib/src/services/tools/tools.shared.d.ts +13 -0
  74. package/lib/src/services/tools/tools.shared.js +13 -0
  75. package/lib/src/services/traders/pods/api/api.schema.d.ts +1284 -188
  76. package/lib/src/services/traders/pods/events/events.schema.d.ts +4 -4
  77. package/lib/src/services/traders/pods/pods.schema.d.ts +1280 -184
  78. package/lib/src/services/traders/traders.schema.d.ts +4 -4
  79. package/lib/src/services/users/users.class.d.ts +2 -2
  80. package/lib/src/services/users/users.schema.d.ts +4 -4
  81. package/package.json +1 -1
@@ -5,88 +5,777 @@ export declare const strategiesTemplatesSchema: import("@feathersjs/typebox").TO
5
5
  _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
6
6
  name: import("@feathersjs/typebox").TString<string>;
7
7
  type: import("@feathersjs/typebox").TString<string>;
8
+ revision: import("@feathersjs/typebox").TNumber;
8
9
  description: import("@feathersjs/typebox").TString<string>;
9
10
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
10
11
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
11
- values: import("@feathersjs/typebox").TAny;
12
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
13
+ values: import("@feathersjs/typebox").TObject<{
14
+ interval: import("@feathersjs/typebox").TString<string>;
15
+ stoploss: import("@feathersjs/typebox").TNumber;
16
+ exit_profit_only: import("@feathersjs/typebox").TBoolean;
17
+ exit_profit_offset: import("@feathersjs/typebox").TNumber;
18
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
19
+ _id: import("@feathersjs/typebox").TString<string>;
20
+ alias: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
21
+ name: import("@feathersjs/typebox").TString<string>;
22
+ group: import("@feathersjs/typebox").TString<string>;
23
+ description: import("@feathersjs/typebox").TString<string>;
24
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
25
+ name: import("@feathersjs/typebox").TString<string>;
26
+ displayName: import("@feathersjs/typebox").TString<string>;
27
+ defaultValue: import("@feathersjs/typebox").TAny;
28
+ hint: import("@feathersjs/typebox").TString<string>;
29
+ type: import("@feathersjs/typebox").TString<string>;
30
+ normName: import("@feathersjs/typebox").TString<string>;
31
+ }>>;
32
+ }>>>;
33
+ minimal_roi: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
34
+ minutes: import("@feathersjs/typebox").TNumber;
35
+ profit: import("@feathersjs/typebox").TNumber;
36
+ }>>;
37
+ protections: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
38
+ enabled: import("@feathersjs/typebox").TBoolean;
39
+ type: import("@feathersjs/typebox").TString<string>;
40
+ method: import("@feathersjs/typebox").TString<string>;
41
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
42
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
43
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
44
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
45
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
46
+ }>>;
47
+ order_types: import("@feathersjs/typebox").TObject<{
48
+ entry: import("@feathersjs/typebox").TString<string>;
49
+ exit: import("@feathersjs/typebox").TString<string>;
50
+ emergencysell: import("@feathersjs/typebox").TString<string>;
51
+ forcebuy: import("@feathersjs/typebox").TString<string>;
52
+ forcesell: import("@feathersjs/typebox").TString<string>;
53
+ stoploss: import("@feathersjs/typebox").TString<string>;
54
+ stoploss_on_exchange: import("@feathersjs/typebox").TBoolean;
55
+ }>;
56
+ sellwhen: import("@feathersjs/typebox").TObject<{
57
+ logic: import("@feathersjs/typebox").TString<string>;
58
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
59
+ indicator: import("@feathersjs/typebox").TString<string>;
60
+ condition: import("@feathersjs/typebox").TString<string>;
61
+ compare_to: import("@feathersjs/typebox").TObject<{
62
+ type: import("@feathersjs/typebox").TString<string>;
63
+ value: import("@feathersjs/typebox").TAny;
64
+ }>;
65
+ }>>;
66
+ }>;
67
+ buywhen: import("@feathersjs/typebox").TObject<{
68
+ logic: import("@feathersjs/typebox").TString<string>;
69
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
70
+ indicator: import("@feathersjs/typebox").TString<string>;
71
+ condition: import("@feathersjs/typebox").TString<string>;
72
+ compare_to: import("@feathersjs/typebox").TObject<{
73
+ type: import("@feathersjs/typebox").TString<string>;
74
+ value: import("@feathersjs/typebox").TAny;
75
+ }>;
76
+ }>>;
77
+ }>;
78
+ }>;
79
+ timeinforce: import("@feathersjs/typebox").TString<string>;
80
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
81
+ enabled: import("@feathersjs/typebox").TBoolean;
82
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
83
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
84
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
85
+ }>>;
86
+ if: import("@feathersjs/typebox").TObject<{
87
+ hyperopt: import("@feathersjs/typebox").TObject<{
88
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
89
+ field: import("@feathersjs/typebox").TString<string>;
90
+ operator: import("@feathersjs/typebox").TString<string>;
91
+ compare: import("@feathersjs/typebox").TAny;
92
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
93
+ }>>;
94
+ }>;
95
+ }>;
96
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
97
+ }>>;
12
98
  }>;
13
99
  export type StrategiesTemplates = Static<typeof strategiesTemplatesSchema>;
14
100
  export declare const strategiesTemplatesValidator: import("@feathersjs/schema").Validator<any, any>;
15
101
  export declare const strategiesTemplatesResolver: import("@feathersjs/schema").Resolver<{
102
+ public?: boolean | undefined;
16
103
  _id?: string | {} | undefined;
17
104
  createdAt?: any;
18
105
  updatedAt?: any;
19
- values: any;
106
+ optimize?: {
107
+ best?: {
108
+ by: "total_profit" | "sharpe";
109
+ direction: "max" | "min";
110
+ } | undefined;
111
+ enabled: boolean;
112
+ then: {}[];
113
+ if: {
114
+ hyperopt: {
115
+ results: {
116
+ type?: string | undefined;
117
+ field: string;
118
+ operator: string;
119
+ compare: any;
120
+ }[];
121
+ };
122
+ };
123
+ } | undefined;
124
+ values: {
125
+ indicators?: {
126
+ alias?: string | undefined;
127
+ name: string;
128
+ _id: string;
129
+ description: string;
130
+ group: string;
131
+ optInputs: {
132
+ name: string;
133
+ type: string;
134
+ displayName: string;
135
+ defaultValue: any;
136
+ hint: string;
137
+ normName: string;
138
+ }[];
139
+ }[] | undefined;
140
+ interval: string;
141
+ stoploss: number;
142
+ exit_profit_only: boolean;
143
+ exit_profit_offset: number;
144
+ minimal_roi: {
145
+ minutes: number;
146
+ profit: number;
147
+ }[];
148
+ protections: {
149
+ stop_duration_candles?: number | undefined;
150
+ lookback_period_candles?: number | undefined;
151
+ trade_limit?: number | undefined;
152
+ max_allowed_drawdown?: number | undefined;
153
+ only_per_pair?: boolean | undefined;
154
+ enabled: boolean;
155
+ type: string;
156
+ method: string;
157
+ }[];
158
+ order_types: {
159
+ stoploss: string;
160
+ entry: string;
161
+ exit: string;
162
+ emergencysell: string;
163
+ forcebuy: string;
164
+ forcesell: string;
165
+ stoploss_on_exchange: boolean;
166
+ };
167
+ sellwhen: {
168
+ logic: string;
169
+ conditions: {
170
+ indicator: string;
171
+ condition: string;
172
+ compare_to: {
173
+ type: string;
174
+ value: any;
175
+ };
176
+ }[];
177
+ };
178
+ buywhen: {
179
+ logic: string;
180
+ conditions: {
181
+ indicator: string;
182
+ condition: string;
183
+ compare_to: {
184
+ type: string;
185
+ value: any;
186
+ };
187
+ }[];
188
+ };
189
+ };
20
190
  name: string;
21
191
  type: string;
192
+ revision: number;
22
193
  description: string;
194
+ timeinforce: string;
23
195
  }, HookContext<StrategiesTemplatesService<import("./templates.class").StrategiesTemplatesParams>>>;
24
196
  export declare const strategiesTemplatesExternalResolver: import("@feathersjs/schema").Resolver<{
197
+ public?: boolean | undefined;
25
198
  _id?: string | {} | undefined;
26
199
  createdAt?: any;
27
200
  updatedAt?: any;
28
- values: any;
201
+ optimize?: {
202
+ best?: {
203
+ by: "total_profit" | "sharpe";
204
+ direction: "max" | "min";
205
+ } | undefined;
206
+ enabled: boolean;
207
+ then: {}[];
208
+ if: {
209
+ hyperopt: {
210
+ results: {
211
+ type?: string | undefined;
212
+ field: string;
213
+ operator: string;
214
+ compare: any;
215
+ }[];
216
+ };
217
+ };
218
+ } | undefined;
219
+ values: {
220
+ indicators?: {
221
+ alias?: string | undefined;
222
+ name: string;
223
+ _id: string;
224
+ description: string;
225
+ group: string;
226
+ optInputs: {
227
+ name: string;
228
+ type: string;
229
+ displayName: string;
230
+ defaultValue: any;
231
+ hint: string;
232
+ normName: string;
233
+ }[];
234
+ }[] | undefined;
235
+ interval: string;
236
+ stoploss: number;
237
+ exit_profit_only: boolean;
238
+ exit_profit_offset: number;
239
+ minimal_roi: {
240
+ minutes: number;
241
+ profit: number;
242
+ }[];
243
+ protections: {
244
+ stop_duration_candles?: number | undefined;
245
+ lookback_period_candles?: number | undefined;
246
+ trade_limit?: number | undefined;
247
+ max_allowed_drawdown?: number | undefined;
248
+ only_per_pair?: boolean | undefined;
249
+ enabled: boolean;
250
+ type: string;
251
+ method: string;
252
+ }[];
253
+ order_types: {
254
+ stoploss: string;
255
+ entry: string;
256
+ exit: string;
257
+ emergencysell: string;
258
+ forcebuy: string;
259
+ forcesell: string;
260
+ stoploss_on_exchange: boolean;
261
+ };
262
+ sellwhen: {
263
+ logic: string;
264
+ conditions: {
265
+ indicator: string;
266
+ condition: string;
267
+ compare_to: {
268
+ type: string;
269
+ value: any;
270
+ };
271
+ }[];
272
+ };
273
+ buywhen: {
274
+ logic: string;
275
+ conditions: {
276
+ indicator: string;
277
+ condition: string;
278
+ compare_to: {
279
+ type: string;
280
+ value: any;
281
+ };
282
+ }[];
283
+ };
284
+ };
29
285
  name: string;
30
286
  type: string;
287
+ revision: number;
31
288
  description: string;
289
+ timeinforce: string;
32
290
  }, HookContext<StrategiesTemplatesService<import("./templates.class").StrategiesTemplatesParams>>>;
33
291
  export declare const strategiesTemplatesDataSchema: import("@feathersjs/typebox").TPick<import("@feathersjs/typebox").TObject<{
34
292
  _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
35
293
  name: import("@feathersjs/typebox").TString<string>;
36
294
  type: import("@feathersjs/typebox").TString<string>;
295
+ revision: import("@feathersjs/typebox").TNumber;
37
296
  description: import("@feathersjs/typebox").TString<string>;
38
297
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
39
298
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
40
- values: import("@feathersjs/typebox").TAny;
41
- }>, ["_id", "name", "type", "description", "createdAt", "updatedAt", "values"]>;
299
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
300
+ values: import("@feathersjs/typebox").TObject<{
301
+ interval: import("@feathersjs/typebox").TString<string>;
302
+ stoploss: import("@feathersjs/typebox").TNumber;
303
+ exit_profit_only: import("@feathersjs/typebox").TBoolean;
304
+ exit_profit_offset: import("@feathersjs/typebox").TNumber;
305
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
306
+ _id: import("@feathersjs/typebox").TString<string>;
307
+ alias: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
308
+ name: import("@feathersjs/typebox").TString<string>;
309
+ group: import("@feathersjs/typebox").TString<string>;
310
+ description: import("@feathersjs/typebox").TString<string>;
311
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
312
+ name: import("@feathersjs/typebox").TString<string>;
313
+ displayName: import("@feathersjs/typebox").TString<string>;
314
+ defaultValue: import("@feathersjs/typebox").TAny;
315
+ hint: import("@feathersjs/typebox").TString<string>;
316
+ type: import("@feathersjs/typebox").TString<string>;
317
+ normName: import("@feathersjs/typebox").TString<string>;
318
+ }>>;
319
+ }>>>;
320
+ minimal_roi: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
321
+ minutes: import("@feathersjs/typebox").TNumber;
322
+ profit: import("@feathersjs/typebox").TNumber;
323
+ }>>;
324
+ protections: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
325
+ enabled: import("@feathersjs/typebox").TBoolean;
326
+ type: import("@feathersjs/typebox").TString<string>;
327
+ method: import("@feathersjs/typebox").TString<string>;
328
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
329
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
330
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
331
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
332
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
333
+ }>>;
334
+ order_types: import("@feathersjs/typebox").TObject<{
335
+ entry: import("@feathersjs/typebox").TString<string>;
336
+ exit: import("@feathersjs/typebox").TString<string>;
337
+ emergencysell: import("@feathersjs/typebox").TString<string>;
338
+ forcebuy: import("@feathersjs/typebox").TString<string>;
339
+ forcesell: import("@feathersjs/typebox").TString<string>;
340
+ stoploss: import("@feathersjs/typebox").TString<string>;
341
+ stoploss_on_exchange: import("@feathersjs/typebox").TBoolean;
342
+ }>;
343
+ sellwhen: import("@feathersjs/typebox").TObject<{
344
+ logic: import("@feathersjs/typebox").TString<string>;
345
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
346
+ indicator: import("@feathersjs/typebox").TString<string>;
347
+ condition: import("@feathersjs/typebox").TString<string>;
348
+ compare_to: import("@feathersjs/typebox").TObject<{
349
+ type: import("@feathersjs/typebox").TString<string>;
350
+ value: import("@feathersjs/typebox").TAny;
351
+ }>;
352
+ }>>;
353
+ }>;
354
+ buywhen: import("@feathersjs/typebox").TObject<{
355
+ logic: import("@feathersjs/typebox").TString<string>;
356
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
357
+ indicator: import("@feathersjs/typebox").TString<string>;
358
+ condition: import("@feathersjs/typebox").TString<string>;
359
+ compare_to: import("@feathersjs/typebox").TObject<{
360
+ type: import("@feathersjs/typebox").TString<string>;
361
+ value: import("@feathersjs/typebox").TAny;
362
+ }>;
363
+ }>>;
364
+ }>;
365
+ }>;
366
+ timeinforce: import("@feathersjs/typebox").TString<string>;
367
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
368
+ enabled: import("@feathersjs/typebox").TBoolean;
369
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
370
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
371
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
372
+ }>>;
373
+ if: import("@feathersjs/typebox").TObject<{
374
+ hyperopt: import("@feathersjs/typebox").TObject<{
375
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
376
+ field: import("@feathersjs/typebox").TString<string>;
377
+ operator: import("@feathersjs/typebox").TString<string>;
378
+ compare: import("@feathersjs/typebox").TAny;
379
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
380
+ }>>;
381
+ }>;
382
+ }>;
383
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
384
+ }>>;
385
+ }>, ["_id", "name", "type", "description", "createdAt", "updatedAt", "values", "optimize", "public"]>;
42
386
  export type StrategiesTemplatesData = Static<typeof strategiesTemplatesDataSchema>;
43
387
  export declare const strategiesTemplatesDataValidator: import("@feathersjs/schema").Validator<any, any>;
44
388
  export declare const strategiesTemplatesDataResolver: import("@feathersjs/schema").Resolver<{
389
+ public?: boolean | undefined;
45
390
  _id?: string | {} | undefined;
46
391
  createdAt?: any;
47
392
  updatedAt?: any;
48
- values: any;
393
+ optimize?: {
394
+ best?: {
395
+ by: "total_profit" | "sharpe";
396
+ direction: "max" | "min";
397
+ } | undefined;
398
+ enabled: boolean;
399
+ then: {}[];
400
+ if: {
401
+ hyperopt: {
402
+ results: {
403
+ type?: string | undefined;
404
+ field: string;
405
+ operator: string;
406
+ compare: any;
407
+ }[];
408
+ };
409
+ };
410
+ } | undefined;
411
+ values: {
412
+ indicators?: {
413
+ alias?: string | undefined;
414
+ name: string;
415
+ _id: string;
416
+ description: string;
417
+ group: string;
418
+ optInputs: {
419
+ name: string;
420
+ type: string;
421
+ displayName: string;
422
+ defaultValue: any;
423
+ hint: string;
424
+ normName: string;
425
+ }[];
426
+ }[] | undefined;
427
+ interval: string;
428
+ stoploss: number;
429
+ exit_profit_only: boolean;
430
+ exit_profit_offset: number;
431
+ minimal_roi: {
432
+ minutes: number;
433
+ profit: number;
434
+ }[];
435
+ protections: {
436
+ stop_duration_candles?: number | undefined;
437
+ lookback_period_candles?: number | undefined;
438
+ trade_limit?: number | undefined;
439
+ max_allowed_drawdown?: number | undefined;
440
+ only_per_pair?: boolean | undefined;
441
+ enabled: boolean;
442
+ type: string;
443
+ method: string;
444
+ }[];
445
+ order_types: {
446
+ stoploss: string;
447
+ entry: string;
448
+ exit: string;
449
+ emergencysell: string;
450
+ forcebuy: string;
451
+ forcesell: string;
452
+ stoploss_on_exchange: boolean;
453
+ };
454
+ sellwhen: {
455
+ logic: string;
456
+ conditions: {
457
+ indicator: string;
458
+ condition: string;
459
+ compare_to: {
460
+ type: string;
461
+ value: any;
462
+ };
463
+ }[];
464
+ };
465
+ buywhen: {
466
+ logic: string;
467
+ conditions: {
468
+ indicator: string;
469
+ condition: string;
470
+ compare_to: {
471
+ type: string;
472
+ value: any;
473
+ };
474
+ }[];
475
+ };
476
+ };
49
477
  name: string;
50
478
  type: string;
479
+ revision: number;
51
480
  description: string;
481
+ timeinforce: string;
52
482
  }, HookContext<StrategiesTemplatesService<import("./templates.class").StrategiesTemplatesParams>>>;
53
483
  export declare const strategiesTemplatesPatchSchema: import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TObject<{
54
484
  _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
55
485
  name: import("@feathersjs/typebox").TString<string>;
56
486
  type: import("@feathersjs/typebox").TString<string>;
487
+ revision: import("@feathersjs/typebox").TNumber;
57
488
  description: import("@feathersjs/typebox").TString<string>;
58
489
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
59
490
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
60
- values: import("@feathersjs/typebox").TAny;
491
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
492
+ values: import("@feathersjs/typebox").TObject<{
493
+ interval: import("@feathersjs/typebox").TString<string>;
494
+ stoploss: import("@feathersjs/typebox").TNumber;
495
+ exit_profit_only: import("@feathersjs/typebox").TBoolean;
496
+ exit_profit_offset: import("@feathersjs/typebox").TNumber;
497
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
498
+ _id: import("@feathersjs/typebox").TString<string>;
499
+ alias: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
500
+ name: import("@feathersjs/typebox").TString<string>;
501
+ group: import("@feathersjs/typebox").TString<string>;
502
+ description: import("@feathersjs/typebox").TString<string>;
503
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
504
+ name: import("@feathersjs/typebox").TString<string>;
505
+ displayName: import("@feathersjs/typebox").TString<string>;
506
+ defaultValue: import("@feathersjs/typebox").TAny;
507
+ hint: import("@feathersjs/typebox").TString<string>;
508
+ type: import("@feathersjs/typebox").TString<string>;
509
+ normName: import("@feathersjs/typebox").TString<string>;
510
+ }>>;
511
+ }>>>;
512
+ minimal_roi: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
513
+ minutes: import("@feathersjs/typebox").TNumber;
514
+ profit: import("@feathersjs/typebox").TNumber;
515
+ }>>;
516
+ protections: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
517
+ enabled: import("@feathersjs/typebox").TBoolean;
518
+ type: import("@feathersjs/typebox").TString<string>;
519
+ method: import("@feathersjs/typebox").TString<string>;
520
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
521
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
522
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
523
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
524
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
525
+ }>>;
526
+ order_types: import("@feathersjs/typebox").TObject<{
527
+ entry: import("@feathersjs/typebox").TString<string>;
528
+ exit: import("@feathersjs/typebox").TString<string>;
529
+ emergencysell: import("@feathersjs/typebox").TString<string>;
530
+ forcebuy: import("@feathersjs/typebox").TString<string>;
531
+ forcesell: import("@feathersjs/typebox").TString<string>;
532
+ stoploss: import("@feathersjs/typebox").TString<string>;
533
+ stoploss_on_exchange: import("@feathersjs/typebox").TBoolean;
534
+ }>;
535
+ sellwhen: import("@feathersjs/typebox").TObject<{
536
+ logic: import("@feathersjs/typebox").TString<string>;
537
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
538
+ indicator: import("@feathersjs/typebox").TString<string>;
539
+ condition: import("@feathersjs/typebox").TString<string>;
540
+ compare_to: import("@feathersjs/typebox").TObject<{
541
+ type: import("@feathersjs/typebox").TString<string>;
542
+ value: import("@feathersjs/typebox").TAny;
543
+ }>;
544
+ }>>;
545
+ }>;
546
+ buywhen: import("@feathersjs/typebox").TObject<{
547
+ logic: import("@feathersjs/typebox").TString<string>;
548
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
549
+ indicator: import("@feathersjs/typebox").TString<string>;
550
+ condition: import("@feathersjs/typebox").TString<string>;
551
+ compare_to: import("@feathersjs/typebox").TObject<{
552
+ type: import("@feathersjs/typebox").TString<string>;
553
+ value: import("@feathersjs/typebox").TAny;
554
+ }>;
555
+ }>>;
556
+ }>;
557
+ }>;
558
+ timeinforce: import("@feathersjs/typebox").TString<string>;
559
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
560
+ enabled: import("@feathersjs/typebox").TBoolean;
561
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
562
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
563
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
564
+ }>>;
565
+ if: import("@feathersjs/typebox").TObject<{
566
+ hyperopt: import("@feathersjs/typebox").TObject<{
567
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
568
+ field: import("@feathersjs/typebox").TString<string>;
569
+ operator: import("@feathersjs/typebox").TString<string>;
570
+ compare: import("@feathersjs/typebox").TAny;
571
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
572
+ }>>;
573
+ }>;
574
+ }>;
575
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
576
+ }>>;
61
577
  }>>;
62
578
  export type StrategiesTemplatesPatch = Static<typeof strategiesTemplatesPatchSchema>;
63
579
  export declare const strategiesTemplatesPatchValidator: import("@feathersjs/schema").Validator<any, any>;
64
580
  export declare const strategiesTemplatesPatchResolver: import("@feathersjs/schema").Resolver<{
581
+ public?: boolean | undefined;
65
582
  _id?: string | {} | undefined;
66
583
  createdAt?: any;
67
584
  updatedAt?: any;
68
- values: any;
585
+ optimize?: {
586
+ best?: {
587
+ by: "total_profit" | "sharpe";
588
+ direction: "max" | "min";
589
+ } | undefined;
590
+ enabled: boolean;
591
+ then: {}[];
592
+ if: {
593
+ hyperopt: {
594
+ results: {
595
+ type?: string | undefined;
596
+ field: string;
597
+ operator: string;
598
+ compare: any;
599
+ }[];
600
+ };
601
+ };
602
+ } | undefined;
603
+ values: {
604
+ indicators?: {
605
+ alias?: string | undefined;
606
+ name: string;
607
+ _id: string;
608
+ description: string;
609
+ group: string;
610
+ optInputs: {
611
+ name: string;
612
+ type: string;
613
+ displayName: string;
614
+ defaultValue: any;
615
+ hint: string;
616
+ normName: string;
617
+ }[];
618
+ }[] | undefined;
619
+ interval: string;
620
+ stoploss: number;
621
+ exit_profit_only: boolean;
622
+ exit_profit_offset: number;
623
+ minimal_roi: {
624
+ minutes: number;
625
+ profit: number;
626
+ }[];
627
+ protections: {
628
+ stop_duration_candles?: number | undefined;
629
+ lookback_period_candles?: number | undefined;
630
+ trade_limit?: number | undefined;
631
+ max_allowed_drawdown?: number | undefined;
632
+ only_per_pair?: boolean | undefined;
633
+ enabled: boolean;
634
+ type: string;
635
+ method: string;
636
+ }[];
637
+ order_types: {
638
+ stoploss: string;
639
+ entry: string;
640
+ exit: string;
641
+ emergencysell: string;
642
+ forcebuy: string;
643
+ forcesell: string;
644
+ stoploss_on_exchange: boolean;
645
+ };
646
+ sellwhen: {
647
+ logic: string;
648
+ conditions: {
649
+ indicator: string;
650
+ condition: string;
651
+ compare_to: {
652
+ type: string;
653
+ value: any;
654
+ };
655
+ }[];
656
+ };
657
+ buywhen: {
658
+ logic: string;
659
+ conditions: {
660
+ indicator: string;
661
+ condition: string;
662
+ compare_to: {
663
+ type: string;
664
+ value: any;
665
+ };
666
+ }[];
667
+ };
668
+ };
69
669
  name: string;
70
670
  type: string;
671
+ revision: number;
71
672
  description: string;
673
+ timeinforce: string;
72
674
  }, HookContext<StrategiesTemplatesService<import("./templates.class").StrategiesTemplatesParams>>>;
73
675
  export declare const strategiesTemplatesQueryProperties: import("@feathersjs/typebox").TPick<import("@feathersjs/typebox").TObject<{
74
676
  _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
75
677
  name: import("@feathersjs/typebox").TString<string>;
76
678
  type: import("@feathersjs/typebox").TString<string>;
679
+ revision: import("@feathersjs/typebox").TNumber;
77
680
  description: import("@feathersjs/typebox").TString<string>;
78
681
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
79
682
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
80
- values: import("@feathersjs/typebox").TAny;
81
- }>, ["_id", "name"]>;
683
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
684
+ values: import("@feathersjs/typebox").TObject<{
685
+ interval: import("@feathersjs/typebox").TString<string>;
686
+ stoploss: import("@feathersjs/typebox").TNumber;
687
+ exit_profit_only: import("@feathersjs/typebox").TBoolean;
688
+ exit_profit_offset: import("@feathersjs/typebox").TNumber;
689
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
690
+ _id: import("@feathersjs/typebox").TString<string>;
691
+ alias: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
692
+ name: import("@feathersjs/typebox").TString<string>;
693
+ group: import("@feathersjs/typebox").TString<string>;
694
+ description: import("@feathersjs/typebox").TString<string>;
695
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
696
+ name: import("@feathersjs/typebox").TString<string>;
697
+ displayName: import("@feathersjs/typebox").TString<string>;
698
+ defaultValue: import("@feathersjs/typebox").TAny;
699
+ hint: import("@feathersjs/typebox").TString<string>;
700
+ type: import("@feathersjs/typebox").TString<string>;
701
+ normName: import("@feathersjs/typebox").TString<string>;
702
+ }>>;
703
+ }>>>;
704
+ minimal_roi: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
705
+ minutes: import("@feathersjs/typebox").TNumber;
706
+ profit: import("@feathersjs/typebox").TNumber;
707
+ }>>;
708
+ protections: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
709
+ enabled: import("@feathersjs/typebox").TBoolean;
710
+ type: import("@feathersjs/typebox").TString<string>;
711
+ method: import("@feathersjs/typebox").TString<string>;
712
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
713
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
714
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
715
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
716
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
717
+ }>>;
718
+ order_types: import("@feathersjs/typebox").TObject<{
719
+ entry: import("@feathersjs/typebox").TString<string>;
720
+ exit: import("@feathersjs/typebox").TString<string>;
721
+ emergencysell: import("@feathersjs/typebox").TString<string>;
722
+ forcebuy: import("@feathersjs/typebox").TString<string>;
723
+ forcesell: import("@feathersjs/typebox").TString<string>;
724
+ stoploss: import("@feathersjs/typebox").TString<string>;
725
+ stoploss_on_exchange: import("@feathersjs/typebox").TBoolean;
726
+ }>;
727
+ sellwhen: import("@feathersjs/typebox").TObject<{
728
+ logic: import("@feathersjs/typebox").TString<string>;
729
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
730
+ indicator: import("@feathersjs/typebox").TString<string>;
731
+ condition: import("@feathersjs/typebox").TString<string>;
732
+ compare_to: import("@feathersjs/typebox").TObject<{
733
+ type: import("@feathersjs/typebox").TString<string>;
734
+ value: import("@feathersjs/typebox").TAny;
735
+ }>;
736
+ }>>;
737
+ }>;
738
+ buywhen: import("@feathersjs/typebox").TObject<{
739
+ logic: import("@feathersjs/typebox").TString<string>;
740
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
741
+ indicator: import("@feathersjs/typebox").TString<string>;
742
+ condition: import("@feathersjs/typebox").TString<string>;
743
+ compare_to: import("@feathersjs/typebox").TObject<{
744
+ type: import("@feathersjs/typebox").TString<string>;
745
+ value: import("@feathersjs/typebox").TAny;
746
+ }>;
747
+ }>>;
748
+ }>;
749
+ }>;
750
+ timeinforce: import("@feathersjs/typebox").TString<string>;
751
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
752
+ enabled: import("@feathersjs/typebox").TBoolean;
753
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
754
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
755
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
756
+ }>>;
757
+ if: import("@feathersjs/typebox").TObject<{
758
+ hyperopt: import("@feathersjs/typebox").TObject<{
759
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
760
+ field: import("@feathersjs/typebox").TString<string>;
761
+ operator: import("@feathersjs/typebox").TString<string>;
762
+ compare: import("@feathersjs/typebox").TAny;
763
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
764
+ }>>;
765
+ }>;
766
+ }>;
767
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
768
+ }>>;
769
+ }>, ["_id", "name", "optimize"]>;
82
770
  export declare const strategiesTemplatesQuerySchema: import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TObject<{
83
771
  $limit: import("@feathersjs/typebox").TNumber;
84
772
  $skip: import("@feathersjs/typebox").TNumber;
85
773
  $sort: import("@feathersjs/typebox").TObject<{
86
774
  name: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
87
775
  _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
776
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
88
777
  }>;
89
- $select: import("@feathersjs/typebox").TUnsafe<("name" | "_id")[]>;
778
+ $select: import("@feathersjs/typebox").TUnsafe<("name" | "_id" | "optimize")[]>;
90
779
  $and: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
91
780
  name: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
92
781
  $gt: import("@feathersjs/typebox").TString<string>;
@@ -110,6 +799,187 @@ export declare const strategiesTemplatesQuerySchema: import("@feathersjs/typebox
110
799
  }>, import("@feathersjs/typebox").TObject<{
111
800
  [key: string]: import("@feathersjs/typebox").TSchema;
112
801
  } | undefined>]>>]>>;
802
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
803
+ enabled: import("@feathersjs/typebox").TBoolean;
804
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
805
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
806
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
807
+ }>>;
808
+ if: import("@feathersjs/typebox").TObject<{
809
+ hyperopt: import("@feathersjs/typebox").TObject<{
810
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
811
+ field: import("@feathersjs/typebox").TString<string>;
812
+ operator: import("@feathersjs/typebox").TString<string>;
813
+ compare: import("@feathersjs/typebox").TAny;
814
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
815
+ }>>;
816
+ }>;
817
+ }>;
818
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
819
+ }>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
820
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
821
+ enabled: import("@feathersjs/typebox").TBoolean;
822
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
823
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
824
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
825
+ }>>;
826
+ if: import("@feathersjs/typebox").TObject<{
827
+ hyperopt: import("@feathersjs/typebox").TObject<{
828
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
829
+ field: import("@feathersjs/typebox").TString<string>;
830
+ operator: import("@feathersjs/typebox").TString<string>;
831
+ compare: import("@feathersjs/typebox").TAny;
832
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
833
+ }>>;
834
+ }>;
835
+ }>;
836
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
837
+ }>>;
838
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
839
+ enabled: import("@feathersjs/typebox").TBoolean;
840
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
841
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
842
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
843
+ }>>;
844
+ if: import("@feathersjs/typebox").TObject<{
845
+ hyperopt: import("@feathersjs/typebox").TObject<{
846
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
847
+ field: import("@feathersjs/typebox").TString<string>;
848
+ operator: import("@feathersjs/typebox").TString<string>;
849
+ compare: import("@feathersjs/typebox").TAny;
850
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
851
+ }>>;
852
+ }>;
853
+ }>;
854
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
855
+ }>>;
856
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
857
+ enabled: import("@feathersjs/typebox").TBoolean;
858
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
859
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
860
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
861
+ }>>;
862
+ if: import("@feathersjs/typebox").TObject<{
863
+ hyperopt: import("@feathersjs/typebox").TObject<{
864
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
865
+ field: import("@feathersjs/typebox").TString<string>;
866
+ operator: import("@feathersjs/typebox").TString<string>;
867
+ compare: import("@feathersjs/typebox").TAny;
868
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
869
+ }>>;
870
+ }>;
871
+ }>;
872
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
873
+ }>>;
874
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
875
+ enabled: import("@feathersjs/typebox").TBoolean;
876
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
877
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
878
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
879
+ }>>;
880
+ if: import("@feathersjs/typebox").TObject<{
881
+ hyperopt: import("@feathersjs/typebox").TObject<{
882
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
883
+ field: import("@feathersjs/typebox").TString<string>;
884
+ operator: import("@feathersjs/typebox").TString<string>;
885
+ compare: import("@feathersjs/typebox").TAny;
886
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
887
+ }>>;
888
+ }>;
889
+ }>;
890
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
891
+ }>>;
892
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
893
+ enabled: import("@feathersjs/typebox").TBoolean;
894
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
895
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
896
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
897
+ }>>;
898
+ if: import("@feathersjs/typebox").TObject<{
899
+ hyperopt: import("@feathersjs/typebox").TObject<{
900
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
901
+ field: import("@feathersjs/typebox").TString<string>;
902
+ operator: import("@feathersjs/typebox").TString<string>;
903
+ compare: import("@feathersjs/typebox").TAny;
904
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
905
+ }>>;
906
+ }>;
907
+ }>;
908
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
909
+ }>>;
910
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
911
+ enabled: import("@feathersjs/typebox").TBoolean;
912
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
913
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
914
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
915
+ }>>;
916
+ if: import("@feathersjs/typebox").TObject<{
917
+ hyperopt: import("@feathersjs/typebox").TObject<{
918
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
919
+ field: import("@feathersjs/typebox").TString<string>;
920
+ operator: import("@feathersjs/typebox").TString<string>;
921
+ compare: import("@feathersjs/typebox").TAny;
922
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
923
+ }>>;
924
+ }>;
925
+ }>;
926
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
927
+ }>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
928
+ enabled: import("@feathersjs/typebox").TBoolean;
929
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
930
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
931
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
932
+ }>>;
933
+ if: import("@feathersjs/typebox").TObject<{
934
+ hyperopt: import("@feathersjs/typebox").TObject<{
935
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
936
+ field: import("@feathersjs/typebox").TString<string>;
937
+ operator: import("@feathersjs/typebox").TString<string>;
938
+ compare: import("@feathersjs/typebox").TAny;
939
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
940
+ }>>;
941
+ }>;
942
+ }>;
943
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
944
+ }>>>;
945
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
946
+ enabled: import("@feathersjs/typebox").TBoolean;
947
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
948
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
949
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
950
+ }>>;
951
+ if: import("@feathersjs/typebox").TObject<{
952
+ hyperopt: import("@feathersjs/typebox").TObject<{
953
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
954
+ field: import("@feathersjs/typebox").TString<string>;
955
+ operator: import("@feathersjs/typebox").TString<string>;
956
+ compare: import("@feathersjs/typebox").TAny;
957
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
958
+ }>>;
959
+ }>;
960
+ }>;
961
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
962
+ }>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
963
+ enabled: import("@feathersjs/typebox").TBoolean;
964
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
965
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
966
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
967
+ }>>;
968
+ if: import("@feathersjs/typebox").TObject<{
969
+ hyperopt: import("@feathersjs/typebox").TObject<{
970
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
971
+ field: import("@feathersjs/typebox").TString<string>;
972
+ operator: import("@feathersjs/typebox").TString<string>;
973
+ compare: import("@feathersjs/typebox").TAny;
974
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
975
+ }>>;
976
+ }>;
977
+ }>;
978
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
979
+ }>>>;
980
+ }>, import("@feathersjs/typebox").TObject<{
981
+ [key: string]: import("@feathersjs/typebox").TSchema;
982
+ } | undefined>]>>]>>;
113
983
  }>>, import("@feathersjs/typebox").TObject<{
114
984
  $or: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
115
985
  name: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
@@ -134,6 +1004,187 @@ export declare const strategiesTemplatesQuerySchema: import("@feathersjs/typebox
134
1004
  }>, import("@feathersjs/typebox").TObject<{
135
1005
  [key: string]: import("@feathersjs/typebox").TSchema;
136
1006
  } | undefined>]>>]>>;
1007
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1008
+ enabled: import("@feathersjs/typebox").TBoolean;
1009
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1010
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1011
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1012
+ }>>;
1013
+ if: import("@feathersjs/typebox").TObject<{
1014
+ hyperopt: import("@feathersjs/typebox").TObject<{
1015
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1016
+ field: import("@feathersjs/typebox").TString<string>;
1017
+ operator: import("@feathersjs/typebox").TString<string>;
1018
+ compare: import("@feathersjs/typebox").TAny;
1019
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1020
+ }>>;
1021
+ }>;
1022
+ }>;
1023
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1024
+ }>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
1025
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1026
+ enabled: import("@feathersjs/typebox").TBoolean;
1027
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1028
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1029
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1030
+ }>>;
1031
+ if: import("@feathersjs/typebox").TObject<{
1032
+ hyperopt: import("@feathersjs/typebox").TObject<{
1033
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1034
+ field: import("@feathersjs/typebox").TString<string>;
1035
+ operator: import("@feathersjs/typebox").TString<string>;
1036
+ compare: import("@feathersjs/typebox").TAny;
1037
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1038
+ }>>;
1039
+ }>;
1040
+ }>;
1041
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1042
+ }>>;
1043
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1044
+ enabled: import("@feathersjs/typebox").TBoolean;
1045
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1046
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1047
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1048
+ }>>;
1049
+ if: import("@feathersjs/typebox").TObject<{
1050
+ hyperopt: import("@feathersjs/typebox").TObject<{
1051
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1052
+ field: import("@feathersjs/typebox").TString<string>;
1053
+ operator: import("@feathersjs/typebox").TString<string>;
1054
+ compare: import("@feathersjs/typebox").TAny;
1055
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1056
+ }>>;
1057
+ }>;
1058
+ }>;
1059
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1060
+ }>>;
1061
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1062
+ enabled: import("@feathersjs/typebox").TBoolean;
1063
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1064
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1065
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1066
+ }>>;
1067
+ if: import("@feathersjs/typebox").TObject<{
1068
+ hyperopt: import("@feathersjs/typebox").TObject<{
1069
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1070
+ field: import("@feathersjs/typebox").TString<string>;
1071
+ operator: import("@feathersjs/typebox").TString<string>;
1072
+ compare: import("@feathersjs/typebox").TAny;
1073
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1074
+ }>>;
1075
+ }>;
1076
+ }>;
1077
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1078
+ }>>;
1079
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1080
+ enabled: import("@feathersjs/typebox").TBoolean;
1081
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1082
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1083
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1084
+ }>>;
1085
+ if: import("@feathersjs/typebox").TObject<{
1086
+ hyperopt: import("@feathersjs/typebox").TObject<{
1087
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1088
+ field: import("@feathersjs/typebox").TString<string>;
1089
+ operator: import("@feathersjs/typebox").TString<string>;
1090
+ compare: import("@feathersjs/typebox").TAny;
1091
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1092
+ }>>;
1093
+ }>;
1094
+ }>;
1095
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1096
+ }>>;
1097
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1098
+ enabled: import("@feathersjs/typebox").TBoolean;
1099
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1100
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1101
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1102
+ }>>;
1103
+ if: import("@feathersjs/typebox").TObject<{
1104
+ hyperopt: import("@feathersjs/typebox").TObject<{
1105
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1106
+ field: import("@feathersjs/typebox").TString<string>;
1107
+ operator: import("@feathersjs/typebox").TString<string>;
1108
+ compare: import("@feathersjs/typebox").TAny;
1109
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1110
+ }>>;
1111
+ }>;
1112
+ }>;
1113
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1114
+ }>>;
1115
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1116
+ enabled: import("@feathersjs/typebox").TBoolean;
1117
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1118
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1119
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1120
+ }>>;
1121
+ if: import("@feathersjs/typebox").TObject<{
1122
+ hyperopt: import("@feathersjs/typebox").TObject<{
1123
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1124
+ field: import("@feathersjs/typebox").TString<string>;
1125
+ operator: import("@feathersjs/typebox").TString<string>;
1126
+ compare: import("@feathersjs/typebox").TAny;
1127
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1128
+ }>>;
1129
+ }>;
1130
+ }>;
1131
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1132
+ }>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1133
+ enabled: import("@feathersjs/typebox").TBoolean;
1134
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1135
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1136
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1137
+ }>>;
1138
+ if: import("@feathersjs/typebox").TObject<{
1139
+ hyperopt: import("@feathersjs/typebox").TObject<{
1140
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1141
+ field: import("@feathersjs/typebox").TString<string>;
1142
+ operator: import("@feathersjs/typebox").TString<string>;
1143
+ compare: import("@feathersjs/typebox").TAny;
1144
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1145
+ }>>;
1146
+ }>;
1147
+ }>;
1148
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1149
+ }>>>;
1150
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1151
+ enabled: import("@feathersjs/typebox").TBoolean;
1152
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1153
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1154
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1155
+ }>>;
1156
+ if: import("@feathersjs/typebox").TObject<{
1157
+ hyperopt: import("@feathersjs/typebox").TObject<{
1158
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1159
+ field: import("@feathersjs/typebox").TString<string>;
1160
+ operator: import("@feathersjs/typebox").TString<string>;
1161
+ compare: import("@feathersjs/typebox").TAny;
1162
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1163
+ }>>;
1164
+ }>;
1165
+ }>;
1166
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1167
+ }>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1168
+ enabled: import("@feathersjs/typebox").TBoolean;
1169
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1170
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1171
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1172
+ }>>;
1173
+ if: import("@feathersjs/typebox").TObject<{
1174
+ hyperopt: import("@feathersjs/typebox").TObject<{
1175
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1176
+ field: import("@feathersjs/typebox").TString<string>;
1177
+ operator: import("@feathersjs/typebox").TString<string>;
1178
+ compare: import("@feathersjs/typebox").TAny;
1179
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1180
+ }>>;
1181
+ }>;
1182
+ }>;
1183
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1184
+ }>>>;
1185
+ }>, import("@feathersjs/typebox").TObject<{
1186
+ [key: string]: import("@feathersjs/typebox").TSchema;
1187
+ } | undefined>]>>]>>;
137
1188
  }>>>;
138
1189
  }>]>>;
139
1190
  $or: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
@@ -159,6 +1210,187 @@ export declare const strategiesTemplatesQuerySchema: import("@feathersjs/typebox
159
1210
  }>, import("@feathersjs/typebox").TObject<{
160
1211
  [key: string]: import("@feathersjs/typebox").TSchema;
161
1212
  } | undefined>]>>]>>;
1213
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1214
+ enabled: import("@feathersjs/typebox").TBoolean;
1215
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1216
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1217
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1218
+ }>>;
1219
+ if: import("@feathersjs/typebox").TObject<{
1220
+ hyperopt: import("@feathersjs/typebox").TObject<{
1221
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1222
+ field: import("@feathersjs/typebox").TString<string>;
1223
+ operator: import("@feathersjs/typebox").TString<string>;
1224
+ compare: import("@feathersjs/typebox").TAny;
1225
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1226
+ }>>;
1227
+ }>;
1228
+ }>;
1229
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1230
+ }>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
1231
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1232
+ enabled: import("@feathersjs/typebox").TBoolean;
1233
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1234
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1235
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1236
+ }>>;
1237
+ if: import("@feathersjs/typebox").TObject<{
1238
+ hyperopt: import("@feathersjs/typebox").TObject<{
1239
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1240
+ field: import("@feathersjs/typebox").TString<string>;
1241
+ operator: import("@feathersjs/typebox").TString<string>;
1242
+ compare: import("@feathersjs/typebox").TAny;
1243
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1244
+ }>>;
1245
+ }>;
1246
+ }>;
1247
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1248
+ }>>;
1249
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1250
+ enabled: import("@feathersjs/typebox").TBoolean;
1251
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1252
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1253
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1254
+ }>>;
1255
+ if: import("@feathersjs/typebox").TObject<{
1256
+ hyperopt: import("@feathersjs/typebox").TObject<{
1257
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1258
+ field: import("@feathersjs/typebox").TString<string>;
1259
+ operator: import("@feathersjs/typebox").TString<string>;
1260
+ compare: import("@feathersjs/typebox").TAny;
1261
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1262
+ }>>;
1263
+ }>;
1264
+ }>;
1265
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1266
+ }>>;
1267
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1268
+ enabled: import("@feathersjs/typebox").TBoolean;
1269
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1270
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1271
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1272
+ }>>;
1273
+ if: import("@feathersjs/typebox").TObject<{
1274
+ hyperopt: import("@feathersjs/typebox").TObject<{
1275
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1276
+ field: import("@feathersjs/typebox").TString<string>;
1277
+ operator: import("@feathersjs/typebox").TString<string>;
1278
+ compare: import("@feathersjs/typebox").TAny;
1279
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1280
+ }>>;
1281
+ }>;
1282
+ }>;
1283
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1284
+ }>>;
1285
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1286
+ enabled: import("@feathersjs/typebox").TBoolean;
1287
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1288
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1289
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1290
+ }>>;
1291
+ if: import("@feathersjs/typebox").TObject<{
1292
+ hyperopt: import("@feathersjs/typebox").TObject<{
1293
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1294
+ field: import("@feathersjs/typebox").TString<string>;
1295
+ operator: import("@feathersjs/typebox").TString<string>;
1296
+ compare: import("@feathersjs/typebox").TAny;
1297
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1298
+ }>>;
1299
+ }>;
1300
+ }>;
1301
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1302
+ }>>;
1303
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1304
+ enabled: import("@feathersjs/typebox").TBoolean;
1305
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1306
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1307
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1308
+ }>>;
1309
+ if: import("@feathersjs/typebox").TObject<{
1310
+ hyperopt: import("@feathersjs/typebox").TObject<{
1311
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1312
+ field: import("@feathersjs/typebox").TString<string>;
1313
+ operator: import("@feathersjs/typebox").TString<string>;
1314
+ compare: import("@feathersjs/typebox").TAny;
1315
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1316
+ }>>;
1317
+ }>;
1318
+ }>;
1319
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1320
+ }>>;
1321
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1322
+ enabled: import("@feathersjs/typebox").TBoolean;
1323
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1324
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1325
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1326
+ }>>;
1327
+ if: import("@feathersjs/typebox").TObject<{
1328
+ hyperopt: import("@feathersjs/typebox").TObject<{
1329
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1330
+ field: import("@feathersjs/typebox").TString<string>;
1331
+ operator: import("@feathersjs/typebox").TString<string>;
1332
+ compare: import("@feathersjs/typebox").TAny;
1333
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1334
+ }>>;
1335
+ }>;
1336
+ }>;
1337
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1338
+ }>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1339
+ enabled: import("@feathersjs/typebox").TBoolean;
1340
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1341
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1342
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1343
+ }>>;
1344
+ if: import("@feathersjs/typebox").TObject<{
1345
+ hyperopt: import("@feathersjs/typebox").TObject<{
1346
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1347
+ field: import("@feathersjs/typebox").TString<string>;
1348
+ operator: import("@feathersjs/typebox").TString<string>;
1349
+ compare: import("@feathersjs/typebox").TAny;
1350
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1351
+ }>>;
1352
+ }>;
1353
+ }>;
1354
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1355
+ }>>>;
1356
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1357
+ enabled: import("@feathersjs/typebox").TBoolean;
1358
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1359
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1360
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1361
+ }>>;
1362
+ if: import("@feathersjs/typebox").TObject<{
1363
+ hyperopt: import("@feathersjs/typebox").TObject<{
1364
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1365
+ field: import("@feathersjs/typebox").TString<string>;
1366
+ operator: import("@feathersjs/typebox").TString<string>;
1367
+ compare: import("@feathersjs/typebox").TAny;
1368
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1369
+ }>>;
1370
+ }>;
1371
+ }>;
1372
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1373
+ }>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1374
+ enabled: import("@feathersjs/typebox").TBoolean;
1375
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1376
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1377
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1378
+ }>>;
1379
+ if: import("@feathersjs/typebox").TObject<{
1380
+ hyperopt: import("@feathersjs/typebox").TObject<{
1381
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1382
+ field: import("@feathersjs/typebox").TString<string>;
1383
+ operator: import("@feathersjs/typebox").TString<string>;
1384
+ compare: import("@feathersjs/typebox").TAny;
1385
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1386
+ }>>;
1387
+ }>;
1388
+ }>;
1389
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1390
+ }>>>;
1391
+ }>, import("@feathersjs/typebox").TObject<{
1392
+ [key: string]: import("@feathersjs/typebox").TSchema;
1393
+ } | undefined>]>>]>>;
162
1394
  }>>>;
163
1395
  }>>, import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
164
1396
  name: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
@@ -183,6 +1415,187 @@ export declare const strategiesTemplatesQuerySchema: import("@feathersjs/typebox
183
1415
  }>, import("@feathersjs/typebox").TObject<{
184
1416
  [key: string]: import("@feathersjs/typebox").TSchema;
185
1417
  } | undefined>]>>]>>;
1418
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1419
+ enabled: import("@feathersjs/typebox").TBoolean;
1420
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1421
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1422
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1423
+ }>>;
1424
+ if: import("@feathersjs/typebox").TObject<{
1425
+ hyperopt: import("@feathersjs/typebox").TObject<{
1426
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1427
+ field: import("@feathersjs/typebox").TString<string>;
1428
+ operator: import("@feathersjs/typebox").TString<string>;
1429
+ compare: import("@feathersjs/typebox").TAny;
1430
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1431
+ }>>;
1432
+ }>;
1433
+ }>;
1434
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1435
+ }>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
1436
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1437
+ enabled: import("@feathersjs/typebox").TBoolean;
1438
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1439
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1440
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1441
+ }>>;
1442
+ if: import("@feathersjs/typebox").TObject<{
1443
+ hyperopt: import("@feathersjs/typebox").TObject<{
1444
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1445
+ field: import("@feathersjs/typebox").TString<string>;
1446
+ operator: import("@feathersjs/typebox").TString<string>;
1447
+ compare: import("@feathersjs/typebox").TAny;
1448
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1449
+ }>>;
1450
+ }>;
1451
+ }>;
1452
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1453
+ }>>;
1454
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1455
+ enabled: import("@feathersjs/typebox").TBoolean;
1456
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1457
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1458
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1459
+ }>>;
1460
+ if: import("@feathersjs/typebox").TObject<{
1461
+ hyperopt: import("@feathersjs/typebox").TObject<{
1462
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1463
+ field: import("@feathersjs/typebox").TString<string>;
1464
+ operator: import("@feathersjs/typebox").TString<string>;
1465
+ compare: import("@feathersjs/typebox").TAny;
1466
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1467
+ }>>;
1468
+ }>;
1469
+ }>;
1470
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1471
+ }>>;
1472
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1473
+ enabled: import("@feathersjs/typebox").TBoolean;
1474
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1475
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1476
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1477
+ }>>;
1478
+ if: import("@feathersjs/typebox").TObject<{
1479
+ hyperopt: import("@feathersjs/typebox").TObject<{
1480
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1481
+ field: import("@feathersjs/typebox").TString<string>;
1482
+ operator: import("@feathersjs/typebox").TString<string>;
1483
+ compare: import("@feathersjs/typebox").TAny;
1484
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1485
+ }>>;
1486
+ }>;
1487
+ }>;
1488
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1489
+ }>>;
1490
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1491
+ enabled: import("@feathersjs/typebox").TBoolean;
1492
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1493
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1494
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1495
+ }>>;
1496
+ if: import("@feathersjs/typebox").TObject<{
1497
+ hyperopt: import("@feathersjs/typebox").TObject<{
1498
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1499
+ field: import("@feathersjs/typebox").TString<string>;
1500
+ operator: import("@feathersjs/typebox").TString<string>;
1501
+ compare: import("@feathersjs/typebox").TAny;
1502
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1503
+ }>>;
1504
+ }>;
1505
+ }>;
1506
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1507
+ }>>;
1508
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1509
+ enabled: import("@feathersjs/typebox").TBoolean;
1510
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1511
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1512
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1513
+ }>>;
1514
+ if: import("@feathersjs/typebox").TObject<{
1515
+ hyperopt: import("@feathersjs/typebox").TObject<{
1516
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1517
+ field: import("@feathersjs/typebox").TString<string>;
1518
+ operator: import("@feathersjs/typebox").TString<string>;
1519
+ compare: import("@feathersjs/typebox").TAny;
1520
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1521
+ }>>;
1522
+ }>;
1523
+ }>;
1524
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1525
+ }>>;
1526
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1527
+ enabled: import("@feathersjs/typebox").TBoolean;
1528
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1529
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1530
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1531
+ }>>;
1532
+ if: import("@feathersjs/typebox").TObject<{
1533
+ hyperopt: import("@feathersjs/typebox").TObject<{
1534
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1535
+ field: import("@feathersjs/typebox").TString<string>;
1536
+ operator: import("@feathersjs/typebox").TString<string>;
1537
+ compare: import("@feathersjs/typebox").TAny;
1538
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1539
+ }>>;
1540
+ }>;
1541
+ }>;
1542
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1543
+ }>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1544
+ enabled: import("@feathersjs/typebox").TBoolean;
1545
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1546
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1547
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1548
+ }>>;
1549
+ if: import("@feathersjs/typebox").TObject<{
1550
+ hyperopt: import("@feathersjs/typebox").TObject<{
1551
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1552
+ field: import("@feathersjs/typebox").TString<string>;
1553
+ operator: import("@feathersjs/typebox").TString<string>;
1554
+ compare: import("@feathersjs/typebox").TAny;
1555
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1556
+ }>>;
1557
+ }>;
1558
+ }>;
1559
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1560
+ }>>>;
1561
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1562
+ enabled: import("@feathersjs/typebox").TBoolean;
1563
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1564
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1565
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1566
+ }>>;
1567
+ if: import("@feathersjs/typebox").TObject<{
1568
+ hyperopt: import("@feathersjs/typebox").TObject<{
1569
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1570
+ field: import("@feathersjs/typebox").TString<string>;
1571
+ operator: import("@feathersjs/typebox").TString<string>;
1572
+ compare: import("@feathersjs/typebox").TAny;
1573
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1574
+ }>>;
1575
+ }>;
1576
+ }>;
1577
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1578
+ }>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1579
+ enabled: import("@feathersjs/typebox").TBoolean;
1580
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1581
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1582
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1583
+ }>>;
1584
+ if: import("@feathersjs/typebox").TObject<{
1585
+ hyperopt: import("@feathersjs/typebox").TObject<{
1586
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1587
+ field: import("@feathersjs/typebox").TString<string>;
1588
+ operator: import("@feathersjs/typebox").TString<string>;
1589
+ compare: import("@feathersjs/typebox").TAny;
1590
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1591
+ }>>;
1592
+ }>;
1593
+ }>;
1594
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1595
+ }>>>;
1596
+ }>, import("@feathersjs/typebox").TObject<{
1597
+ [key: string]: import("@feathersjs/typebox").TSchema;
1598
+ } | undefined>]>>]>>;
186
1599
  }>>]>, import("@feathersjs/typebox").TObject<{}>]>;
187
1600
  export type StrategiesTemplatesQuery = Static<typeof strategiesTemplatesQuerySchema>;
188
1601
  export declare const strategiesTemplatesQueryValidator: import("@feathersjs/schema").Validator<any, any>;
@@ -192,8 +1605,9 @@ export declare const strategiesTemplatesQueryResolver: import("@feathersjs/schem
192
1605
  $sort: {
193
1606
  name?: number | undefined;
194
1607
  _id?: number | undefined;
1608
+ optimize?: number | undefined;
195
1609
  };
196
- $select: ("name" | "_id")[];
1610
+ $select: ("name" | "_id" | "optimize")[];
197
1611
  $and: ({
198
1612
  name?: string | Partial<{
199
1613
  $gt: string;
@@ -213,6 +1627,185 @@ export declare const strategiesTemplatesQueryResolver: import("@feathersjs/schem
213
1627
  $in: string | {} | (string | {})[];
214
1628
  $nin: string | {} | (string | {})[];
215
1629
  } & {}> | undefined;
1630
+ optimize?: {
1631
+ best?: {
1632
+ by: "total_profit" | "sharpe";
1633
+ direction: "max" | "min";
1634
+ } | undefined;
1635
+ enabled: boolean;
1636
+ then: {}[];
1637
+ if: {
1638
+ hyperopt: {
1639
+ results: {
1640
+ type?: string | undefined;
1641
+ field: string;
1642
+ operator: string;
1643
+ compare: any;
1644
+ }[];
1645
+ };
1646
+ };
1647
+ } | Partial<{
1648
+ $gt?: {
1649
+ best?: {
1650
+ by: "total_profit" | "sharpe";
1651
+ direction: "max" | "min";
1652
+ } | undefined;
1653
+ enabled: boolean;
1654
+ then: {}[];
1655
+ if: {
1656
+ hyperopt: {
1657
+ results: {
1658
+ type?: string | undefined;
1659
+ field: string;
1660
+ operator: string;
1661
+ compare: any;
1662
+ }[];
1663
+ };
1664
+ };
1665
+ } | undefined;
1666
+ $gte?: {
1667
+ best?: {
1668
+ by: "total_profit" | "sharpe";
1669
+ direction: "max" | "min";
1670
+ } | undefined;
1671
+ enabled: boolean;
1672
+ then: {}[];
1673
+ if: {
1674
+ hyperopt: {
1675
+ results: {
1676
+ type?: string | undefined;
1677
+ field: string;
1678
+ operator: string;
1679
+ compare: any;
1680
+ }[];
1681
+ };
1682
+ };
1683
+ } | undefined;
1684
+ $lt?: {
1685
+ best?: {
1686
+ by: "total_profit" | "sharpe";
1687
+ direction: "max" | "min";
1688
+ } | undefined;
1689
+ enabled: boolean;
1690
+ then: {}[];
1691
+ if: {
1692
+ hyperopt: {
1693
+ results: {
1694
+ type?: string | undefined;
1695
+ field: string;
1696
+ operator: string;
1697
+ compare: any;
1698
+ }[];
1699
+ };
1700
+ };
1701
+ } | undefined;
1702
+ $lte?: {
1703
+ best?: {
1704
+ by: "total_profit" | "sharpe";
1705
+ direction: "max" | "min";
1706
+ } | undefined;
1707
+ enabled: boolean;
1708
+ then: {}[];
1709
+ if: {
1710
+ hyperopt: {
1711
+ results: {
1712
+ type?: string | undefined;
1713
+ field: string;
1714
+ operator: string;
1715
+ compare: any;
1716
+ }[];
1717
+ };
1718
+ };
1719
+ } | undefined;
1720
+ $ne?: {
1721
+ best?: {
1722
+ by: "total_profit" | "sharpe";
1723
+ direction: "max" | "min";
1724
+ } | undefined;
1725
+ enabled: boolean;
1726
+ then: {}[];
1727
+ if: {
1728
+ hyperopt: {
1729
+ results: {
1730
+ type?: string | undefined;
1731
+ field: string;
1732
+ operator: string;
1733
+ compare: any;
1734
+ }[];
1735
+ };
1736
+ };
1737
+ } | undefined;
1738
+ $in: {
1739
+ best?: {
1740
+ by: "total_profit" | "sharpe";
1741
+ direction: "max" | "min";
1742
+ } | undefined;
1743
+ enabled: boolean;
1744
+ then: {}[];
1745
+ if: {
1746
+ hyperopt: {
1747
+ results: {
1748
+ type?: string | undefined;
1749
+ field: string;
1750
+ operator: string;
1751
+ compare: any;
1752
+ }[];
1753
+ };
1754
+ };
1755
+ } | {
1756
+ best?: {
1757
+ by: "total_profit" | "sharpe";
1758
+ direction: "max" | "min";
1759
+ } | undefined;
1760
+ enabled: boolean;
1761
+ then: {}[];
1762
+ if: {
1763
+ hyperopt: {
1764
+ results: {
1765
+ type?: string | undefined;
1766
+ field: string;
1767
+ operator: string;
1768
+ compare: any;
1769
+ }[];
1770
+ };
1771
+ };
1772
+ }[];
1773
+ $nin: {
1774
+ best?: {
1775
+ by: "total_profit" | "sharpe";
1776
+ direction: "max" | "min";
1777
+ } | undefined;
1778
+ enabled: boolean;
1779
+ then: {}[];
1780
+ if: {
1781
+ hyperopt: {
1782
+ results: {
1783
+ type?: string | undefined;
1784
+ field: string;
1785
+ operator: string;
1786
+ compare: any;
1787
+ }[];
1788
+ };
1789
+ };
1790
+ } | {
1791
+ best?: {
1792
+ by: "total_profit" | "sharpe";
1793
+ direction: "max" | "min";
1794
+ } | undefined;
1795
+ enabled: boolean;
1796
+ then: {}[];
1797
+ if: {
1798
+ hyperopt: {
1799
+ results: {
1800
+ type?: string | undefined;
1801
+ field: string;
1802
+ operator: string;
1803
+ compare: any;
1804
+ }[];
1805
+ };
1806
+ };
1807
+ }[];
1808
+ } & {}> | undefined;
216
1809
  } | {
217
1810
  $or: {
218
1811
  name?: string | Partial<{
@@ -233,6 +1826,185 @@ export declare const strategiesTemplatesQueryResolver: import("@feathersjs/schem
233
1826
  $in: string | {} | (string | {})[];
234
1827
  $nin: string | {} | (string | {})[];
235
1828
  } & {}> | undefined;
1829
+ optimize?: {
1830
+ best?: {
1831
+ by: "total_profit" | "sharpe";
1832
+ direction: "max" | "min";
1833
+ } | undefined;
1834
+ enabled: boolean;
1835
+ then: {}[];
1836
+ if: {
1837
+ hyperopt: {
1838
+ results: {
1839
+ type?: string | undefined;
1840
+ field: string;
1841
+ operator: string;
1842
+ compare: any;
1843
+ }[];
1844
+ };
1845
+ };
1846
+ } | Partial<{
1847
+ $gt?: {
1848
+ best?: {
1849
+ by: "total_profit" | "sharpe";
1850
+ direction: "max" | "min";
1851
+ } | undefined;
1852
+ enabled: boolean;
1853
+ then: {}[];
1854
+ if: {
1855
+ hyperopt: {
1856
+ results: {
1857
+ type?: string | undefined;
1858
+ field: string;
1859
+ operator: string;
1860
+ compare: any;
1861
+ }[];
1862
+ };
1863
+ };
1864
+ } | undefined;
1865
+ $gte?: {
1866
+ best?: {
1867
+ by: "total_profit" | "sharpe";
1868
+ direction: "max" | "min";
1869
+ } | undefined;
1870
+ enabled: boolean;
1871
+ then: {}[];
1872
+ if: {
1873
+ hyperopt: {
1874
+ results: {
1875
+ type?: string | undefined;
1876
+ field: string;
1877
+ operator: string;
1878
+ compare: any;
1879
+ }[];
1880
+ };
1881
+ };
1882
+ } | undefined;
1883
+ $lt?: {
1884
+ best?: {
1885
+ by: "total_profit" | "sharpe";
1886
+ direction: "max" | "min";
1887
+ } | undefined;
1888
+ enabled: boolean;
1889
+ then: {}[];
1890
+ if: {
1891
+ hyperopt: {
1892
+ results: {
1893
+ type?: string | undefined;
1894
+ field: string;
1895
+ operator: string;
1896
+ compare: any;
1897
+ }[];
1898
+ };
1899
+ };
1900
+ } | undefined;
1901
+ $lte?: {
1902
+ best?: {
1903
+ by: "total_profit" | "sharpe";
1904
+ direction: "max" | "min";
1905
+ } | undefined;
1906
+ enabled: boolean;
1907
+ then: {}[];
1908
+ if: {
1909
+ hyperopt: {
1910
+ results: {
1911
+ type?: string | undefined;
1912
+ field: string;
1913
+ operator: string;
1914
+ compare: any;
1915
+ }[];
1916
+ };
1917
+ };
1918
+ } | undefined;
1919
+ $ne?: {
1920
+ best?: {
1921
+ by: "total_profit" | "sharpe";
1922
+ direction: "max" | "min";
1923
+ } | undefined;
1924
+ enabled: boolean;
1925
+ then: {}[];
1926
+ if: {
1927
+ hyperopt: {
1928
+ results: {
1929
+ type?: string | undefined;
1930
+ field: string;
1931
+ operator: string;
1932
+ compare: any;
1933
+ }[];
1934
+ };
1935
+ };
1936
+ } | undefined;
1937
+ $in: {
1938
+ best?: {
1939
+ by: "total_profit" | "sharpe";
1940
+ direction: "max" | "min";
1941
+ } | undefined;
1942
+ enabled: boolean;
1943
+ then: {}[];
1944
+ if: {
1945
+ hyperopt: {
1946
+ results: {
1947
+ type?: string | undefined;
1948
+ field: string;
1949
+ operator: string;
1950
+ compare: any;
1951
+ }[];
1952
+ };
1953
+ };
1954
+ } | {
1955
+ best?: {
1956
+ by: "total_profit" | "sharpe";
1957
+ direction: "max" | "min";
1958
+ } | undefined;
1959
+ enabled: boolean;
1960
+ then: {}[];
1961
+ if: {
1962
+ hyperopt: {
1963
+ results: {
1964
+ type?: string | undefined;
1965
+ field: string;
1966
+ operator: string;
1967
+ compare: any;
1968
+ }[];
1969
+ };
1970
+ };
1971
+ }[];
1972
+ $nin: {
1973
+ best?: {
1974
+ by: "total_profit" | "sharpe";
1975
+ direction: "max" | "min";
1976
+ } | undefined;
1977
+ enabled: boolean;
1978
+ then: {}[];
1979
+ if: {
1980
+ hyperopt: {
1981
+ results: {
1982
+ type?: string | undefined;
1983
+ field: string;
1984
+ operator: string;
1985
+ compare: any;
1986
+ }[];
1987
+ };
1988
+ };
1989
+ } | {
1990
+ best?: {
1991
+ by: "total_profit" | "sharpe";
1992
+ direction: "max" | "min";
1993
+ } | undefined;
1994
+ enabled: boolean;
1995
+ then: {}[];
1996
+ if: {
1997
+ hyperopt: {
1998
+ results: {
1999
+ type?: string | undefined;
2000
+ field: string;
2001
+ operator: string;
2002
+ compare: any;
2003
+ }[];
2004
+ };
2005
+ };
2006
+ }[];
2007
+ } & {}> | undefined;
236
2008
  }[];
237
2009
  })[];
238
2010
  $or: {
@@ -254,6 +2026,185 @@ export declare const strategiesTemplatesQueryResolver: import("@feathersjs/schem
254
2026
  $in: string | {} | (string | {})[];
255
2027
  $nin: string | {} | (string | {})[];
256
2028
  } & {}> | undefined;
2029
+ optimize?: {
2030
+ best?: {
2031
+ by: "total_profit" | "sharpe";
2032
+ direction: "max" | "min";
2033
+ } | undefined;
2034
+ enabled: boolean;
2035
+ then: {}[];
2036
+ if: {
2037
+ hyperopt: {
2038
+ results: {
2039
+ type?: string | undefined;
2040
+ field: string;
2041
+ operator: string;
2042
+ compare: any;
2043
+ }[];
2044
+ };
2045
+ };
2046
+ } | Partial<{
2047
+ $gt?: {
2048
+ best?: {
2049
+ by: "total_profit" | "sharpe";
2050
+ direction: "max" | "min";
2051
+ } | undefined;
2052
+ enabled: boolean;
2053
+ then: {}[];
2054
+ if: {
2055
+ hyperopt: {
2056
+ results: {
2057
+ type?: string | undefined;
2058
+ field: string;
2059
+ operator: string;
2060
+ compare: any;
2061
+ }[];
2062
+ };
2063
+ };
2064
+ } | undefined;
2065
+ $gte?: {
2066
+ best?: {
2067
+ by: "total_profit" | "sharpe";
2068
+ direction: "max" | "min";
2069
+ } | undefined;
2070
+ enabled: boolean;
2071
+ then: {}[];
2072
+ if: {
2073
+ hyperopt: {
2074
+ results: {
2075
+ type?: string | undefined;
2076
+ field: string;
2077
+ operator: string;
2078
+ compare: any;
2079
+ }[];
2080
+ };
2081
+ };
2082
+ } | undefined;
2083
+ $lt?: {
2084
+ best?: {
2085
+ by: "total_profit" | "sharpe";
2086
+ direction: "max" | "min";
2087
+ } | undefined;
2088
+ enabled: boolean;
2089
+ then: {}[];
2090
+ if: {
2091
+ hyperopt: {
2092
+ results: {
2093
+ type?: string | undefined;
2094
+ field: string;
2095
+ operator: string;
2096
+ compare: any;
2097
+ }[];
2098
+ };
2099
+ };
2100
+ } | undefined;
2101
+ $lte?: {
2102
+ best?: {
2103
+ by: "total_profit" | "sharpe";
2104
+ direction: "max" | "min";
2105
+ } | undefined;
2106
+ enabled: boolean;
2107
+ then: {}[];
2108
+ if: {
2109
+ hyperopt: {
2110
+ results: {
2111
+ type?: string | undefined;
2112
+ field: string;
2113
+ operator: string;
2114
+ compare: any;
2115
+ }[];
2116
+ };
2117
+ };
2118
+ } | undefined;
2119
+ $ne?: {
2120
+ best?: {
2121
+ by: "total_profit" | "sharpe";
2122
+ direction: "max" | "min";
2123
+ } | undefined;
2124
+ enabled: boolean;
2125
+ then: {}[];
2126
+ if: {
2127
+ hyperopt: {
2128
+ results: {
2129
+ type?: string | undefined;
2130
+ field: string;
2131
+ operator: string;
2132
+ compare: any;
2133
+ }[];
2134
+ };
2135
+ };
2136
+ } | undefined;
2137
+ $in: {
2138
+ best?: {
2139
+ by: "total_profit" | "sharpe";
2140
+ direction: "max" | "min";
2141
+ } | undefined;
2142
+ enabled: boolean;
2143
+ then: {}[];
2144
+ if: {
2145
+ hyperopt: {
2146
+ results: {
2147
+ type?: string | undefined;
2148
+ field: string;
2149
+ operator: string;
2150
+ compare: any;
2151
+ }[];
2152
+ };
2153
+ };
2154
+ } | {
2155
+ best?: {
2156
+ by: "total_profit" | "sharpe";
2157
+ direction: "max" | "min";
2158
+ } | undefined;
2159
+ enabled: boolean;
2160
+ then: {}[];
2161
+ if: {
2162
+ hyperopt: {
2163
+ results: {
2164
+ type?: string | undefined;
2165
+ field: string;
2166
+ operator: string;
2167
+ compare: any;
2168
+ }[];
2169
+ };
2170
+ };
2171
+ }[];
2172
+ $nin: {
2173
+ best?: {
2174
+ by: "total_profit" | "sharpe";
2175
+ direction: "max" | "min";
2176
+ } | undefined;
2177
+ enabled: boolean;
2178
+ then: {}[];
2179
+ if: {
2180
+ hyperopt: {
2181
+ results: {
2182
+ type?: string | undefined;
2183
+ field: string;
2184
+ operator: string;
2185
+ compare: any;
2186
+ }[];
2187
+ };
2188
+ };
2189
+ } | {
2190
+ best?: {
2191
+ by: "total_profit" | "sharpe";
2192
+ direction: "max" | "min";
2193
+ } | undefined;
2194
+ enabled: boolean;
2195
+ then: {}[];
2196
+ if: {
2197
+ hyperopt: {
2198
+ results: {
2199
+ type?: string | undefined;
2200
+ field: string;
2201
+ operator: string;
2202
+ compare: any;
2203
+ }[];
2204
+ };
2205
+ };
2206
+ }[];
2207
+ } & {}> | undefined;
257
2208
  }[];
258
2209
  }> & {
259
2210
  name?: string | Partial<{
@@ -274,4 +2225,183 @@ export declare const strategiesTemplatesQueryResolver: import("@feathersjs/schem
274
2225
  $in: string | {} | (string | {})[];
275
2226
  $nin: string | {} | (string | {})[];
276
2227
  } & {}> | undefined;
2228
+ optimize?: {
2229
+ best?: {
2230
+ by: "total_profit" | "sharpe";
2231
+ direction: "max" | "min";
2232
+ } | undefined;
2233
+ enabled: boolean;
2234
+ then: {}[];
2235
+ if: {
2236
+ hyperopt: {
2237
+ results: {
2238
+ type?: string | undefined;
2239
+ field: string;
2240
+ operator: string;
2241
+ compare: any;
2242
+ }[];
2243
+ };
2244
+ };
2245
+ } | Partial<{
2246
+ $gt?: {
2247
+ best?: {
2248
+ by: "total_profit" | "sharpe";
2249
+ direction: "max" | "min";
2250
+ } | undefined;
2251
+ enabled: boolean;
2252
+ then: {}[];
2253
+ if: {
2254
+ hyperopt: {
2255
+ results: {
2256
+ type?: string | undefined;
2257
+ field: string;
2258
+ operator: string;
2259
+ compare: any;
2260
+ }[];
2261
+ };
2262
+ };
2263
+ } | undefined;
2264
+ $gte?: {
2265
+ best?: {
2266
+ by: "total_profit" | "sharpe";
2267
+ direction: "max" | "min";
2268
+ } | undefined;
2269
+ enabled: boolean;
2270
+ then: {}[];
2271
+ if: {
2272
+ hyperopt: {
2273
+ results: {
2274
+ type?: string | undefined;
2275
+ field: string;
2276
+ operator: string;
2277
+ compare: any;
2278
+ }[];
2279
+ };
2280
+ };
2281
+ } | undefined;
2282
+ $lt?: {
2283
+ best?: {
2284
+ by: "total_profit" | "sharpe";
2285
+ direction: "max" | "min";
2286
+ } | undefined;
2287
+ enabled: boolean;
2288
+ then: {}[];
2289
+ if: {
2290
+ hyperopt: {
2291
+ results: {
2292
+ type?: string | undefined;
2293
+ field: string;
2294
+ operator: string;
2295
+ compare: any;
2296
+ }[];
2297
+ };
2298
+ };
2299
+ } | undefined;
2300
+ $lte?: {
2301
+ best?: {
2302
+ by: "total_profit" | "sharpe";
2303
+ direction: "max" | "min";
2304
+ } | undefined;
2305
+ enabled: boolean;
2306
+ then: {}[];
2307
+ if: {
2308
+ hyperopt: {
2309
+ results: {
2310
+ type?: string | undefined;
2311
+ field: string;
2312
+ operator: string;
2313
+ compare: any;
2314
+ }[];
2315
+ };
2316
+ };
2317
+ } | undefined;
2318
+ $ne?: {
2319
+ best?: {
2320
+ by: "total_profit" | "sharpe";
2321
+ direction: "max" | "min";
2322
+ } | undefined;
2323
+ enabled: boolean;
2324
+ then: {}[];
2325
+ if: {
2326
+ hyperopt: {
2327
+ results: {
2328
+ type?: string | undefined;
2329
+ field: string;
2330
+ operator: string;
2331
+ compare: any;
2332
+ }[];
2333
+ };
2334
+ };
2335
+ } | undefined;
2336
+ $in: {
2337
+ best?: {
2338
+ by: "total_profit" | "sharpe";
2339
+ direction: "max" | "min";
2340
+ } | undefined;
2341
+ enabled: boolean;
2342
+ then: {}[];
2343
+ if: {
2344
+ hyperopt: {
2345
+ results: {
2346
+ type?: string | undefined;
2347
+ field: string;
2348
+ operator: string;
2349
+ compare: any;
2350
+ }[];
2351
+ };
2352
+ };
2353
+ } | {
2354
+ best?: {
2355
+ by: "total_profit" | "sharpe";
2356
+ direction: "max" | "min";
2357
+ } | undefined;
2358
+ enabled: boolean;
2359
+ then: {}[];
2360
+ if: {
2361
+ hyperopt: {
2362
+ results: {
2363
+ type?: string | undefined;
2364
+ field: string;
2365
+ operator: string;
2366
+ compare: any;
2367
+ }[];
2368
+ };
2369
+ };
2370
+ }[];
2371
+ $nin: {
2372
+ best?: {
2373
+ by: "total_profit" | "sharpe";
2374
+ direction: "max" | "min";
2375
+ } | undefined;
2376
+ enabled: boolean;
2377
+ then: {}[];
2378
+ if: {
2379
+ hyperopt: {
2380
+ results: {
2381
+ type?: string | undefined;
2382
+ field: string;
2383
+ operator: string;
2384
+ compare: any;
2385
+ }[];
2386
+ };
2387
+ };
2388
+ } | {
2389
+ best?: {
2390
+ by: "total_profit" | "sharpe";
2391
+ direction: "max" | "min";
2392
+ } | undefined;
2393
+ enabled: boolean;
2394
+ then: {}[];
2395
+ if: {
2396
+ hyperopt: {
2397
+ results: {
2398
+ type?: string | undefined;
2399
+ field: string;
2400
+ operator: string;
2401
+ compare: any;
2402
+ }[];
2403
+ };
2404
+ };
2405
+ }[];
2406
+ } & {}> | undefined;
277
2407
  } & {}, HookContext<StrategiesTemplatesService<import("./templates.class").StrategiesTemplatesParams>>>;