@cryptorobot.ai/client 0.0.38 → 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 (99) hide show
  1. package/lib/src/client.js +33 -3
  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/balance/balance.schema.d.ts +16 -16
  38. package/lib/src/services/exchanges/download/download.schema.d.ts +58 -17
  39. package/lib/src/services/exchanges/download/download.shared.d.ts +1 -1
  40. package/lib/src/services/exchanges/download/download.shared.js +1 -1
  41. package/lib/src/services/exchanges/download/webhooks/webhooks.schema.d.ts +4 -4
  42. package/lib/src/services/exchanges/exchanges.schema.d.ts +100 -100
  43. package/lib/src/services/exchanges/ohlcv/ohlcv.class.d.ts +19 -0
  44. package/lib/src/services/exchanges/ohlcv/ohlcv.d.ts +11 -0
  45. package/lib/src/services/exchanges/ohlcv/ohlcv.schema.d.ts +507 -0
  46. package/lib/src/services/exchanges/ohlcv/ohlcv.shared.d.ts +13 -0
  47. package/lib/src/services/exchanges/ohlcv/ohlcv.shared.js +13 -0
  48. package/lib/src/services/exchanges/ticker/ticker.schema.d.ts +68 -68
  49. package/lib/src/services/extensions/extensions.class.d.ts +11 -0
  50. package/lib/src/services/extensions/extensions.d.ts +11 -0
  51. package/lib/src/services/extensions/extensions.schema.d.ts +1275 -0
  52. package/lib/src/services/extensions/extensions.shared.d.ts +13 -0
  53. package/lib/src/services/extensions/extensions.shared.js +13 -0
  54. package/lib/src/services/keys/KeysService.d.ts +13 -0
  55. package/lib/src/services/keys/keys.class.d.ts +11 -0
  56. package/lib/src/services/keys/keys.d.ts +11 -0
  57. package/lib/src/services/keys/keys.schema.d.ts +719 -0
  58. package/lib/src/services/keys/keys.shared.d.ts +14 -0
  59. package/lib/src/services/keys/keys.shared.js +13 -0
  60. package/lib/src/services/messages/messages.schema.d.ts +64 -32
  61. package/lib/src/services/restricted/restricted.class.d.ts +26 -0
  62. package/lib/src/services/restricted/restricted.d.ts +21 -0
  63. package/lib/src/services/restricted/restricted.shared.d.ts +13 -0
  64. package/lib/src/services/restricted/restricted.shared.js +13 -0
  65. package/lib/src/services/strategies/backtest/backtest.schema.d.ts +127 -60
  66. package/lib/src/services/strategies/backtest/results/results.schema.d.ts +36 -36
  67. package/lib/src/services/strategies/generate/generate.class.d.ts +11 -0
  68. package/lib/src/services/strategies/generate/generate.d.ts +11 -0
  69. package/lib/src/services/strategies/generate/generate.schema.d.ts +429 -0
  70. package/lib/src/services/strategies/generate/generate.shared.d.ts +13 -0
  71. package/lib/src/services/strategies/generate/generate.shared.js +13 -0
  72. package/lib/src/services/strategies/hyperopt/hyperopt.schema.d.ts +16 -8
  73. package/lib/src/services/strategies/indicators/indicators.schema.d.ts +177 -97
  74. package/lib/src/services/strategies/indicators/talib/talib.class.d.ts +11 -0
  75. package/lib/src/services/strategies/indicators/talib/talib.d.ts +11 -0
  76. package/lib/src/services/strategies/indicators/talib/talib.schema.d.ts +443 -0
  77. package/lib/src/services/strategies/indicators/talib/talib.shared.d.ts +13 -0
  78. package/lib/src/services/strategies/indicators/talib/talib.shared.js +13 -0
  79. package/lib/src/services/strategies/strategies.schema.d.ts +2732 -327
  80. package/lib/src/services/strategies/templates/templates.schema.d.ts +2146 -16
  81. package/lib/src/services/tools/openapi/openapi.class.d.ts +34 -0
  82. package/lib/src/services/tools/openapi/openapi.d.ts +10 -0
  83. package/lib/src/services/tools/openapi/openapi.shared.d.ts +13 -0
  84. package/lib/src/services/tools/openapi/openapi.shared.js +13 -0
  85. package/lib/src/services/tools/tools.class.d.ts +11 -0
  86. package/lib/src/services/tools/tools.d.ts +11 -0
  87. package/lib/src/services/tools/tools.schema.d.ts +269 -0
  88. package/lib/src/services/tools/tools.shared.d.ts +13 -0
  89. package/lib/src/services/tools/tools.shared.js +13 -0
  90. package/lib/src/services/traders/pods/api/api.schema.d.ts +1650 -464
  91. package/lib/src/services/traders/pods/events/events.schema.d.ts +4 -4
  92. package/lib/src/services/traders/pods/pods.schema.d.ts +1539 -443
  93. package/lib/src/services/traders/traders.schema.d.ts +142 -142
  94. package/lib/src/services/users/users.class.d.ts +178 -3
  95. package/lib/src/services/users/users.schema.d.ts +123 -85
  96. package/lib/src/services/users/users.shared.d.ts +4 -3
  97. package/lib/src/services/users/users.shared.js +1 -1
  98. package/package.json +2 -3
  99. package/readme.md +1 -2
@@ -2,17 +2,24 @@ import type { Static } from '@feathersjs/typebox';
2
2
  import type { HookContext } from '../../declarations';
3
3
  import type { StrategiesService } from './strategies.class';
4
4
  export declare const strategiesSchema: import("@feathersjs/typebox").TObject<{
5
- _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
6
- userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
5
+ _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
6
+ userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
7
7
  file: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
8
8
  templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
9
9
  name: import("@feathersjs/typebox").TAny;
10
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
10
11
  interval: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"1m">, import("@feathersjs/typebox").TLiteral<"5m">, import("@feathersjs/typebox").TLiteral<"30m">, import("@feathersjs/typebox").TLiteral<"2h">, import("@feathersjs/typebox").TLiteral<"6h">, import("@feathersjs/typebox").TLiteral<"12h">, import("@feathersjs/typebox").TLiteral<"1d">, import("@feathersjs/typebox").TLiteral<"1w">]>>;
11
12
  stoploss: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
12
13
  minimal_roi: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
13
14
  minutes: import("@feathersjs/typebox").TNumber;
14
15
  profit: import("@feathersjs/typebox").TNumber;
15
16
  }>>>;
17
+ trailing: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
18
+ trailing_stop: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
19
+ trailing_stop_positive: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
20
+ trailing_stop_positive_offset: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
21
+ trailing_only_offset_is_reached: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
22
+ }>>;
16
23
  exit_sell_signal: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
17
24
  exit_profit_only: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
18
25
  exit_profit_offset: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
@@ -40,21 +47,65 @@ export declare const strategiesSchema: import("@feathersjs/typebox").TObject<{
40
47
  max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
41
48
  only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
42
49
  }>>>;
43
- buywhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
50
+ buywhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TRecursive<import("@feathersjs/typebox").TObject<{
51
+ logic: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"AND">, import("@feathersjs/typebox").TLiteral<"OR">]>;
52
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TSelf, import("@feathersjs/typebox").TObject<{
53
+ indicator: import("@feathersjs/typebox").TString<string>;
54
+ condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
55
+ compare_to: import("@feathersjs/typebox").TObject<{
56
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
57
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
58
+ }>;
59
+ }>]>>;
60
+ }>>, import("@feathersjs/typebox").TObject<{
44
61
  indicator: import("@feathersjs/typebox").TString<string>;
45
62
  condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
46
- type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
47
- value: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
48
- indicator2: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
49
- }>>>;
50
- sellwhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
63
+ compare_to: import("@feathersjs/typebox").TObject<{
64
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
65
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
66
+ }>;
67
+ }>]>>;
68
+ sellwhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TRecursive<import("@feathersjs/typebox").TObject<{
69
+ logic: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"AND">, import("@feathersjs/typebox").TLiteral<"OR">]>;
70
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TSelf, import("@feathersjs/typebox").TObject<{
71
+ indicator: import("@feathersjs/typebox").TString<string>;
72
+ condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">, import("@feathersjs/typebox").TLiteral<"crossed_above">, import("@feathersjs/typebox").TLiteral<"crossed_below">, import("@feathersjs/typebox").TLiteral<"crossed">]>;
73
+ compare_to: import("@feathersjs/typebox").TObject<{
74
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
75
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
76
+ }>;
77
+ }>]>>;
78
+ }>>, import("@feathersjs/typebox").TObject<{
51
79
  indicator: import("@feathersjs/typebox").TString<string>;
52
80
  condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
53
- type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
54
- value: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
55
- indicator2: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
81
+ compare_to: import("@feathersjs/typebox").TObject<{
82
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
83
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
84
+ }>;
85
+ }>]>>;
86
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
87
+ _id: import("@feathersjs/typebox").TString<string>;
88
+ alias: import("@feathersjs/typebox").TString<string>;
89
+ name: import("@feathersjs/typebox").TString<string>;
90
+ group: import("@feathersjs/typebox").TString<string>;
91
+ description: import("@feathersjs/typebox").TString<string>;
92
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
93
+ name: import("@feathersjs/typebox").TString<string>;
94
+ displayName: import("@feathersjs/typebox").TString<string>;
95
+ defaultValue: import("@feathersjs/typebox").TNumber;
96
+ hint: import("@feathersjs/typebox").TString<string>;
97
+ type: import("@feathersjs/typebox").TString<string>;
98
+ normName: import("@feathersjs/typebox").TString<string>;
99
+ }>>;
100
+ hyperopt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
101
+ field: import("@feathersjs/typebox").TString<string>;
102
+ space: import("@feathersjs/typebox").TString<string>;
103
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"IntParameter">, import("@feathersjs/typebox").TLiteral<"DecimalParameter">, import("@feathersjs/typebox").TLiteral<"BooleanParameter">, import("@feathersjs/typebox").TLiteral<"CategoricalParameter">]>;
104
+ min: import("@feathersjs/typebox").TInteger;
105
+ max: import("@feathersjs/typebox").TInteger;
106
+ default: import("@feathersjs/typebox").TInteger;
107
+ }>>>;
56
108
  }>>>;
57
- indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>>;
58
109
  code: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
59
110
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
60
111
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
@@ -248,16 +299,103 @@ export declare const strategiesSchema: import("@feathersjs/typebox").TObject<{
248
299
  _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
249
300
  name: import("@feathersjs/typebox").TString<string>;
250
301
  type: import("@feathersjs/typebox").TString<string>;
302
+ revision: import("@feathersjs/typebox").TNumber;
251
303
  description: import("@feathersjs/typebox").TString<string>;
252
304
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
253
305
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
254
- values: import("@feathersjs/typebox").TAny;
306
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
307
+ values: import("@feathersjs/typebox").TObject<{
308
+ interval: import("@feathersjs/typebox").TString<string>;
309
+ stoploss: import("@feathersjs/typebox").TNumber;
310
+ exit_profit_only: import("@feathersjs/typebox").TBoolean;
311
+ exit_profit_offset: import("@feathersjs/typebox").TNumber;
312
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
313
+ _id: import("@feathersjs/typebox").TString<string>;
314
+ alias: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
315
+ name: import("@feathersjs/typebox").TString<string>;
316
+ group: import("@feathersjs/typebox").TString<string>;
317
+ description: import("@feathersjs/typebox").TString<string>;
318
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
319
+ name: import("@feathersjs/typebox").TString<string>;
320
+ displayName: import("@feathersjs/typebox").TString<string>;
321
+ defaultValue: import("@feathersjs/typebox").TAny;
322
+ hint: import("@feathersjs/typebox").TString<string>;
323
+ type: import("@feathersjs/typebox").TString<string>;
324
+ normName: import("@feathersjs/typebox").TString<string>;
325
+ }>>;
326
+ }>>>;
327
+ minimal_roi: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
328
+ minutes: import("@feathersjs/typebox").TNumber;
329
+ profit: import("@feathersjs/typebox").TNumber;
330
+ }>>;
331
+ protections: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
332
+ enabled: import("@feathersjs/typebox").TBoolean;
333
+ type: import("@feathersjs/typebox").TString<string>;
334
+ method: import("@feathersjs/typebox").TString<string>;
335
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
336
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
337
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
338
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
339
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
340
+ }>>;
341
+ order_types: import("@feathersjs/typebox").TObject<{
342
+ entry: import("@feathersjs/typebox").TString<string>;
343
+ exit: import("@feathersjs/typebox").TString<string>;
344
+ emergencysell: import("@feathersjs/typebox").TString<string>;
345
+ forcebuy: import("@feathersjs/typebox").TString<string>;
346
+ forcesell: import("@feathersjs/typebox").TString<string>;
347
+ stoploss: import("@feathersjs/typebox").TString<string>;
348
+ stoploss_on_exchange: import("@feathersjs/typebox").TBoolean;
349
+ }>;
350
+ sellwhen: import("@feathersjs/typebox").TObject<{
351
+ logic: import("@feathersjs/typebox").TString<string>;
352
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
353
+ indicator: import("@feathersjs/typebox").TString<string>;
354
+ condition: import("@feathersjs/typebox").TString<string>;
355
+ compare_to: import("@feathersjs/typebox").TObject<{
356
+ type: import("@feathersjs/typebox").TString<string>;
357
+ value: import("@feathersjs/typebox").TAny;
358
+ }>;
359
+ }>>;
360
+ }>;
361
+ buywhen: import("@feathersjs/typebox").TObject<{
362
+ logic: import("@feathersjs/typebox").TString<string>;
363
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
364
+ indicator: import("@feathersjs/typebox").TString<string>;
365
+ condition: import("@feathersjs/typebox").TString<string>;
366
+ compare_to: import("@feathersjs/typebox").TObject<{
367
+ type: import("@feathersjs/typebox").TString<string>;
368
+ value: import("@feathersjs/typebox").TAny;
369
+ }>;
370
+ }>>;
371
+ }>;
372
+ }>;
373
+ timeinforce: import("@feathersjs/typebox").TString<string>;
374
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
375
+ enabled: import("@feathersjs/typebox").TBoolean;
376
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
377
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
378
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
379
+ }>>;
380
+ if: import("@feathersjs/typebox").TObject<{
381
+ hyperopt: import("@feathersjs/typebox").TObject<{
382
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
383
+ field: import("@feathersjs/typebox").TString<string>;
384
+ operator: import("@feathersjs/typebox").TString<string>;
385
+ compare: import("@feathersjs/typebox").TAny;
386
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
387
+ }>>;
388
+ }>;
389
+ }>;
390
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
391
+ }>>;
255
392
  }>>>;
256
393
  'strategies/indicators': import("@feathersjs/typebox").TAny;
257
394
  }>;
258
395
  export type Strategies = Static<typeof strategiesSchema>;
259
396
  export declare const strategiesValidator: import("@feathersjs/schema").Validator<any, any>;
260
397
  export declare const strategiesResolver: import("@feathersjs/schema").Resolver<{
398
+ public?: boolean | undefined;
261
399
  traders?: {
262
400
  telegram?: {
263
401
  access_hash?: string | null | undefined;
@@ -295,7 +433,6 @@ export declare const strategiesResolver: import("@feathersjs/schema").Resolver<{
295
433
  balance_dust_level: number;
296
434
  } | undefined;
297
435
  _id?: string | {} | undefined;
298
- running?: boolean | undefined;
299
436
  plugins?: {
300
437
  number_assets?: number | undefined;
301
438
  refresh_period?: number | undefined;
@@ -312,6 +449,7 @@ export declare const strategiesResolver: import("@feathersjs/schema").Resolver<{
312
449
  exit: number;
313
450
  } | undefined;
314
451
  cancel_open_orders_on_exit?: boolean | undefined;
452
+ running?: boolean | undefined;
315
453
  tradable_balance_ratio?: number | undefined;
316
454
  webhook?: {
317
455
  url: string;
@@ -396,15 +534,16 @@ export declare const strategiesResolver: import("@feathersjs/schema").Resolver<{
396
534
  host: string;
397
535
  name: any;
398
536
  provider: "docker";
399
- strategies: string[];
400
537
  secret: string;
401
538
  key: string;
402
539
  createdAt: any;
403
540
  updatedAt: any;
404
- "traders/pods": any;
405
- userId: any;
406
541
  connected: boolean;
407
542
  which: string;
543
+ userId: any;
544
+ strategy: any;
545
+ strategies: string[];
546
+ "traders/pods": any;
408
547
  exchange: any;
409
548
  exchangeId: any;
410
549
  stake_currency: string;
@@ -413,7 +552,6 @@ export declare const strategiesResolver: import("@feathersjs/schema").Resolver<{
413
552
  handling: string;
414
553
  initial_state: string;
415
554
  pairlists: any;
416
- strategy: any;
417
555
  strategyId: string | {};
418
556
  entry_pricing: {
419
557
  price_side?: "ask" | "bid" | "same" | "other" | undefined;
@@ -445,28 +583,145 @@ export declare const strategiesResolver: import("@feathersjs/schema").Resolver<{
445
583
  _id?: string | {} | undefined;
446
584
  createdAt?: any;
447
585
  updatedAt?: any;
586
+ userId?: string | {} | undefined;
448
587
  'strategies/templates'?: {
588
+ public?: boolean | undefined;
449
589
  _id?: string | {} | undefined;
450
590
  createdAt?: any;
451
591
  updatedAt?: any;
452
- values: any;
592
+ optimize?: {
593
+ best?: {
594
+ by: "total_profit" | "sharpe";
595
+ direction: "max" | "min";
596
+ } | undefined;
597
+ enabled: boolean;
598
+ then: {}[];
599
+ if: {
600
+ hyperopt: {
601
+ results: {
602
+ type?: string | undefined;
603
+ field: string;
604
+ operator: string;
605
+ compare: any;
606
+ }[];
607
+ };
608
+ };
609
+ } | undefined;
610
+ values: {
611
+ indicators?: {
612
+ alias?: string | undefined;
613
+ name: string;
614
+ _id: string;
615
+ description: string;
616
+ group: string;
617
+ optInputs: {
618
+ name: string;
619
+ type: string;
620
+ displayName: string;
621
+ defaultValue: any;
622
+ hint: string;
623
+ normName: string;
624
+ }[];
625
+ }[] | undefined;
626
+ interval: string;
627
+ stoploss: number;
628
+ exit_profit_only: boolean;
629
+ exit_profit_offset: number;
630
+ minimal_roi: {
631
+ minutes: number;
632
+ profit: number;
633
+ }[];
634
+ protections: {
635
+ stop_duration_candles?: number | undefined;
636
+ lookback_period_candles?: number | undefined;
637
+ trade_limit?: number | undefined;
638
+ max_allowed_drawdown?: number | undefined;
639
+ only_per_pair?: boolean | undefined;
640
+ enabled: boolean;
641
+ type: string;
642
+ method: string;
643
+ }[];
644
+ order_types: {
645
+ stoploss: string;
646
+ entry: string;
647
+ exit: string;
648
+ emergencysell: string;
649
+ forcebuy: string;
650
+ forcesell: string;
651
+ stoploss_on_exchange: boolean;
652
+ };
653
+ sellwhen: {
654
+ logic: string;
655
+ conditions: {
656
+ indicator: string;
657
+ condition: string;
658
+ compare_to: {
659
+ type: string;
660
+ value: any;
661
+ };
662
+ }[];
663
+ };
664
+ buywhen: {
665
+ logic: string;
666
+ conditions: {
667
+ indicator: string;
668
+ condition: string;
669
+ compare_to: {
670
+ type: string;
671
+ value: any;
672
+ };
673
+ }[];
674
+ };
675
+ };
453
676
  name: string;
454
- description: string;
455
677
  type: string;
678
+ revision: number;
679
+ description: string;
680
+ timeinforce: string;
456
681
  } | undefined;
457
- userId?: string | {} | undefined;
458
- file?: any;
459
- templateId?: string | {} | undefined;
460
682
  interval?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
461
683
  stoploss?: number | undefined;
684
+ exit_profit_only?: boolean | undefined;
685
+ exit_profit_offset?: number | undefined;
686
+ indicators?: {
687
+ hyperopt?: {
688
+ default: number;
689
+ max: number;
690
+ min: number;
691
+ type: "IntParameter" | "DecimalParameter" | "BooleanParameter" | "CategoricalParameter";
692
+ field: string;
693
+ space: string;
694
+ }[] | undefined;
695
+ name: string;
696
+ _id: string;
697
+ description: string;
698
+ alias: string;
699
+ group: string;
700
+ optInputs: {
701
+ name: string;
702
+ type: string;
703
+ displayName: string;
704
+ defaultValue: number;
705
+ hint: string;
706
+ normName: string;
707
+ }[];
708
+ }[] | undefined;
462
709
  minimal_roi?: {
463
710
  minutes: number;
464
711
  profit: number;
465
712
  }[] | undefined;
466
- exit_sell_signal?: boolean | undefined;
467
- exit_profit_only?: boolean | undefined;
468
- exit_profit_offset?: number | undefined;
469
- timeinforce?: unknown;
713
+ protections?: {
714
+ stop_duration_candles?: number | undefined;
715
+ lookback_period_candles?: unknown;
716
+ trade_limit?: unknown;
717
+ max_allowed_drawdown?: unknown;
718
+ only_per_pair?: unknown;
719
+ stop_duration_in_seconds?: unknown;
720
+ required_profit?: unknown;
721
+ enabled: boolean;
722
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
723
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
724
+ }[] | undefined;
470
725
  order_types?: {
471
726
  stoploss?: string | undefined;
472
727
  entry?: "Limit" | "Market" | undefined;
@@ -478,40 +733,60 @@ export declare const strategiesResolver: import("@feathersjs/schema").Resolver<{
478
733
  stoploss_on_exchange_interval?: number | undefined;
479
734
  stoploss_on_exchange_limit_ratio?: number | undefined;
480
735
  } | undefined;
481
- protections?: {
482
- stop_duration_candles?: number | undefined;
483
- stop_duration_in_seconds?: unknown;
484
- lookback_period_candles?: unknown;
485
- trade_limit?: unknown;
486
- required_profit?: unknown;
487
- max_allowed_drawdown?: unknown;
488
- only_per_pair?: unknown;
489
- enabled: boolean;
490
- method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
491
- type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
492
- }[] | undefined;
493
- buywhen?: {
494
- value?: number | undefined;
495
- indicator2?: string | undefined;
496
- type: "number" | "indicator";
736
+ sellwhen?: {
737
+ logic: "AND" | "OR";
738
+ conditions: (/*elided*/ any | {
739
+ indicator: string;
740
+ condition: ">" | "<" | "==" | "crossed_above" | "crossed_below" | "crossed";
741
+ compare_to: {
742
+ type: "number" | "indicator";
743
+ value: string | number;
744
+ };
745
+ })[];
746
+ } | {
497
747
  indicator: string;
498
748
  condition: ">" | "<" | "==";
499
- }[] | undefined;
500
- sellwhen?: {
501
- value?: number | undefined;
502
- indicator2?: string | undefined;
503
- type: "number" | "indicator";
749
+ compare_to: {
750
+ type: "number" | "indicator";
751
+ value: string | number;
752
+ };
753
+ } | undefined;
754
+ buywhen?: {
755
+ logic: "AND" | "OR";
756
+ conditions: (/*elided*/ any | {
757
+ indicator: string;
758
+ condition: ">" | "<" | "==";
759
+ compare_to: {
760
+ type: "number" | "indicator";
761
+ value: string | number;
762
+ };
763
+ })[];
764
+ } | {
504
765
  indicator: string;
505
766
  condition: ">" | "<" | "==";
506
- }[] | undefined;
507
- indicators?: unknown[] | undefined;
508
- code?: unknown;
767
+ compare_to: {
768
+ type: "number" | "indicator";
769
+ value: string | number;
770
+ };
771
+ } | undefined;
772
+ timeinforce?: unknown;
509
773
  results?: unknown;
774
+ file?: any;
775
+ templateId?: string | {} | undefined;
776
+ trailing?: {
777
+ trailing_stop?: boolean | undefined;
778
+ trailing_stop_positive?: number | undefined;
779
+ trailing_stop_positive_offset?: number | undefined;
780
+ trailing_only_offset_is_reached?: boolean | undefined;
781
+ } | undefined;
782
+ exit_sell_signal?: boolean | undefined;
783
+ code?: unknown;
510
784
  configured?: boolean | undefined;
511
785
  name: any;
512
786
  'strategies/indicators': any;
513
787
  }, HookContext<StrategiesService<import("./strategies.class").StrategiesParams>>>;
514
788
  export declare const strategiesExternalResolver: import("@feathersjs/schema").Resolver<{
789
+ public?: boolean | undefined;
515
790
  traders?: {
516
791
  telegram?: {
517
792
  access_hash?: string | null | undefined;
@@ -549,7 +824,6 @@ export declare const strategiesExternalResolver: import("@feathersjs/schema").Re
549
824
  balance_dust_level: number;
550
825
  } | undefined;
551
826
  _id?: string | {} | undefined;
552
- running?: boolean | undefined;
553
827
  plugins?: {
554
828
  number_assets?: number | undefined;
555
829
  refresh_period?: number | undefined;
@@ -566,6 +840,7 @@ export declare const strategiesExternalResolver: import("@feathersjs/schema").Re
566
840
  exit: number;
567
841
  } | undefined;
568
842
  cancel_open_orders_on_exit?: boolean | undefined;
843
+ running?: boolean | undefined;
569
844
  tradable_balance_ratio?: number | undefined;
570
845
  webhook?: {
571
846
  url: string;
@@ -650,15 +925,16 @@ export declare const strategiesExternalResolver: import("@feathersjs/schema").Re
650
925
  host: string;
651
926
  name: any;
652
927
  provider: "docker";
653
- strategies: string[];
654
928
  secret: string;
655
929
  key: string;
656
930
  createdAt: any;
657
931
  updatedAt: any;
658
- "traders/pods": any;
659
- userId: any;
660
932
  connected: boolean;
661
933
  which: string;
934
+ userId: any;
935
+ strategy: any;
936
+ strategies: string[];
937
+ "traders/pods": any;
662
938
  exchange: any;
663
939
  exchangeId: any;
664
940
  stake_currency: string;
@@ -667,7 +943,6 @@ export declare const strategiesExternalResolver: import("@feathersjs/schema").Re
667
943
  handling: string;
668
944
  initial_state: string;
669
945
  pairlists: any;
670
- strategy: any;
671
946
  strategyId: string | {};
672
947
  entry_pricing: {
673
948
  price_side?: "ask" | "bid" | "same" | "other" | undefined;
@@ -699,28 +974,145 @@ export declare const strategiesExternalResolver: import("@feathersjs/schema").Re
699
974
  _id?: string | {} | undefined;
700
975
  createdAt?: any;
701
976
  updatedAt?: any;
977
+ userId?: string | {} | undefined;
702
978
  'strategies/templates'?: {
979
+ public?: boolean | undefined;
703
980
  _id?: string | {} | undefined;
704
981
  createdAt?: any;
705
982
  updatedAt?: any;
706
- values: any;
983
+ optimize?: {
984
+ best?: {
985
+ by: "total_profit" | "sharpe";
986
+ direction: "max" | "min";
987
+ } | undefined;
988
+ enabled: boolean;
989
+ then: {}[];
990
+ if: {
991
+ hyperopt: {
992
+ results: {
993
+ type?: string | undefined;
994
+ field: string;
995
+ operator: string;
996
+ compare: any;
997
+ }[];
998
+ };
999
+ };
1000
+ } | undefined;
1001
+ values: {
1002
+ indicators?: {
1003
+ alias?: string | undefined;
1004
+ name: string;
1005
+ _id: string;
1006
+ description: string;
1007
+ group: string;
1008
+ optInputs: {
1009
+ name: string;
1010
+ type: string;
1011
+ displayName: string;
1012
+ defaultValue: any;
1013
+ hint: string;
1014
+ normName: string;
1015
+ }[];
1016
+ }[] | undefined;
1017
+ interval: string;
1018
+ stoploss: number;
1019
+ exit_profit_only: boolean;
1020
+ exit_profit_offset: number;
1021
+ minimal_roi: {
1022
+ minutes: number;
1023
+ profit: number;
1024
+ }[];
1025
+ protections: {
1026
+ stop_duration_candles?: number | undefined;
1027
+ lookback_period_candles?: number | undefined;
1028
+ trade_limit?: number | undefined;
1029
+ max_allowed_drawdown?: number | undefined;
1030
+ only_per_pair?: boolean | undefined;
1031
+ enabled: boolean;
1032
+ type: string;
1033
+ method: string;
1034
+ }[];
1035
+ order_types: {
1036
+ stoploss: string;
1037
+ entry: string;
1038
+ exit: string;
1039
+ emergencysell: string;
1040
+ forcebuy: string;
1041
+ forcesell: string;
1042
+ stoploss_on_exchange: boolean;
1043
+ };
1044
+ sellwhen: {
1045
+ logic: string;
1046
+ conditions: {
1047
+ indicator: string;
1048
+ condition: string;
1049
+ compare_to: {
1050
+ type: string;
1051
+ value: any;
1052
+ };
1053
+ }[];
1054
+ };
1055
+ buywhen: {
1056
+ logic: string;
1057
+ conditions: {
1058
+ indicator: string;
1059
+ condition: string;
1060
+ compare_to: {
1061
+ type: string;
1062
+ value: any;
1063
+ };
1064
+ }[];
1065
+ };
1066
+ };
707
1067
  name: string;
708
- description: string;
709
1068
  type: string;
1069
+ revision: number;
1070
+ description: string;
1071
+ timeinforce: string;
710
1072
  } | undefined;
711
- userId?: string | {} | undefined;
712
- file?: any;
713
- templateId?: string | {} | undefined;
714
1073
  interval?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
715
1074
  stoploss?: number | undefined;
1075
+ exit_profit_only?: boolean | undefined;
1076
+ exit_profit_offset?: number | undefined;
1077
+ indicators?: {
1078
+ hyperopt?: {
1079
+ default: number;
1080
+ max: number;
1081
+ min: number;
1082
+ type: "IntParameter" | "DecimalParameter" | "BooleanParameter" | "CategoricalParameter";
1083
+ field: string;
1084
+ space: string;
1085
+ }[] | undefined;
1086
+ name: string;
1087
+ _id: string;
1088
+ description: string;
1089
+ alias: string;
1090
+ group: string;
1091
+ optInputs: {
1092
+ name: string;
1093
+ type: string;
1094
+ displayName: string;
1095
+ defaultValue: number;
1096
+ hint: string;
1097
+ normName: string;
1098
+ }[];
1099
+ }[] | undefined;
716
1100
  minimal_roi?: {
717
1101
  minutes: number;
718
1102
  profit: number;
719
1103
  }[] | undefined;
720
- exit_sell_signal?: boolean | undefined;
721
- exit_profit_only?: boolean | undefined;
722
- exit_profit_offset?: number | undefined;
723
- timeinforce?: unknown;
1104
+ protections?: {
1105
+ stop_duration_candles?: number | undefined;
1106
+ lookback_period_candles?: unknown;
1107
+ trade_limit?: unknown;
1108
+ max_allowed_drawdown?: unknown;
1109
+ only_per_pair?: unknown;
1110
+ stop_duration_in_seconds?: unknown;
1111
+ required_profit?: unknown;
1112
+ enabled: boolean;
1113
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
1114
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
1115
+ }[] | undefined;
724
1116
  order_types?: {
725
1117
  stoploss?: string | undefined;
726
1118
  entry?: "Limit" | "Market" | undefined;
@@ -732,51 +1124,77 @@ export declare const strategiesExternalResolver: import("@feathersjs/schema").Re
732
1124
  stoploss_on_exchange_interval?: number | undefined;
733
1125
  stoploss_on_exchange_limit_ratio?: number | undefined;
734
1126
  } | undefined;
735
- protections?: {
736
- stop_duration_candles?: number | undefined;
737
- stop_duration_in_seconds?: unknown;
738
- lookback_period_candles?: unknown;
739
- trade_limit?: unknown;
740
- required_profit?: unknown;
741
- max_allowed_drawdown?: unknown;
742
- only_per_pair?: unknown;
743
- enabled: boolean;
744
- method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
745
- type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
746
- }[] | undefined;
747
- buywhen?: {
748
- value?: number | undefined;
749
- indicator2?: string | undefined;
750
- type: "number" | "indicator";
1127
+ sellwhen?: {
1128
+ logic: "AND" | "OR";
1129
+ conditions: (/*elided*/ any | {
1130
+ indicator: string;
1131
+ condition: ">" | "<" | "==" | "crossed_above" | "crossed_below" | "crossed";
1132
+ compare_to: {
1133
+ type: "number" | "indicator";
1134
+ value: string | number;
1135
+ };
1136
+ })[];
1137
+ } | {
751
1138
  indicator: string;
752
1139
  condition: ">" | "<" | "==";
753
- }[] | undefined;
754
- sellwhen?: {
755
- value?: number | undefined;
756
- indicator2?: string | undefined;
757
- type: "number" | "indicator";
1140
+ compare_to: {
1141
+ type: "number" | "indicator";
1142
+ value: string | number;
1143
+ };
1144
+ } | undefined;
1145
+ buywhen?: {
1146
+ logic: "AND" | "OR";
1147
+ conditions: (/*elided*/ any | {
1148
+ indicator: string;
1149
+ condition: ">" | "<" | "==";
1150
+ compare_to: {
1151
+ type: "number" | "indicator";
1152
+ value: string | number;
1153
+ };
1154
+ })[];
1155
+ } | {
758
1156
  indicator: string;
759
1157
  condition: ">" | "<" | "==";
760
- }[] | undefined;
761
- indicators?: unknown[] | undefined;
762
- code?: unknown;
1158
+ compare_to: {
1159
+ type: "number" | "indicator";
1160
+ value: string | number;
1161
+ };
1162
+ } | undefined;
1163
+ timeinforce?: unknown;
763
1164
  results?: unknown;
1165
+ file?: any;
1166
+ templateId?: string | {} | undefined;
1167
+ trailing?: {
1168
+ trailing_stop?: boolean | undefined;
1169
+ trailing_stop_positive?: number | undefined;
1170
+ trailing_stop_positive_offset?: number | undefined;
1171
+ trailing_only_offset_is_reached?: boolean | undefined;
1172
+ } | undefined;
1173
+ exit_sell_signal?: boolean | undefined;
1174
+ code?: unknown;
764
1175
  configured?: boolean | undefined;
765
1176
  name: any;
766
1177
  'strategies/indicators': any;
767
1178
  }, HookContext<StrategiesService<import("./strategies.class").StrategiesParams>>>;
768
1179
  export declare const strategiesDataSchema: import("@feathersjs/typebox").TPick<import("@feathersjs/typebox").TObject<{
769
- _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
770
- userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
1180
+ _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
1181
+ userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
771
1182
  file: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
772
1183
  templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
773
1184
  name: import("@feathersjs/typebox").TAny;
1185
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
774
1186
  interval: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"1m">, import("@feathersjs/typebox").TLiteral<"5m">, import("@feathersjs/typebox").TLiteral<"30m">, import("@feathersjs/typebox").TLiteral<"2h">, import("@feathersjs/typebox").TLiteral<"6h">, import("@feathersjs/typebox").TLiteral<"12h">, import("@feathersjs/typebox").TLiteral<"1d">, import("@feathersjs/typebox").TLiteral<"1w">]>>;
775
1187
  stoploss: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
776
1188
  minimal_roi: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
777
1189
  minutes: import("@feathersjs/typebox").TNumber;
778
1190
  profit: import("@feathersjs/typebox").TNumber;
779
1191
  }>>>;
1192
+ trailing: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1193
+ trailing_stop: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1194
+ trailing_stop_positive: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1195
+ trailing_stop_positive_offset: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1196
+ trailing_only_offset_is_reached: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1197
+ }>>;
780
1198
  exit_sell_signal: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
781
1199
  exit_profit_only: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
782
1200
  exit_profit_offset: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
@@ -804,21 +1222,65 @@ export declare const strategiesDataSchema: import("@feathersjs/typebox").TPick<i
804
1222
  max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
805
1223
  only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
806
1224
  }>>>;
807
- buywhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1225
+ buywhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TRecursive<import("@feathersjs/typebox").TObject<{
1226
+ logic: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"AND">, import("@feathersjs/typebox").TLiteral<"OR">]>;
1227
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TSelf, import("@feathersjs/typebox").TObject<{
1228
+ indicator: import("@feathersjs/typebox").TString<string>;
1229
+ condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
1230
+ compare_to: import("@feathersjs/typebox").TObject<{
1231
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
1232
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
1233
+ }>;
1234
+ }>]>>;
1235
+ }>>, import("@feathersjs/typebox").TObject<{
808
1236
  indicator: import("@feathersjs/typebox").TString<string>;
809
1237
  condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
810
- type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
811
- value: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
812
- indicator2: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
813
- }>>>;
814
- sellwhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1238
+ compare_to: import("@feathersjs/typebox").TObject<{
1239
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
1240
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
1241
+ }>;
1242
+ }>]>>;
1243
+ sellwhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TRecursive<import("@feathersjs/typebox").TObject<{
1244
+ logic: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"AND">, import("@feathersjs/typebox").TLiteral<"OR">]>;
1245
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TSelf, import("@feathersjs/typebox").TObject<{
1246
+ indicator: import("@feathersjs/typebox").TString<string>;
1247
+ condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">, import("@feathersjs/typebox").TLiteral<"crossed_above">, import("@feathersjs/typebox").TLiteral<"crossed_below">, import("@feathersjs/typebox").TLiteral<"crossed">]>;
1248
+ compare_to: import("@feathersjs/typebox").TObject<{
1249
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
1250
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
1251
+ }>;
1252
+ }>]>>;
1253
+ }>>, import("@feathersjs/typebox").TObject<{
815
1254
  indicator: import("@feathersjs/typebox").TString<string>;
816
1255
  condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
817
- type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
818
- value: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
819
- indicator2: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1256
+ compare_to: import("@feathersjs/typebox").TObject<{
1257
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
1258
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
1259
+ }>;
1260
+ }>]>>;
1261
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1262
+ _id: import("@feathersjs/typebox").TString<string>;
1263
+ alias: import("@feathersjs/typebox").TString<string>;
1264
+ name: import("@feathersjs/typebox").TString<string>;
1265
+ group: import("@feathersjs/typebox").TString<string>;
1266
+ description: import("@feathersjs/typebox").TString<string>;
1267
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1268
+ name: import("@feathersjs/typebox").TString<string>;
1269
+ displayName: import("@feathersjs/typebox").TString<string>;
1270
+ defaultValue: import("@feathersjs/typebox").TNumber;
1271
+ hint: import("@feathersjs/typebox").TString<string>;
1272
+ type: import("@feathersjs/typebox").TString<string>;
1273
+ normName: import("@feathersjs/typebox").TString<string>;
1274
+ }>>;
1275
+ hyperopt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1276
+ field: import("@feathersjs/typebox").TString<string>;
1277
+ space: import("@feathersjs/typebox").TString<string>;
1278
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"IntParameter">, import("@feathersjs/typebox").TLiteral<"DecimalParameter">, import("@feathersjs/typebox").TLiteral<"BooleanParameter">, import("@feathersjs/typebox").TLiteral<"CategoricalParameter">]>;
1279
+ min: import("@feathersjs/typebox").TInteger;
1280
+ max: import("@feathersjs/typebox").TInteger;
1281
+ default: import("@feathersjs/typebox").TInteger;
1282
+ }>>>;
820
1283
  }>>>;
821
- indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>>;
822
1284
  code: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
823
1285
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
824
1286
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
@@ -1012,16 +1474,103 @@ export declare const strategiesDataSchema: import("@feathersjs/typebox").TPick<i
1012
1474
  _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
1013
1475
  name: import("@feathersjs/typebox").TString<string>;
1014
1476
  type: import("@feathersjs/typebox").TString<string>;
1477
+ revision: import("@feathersjs/typebox").TNumber;
1015
1478
  description: import("@feathersjs/typebox").TString<string>;
1016
1479
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
1017
1480
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
1018
- values: import("@feathersjs/typebox").TAny;
1481
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1482
+ values: import("@feathersjs/typebox").TObject<{
1483
+ interval: import("@feathersjs/typebox").TString<string>;
1484
+ stoploss: import("@feathersjs/typebox").TNumber;
1485
+ exit_profit_only: import("@feathersjs/typebox").TBoolean;
1486
+ exit_profit_offset: import("@feathersjs/typebox").TNumber;
1487
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1488
+ _id: import("@feathersjs/typebox").TString<string>;
1489
+ alias: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1490
+ name: import("@feathersjs/typebox").TString<string>;
1491
+ group: import("@feathersjs/typebox").TString<string>;
1492
+ description: import("@feathersjs/typebox").TString<string>;
1493
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1494
+ name: import("@feathersjs/typebox").TString<string>;
1495
+ displayName: import("@feathersjs/typebox").TString<string>;
1496
+ defaultValue: import("@feathersjs/typebox").TAny;
1497
+ hint: import("@feathersjs/typebox").TString<string>;
1498
+ type: import("@feathersjs/typebox").TString<string>;
1499
+ normName: import("@feathersjs/typebox").TString<string>;
1500
+ }>>;
1501
+ }>>>;
1502
+ minimal_roi: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1503
+ minutes: import("@feathersjs/typebox").TNumber;
1504
+ profit: import("@feathersjs/typebox").TNumber;
1505
+ }>>;
1506
+ protections: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1507
+ enabled: import("@feathersjs/typebox").TBoolean;
1508
+ type: import("@feathersjs/typebox").TString<string>;
1509
+ method: import("@feathersjs/typebox").TString<string>;
1510
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1511
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1512
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1513
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1514
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1515
+ }>>;
1516
+ order_types: import("@feathersjs/typebox").TObject<{
1517
+ entry: import("@feathersjs/typebox").TString<string>;
1518
+ exit: import("@feathersjs/typebox").TString<string>;
1519
+ emergencysell: import("@feathersjs/typebox").TString<string>;
1520
+ forcebuy: import("@feathersjs/typebox").TString<string>;
1521
+ forcesell: import("@feathersjs/typebox").TString<string>;
1522
+ stoploss: import("@feathersjs/typebox").TString<string>;
1523
+ stoploss_on_exchange: import("@feathersjs/typebox").TBoolean;
1524
+ }>;
1525
+ sellwhen: import("@feathersjs/typebox").TObject<{
1526
+ logic: import("@feathersjs/typebox").TString<string>;
1527
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1528
+ indicator: import("@feathersjs/typebox").TString<string>;
1529
+ condition: import("@feathersjs/typebox").TString<string>;
1530
+ compare_to: import("@feathersjs/typebox").TObject<{
1531
+ type: import("@feathersjs/typebox").TString<string>;
1532
+ value: import("@feathersjs/typebox").TAny;
1533
+ }>;
1534
+ }>>;
1535
+ }>;
1536
+ buywhen: import("@feathersjs/typebox").TObject<{
1537
+ logic: import("@feathersjs/typebox").TString<string>;
1538
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1539
+ indicator: import("@feathersjs/typebox").TString<string>;
1540
+ condition: import("@feathersjs/typebox").TString<string>;
1541
+ compare_to: import("@feathersjs/typebox").TObject<{
1542
+ type: import("@feathersjs/typebox").TString<string>;
1543
+ value: import("@feathersjs/typebox").TAny;
1544
+ }>;
1545
+ }>>;
1546
+ }>;
1547
+ }>;
1548
+ timeinforce: import("@feathersjs/typebox").TString<string>;
1549
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1550
+ enabled: import("@feathersjs/typebox").TBoolean;
1551
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1552
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
1553
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
1554
+ }>>;
1555
+ if: import("@feathersjs/typebox").TObject<{
1556
+ hyperopt: import("@feathersjs/typebox").TObject<{
1557
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1558
+ field: import("@feathersjs/typebox").TString<string>;
1559
+ operator: import("@feathersjs/typebox").TString<string>;
1560
+ compare: import("@feathersjs/typebox").TAny;
1561
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1562
+ }>>;
1563
+ }>;
1564
+ }>;
1565
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
1566
+ }>>;
1019
1567
  }>>>;
1020
1568
  'strategies/indicators': import("@feathersjs/typebox").TAny;
1021
1569
  }>, ["_id", "file", "name", "templateId", "interval", "stoploss", "minimal_roi", "exit_sell_signal", "exit_profit_only", "exit_profit_offset", "timeinforce", "code"]>;
1022
1570
  export type StrategiesData = Static<typeof strategiesDataSchema>;
1023
1571
  export declare const strategiesDataValidator: import("@feathersjs/schema").Validator<any, any>;
1024
1572
  export declare const strategiesDataResolver: import("@feathersjs/schema").Resolver<{
1573
+ public?: boolean | undefined;
1025
1574
  traders?: {
1026
1575
  telegram?: {
1027
1576
  access_hash?: string | null | undefined;
@@ -1059,7 +1608,6 @@ export declare const strategiesDataResolver: import("@feathersjs/schema").Resolv
1059
1608
  balance_dust_level: number;
1060
1609
  } | undefined;
1061
1610
  _id?: string | {} | undefined;
1062
- running?: boolean | undefined;
1063
1611
  plugins?: {
1064
1612
  number_assets?: number | undefined;
1065
1613
  refresh_period?: number | undefined;
@@ -1076,6 +1624,7 @@ export declare const strategiesDataResolver: import("@feathersjs/schema").Resolv
1076
1624
  exit: number;
1077
1625
  } | undefined;
1078
1626
  cancel_open_orders_on_exit?: boolean | undefined;
1627
+ running?: boolean | undefined;
1079
1628
  tradable_balance_ratio?: number | undefined;
1080
1629
  webhook?: {
1081
1630
  url: string;
@@ -1160,15 +1709,16 @@ export declare const strategiesDataResolver: import("@feathersjs/schema").Resolv
1160
1709
  host: string;
1161
1710
  name: any;
1162
1711
  provider: "docker";
1163
- strategies: string[];
1164
1712
  secret: string;
1165
1713
  key: string;
1166
1714
  createdAt: any;
1167
1715
  updatedAt: any;
1168
- "traders/pods": any;
1169
- userId: any;
1170
1716
  connected: boolean;
1171
1717
  which: string;
1718
+ userId: any;
1719
+ strategy: any;
1720
+ strategies: string[];
1721
+ "traders/pods": any;
1172
1722
  exchange: any;
1173
1723
  exchangeId: any;
1174
1724
  stake_currency: string;
@@ -1177,7 +1727,6 @@ export declare const strategiesDataResolver: import("@feathersjs/schema").Resolv
1177
1727
  handling: string;
1178
1728
  initial_state: string;
1179
1729
  pairlists: any;
1180
- strategy: any;
1181
1730
  strategyId: string | {};
1182
1731
  entry_pricing: {
1183
1732
  price_side?: "ask" | "bid" | "same" | "other" | undefined;
@@ -1209,84 +1758,227 @@ export declare const strategiesDataResolver: import("@feathersjs/schema").Resolv
1209
1758
  _id?: string | {} | undefined;
1210
1759
  createdAt?: any;
1211
1760
  updatedAt?: any;
1761
+ userId?: string | {} | undefined;
1212
1762
  'strategies/templates'?: {
1763
+ public?: boolean | undefined;
1213
1764
  _id?: string | {} | undefined;
1214
1765
  createdAt?: any;
1215
1766
  updatedAt?: any;
1216
- values: any;
1767
+ optimize?: {
1768
+ best?: {
1769
+ by: "total_profit" | "sharpe";
1770
+ direction: "max" | "min";
1771
+ } | undefined;
1772
+ enabled: boolean;
1773
+ then: {}[];
1774
+ if: {
1775
+ hyperopt: {
1776
+ results: {
1777
+ type?: string | undefined;
1778
+ field: string;
1779
+ operator: string;
1780
+ compare: any;
1781
+ }[];
1782
+ };
1783
+ };
1784
+ } | undefined;
1785
+ values: {
1786
+ indicators?: {
1787
+ alias?: string | undefined;
1788
+ name: string;
1789
+ _id: string;
1790
+ description: string;
1791
+ group: string;
1792
+ optInputs: {
1793
+ name: string;
1794
+ type: string;
1795
+ displayName: string;
1796
+ defaultValue: any;
1797
+ hint: string;
1798
+ normName: string;
1799
+ }[];
1800
+ }[] | undefined;
1801
+ interval: string;
1802
+ stoploss: number;
1803
+ exit_profit_only: boolean;
1804
+ exit_profit_offset: number;
1805
+ minimal_roi: {
1806
+ minutes: number;
1807
+ profit: number;
1808
+ }[];
1809
+ protections: {
1810
+ stop_duration_candles?: number | undefined;
1811
+ lookback_period_candles?: number | undefined;
1812
+ trade_limit?: number | undefined;
1813
+ max_allowed_drawdown?: number | undefined;
1814
+ only_per_pair?: boolean | undefined;
1815
+ enabled: boolean;
1816
+ type: string;
1817
+ method: string;
1818
+ }[];
1819
+ order_types: {
1820
+ stoploss: string;
1821
+ entry: string;
1822
+ exit: string;
1823
+ emergencysell: string;
1824
+ forcebuy: string;
1825
+ forcesell: string;
1826
+ stoploss_on_exchange: boolean;
1827
+ };
1828
+ sellwhen: {
1829
+ logic: string;
1830
+ conditions: {
1831
+ indicator: string;
1832
+ condition: string;
1833
+ compare_to: {
1834
+ type: string;
1835
+ value: any;
1836
+ };
1837
+ }[];
1838
+ };
1839
+ buywhen: {
1840
+ logic: string;
1841
+ conditions: {
1842
+ indicator: string;
1843
+ condition: string;
1844
+ compare_to: {
1845
+ type: string;
1846
+ value: any;
1847
+ };
1848
+ }[];
1849
+ };
1850
+ };
1217
1851
  name: string;
1218
- description: string;
1219
1852
  type: string;
1853
+ revision: number;
1854
+ description: string;
1855
+ timeinforce: string;
1220
1856
  } | undefined;
1221
- userId?: string | {} | undefined;
1222
- file?: any;
1223
- templateId?: string | {} | undefined;
1224
1857
  interval?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
1225
1858
  stoploss?: number | undefined;
1859
+ exit_profit_only?: boolean | undefined;
1860
+ exit_profit_offset?: number | undefined;
1861
+ indicators?: {
1862
+ hyperopt?: {
1863
+ default: number;
1864
+ max: number;
1865
+ min: number;
1866
+ type: "IntParameter" | "DecimalParameter" | "BooleanParameter" | "CategoricalParameter";
1867
+ field: string;
1868
+ space: string;
1869
+ }[] | undefined;
1870
+ name: string;
1871
+ _id: string;
1872
+ description: string;
1873
+ alias: string;
1874
+ group: string;
1875
+ optInputs: {
1876
+ name: string;
1877
+ type: string;
1878
+ displayName: string;
1879
+ defaultValue: number;
1880
+ hint: string;
1881
+ normName: string;
1882
+ }[];
1883
+ }[] | undefined;
1226
1884
  minimal_roi?: {
1227
1885
  minutes: number;
1228
1886
  profit: number;
1229
1887
  }[] | undefined;
1230
- exit_sell_signal?: boolean | undefined;
1231
- exit_profit_only?: boolean | undefined;
1232
- exit_profit_offset?: number | undefined;
1233
- timeinforce?: unknown;
1234
- order_types?: {
1235
- stoploss?: string | undefined;
1236
- entry?: "Limit" | "Market" | undefined;
1237
- exit?: "Limit" | "Market" | undefined;
1238
- emergencysell?: "Limit" | "Market" | undefined;
1239
- forcebuy?: "Limit" | "Market" | undefined;
1240
- forcesell?: "Limit" | "Market" | undefined;
1241
- stoploss_on_exchange?: boolean | undefined;
1242
- stoploss_on_exchange_interval?: number | undefined;
1243
- stoploss_on_exchange_limit_ratio?: number | undefined;
1244
- } | undefined;
1245
1888
  protections?: {
1246
1889
  stop_duration_candles?: number | undefined;
1247
- stop_duration_in_seconds?: unknown;
1248
1890
  lookback_period_candles?: unknown;
1249
1891
  trade_limit?: unknown;
1250
- required_profit?: unknown;
1251
1892
  max_allowed_drawdown?: unknown;
1252
1893
  only_per_pair?: unknown;
1894
+ stop_duration_in_seconds?: unknown;
1895
+ required_profit?: unknown;
1253
1896
  enabled: boolean;
1254
- method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
1255
1897
  type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
1898
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
1256
1899
  }[] | undefined;
1257
- buywhen?: {
1258
- value?: number | undefined;
1259
- indicator2?: string | undefined;
1260
- type: "number" | "indicator";
1900
+ order_types?: {
1901
+ stoploss?: string | undefined;
1902
+ entry?: "Limit" | "Market" | undefined;
1903
+ exit?: "Limit" | "Market" | undefined;
1904
+ emergencysell?: "Limit" | "Market" | undefined;
1905
+ forcebuy?: "Limit" | "Market" | undefined;
1906
+ forcesell?: "Limit" | "Market" | undefined;
1907
+ stoploss_on_exchange?: boolean | undefined;
1908
+ stoploss_on_exchange_interval?: number | undefined;
1909
+ stoploss_on_exchange_limit_ratio?: number | undefined;
1910
+ } | undefined;
1911
+ sellwhen?: {
1912
+ logic: "AND" | "OR";
1913
+ conditions: (/*elided*/ any | {
1914
+ indicator: string;
1915
+ condition: ">" | "<" | "==" | "crossed_above" | "crossed_below" | "crossed";
1916
+ compare_to: {
1917
+ type: "number" | "indicator";
1918
+ value: string | number;
1919
+ };
1920
+ })[];
1921
+ } | {
1261
1922
  indicator: string;
1262
1923
  condition: ">" | "<" | "==";
1263
- }[] | undefined;
1264
- sellwhen?: {
1265
- value?: number | undefined;
1266
- indicator2?: string | undefined;
1267
- type: "number" | "indicator";
1924
+ compare_to: {
1925
+ type: "number" | "indicator";
1926
+ value: string | number;
1927
+ };
1928
+ } | undefined;
1929
+ buywhen?: {
1930
+ logic: "AND" | "OR";
1931
+ conditions: (/*elided*/ any | {
1932
+ indicator: string;
1933
+ condition: ">" | "<" | "==";
1934
+ compare_to: {
1935
+ type: "number" | "indicator";
1936
+ value: string | number;
1937
+ };
1938
+ })[];
1939
+ } | {
1268
1940
  indicator: string;
1269
1941
  condition: ">" | "<" | "==";
1270
- }[] | undefined;
1271
- indicators?: unknown[] | undefined;
1272
- code?: unknown;
1942
+ compare_to: {
1943
+ type: "number" | "indicator";
1944
+ value: string | number;
1945
+ };
1946
+ } | undefined;
1947
+ timeinforce?: unknown;
1273
1948
  results?: unknown;
1949
+ file?: any;
1950
+ templateId?: string | {} | undefined;
1951
+ trailing?: {
1952
+ trailing_stop?: boolean | undefined;
1953
+ trailing_stop_positive?: number | undefined;
1954
+ trailing_stop_positive_offset?: number | undefined;
1955
+ trailing_only_offset_is_reached?: boolean | undefined;
1956
+ } | undefined;
1957
+ exit_sell_signal?: boolean | undefined;
1958
+ code?: unknown;
1274
1959
  configured?: boolean | undefined;
1275
1960
  name: any;
1276
1961
  'strategies/indicators': any;
1277
1962
  }, HookContext<StrategiesService<import("./strategies.class").StrategiesParams>>>;
1278
1963
  export declare const strategiesPatchSchema: import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TObject<{
1279
- _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
1280
- userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
1964
+ _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
1965
+ userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
1281
1966
  file: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
1282
1967
  templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
1283
1968
  name: import("@feathersjs/typebox").TAny;
1969
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1284
1970
  interval: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"1m">, import("@feathersjs/typebox").TLiteral<"5m">, import("@feathersjs/typebox").TLiteral<"30m">, import("@feathersjs/typebox").TLiteral<"2h">, import("@feathersjs/typebox").TLiteral<"6h">, import("@feathersjs/typebox").TLiteral<"12h">, import("@feathersjs/typebox").TLiteral<"1d">, import("@feathersjs/typebox").TLiteral<"1w">]>>;
1285
1971
  stoploss: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1286
1972
  minimal_roi: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1287
1973
  minutes: import("@feathersjs/typebox").TNumber;
1288
1974
  profit: import("@feathersjs/typebox").TNumber;
1289
1975
  }>>>;
1976
+ trailing: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
1977
+ trailing_stop: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1978
+ trailing_stop_positive: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1979
+ trailing_stop_positive_offset: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1980
+ trailing_only_offset_is_reached: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1981
+ }>>;
1290
1982
  exit_sell_signal: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1291
1983
  exit_profit_only: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1292
1984
  exit_profit_offset: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
@@ -1314,21 +2006,65 @@ export declare const strategiesPatchSchema: import("@feathersjs/typebox").TParti
1314
2006
  max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
1315
2007
  only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
1316
2008
  }>>>;
1317
- buywhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2009
+ buywhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TRecursive<import("@feathersjs/typebox").TObject<{
2010
+ logic: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"AND">, import("@feathersjs/typebox").TLiteral<"OR">]>;
2011
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TSelf, import("@feathersjs/typebox").TObject<{
2012
+ indicator: import("@feathersjs/typebox").TString<string>;
2013
+ condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
2014
+ compare_to: import("@feathersjs/typebox").TObject<{
2015
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
2016
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
2017
+ }>;
2018
+ }>]>>;
2019
+ }>>, import("@feathersjs/typebox").TObject<{
1318
2020
  indicator: import("@feathersjs/typebox").TString<string>;
1319
2021
  condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
1320
- type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
1321
- value: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1322
- indicator2: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1323
- }>>>;
1324
- sellwhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2022
+ compare_to: import("@feathersjs/typebox").TObject<{
2023
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
2024
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
2025
+ }>;
2026
+ }>]>>;
2027
+ sellwhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TRecursive<import("@feathersjs/typebox").TObject<{
2028
+ logic: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"AND">, import("@feathersjs/typebox").TLiteral<"OR">]>;
2029
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TSelf, import("@feathersjs/typebox").TObject<{
2030
+ indicator: import("@feathersjs/typebox").TString<string>;
2031
+ condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">, import("@feathersjs/typebox").TLiteral<"crossed_above">, import("@feathersjs/typebox").TLiteral<"crossed_below">, import("@feathersjs/typebox").TLiteral<"crossed">]>;
2032
+ compare_to: import("@feathersjs/typebox").TObject<{
2033
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
2034
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
2035
+ }>;
2036
+ }>]>>;
2037
+ }>>, import("@feathersjs/typebox").TObject<{
1325
2038
  indicator: import("@feathersjs/typebox").TString<string>;
1326
2039
  condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
1327
- type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
1328
- value: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1329
- indicator2: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
2040
+ compare_to: import("@feathersjs/typebox").TObject<{
2041
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
2042
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
2043
+ }>;
2044
+ }>]>>;
2045
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2046
+ _id: import("@feathersjs/typebox").TString<string>;
2047
+ alias: import("@feathersjs/typebox").TString<string>;
2048
+ name: import("@feathersjs/typebox").TString<string>;
2049
+ group: import("@feathersjs/typebox").TString<string>;
2050
+ description: import("@feathersjs/typebox").TString<string>;
2051
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2052
+ name: import("@feathersjs/typebox").TString<string>;
2053
+ displayName: import("@feathersjs/typebox").TString<string>;
2054
+ defaultValue: import("@feathersjs/typebox").TNumber;
2055
+ hint: import("@feathersjs/typebox").TString<string>;
2056
+ type: import("@feathersjs/typebox").TString<string>;
2057
+ normName: import("@feathersjs/typebox").TString<string>;
2058
+ }>>;
2059
+ hyperopt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2060
+ field: import("@feathersjs/typebox").TString<string>;
2061
+ space: import("@feathersjs/typebox").TString<string>;
2062
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"IntParameter">, import("@feathersjs/typebox").TLiteral<"DecimalParameter">, import("@feathersjs/typebox").TLiteral<"BooleanParameter">, import("@feathersjs/typebox").TLiteral<"CategoricalParameter">]>;
2063
+ min: import("@feathersjs/typebox").TInteger;
2064
+ max: import("@feathersjs/typebox").TInteger;
2065
+ default: import("@feathersjs/typebox").TInteger;
2066
+ }>>>;
1330
2067
  }>>>;
1331
- indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>>;
1332
2068
  code: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
1333
2069
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
1334
2070
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
@@ -1522,16 +2258,103 @@ export declare const strategiesPatchSchema: import("@feathersjs/typebox").TParti
1522
2258
  _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
1523
2259
  name: import("@feathersjs/typebox").TString<string>;
1524
2260
  type: import("@feathersjs/typebox").TString<string>;
2261
+ revision: import("@feathersjs/typebox").TNumber;
1525
2262
  description: import("@feathersjs/typebox").TString<string>;
1526
2263
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
1527
2264
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
1528
- values: import("@feathersjs/typebox").TAny;
2265
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
2266
+ values: import("@feathersjs/typebox").TObject<{
2267
+ interval: import("@feathersjs/typebox").TString<string>;
2268
+ stoploss: import("@feathersjs/typebox").TNumber;
2269
+ exit_profit_only: import("@feathersjs/typebox").TBoolean;
2270
+ exit_profit_offset: import("@feathersjs/typebox").TNumber;
2271
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2272
+ _id: import("@feathersjs/typebox").TString<string>;
2273
+ alias: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
2274
+ name: import("@feathersjs/typebox").TString<string>;
2275
+ group: import("@feathersjs/typebox").TString<string>;
2276
+ description: import("@feathersjs/typebox").TString<string>;
2277
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2278
+ name: import("@feathersjs/typebox").TString<string>;
2279
+ displayName: import("@feathersjs/typebox").TString<string>;
2280
+ defaultValue: import("@feathersjs/typebox").TAny;
2281
+ hint: import("@feathersjs/typebox").TString<string>;
2282
+ type: import("@feathersjs/typebox").TString<string>;
2283
+ normName: import("@feathersjs/typebox").TString<string>;
2284
+ }>>;
2285
+ }>>>;
2286
+ minimal_roi: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2287
+ minutes: import("@feathersjs/typebox").TNumber;
2288
+ profit: import("@feathersjs/typebox").TNumber;
2289
+ }>>;
2290
+ protections: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2291
+ enabled: import("@feathersjs/typebox").TBoolean;
2292
+ type: import("@feathersjs/typebox").TString<string>;
2293
+ method: import("@feathersjs/typebox").TString<string>;
2294
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
2295
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
2296
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
2297
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
2298
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
2299
+ }>>;
2300
+ order_types: import("@feathersjs/typebox").TObject<{
2301
+ entry: import("@feathersjs/typebox").TString<string>;
2302
+ exit: import("@feathersjs/typebox").TString<string>;
2303
+ emergencysell: import("@feathersjs/typebox").TString<string>;
2304
+ forcebuy: import("@feathersjs/typebox").TString<string>;
2305
+ forcesell: import("@feathersjs/typebox").TString<string>;
2306
+ stoploss: import("@feathersjs/typebox").TString<string>;
2307
+ stoploss_on_exchange: import("@feathersjs/typebox").TBoolean;
2308
+ }>;
2309
+ sellwhen: import("@feathersjs/typebox").TObject<{
2310
+ logic: import("@feathersjs/typebox").TString<string>;
2311
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2312
+ indicator: import("@feathersjs/typebox").TString<string>;
2313
+ condition: import("@feathersjs/typebox").TString<string>;
2314
+ compare_to: import("@feathersjs/typebox").TObject<{
2315
+ type: import("@feathersjs/typebox").TString<string>;
2316
+ value: import("@feathersjs/typebox").TAny;
2317
+ }>;
2318
+ }>>;
2319
+ }>;
2320
+ buywhen: import("@feathersjs/typebox").TObject<{
2321
+ logic: import("@feathersjs/typebox").TString<string>;
2322
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2323
+ indicator: import("@feathersjs/typebox").TString<string>;
2324
+ condition: import("@feathersjs/typebox").TString<string>;
2325
+ compare_to: import("@feathersjs/typebox").TObject<{
2326
+ type: import("@feathersjs/typebox").TString<string>;
2327
+ value: import("@feathersjs/typebox").TAny;
2328
+ }>;
2329
+ }>>;
2330
+ }>;
2331
+ }>;
2332
+ timeinforce: import("@feathersjs/typebox").TString<string>;
2333
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
2334
+ enabled: import("@feathersjs/typebox").TBoolean;
2335
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
2336
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
2337
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
2338
+ }>>;
2339
+ if: import("@feathersjs/typebox").TObject<{
2340
+ hyperopt: import("@feathersjs/typebox").TObject<{
2341
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2342
+ field: import("@feathersjs/typebox").TString<string>;
2343
+ operator: import("@feathersjs/typebox").TString<string>;
2344
+ compare: import("@feathersjs/typebox").TAny;
2345
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
2346
+ }>>;
2347
+ }>;
2348
+ }>;
2349
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
2350
+ }>>;
1529
2351
  }>>>;
1530
2352
  'strategies/indicators': import("@feathersjs/typebox").TAny;
1531
2353
  }>>;
1532
2354
  export type StrategiesPatch = Static<typeof strategiesPatchSchema>;
1533
2355
  export declare const strategiesPatchValidator: import("@feathersjs/schema").Validator<any, any>;
1534
2356
  export declare const strategiesPatchResolver: import("@feathersjs/schema").Resolver<{
2357
+ public?: boolean | undefined;
1535
2358
  traders?: {
1536
2359
  telegram?: {
1537
2360
  access_hash?: string | null | undefined;
@@ -1569,7 +2392,6 @@ export declare const strategiesPatchResolver: import("@feathersjs/schema").Resol
1569
2392
  balance_dust_level: number;
1570
2393
  } | undefined;
1571
2394
  _id?: string | {} | undefined;
1572
- running?: boolean | undefined;
1573
2395
  plugins?: {
1574
2396
  number_assets?: number | undefined;
1575
2397
  refresh_period?: number | undefined;
@@ -1586,6 +2408,7 @@ export declare const strategiesPatchResolver: import("@feathersjs/schema").Resol
1586
2408
  exit: number;
1587
2409
  } | undefined;
1588
2410
  cancel_open_orders_on_exit?: boolean | undefined;
2411
+ running?: boolean | undefined;
1589
2412
  tradable_balance_ratio?: number | undefined;
1590
2413
  webhook?: {
1591
2414
  url: string;
@@ -1670,15 +2493,16 @@ export declare const strategiesPatchResolver: import("@feathersjs/schema").Resol
1670
2493
  host: string;
1671
2494
  name: any;
1672
2495
  provider: "docker";
1673
- strategies: string[];
1674
2496
  secret: string;
1675
2497
  key: string;
1676
2498
  createdAt: any;
1677
2499
  updatedAt: any;
1678
- "traders/pods": any;
1679
- userId: any;
1680
2500
  connected: boolean;
1681
2501
  which: string;
2502
+ userId: any;
2503
+ strategy: any;
2504
+ strategies: string[];
2505
+ "traders/pods": any;
1682
2506
  exchange: any;
1683
2507
  exchangeId: any;
1684
2508
  stake_currency: string;
@@ -1687,7 +2511,6 @@ export declare const strategiesPatchResolver: import("@feathersjs/schema").Resol
1687
2511
  handling: string;
1688
2512
  initial_state: string;
1689
2513
  pairlists: any;
1690
- strategy: any;
1691
2514
  strategyId: string | {};
1692
2515
  entry_pricing: {
1693
2516
  price_side?: "ask" | "bid" | "same" | "other" | undefined;
@@ -1719,28 +2542,145 @@ export declare const strategiesPatchResolver: import("@feathersjs/schema").Resol
1719
2542
  _id?: string | {} | undefined;
1720
2543
  createdAt?: any;
1721
2544
  updatedAt?: any;
2545
+ userId?: string | {} | undefined;
1722
2546
  'strategies/templates'?: {
2547
+ public?: boolean | undefined;
1723
2548
  _id?: string | {} | undefined;
1724
2549
  createdAt?: any;
1725
2550
  updatedAt?: any;
1726
- values: any;
2551
+ optimize?: {
2552
+ best?: {
2553
+ by: "total_profit" | "sharpe";
2554
+ direction: "max" | "min";
2555
+ } | undefined;
2556
+ enabled: boolean;
2557
+ then: {}[];
2558
+ if: {
2559
+ hyperopt: {
2560
+ results: {
2561
+ type?: string | undefined;
2562
+ field: string;
2563
+ operator: string;
2564
+ compare: any;
2565
+ }[];
2566
+ };
2567
+ };
2568
+ } | undefined;
2569
+ values: {
2570
+ indicators?: {
2571
+ alias?: string | undefined;
2572
+ name: string;
2573
+ _id: string;
2574
+ description: string;
2575
+ group: string;
2576
+ optInputs: {
2577
+ name: string;
2578
+ type: string;
2579
+ displayName: string;
2580
+ defaultValue: any;
2581
+ hint: string;
2582
+ normName: string;
2583
+ }[];
2584
+ }[] | undefined;
2585
+ interval: string;
2586
+ stoploss: number;
2587
+ exit_profit_only: boolean;
2588
+ exit_profit_offset: number;
2589
+ minimal_roi: {
2590
+ minutes: number;
2591
+ profit: number;
2592
+ }[];
2593
+ protections: {
2594
+ stop_duration_candles?: number | undefined;
2595
+ lookback_period_candles?: number | undefined;
2596
+ trade_limit?: number | undefined;
2597
+ max_allowed_drawdown?: number | undefined;
2598
+ only_per_pair?: boolean | undefined;
2599
+ enabled: boolean;
2600
+ type: string;
2601
+ method: string;
2602
+ }[];
2603
+ order_types: {
2604
+ stoploss: string;
2605
+ entry: string;
2606
+ exit: string;
2607
+ emergencysell: string;
2608
+ forcebuy: string;
2609
+ forcesell: string;
2610
+ stoploss_on_exchange: boolean;
2611
+ };
2612
+ sellwhen: {
2613
+ logic: string;
2614
+ conditions: {
2615
+ indicator: string;
2616
+ condition: string;
2617
+ compare_to: {
2618
+ type: string;
2619
+ value: any;
2620
+ };
2621
+ }[];
2622
+ };
2623
+ buywhen: {
2624
+ logic: string;
2625
+ conditions: {
2626
+ indicator: string;
2627
+ condition: string;
2628
+ compare_to: {
2629
+ type: string;
2630
+ value: any;
2631
+ };
2632
+ }[];
2633
+ };
2634
+ };
1727
2635
  name: string;
1728
- description: string;
1729
2636
  type: string;
2637
+ revision: number;
2638
+ description: string;
2639
+ timeinforce: string;
1730
2640
  } | undefined;
1731
- userId?: string | {} | undefined;
1732
- file?: any;
1733
- templateId?: string | {} | undefined;
1734
2641
  interval?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
1735
2642
  stoploss?: number | undefined;
2643
+ exit_profit_only?: boolean | undefined;
2644
+ exit_profit_offset?: number | undefined;
2645
+ indicators?: {
2646
+ hyperopt?: {
2647
+ default: number;
2648
+ max: number;
2649
+ min: number;
2650
+ type: "IntParameter" | "DecimalParameter" | "BooleanParameter" | "CategoricalParameter";
2651
+ field: string;
2652
+ space: string;
2653
+ }[] | undefined;
2654
+ name: string;
2655
+ _id: string;
2656
+ description: string;
2657
+ alias: string;
2658
+ group: string;
2659
+ optInputs: {
2660
+ name: string;
2661
+ type: string;
2662
+ displayName: string;
2663
+ defaultValue: number;
2664
+ hint: string;
2665
+ normName: string;
2666
+ }[];
2667
+ }[] | undefined;
1736
2668
  minimal_roi?: {
1737
2669
  minutes: number;
1738
2670
  profit: number;
1739
2671
  }[] | undefined;
1740
- exit_sell_signal?: boolean | undefined;
1741
- exit_profit_only?: boolean | undefined;
1742
- exit_profit_offset?: number | undefined;
1743
- timeinforce?: unknown;
2672
+ protections?: {
2673
+ stop_duration_candles?: number | undefined;
2674
+ lookback_period_candles?: unknown;
2675
+ trade_limit?: unknown;
2676
+ max_allowed_drawdown?: unknown;
2677
+ only_per_pair?: unknown;
2678
+ stop_duration_in_seconds?: unknown;
2679
+ required_profit?: unknown;
2680
+ enabled: boolean;
2681
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
2682
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
2683
+ }[] | undefined;
1744
2684
  order_types?: {
1745
2685
  stoploss?: string | undefined;
1746
2686
  entry?: "Limit" | "Market" | undefined;
@@ -1752,51 +2692,77 @@ export declare const strategiesPatchResolver: import("@feathersjs/schema").Resol
1752
2692
  stoploss_on_exchange_interval?: number | undefined;
1753
2693
  stoploss_on_exchange_limit_ratio?: number | undefined;
1754
2694
  } | undefined;
1755
- protections?: {
1756
- stop_duration_candles?: number | undefined;
1757
- stop_duration_in_seconds?: unknown;
1758
- lookback_period_candles?: unknown;
1759
- trade_limit?: unknown;
1760
- required_profit?: unknown;
1761
- max_allowed_drawdown?: unknown;
1762
- only_per_pair?: unknown;
1763
- enabled: boolean;
1764
- method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
1765
- type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
1766
- }[] | undefined;
1767
- buywhen?: {
1768
- value?: number | undefined;
1769
- indicator2?: string | undefined;
1770
- type: "number" | "indicator";
2695
+ sellwhen?: {
2696
+ logic: "AND" | "OR";
2697
+ conditions: (/*elided*/ any | {
2698
+ indicator: string;
2699
+ condition: ">" | "<" | "==" | "crossed_above" | "crossed_below" | "crossed";
2700
+ compare_to: {
2701
+ type: "number" | "indicator";
2702
+ value: string | number;
2703
+ };
2704
+ })[];
2705
+ } | {
1771
2706
  indicator: string;
1772
2707
  condition: ">" | "<" | "==";
1773
- }[] | undefined;
1774
- sellwhen?: {
1775
- value?: number | undefined;
1776
- indicator2?: string | undefined;
1777
- type: "number" | "indicator";
2708
+ compare_to: {
2709
+ type: "number" | "indicator";
2710
+ value: string | number;
2711
+ };
2712
+ } | undefined;
2713
+ buywhen?: {
2714
+ logic: "AND" | "OR";
2715
+ conditions: (/*elided*/ any | {
2716
+ indicator: string;
2717
+ condition: ">" | "<" | "==";
2718
+ compare_to: {
2719
+ type: "number" | "indicator";
2720
+ value: string | number;
2721
+ };
2722
+ })[];
2723
+ } | {
1778
2724
  indicator: string;
1779
2725
  condition: ">" | "<" | "==";
1780
- }[] | undefined;
1781
- indicators?: unknown[] | undefined;
1782
- code?: unknown;
2726
+ compare_to: {
2727
+ type: "number" | "indicator";
2728
+ value: string | number;
2729
+ };
2730
+ } | undefined;
2731
+ timeinforce?: unknown;
1783
2732
  results?: unknown;
2733
+ file?: any;
2734
+ templateId?: string | {} | undefined;
2735
+ trailing?: {
2736
+ trailing_stop?: boolean | undefined;
2737
+ trailing_stop_positive?: number | undefined;
2738
+ trailing_stop_positive_offset?: number | undefined;
2739
+ trailing_only_offset_is_reached?: boolean | undefined;
2740
+ } | undefined;
2741
+ exit_sell_signal?: boolean | undefined;
2742
+ code?: unknown;
1784
2743
  configured?: boolean | undefined;
1785
2744
  name: any;
1786
2745
  'strategies/indicators': any;
1787
2746
  }, HookContext<StrategiesService<import("./strategies.class").StrategiesParams>>>;
1788
2747
  export declare const strategiesQueryProperties: import("@feathersjs/typebox").TPick<import("@feathersjs/typebox").TObject<{
1789
- _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
1790
- userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2748
+ _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
2749
+ userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
1791
2750
  file: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
1792
2751
  templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
1793
2752
  name: import("@feathersjs/typebox").TAny;
2753
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1794
2754
  interval: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"1m">, import("@feathersjs/typebox").TLiteral<"5m">, import("@feathersjs/typebox").TLiteral<"30m">, import("@feathersjs/typebox").TLiteral<"2h">, import("@feathersjs/typebox").TLiteral<"6h">, import("@feathersjs/typebox").TLiteral<"12h">, import("@feathersjs/typebox").TLiteral<"1d">, import("@feathersjs/typebox").TLiteral<"1w">]>>;
1795
2755
  stoploss: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1796
2756
  minimal_roi: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
1797
2757
  minutes: import("@feathersjs/typebox").TNumber;
1798
2758
  profit: import("@feathersjs/typebox").TNumber;
1799
2759
  }>>>;
2760
+ trailing: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
2761
+ trailing_stop: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
2762
+ trailing_stop_positive: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
2763
+ trailing_stop_positive_offset: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
2764
+ trailing_only_offset_is_reached: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
2765
+ }>>;
1800
2766
  exit_sell_signal: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1801
2767
  exit_profit_only: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
1802
2768
  exit_profit_offset: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
@@ -1824,21 +2790,65 @@ export declare const strategiesQueryProperties: import("@feathersjs/typebox").TP
1824
2790
  max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
1825
2791
  only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
1826
2792
  }>>>;
1827
- buywhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2793
+ buywhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TRecursive<import("@feathersjs/typebox").TObject<{
2794
+ logic: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"AND">, import("@feathersjs/typebox").TLiteral<"OR">]>;
2795
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TSelf, import("@feathersjs/typebox").TObject<{
2796
+ indicator: import("@feathersjs/typebox").TString<string>;
2797
+ condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
2798
+ compare_to: import("@feathersjs/typebox").TObject<{
2799
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
2800
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
2801
+ }>;
2802
+ }>]>>;
2803
+ }>>, import("@feathersjs/typebox").TObject<{
1828
2804
  indicator: import("@feathersjs/typebox").TString<string>;
1829
2805
  condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
1830
- type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
1831
- value: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1832
- indicator2: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
1833
- }>>>;
1834
- sellwhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2806
+ compare_to: import("@feathersjs/typebox").TObject<{
2807
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
2808
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
2809
+ }>;
2810
+ }>]>>;
2811
+ sellwhen: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TRecursive<import("@feathersjs/typebox").TObject<{
2812
+ logic: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"AND">, import("@feathersjs/typebox").TLiteral<"OR">]>;
2813
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TSelf, import("@feathersjs/typebox").TObject<{
2814
+ indicator: import("@feathersjs/typebox").TString<string>;
2815
+ condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">, import("@feathersjs/typebox").TLiteral<"crossed_above">, import("@feathersjs/typebox").TLiteral<"crossed_below">, import("@feathersjs/typebox").TLiteral<"crossed">]>;
2816
+ compare_to: import("@feathersjs/typebox").TObject<{
2817
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
2818
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
2819
+ }>;
2820
+ }>]>>;
2821
+ }>>, import("@feathersjs/typebox").TObject<{
1835
2822
  indicator: import("@feathersjs/typebox").TString<string>;
1836
2823
  condition: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<">">, import("@feathersjs/typebox").TLiteral<"<">, import("@feathersjs/typebox").TLiteral<"==">]>;
1837
- type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
1838
- value: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
1839
- indicator2: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
2824
+ compare_to: import("@feathersjs/typebox").TObject<{
2825
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"number">, import("@feathersjs/typebox").TLiteral<"indicator">]>;
2826
+ value: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TString<string>]>;
2827
+ }>;
2828
+ }>]>>;
2829
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2830
+ _id: import("@feathersjs/typebox").TString<string>;
2831
+ alias: import("@feathersjs/typebox").TString<string>;
2832
+ name: import("@feathersjs/typebox").TString<string>;
2833
+ group: import("@feathersjs/typebox").TString<string>;
2834
+ description: import("@feathersjs/typebox").TString<string>;
2835
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2836
+ name: import("@feathersjs/typebox").TString<string>;
2837
+ displayName: import("@feathersjs/typebox").TString<string>;
2838
+ defaultValue: import("@feathersjs/typebox").TNumber;
2839
+ hint: import("@feathersjs/typebox").TString<string>;
2840
+ type: import("@feathersjs/typebox").TString<string>;
2841
+ normName: import("@feathersjs/typebox").TString<string>;
2842
+ }>>;
2843
+ hyperopt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
2844
+ field: import("@feathersjs/typebox").TString<string>;
2845
+ space: import("@feathersjs/typebox").TString<string>;
2846
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"IntParameter">, import("@feathersjs/typebox").TLiteral<"DecimalParameter">, import("@feathersjs/typebox").TLiteral<"BooleanParameter">, import("@feathersjs/typebox").TLiteral<"CategoricalParameter">]>;
2847
+ min: import("@feathersjs/typebox").TInteger;
2848
+ max: import("@feathersjs/typebox").TInteger;
2849
+ default: import("@feathersjs/typebox").TInteger;
2850
+ }>>>;
1840
2851
  }>>>;
1841
- indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>>;
1842
2852
  code: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
1843
2853
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
1844
2854
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
@@ -2032,13 +3042,99 @@ export declare const strategiesQueryProperties: import("@feathersjs/typebox").TP
2032
3042
  _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2033
3043
  name: import("@feathersjs/typebox").TString<string>;
2034
3044
  type: import("@feathersjs/typebox").TString<string>;
3045
+ revision: import("@feathersjs/typebox").TNumber;
2035
3046
  description: import("@feathersjs/typebox").TString<string>;
2036
3047
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
2037
3048
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TAny>;
2038
- values: import("@feathersjs/typebox").TAny;
3049
+ public: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
3050
+ values: import("@feathersjs/typebox").TObject<{
3051
+ interval: import("@feathersjs/typebox").TString<string>;
3052
+ stoploss: import("@feathersjs/typebox").TNumber;
3053
+ exit_profit_only: import("@feathersjs/typebox").TBoolean;
3054
+ exit_profit_offset: import("@feathersjs/typebox").TNumber;
3055
+ indicators: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3056
+ _id: import("@feathersjs/typebox").TString<string>;
3057
+ alias: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
3058
+ name: import("@feathersjs/typebox").TString<string>;
3059
+ group: import("@feathersjs/typebox").TString<string>;
3060
+ description: import("@feathersjs/typebox").TString<string>;
3061
+ optInputs: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3062
+ name: import("@feathersjs/typebox").TString<string>;
3063
+ displayName: import("@feathersjs/typebox").TString<string>;
3064
+ defaultValue: import("@feathersjs/typebox").TAny;
3065
+ hint: import("@feathersjs/typebox").TString<string>;
3066
+ type: import("@feathersjs/typebox").TString<string>;
3067
+ normName: import("@feathersjs/typebox").TString<string>;
3068
+ }>>;
3069
+ }>>>;
3070
+ minimal_roi: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3071
+ minutes: import("@feathersjs/typebox").TNumber;
3072
+ profit: import("@feathersjs/typebox").TNumber;
3073
+ }>>;
3074
+ protections: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3075
+ enabled: import("@feathersjs/typebox").TBoolean;
3076
+ type: import("@feathersjs/typebox").TString<string>;
3077
+ method: import("@feathersjs/typebox").TString<string>;
3078
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3079
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3080
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3081
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3082
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
3083
+ }>>;
3084
+ order_types: import("@feathersjs/typebox").TObject<{
3085
+ entry: import("@feathersjs/typebox").TString<string>;
3086
+ exit: import("@feathersjs/typebox").TString<string>;
3087
+ emergencysell: import("@feathersjs/typebox").TString<string>;
3088
+ forcebuy: import("@feathersjs/typebox").TString<string>;
3089
+ forcesell: import("@feathersjs/typebox").TString<string>;
3090
+ stoploss: import("@feathersjs/typebox").TString<string>;
3091
+ stoploss_on_exchange: import("@feathersjs/typebox").TBoolean;
3092
+ }>;
3093
+ sellwhen: import("@feathersjs/typebox").TObject<{
3094
+ logic: import("@feathersjs/typebox").TString<string>;
3095
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3096
+ indicator: import("@feathersjs/typebox").TString<string>;
3097
+ condition: import("@feathersjs/typebox").TString<string>;
3098
+ compare_to: import("@feathersjs/typebox").TObject<{
3099
+ type: import("@feathersjs/typebox").TString<string>;
3100
+ value: import("@feathersjs/typebox").TAny;
3101
+ }>;
3102
+ }>>;
3103
+ }>;
3104
+ buywhen: import("@feathersjs/typebox").TObject<{
3105
+ logic: import("@feathersjs/typebox").TString<string>;
3106
+ conditions: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3107
+ indicator: import("@feathersjs/typebox").TString<string>;
3108
+ condition: import("@feathersjs/typebox").TString<string>;
3109
+ compare_to: import("@feathersjs/typebox").TObject<{
3110
+ type: import("@feathersjs/typebox").TString<string>;
3111
+ value: import("@feathersjs/typebox").TAny;
3112
+ }>;
3113
+ }>>;
3114
+ }>;
3115
+ }>;
3116
+ timeinforce: import("@feathersjs/typebox").TString<string>;
3117
+ optimize: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
3118
+ enabled: import("@feathersjs/typebox").TBoolean;
3119
+ best: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
3120
+ by: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"total_profit">, import("@feathersjs/typebox").TLiteral<"sharpe">]>;
3121
+ direction: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"max">, import("@feathersjs/typebox").TLiteral<"min">]>;
3122
+ }>>;
3123
+ if: import("@feathersjs/typebox").TObject<{
3124
+ hyperopt: import("@feathersjs/typebox").TObject<{
3125
+ results: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3126
+ field: import("@feathersjs/typebox").TString<string>;
3127
+ operator: import("@feathersjs/typebox").TString<string>;
3128
+ compare: import("@feathersjs/typebox").TAny;
3129
+ type: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TString<string>>;
3130
+ }>>;
3131
+ }>;
3132
+ }>;
3133
+ then: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{}>>;
3134
+ }>>;
2039
3135
  }>>>;
2040
3136
  'strategies/indicators': import("@feathersjs/typebox").TAny;
2041
- }>, ["_id", "name", "userId", "templateId", "createdAt", "updatedAt", "configured", "interval", "stoploss"]>;
3137
+ }>, ["_id", "name", "userId", "templateId", "createdAt", "updatedAt", "configured", "interval", "stoploss", "minimal_roi", "protections"]>;
2042
3138
  export declare const strategiesQuerySchema: import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TObject<{
2043
3139
  $limit: import("@feathersjs/typebox").TNumber;
2044
3140
  $skip: import("@feathersjs/typebox").TNumber;
@@ -2048,12 +3144,14 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2048
3144
  createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
2049
3145
  updatedAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
2050
3146
  userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
2051
- templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
2052
3147
  interval: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
2053
3148
  stoploss: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
3149
+ minimal_roi: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
3150
+ protections: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
3151
+ templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
2054
3152
  configured: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
2055
3153
  }>;
2056
- $select: import("@feathersjs/typebox").TUnsafe<("name" | "_id" | "createdAt" | "updatedAt" | "userId" | "templateId" | "interval" | "stoploss" | "configured")[]>;
3154
+ $select: import("@feathersjs/typebox").TUnsafe<("name" | "_id" | "createdAt" | "updatedAt" | "userId" | "interval" | "stoploss" | "minimal_roi" | "protections" | "templateId" | "configured")[]>;
2057
3155
  $and: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
2058
3156
  name: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TAny, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2059
3157
  $gt: import("@feathersjs/typebox").TAny;
@@ -2066,14 +3164,14 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2066
3164
  }>, import("@feathersjs/typebox").TObject<{
2067
3165
  [key: string]: import("@feathersjs/typebox").TSchema;
2068
3166
  } | undefined>]>>]>>;
2069
- _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2070
- $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2071
- $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2072
- $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2073
- $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2074
- $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2075
- $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2076
- $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
3167
+ _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3168
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3169
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3170
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3171
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3172
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3173
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3174
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
2077
3175
  }>, import("@feathersjs/typebox").TObject<{
2078
3176
  [key: string]: import("@feathersjs/typebox").TSchema;
2079
3177
  } | undefined>]>>]>>;
@@ -2099,18 +3197,7 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2099
3197
  }>, import("@feathersjs/typebox").TObject<{
2100
3198
  [key: string]: import("@feathersjs/typebox").TSchema;
2101
3199
  } | undefined>]>>]>>;
2102
- userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2103
- $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2104
- $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2105
- $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2106
- $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2107
- $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2108
- $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2109
- $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2110
- }>, import("@feathersjs/typebox").TObject<{
2111
- [key: string]: import("@feathersjs/typebox").TSchema;
2112
- } | undefined>]>>]>>;
2113
- templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3200
+ userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2114
3201
  $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
2115
3202
  $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
2116
3203
  $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
@@ -2143,6 +3230,179 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2143
3230
  }>, import("@feathersjs/typebox").TObject<{
2144
3231
  [key: string]: import("@feathersjs/typebox").TSchema;
2145
3232
  } | undefined>]>>]>>;
3233
+ minimal_roi: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3234
+ minutes: import("@feathersjs/typebox").TNumber;
3235
+ profit: import("@feathersjs/typebox").TNumber;
3236
+ }>>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3237
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3238
+ minutes: import("@feathersjs/typebox").TNumber;
3239
+ profit: import("@feathersjs/typebox").TNumber;
3240
+ }>>>;
3241
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3242
+ minutes: import("@feathersjs/typebox").TNumber;
3243
+ profit: import("@feathersjs/typebox").TNumber;
3244
+ }>>>;
3245
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3246
+ minutes: import("@feathersjs/typebox").TNumber;
3247
+ profit: import("@feathersjs/typebox").TNumber;
3248
+ }>>>;
3249
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3250
+ minutes: import("@feathersjs/typebox").TNumber;
3251
+ profit: import("@feathersjs/typebox").TNumber;
3252
+ }>>>;
3253
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3254
+ minutes: import("@feathersjs/typebox").TNumber;
3255
+ profit: import("@feathersjs/typebox").TNumber;
3256
+ }>>>;
3257
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3258
+ minutes: import("@feathersjs/typebox").TNumber;
3259
+ profit: import("@feathersjs/typebox").TNumber;
3260
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3261
+ minutes: import("@feathersjs/typebox").TNumber;
3262
+ profit: import("@feathersjs/typebox").TNumber;
3263
+ }>>>>;
3264
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3265
+ minutes: import("@feathersjs/typebox").TNumber;
3266
+ profit: import("@feathersjs/typebox").TNumber;
3267
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3268
+ minutes: import("@feathersjs/typebox").TNumber;
3269
+ profit: import("@feathersjs/typebox").TNumber;
3270
+ }>>>>;
3271
+ }>, import("@feathersjs/typebox").TObject<{
3272
+ [key: string]: import("@feathersjs/typebox").TSchema;
3273
+ } | undefined>]>>]>>;
3274
+ protections: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3275
+ enabled: import("@feathersjs/typebox").TBoolean;
3276
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3277
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3278
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3279
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3280
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3281
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3282
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3283
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3284
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3285
+ }>>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3286
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3287
+ enabled: import("@feathersjs/typebox").TBoolean;
3288
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3289
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3290
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3291
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3292
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3293
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3294
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3295
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3296
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3297
+ }>>>;
3298
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3299
+ enabled: import("@feathersjs/typebox").TBoolean;
3300
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3301
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3302
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3303
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3304
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3305
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3306
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3307
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3308
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3309
+ }>>>;
3310
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3311
+ enabled: import("@feathersjs/typebox").TBoolean;
3312
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3313
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3314
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3315
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3316
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3317
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3318
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3319
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3320
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3321
+ }>>>;
3322
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3323
+ enabled: import("@feathersjs/typebox").TBoolean;
3324
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3325
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3326
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3327
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3328
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3329
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3330
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3331
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3332
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3333
+ }>>>;
3334
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3335
+ enabled: import("@feathersjs/typebox").TBoolean;
3336
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3337
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3338
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3339
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3340
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3341
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3342
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3343
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3344
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3345
+ }>>>;
3346
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3347
+ enabled: import("@feathersjs/typebox").TBoolean;
3348
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3349
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3350
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3351
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3352
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3353
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3354
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3355
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3356
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3357
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3358
+ enabled: import("@feathersjs/typebox").TBoolean;
3359
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3360
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3361
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3362
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3363
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3364
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3365
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3366
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3367
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3368
+ }>>>>;
3369
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3370
+ enabled: import("@feathersjs/typebox").TBoolean;
3371
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3372
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3373
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3374
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3375
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3376
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3377
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3378
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3379
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3380
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3381
+ enabled: import("@feathersjs/typebox").TBoolean;
3382
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3383
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3384
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3385
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3386
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3387
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3388
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3389
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3390
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3391
+ }>>>>;
3392
+ }>, import("@feathersjs/typebox").TObject<{
3393
+ [key: string]: import("@feathersjs/typebox").TSchema;
3394
+ } | undefined>]>>]>>;
3395
+ templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3396
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3397
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3398
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3399
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3400
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3401
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3402
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3403
+ }>, import("@feathersjs/typebox").TObject<{
3404
+ [key: string]: import("@feathersjs/typebox").TSchema;
3405
+ } | undefined>]>>]>>;
2146
3406
  configured: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2147
3407
  $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
2148
3408
  $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
@@ -2167,14 +3427,14 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2167
3427
  }>, import("@feathersjs/typebox").TObject<{
2168
3428
  [key: string]: import("@feathersjs/typebox").TSchema;
2169
3429
  } | undefined>]>>]>>;
2170
- _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2171
- $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2172
- $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2173
- $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2174
- $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2175
- $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2176
- $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2177
- $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
3430
+ _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3431
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3432
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3433
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3434
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3435
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3436
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3437
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
2178
3438
  }>, import("@feathersjs/typebox").TObject<{
2179
3439
  [key: string]: import("@feathersjs/typebox").TSchema;
2180
3440
  } | undefined>]>>]>>;
@@ -2200,18 +3460,7 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2200
3460
  }>, import("@feathersjs/typebox").TObject<{
2201
3461
  [key: string]: import("@feathersjs/typebox").TSchema;
2202
3462
  } | undefined>]>>]>>;
2203
- userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2204
- $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2205
- $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2206
- $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2207
- $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2208
- $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2209
- $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2210
- $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2211
- }>, import("@feathersjs/typebox").TObject<{
2212
- [key: string]: import("@feathersjs/typebox").TSchema;
2213
- } | undefined>]>>]>>;
2214
- templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3463
+ userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2215
3464
  $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
2216
3465
  $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
2217
3466
  $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
@@ -2244,6 +3493,179 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2244
3493
  }>, import("@feathersjs/typebox").TObject<{
2245
3494
  [key: string]: import("@feathersjs/typebox").TSchema;
2246
3495
  } | undefined>]>>]>>;
3496
+ minimal_roi: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3497
+ minutes: import("@feathersjs/typebox").TNumber;
3498
+ profit: import("@feathersjs/typebox").TNumber;
3499
+ }>>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3500
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3501
+ minutes: import("@feathersjs/typebox").TNumber;
3502
+ profit: import("@feathersjs/typebox").TNumber;
3503
+ }>>>;
3504
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3505
+ minutes: import("@feathersjs/typebox").TNumber;
3506
+ profit: import("@feathersjs/typebox").TNumber;
3507
+ }>>>;
3508
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3509
+ minutes: import("@feathersjs/typebox").TNumber;
3510
+ profit: import("@feathersjs/typebox").TNumber;
3511
+ }>>>;
3512
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3513
+ minutes: import("@feathersjs/typebox").TNumber;
3514
+ profit: import("@feathersjs/typebox").TNumber;
3515
+ }>>>;
3516
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3517
+ minutes: import("@feathersjs/typebox").TNumber;
3518
+ profit: import("@feathersjs/typebox").TNumber;
3519
+ }>>>;
3520
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3521
+ minutes: import("@feathersjs/typebox").TNumber;
3522
+ profit: import("@feathersjs/typebox").TNumber;
3523
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3524
+ minutes: import("@feathersjs/typebox").TNumber;
3525
+ profit: import("@feathersjs/typebox").TNumber;
3526
+ }>>>>;
3527
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3528
+ minutes: import("@feathersjs/typebox").TNumber;
3529
+ profit: import("@feathersjs/typebox").TNumber;
3530
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3531
+ minutes: import("@feathersjs/typebox").TNumber;
3532
+ profit: import("@feathersjs/typebox").TNumber;
3533
+ }>>>>;
3534
+ }>, import("@feathersjs/typebox").TObject<{
3535
+ [key: string]: import("@feathersjs/typebox").TSchema;
3536
+ } | undefined>]>>]>>;
3537
+ protections: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3538
+ enabled: import("@feathersjs/typebox").TBoolean;
3539
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3540
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3541
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3542
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3543
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3544
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3545
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3546
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3547
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3548
+ }>>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3549
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3550
+ enabled: import("@feathersjs/typebox").TBoolean;
3551
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3552
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3553
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3554
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3555
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3556
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3557
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3558
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3559
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3560
+ }>>>;
3561
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3562
+ enabled: import("@feathersjs/typebox").TBoolean;
3563
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3564
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3565
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3566
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3567
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3568
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3569
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3570
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3571
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3572
+ }>>>;
3573
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3574
+ enabled: import("@feathersjs/typebox").TBoolean;
3575
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3576
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3577
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3578
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3579
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3580
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3581
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3582
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3583
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3584
+ }>>>;
3585
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3586
+ enabled: import("@feathersjs/typebox").TBoolean;
3587
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3588
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3589
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3590
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3591
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3592
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3593
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3594
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3595
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3596
+ }>>>;
3597
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3598
+ enabled: import("@feathersjs/typebox").TBoolean;
3599
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3600
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3601
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3602
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3603
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3604
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3605
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3606
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3607
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3608
+ }>>>;
3609
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3610
+ enabled: import("@feathersjs/typebox").TBoolean;
3611
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3612
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3613
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3614
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3615
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3616
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3617
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3618
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3619
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3620
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3621
+ enabled: import("@feathersjs/typebox").TBoolean;
3622
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3623
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3624
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3625
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3626
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3627
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3628
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3629
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3630
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3631
+ }>>>>;
3632
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3633
+ enabled: import("@feathersjs/typebox").TBoolean;
3634
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3635
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3636
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3637
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3638
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3639
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3640
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3641
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3642
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3643
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3644
+ enabled: import("@feathersjs/typebox").TBoolean;
3645
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3646
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3647
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3648
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3649
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3650
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3651
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3652
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3653
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3654
+ }>>>>;
3655
+ }>, import("@feathersjs/typebox").TObject<{
3656
+ [key: string]: import("@feathersjs/typebox").TSchema;
3657
+ } | undefined>]>>]>>;
3658
+ templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3659
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3660
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3661
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3662
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3663
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3664
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3665
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3666
+ }>, import("@feathersjs/typebox").TObject<{
3667
+ [key: string]: import("@feathersjs/typebox").TSchema;
3668
+ } | undefined>]>>]>>;
2247
3669
  configured: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2248
3670
  $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
2249
3671
  $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
@@ -2269,14 +3691,14 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2269
3691
  }>, import("@feathersjs/typebox").TObject<{
2270
3692
  [key: string]: import("@feathersjs/typebox").TSchema;
2271
3693
  } | undefined>]>>]>>;
2272
- _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2273
- $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2274
- $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2275
- $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2276
- $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2277
- $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2278
- $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2279
- $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
3694
+ _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3695
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3696
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3697
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3698
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3699
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3700
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3701
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
2280
3702
  }>, import("@feathersjs/typebox").TObject<{
2281
3703
  [key: string]: import("@feathersjs/typebox").TSchema;
2282
3704
  } | undefined>]>>]>>;
@@ -2302,18 +3724,7 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2302
3724
  }>, import("@feathersjs/typebox").TObject<{
2303
3725
  [key: string]: import("@feathersjs/typebox").TSchema;
2304
3726
  } | undefined>]>>]>>;
2305
- userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2306
- $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2307
- $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2308
- $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2309
- $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2310
- $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2311
- $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2312
- $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2313
- }>, import("@feathersjs/typebox").TObject<{
2314
- [key: string]: import("@feathersjs/typebox").TSchema;
2315
- } | undefined>]>>]>>;
2316
- templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3727
+ userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2317
3728
  $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
2318
3729
  $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
2319
3730
  $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
@@ -2346,6 +3757,179 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2346
3757
  }>, import("@feathersjs/typebox").TObject<{
2347
3758
  [key: string]: import("@feathersjs/typebox").TSchema;
2348
3759
  } | undefined>]>>]>>;
3760
+ minimal_roi: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3761
+ minutes: import("@feathersjs/typebox").TNumber;
3762
+ profit: import("@feathersjs/typebox").TNumber;
3763
+ }>>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3764
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3765
+ minutes: import("@feathersjs/typebox").TNumber;
3766
+ profit: import("@feathersjs/typebox").TNumber;
3767
+ }>>>;
3768
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3769
+ minutes: import("@feathersjs/typebox").TNumber;
3770
+ profit: import("@feathersjs/typebox").TNumber;
3771
+ }>>>;
3772
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3773
+ minutes: import("@feathersjs/typebox").TNumber;
3774
+ profit: import("@feathersjs/typebox").TNumber;
3775
+ }>>>;
3776
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3777
+ minutes: import("@feathersjs/typebox").TNumber;
3778
+ profit: import("@feathersjs/typebox").TNumber;
3779
+ }>>>;
3780
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3781
+ minutes: import("@feathersjs/typebox").TNumber;
3782
+ profit: import("@feathersjs/typebox").TNumber;
3783
+ }>>>;
3784
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3785
+ minutes: import("@feathersjs/typebox").TNumber;
3786
+ profit: import("@feathersjs/typebox").TNumber;
3787
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3788
+ minutes: import("@feathersjs/typebox").TNumber;
3789
+ profit: import("@feathersjs/typebox").TNumber;
3790
+ }>>>>;
3791
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3792
+ minutes: import("@feathersjs/typebox").TNumber;
3793
+ profit: import("@feathersjs/typebox").TNumber;
3794
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3795
+ minutes: import("@feathersjs/typebox").TNumber;
3796
+ profit: import("@feathersjs/typebox").TNumber;
3797
+ }>>>>;
3798
+ }>, import("@feathersjs/typebox").TObject<{
3799
+ [key: string]: import("@feathersjs/typebox").TSchema;
3800
+ } | undefined>]>>]>>;
3801
+ protections: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3802
+ enabled: import("@feathersjs/typebox").TBoolean;
3803
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3804
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3805
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3806
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3807
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3808
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3809
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3810
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3811
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3812
+ }>>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3813
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3814
+ enabled: import("@feathersjs/typebox").TBoolean;
3815
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3816
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3817
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3818
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3819
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3820
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3821
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3822
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3823
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3824
+ }>>>;
3825
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3826
+ enabled: import("@feathersjs/typebox").TBoolean;
3827
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3828
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3829
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3830
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3831
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3832
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3833
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3834
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3835
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3836
+ }>>>;
3837
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3838
+ enabled: import("@feathersjs/typebox").TBoolean;
3839
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3840
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3841
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3842
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3843
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3844
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3845
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3846
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3847
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3848
+ }>>>;
3849
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3850
+ enabled: import("@feathersjs/typebox").TBoolean;
3851
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3852
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3853
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3854
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3855
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3856
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3857
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3858
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3859
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3860
+ }>>>;
3861
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3862
+ enabled: import("@feathersjs/typebox").TBoolean;
3863
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3864
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3865
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3866
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3867
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3868
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3869
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3870
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3871
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3872
+ }>>>;
3873
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3874
+ enabled: import("@feathersjs/typebox").TBoolean;
3875
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3876
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3877
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3878
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3879
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3880
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3881
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3882
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3883
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3884
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3885
+ enabled: import("@feathersjs/typebox").TBoolean;
3886
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3887
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3888
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3889
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3890
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3891
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3892
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3893
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3894
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3895
+ }>>>>;
3896
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3897
+ enabled: import("@feathersjs/typebox").TBoolean;
3898
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3899
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3900
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3901
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3902
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3903
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3904
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3905
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3906
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3907
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
3908
+ enabled: import("@feathersjs/typebox").TBoolean;
3909
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
3910
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
3911
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
3912
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3913
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3914
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3915
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3916
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3917
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
3918
+ }>>>>;
3919
+ }>, import("@feathersjs/typebox").TObject<{
3920
+ [key: string]: import("@feathersjs/typebox").TSchema;
3921
+ } | undefined>]>>]>>;
3922
+ templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3923
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3924
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3925
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3926
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3927
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3928
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3929
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3930
+ }>, import("@feathersjs/typebox").TObject<{
3931
+ [key: string]: import("@feathersjs/typebox").TSchema;
3932
+ } | undefined>]>>]>>;
2349
3933
  configured: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2350
3934
  $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
2351
3935
  $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
@@ -2370,14 +3954,14 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2370
3954
  }>, import("@feathersjs/typebox").TObject<{
2371
3955
  [key: string]: import("@feathersjs/typebox").TSchema;
2372
3956
  } | undefined>]>>]>>;
2373
- _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2374
- $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2375
- $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2376
- $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2377
- $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2378
- $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2379
- $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2380
- $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
3957
+ _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3958
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3959
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3960
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3961
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3962
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
3963
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
3964
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
2381
3965
  }>, import("@feathersjs/typebox").TObject<{
2382
3966
  [key: string]: import("@feathersjs/typebox").TSchema;
2383
3967
  } | undefined>]>>]>>;
@@ -2403,18 +3987,7 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2403
3987
  }>, import("@feathersjs/typebox").TObject<{
2404
3988
  [key: string]: import("@feathersjs/typebox").TSchema;
2405
3989
  } | undefined>]>>]>>;
2406
- userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2407
- $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2408
- $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2409
- $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2410
- $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2411
- $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
2412
- $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2413
- $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>>;
2414
- }>, import("@feathersjs/typebox").TObject<{
2415
- [key: string]: import("@feathersjs/typebox").TSchema;
2416
- } | undefined>]>>]>>;
2417
- templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
3990
+ userId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2418
3991
  $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
2419
3992
  $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
2420
3993
  $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
@@ -2447,6 +4020,179 @@ export declare const strategiesQuerySchema: import("@feathersjs/typebox").TInter
2447
4020
  }>, import("@feathersjs/typebox").TObject<{
2448
4021
  [key: string]: import("@feathersjs/typebox").TSchema;
2449
4022
  } | undefined>]>>]>>;
4023
+ minimal_roi: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4024
+ minutes: import("@feathersjs/typebox").TNumber;
4025
+ profit: import("@feathersjs/typebox").TNumber;
4026
+ }>>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
4027
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4028
+ minutes: import("@feathersjs/typebox").TNumber;
4029
+ profit: import("@feathersjs/typebox").TNumber;
4030
+ }>>>;
4031
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4032
+ minutes: import("@feathersjs/typebox").TNumber;
4033
+ profit: import("@feathersjs/typebox").TNumber;
4034
+ }>>>;
4035
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4036
+ minutes: import("@feathersjs/typebox").TNumber;
4037
+ profit: import("@feathersjs/typebox").TNumber;
4038
+ }>>>;
4039
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4040
+ minutes: import("@feathersjs/typebox").TNumber;
4041
+ profit: import("@feathersjs/typebox").TNumber;
4042
+ }>>>;
4043
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4044
+ minutes: import("@feathersjs/typebox").TNumber;
4045
+ profit: import("@feathersjs/typebox").TNumber;
4046
+ }>>>;
4047
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4048
+ minutes: import("@feathersjs/typebox").TNumber;
4049
+ profit: import("@feathersjs/typebox").TNumber;
4050
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4051
+ minutes: import("@feathersjs/typebox").TNumber;
4052
+ profit: import("@feathersjs/typebox").TNumber;
4053
+ }>>>>;
4054
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4055
+ minutes: import("@feathersjs/typebox").TNumber;
4056
+ profit: import("@feathersjs/typebox").TNumber;
4057
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4058
+ minutes: import("@feathersjs/typebox").TNumber;
4059
+ profit: import("@feathersjs/typebox").TNumber;
4060
+ }>>>>;
4061
+ }>, import("@feathersjs/typebox").TObject<{
4062
+ [key: string]: import("@feathersjs/typebox").TSchema;
4063
+ } | undefined>]>>]>>;
4064
+ protections: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4065
+ enabled: import("@feathersjs/typebox").TBoolean;
4066
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4067
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4068
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4069
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4070
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4071
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4072
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4073
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4074
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4075
+ }>>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
4076
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4077
+ enabled: import("@feathersjs/typebox").TBoolean;
4078
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4079
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4080
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4081
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4082
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4083
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4084
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4085
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4086
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4087
+ }>>>;
4088
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4089
+ enabled: import("@feathersjs/typebox").TBoolean;
4090
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4091
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4092
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4093
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4094
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4095
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4096
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4097
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4098
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4099
+ }>>>;
4100
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4101
+ enabled: import("@feathersjs/typebox").TBoolean;
4102
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4103
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4104
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4105
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4106
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4107
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4108
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4109
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4110
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4111
+ }>>>;
4112
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4113
+ enabled: import("@feathersjs/typebox").TBoolean;
4114
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4115
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4116
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4117
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4118
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4119
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4120
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4121
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4122
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4123
+ }>>>;
4124
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4125
+ enabled: import("@feathersjs/typebox").TBoolean;
4126
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4127
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4128
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4129
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4130
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4131
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4132
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4133
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4134
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4135
+ }>>>;
4136
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4137
+ enabled: import("@feathersjs/typebox").TBoolean;
4138
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4139
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4140
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4141
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4142
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4143
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4144
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4145
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4146
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4147
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4148
+ enabled: import("@feathersjs/typebox").TBoolean;
4149
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4150
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4151
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4152
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4153
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4154
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4155
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4156
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4157
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4158
+ }>>>>;
4159
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4160
+ enabled: import("@feathersjs/typebox").TBoolean;
4161
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4162
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4163
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4164
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4165
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4166
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4167
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4168
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4169
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4170
+ }>>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TObject<{
4171
+ enabled: import("@feathersjs/typebox").TBoolean;
4172
+ type: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"coolDownPeriod">, import("@feathersjs/typebox").TLiteral<"lowProfitPairs">, import("@feathersjs/typebox").TLiteral<"stoplossGuard">, import("@feathersjs/typebox").TLiteral<"maxDrawdown">]>;
4173
+ method: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"CooldownPeriod">, import("@feathersjs/typebox").TLiteral<"LowProfitPairs">, import("@feathersjs/typebox").TLiteral<"StoplossGuard">, import("@feathersjs/typebox").TLiteral<"MaxDrawdown">]>;
4174
+ stop_duration_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TNumber>;
4175
+ stop_duration_in_seconds: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4176
+ lookback_period_candles: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4177
+ trade_limit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4178
+ required_profit: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4179
+ max_allowed_drawdown: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4180
+ only_per_pair: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnknown>;
4181
+ }>>>>;
4182
+ }>, import("@feathersjs/typebox").TObject<{
4183
+ [key: string]: import("@feathersjs/typebox").TSchema;
4184
+ } | undefined>]>>]>>;
4185
+ templateId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
4186
+ $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
4187
+ $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
4188
+ $lt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
4189
+ $lte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
4190
+ $ne: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>;
4191
+ $in: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
4192
+ $nin: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>, import("@feathersjs/typebox").TString<string>]>>>;
4193
+ }>, import("@feathersjs/typebox").TObject<{
4194
+ [key: string]: import("@feathersjs/typebox").TSchema;
4195
+ } | undefined>]>>]>>;
2450
4196
  configured: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
2451
4197
  $gt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
2452
4198
  $gte: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TBoolean>;
@@ -2470,12 +4216,14 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2470
4216
  createdAt?: number | undefined;
2471
4217
  updatedAt?: number | undefined;
2472
4218
  userId?: number | undefined;
2473
- templateId?: number | undefined;
2474
4219
  interval?: number | undefined;
2475
4220
  stoploss?: number | undefined;
4221
+ minimal_roi?: number | undefined;
4222
+ protections?: number | undefined;
4223
+ templateId?: number | undefined;
2476
4224
  configured?: number | undefined;
2477
4225
  };
2478
- $select: ("name" | "_id" | "createdAt" | "updatedAt" | "userId" | "templateId" | "interval" | "stoploss" | "configured")[];
4226
+ $select: ("name" | "_id" | "createdAt" | "updatedAt" | "userId" | "interval" | "stoploss" | "minimal_roi" | "protections" | "templateId" | "configured")[];
2479
4227
  $and: ({
2480
4228
  name?: any;
2481
4229
  _id?: string | {} | Partial<{
@@ -2498,15 +4246,6 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2498
4246
  $in: string | {} | (string | {})[];
2499
4247
  $nin: string | {} | (string | {})[];
2500
4248
  } & {}> | undefined;
2501
- templateId?: string | {} | Partial<{
2502
- $gt?: string | {} | undefined;
2503
- $gte?: string | {} | undefined;
2504
- $lt?: string | {} | undefined;
2505
- $lte?: string | {} | undefined;
2506
- $ne?: string | {} | undefined;
2507
- $in: string | {} | (string | {})[];
2508
- $nin: string | {} | (string | {})[];
2509
- } & {}> | undefined;
2510
4249
  interval?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | Partial<{
2511
4250
  $gt?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
2512
4251
  $gte?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
@@ -2525,6 +4264,173 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2525
4264
  $in: number | number[];
2526
4265
  $nin: number | number[];
2527
4266
  } & {}> | undefined;
4267
+ minimal_roi?: {
4268
+ minutes: number;
4269
+ profit: number;
4270
+ }[] | Partial<{
4271
+ $gt?: {
4272
+ minutes: number;
4273
+ profit: number;
4274
+ }[] | undefined;
4275
+ $gte?: {
4276
+ minutes: number;
4277
+ profit: number;
4278
+ }[] | undefined;
4279
+ $lt?: {
4280
+ minutes: number;
4281
+ profit: number;
4282
+ }[] | undefined;
4283
+ $lte?: {
4284
+ minutes: number;
4285
+ profit: number;
4286
+ }[] | undefined;
4287
+ $ne?: {
4288
+ minutes: number;
4289
+ profit: number;
4290
+ }[] | undefined;
4291
+ $in: {
4292
+ minutes: number;
4293
+ profit: number;
4294
+ }[] | {
4295
+ minutes: number;
4296
+ profit: number;
4297
+ }[][];
4298
+ $nin: {
4299
+ minutes: number;
4300
+ profit: number;
4301
+ }[] | {
4302
+ minutes: number;
4303
+ profit: number;
4304
+ }[][];
4305
+ } & {}> | undefined;
4306
+ protections?: {
4307
+ stop_duration_candles?: number | undefined;
4308
+ lookback_period_candles?: unknown;
4309
+ trade_limit?: unknown;
4310
+ max_allowed_drawdown?: unknown;
4311
+ only_per_pair?: unknown;
4312
+ stop_duration_in_seconds?: unknown;
4313
+ required_profit?: unknown;
4314
+ enabled: boolean;
4315
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4316
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4317
+ }[] | Partial<{
4318
+ $gt?: {
4319
+ stop_duration_candles?: number | undefined;
4320
+ lookback_period_candles?: unknown;
4321
+ trade_limit?: unknown;
4322
+ max_allowed_drawdown?: unknown;
4323
+ only_per_pair?: unknown;
4324
+ stop_duration_in_seconds?: unknown;
4325
+ required_profit?: unknown;
4326
+ enabled: boolean;
4327
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4328
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4329
+ }[] | undefined;
4330
+ $gte?: {
4331
+ stop_duration_candles?: number | undefined;
4332
+ lookback_period_candles?: unknown;
4333
+ trade_limit?: unknown;
4334
+ max_allowed_drawdown?: unknown;
4335
+ only_per_pair?: unknown;
4336
+ stop_duration_in_seconds?: unknown;
4337
+ required_profit?: unknown;
4338
+ enabled: boolean;
4339
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4340
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4341
+ }[] | undefined;
4342
+ $lt?: {
4343
+ stop_duration_candles?: number | undefined;
4344
+ lookback_period_candles?: unknown;
4345
+ trade_limit?: unknown;
4346
+ max_allowed_drawdown?: unknown;
4347
+ only_per_pair?: unknown;
4348
+ stop_duration_in_seconds?: unknown;
4349
+ required_profit?: unknown;
4350
+ enabled: boolean;
4351
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4352
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4353
+ }[] | undefined;
4354
+ $lte?: {
4355
+ stop_duration_candles?: number | undefined;
4356
+ lookback_period_candles?: unknown;
4357
+ trade_limit?: unknown;
4358
+ max_allowed_drawdown?: unknown;
4359
+ only_per_pair?: unknown;
4360
+ stop_duration_in_seconds?: unknown;
4361
+ required_profit?: unknown;
4362
+ enabled: boolean;
4363
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4364
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4365
+ }[] | undefined;
4366
+ $ne?: {
4367
+ stop_duration_candles?: number | undefined;
4368
+ lookback_period_candles?: unknown;
4369
+ trade_limit?: unknown;
4370
+ max_allowed_drawdown?: unknown;
4371
+ only_per_pair?: unknown;
4372
+ stop_duration_in_seconds?: unknown;
4373
+ required_profit?: unknown;
4374
+ enabled: boolean;
4375
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4376
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4377
+ }[] | undefined;
4378
+ $in: {
4379
+ stop_duration_candles?: number | undefined;
4380
+ lookback_period_candles?: unknown;
4381
+ trade_limit?: unknown;
4382
+ max_allowed_drawdown?: unknown;
4383
+ only_per_pair?: unknown;
4384
+ stop_duration_in_seconds?: unknown;
4385
+ required_profit?: unknown;
4386
+ enabled: boolean;
4387
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4388
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4389
+ }[] | {
4390
+ stop_duration_candles?: number | undefined;
4391
+ lookback_period_candles?: unknown;
4392
+ trade_limit?: unknown;
4393
+ max_allowed_drawdown?: unknown;
4394
+ only_per_pair?: unknown;
4395
+ stop_duration_in_seconds?: unknown;
4396
+ required_profit?: unknown;
4397
+ enabled: boolean;
4398
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4399
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4400
+ }[][];
4401
+ $nin: {
4402
+ stop_duration_candles?: number | undefined;
4403
+ lookback_period_candles?: unknown;
4404
+ trade_limit?: unknown;
4405
+ max_allowed_drawdown?: unknown;
4406
+ only_per_pair?: unknown;
4407
+ stop_duration_in_seconds?: unknown;
4408
+ required_profit?: unknown;
4409
+ enabled: boolean;
4410
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4411
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4412
+ }[] | {
4413
+ stop_duration_candles?: number | undefined;
4414
+ lookback_period_candles?: unknown;
4415
+ trade_limit?: unknown;
4416
+ max_allowed_drawdown?: unknown;
4417
+ only_per_pair?: unknown;
4418
+ stop_duration_in_seconds?: unknown;
4419
+ required_profit?: unknown;
4420
+ enabled: boolean;
4421
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4422
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4423
+ }[][];
4424
+ } & {}> | undefined;
4425
+ templateId?: string | {} | Partial<{
4426
+ $gt?: string | {} | undefined;
4427
+ $gte?: string | {} | undefined;
4428
+ $lt?: string | {} | undefined;
4429
+ $lte?: string | {} | undefined;
4430
+ $ne?: string | {} | undefined;
4431
+ $in: string | {} | (string | {})[];
4432
+ $nin: string | {} | (string | {})[];
4433
+ } & {}> | undefined;
2528
4434
  configured?: boolean | Partial<{
2529
4435
  $gt?: boolean | undefined;
2530
4436
  $gte?: boolean | undefined;
@@ -2557,15 +4463,6 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2557
4463
  $in: string | {} | (string | {})[];
2558
4464
  $nin: string | {} | (string | {})[];
2559
4465
  } & {}> | undefined;
2560
- templateId?: string | {} | Partial<{
2561
- $gt?: string | {} | undefined;
2562
- $gte?: string | {} | undefined;
2563
- $lt?: string | {} | undefined;
2564
- $lte?: string | {} | undefined;
2565
- $ne?: string | {} | undefined;
2566
- $in: string | {} | (string | {})[];
2567
- $nin: string | {} | (string | {})[];
2568
- } & {}> | undefined;
2569
4466
  interval?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | Partial<{
2570
4467
  $gt?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
2571
4468
  $gte?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
@@ -2584,6 +4481,173 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2584
4481
  $in: number | number[];
2585
4482
  $nin: number | number[];
2586
4483
  } & {}> | undefined;
4484
+ minimal_roi?: {
4485
+ minutes: number;
4486
+ profit: number;
4487
+ }[] | Partial<{
4488
+ $gt?: {
4489
+ minutes: number;
4490
+ profit: number;
4491
+ }[] | undefined;
4492
+ $gte?: {
4493
+ minutes: number;
4494
+ profit: number;
4495
+ }[] | undefined;
4496
+ $lt?: {
4497
+ minutes: number;
4498
+ profit: number;
4499
+ }[] | undefined;
4500
+ $lte?: {
4501
+ minutes: number;
4502
+ profit: number;
4503
+ }[] | undefined;
4504
+ $ne?: {
4505
+ minutes: number;
4506
+ profit: number;
4507
+ }[] | undefined;
4508
+ $in: {
4509
+ minutes: number;
4510
+ profit: number;
4511
+ }[] | {
4512
+ minutes: number;
4513
+ profit: number;
4514
+ }[][];
4515
+ $nin: {
4516
+ minutes: number;
4517
+ profit: number;
4518
+ }[] | {
4519
+ minutes: number;
4520
+ profit: number;
4521
+ }[][];
4522
+ } & {}> | undefined;
4523
+ protections?: {
4524
+ stop_duration_candles?: number | undefined;
4525
+ lookback_period_candles?: unknown;
4526
+ trade_limit?: unknown;
4527
+ max_allowed_drawdown?: unknown;
4528
+ only_per_pair?: unknown;
4529
+ stop_duration_in_seconds?: unknown;
4530
+ required_profit?: unknown;
4531
+ enabled: boolean;
4532
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4533
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4534
+ }[] | Partial<{
4535
+ $gt?: {
4536
+ stop_duration_candles?: number | undefined;
4537
+ lookback_period_candles?: unknown;
4538
+ trade_limit?: unknown;
4539
+ max_allowed_drawdown?: unknown;
4540
+ only_per_pair?: unknown;
4541
+ stop_duration_in_seconds?: unknown;
4542
+ required_profit?: unknown;
4543
+ enabled: boolean;
4544
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4545
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4546
+ }[] | undefined;
4547
+ $gte?: {
4548
+ stop_duration_candles?: number | undefined;
4549
+ lookback_period_candles?: unknown;
4550
+ trade_limit?: unknown;
4551
+ max_allowed_drawdown?: unknown;
4552
+ only_per_pair?: unknown;
4553
+ stop_duration_in_seconds?: unknown;
4554
+ required_profit?: unknown;
4555
+ enabled: boolean;
4556
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4557
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4558
+ }[] | undefined;
4559
+ $lt?: {
4560
+ stop_duration_candles?: number | undefined;
4561
+ lookback_period_candles?: unknown;
4562
+ trade_limit?: unknown;
4563
+ max_allowed_drawdown?: unknown;
4564
+ only_per_pair?: unknown;
4565
+ stop_duration_in_seconds?: unknown;
4566
+ required_profit?: unknown;
4567
+ enabled: boolean;
4568
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4569
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4570
+ }[] | undefined;
4571
+ $lte?: {
4572
+ stop_duration_candles?: number | undefined;
4573
+ lookback_period_candles?: unknown;
4574
+ trade_limit?: unknown;
4575
+ max_allowed_drawdown?: unknown;
4576
+ only_per_pair?: unknown;
4577
+ stop_duration_in_seconds?: unknown;
4578
+ required_profit?: unknown;
4579
+ enabled: boolean;
4580
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4581
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4582
+ }[] | undefined;
4583
+ $ne?: {
4584
+ stop_duration_candles?: number | undefined;
4585
+ lookback_period_candles?: unknown;
4586
+ trade_limit?: unknown;
4587
+ max_allowed_drawdown?: unknown;
4588
+ only_per_pair?: unknown;
4589
+ stop_duration_in_seconds?: unknown;
4590
+ required_profit?: unknown;
4591
+ enabled: boolean;
4592
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4593
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4594
+ }[] | undefined;
4595
+ $in: {
4596
+ stop_duration_candles?: number | undefined;
4597
+ lookback_period_candles?: unknown;
4598
+ trade_limit?: unknown;
4599
+ max_allowed_drawdown?: unknown;
4600
+ only_per_pair?: unknown;
4601
+ stop_duration_in_seconds?: unknown;
4602
+ required_profit?: unknown;
4603
+ enabled: boolean;
4604
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4605
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4606
+ }[] | {
4607
+ stop_duration_candles?: number | undefined;
4608
+ lookback_period_candles?: unknown;
4609
+ trade_limit?: unknown;
4610
+ max_allowed_drawdown?: unknown;
4611
+ only_per_pair?: unknown;
4612
+ stop_duration_in_seconds?: unknown;
4613
+ required_profit?: unknown;
4614
+ enabled: boolean;
4615
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4616
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4617
+ }[][];
4618
+ $nin: {
4619
+ stop_duration_candles?: number | undefined;
4620
+ lookback_period_candles?: unknown;
4621
+ trade_limit?: unknown;
4622
+ max_allowed_drawdown?: unknown;
4623
+ only_per_pair?: unknown;
4624
+ stop_duration_in_seconds?: unknown;
4625
+ required_profit?: unknown;
4626
+ enabled: boolean;
4627
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4628
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4629
+ }[] | {
4630
+ stop_duration_candles?: number | undefined;
4631
+ lookback_period_candles?: unknown;
4632
+ trade_limit?: unknown;
4633
+ max_allowed_drawdown?: unknown;
4634
+ only_per_pair?: unknown;
4635
+ stop_duration_in_seconds?: unknown;
4636
+ required_profit?: unknown;
4637
+ enabled: boolean;
4638
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4639
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4640
+ }[][];
4641
+ } & {}> | undefined;
4642
+ templateId?: string | {} | Partial<{
4643
+ $gt?: string | {} | undefined;
4644
+ $gte?: string | {} | undefined;
4645
+ $lt?: string | {} | undefined;
4646
+ $lte?: string | {} | undefined;
4647
+ $ne?: string | {} | undefined;
4648
+ $in: string | {} | (string | {})[];
4649
+ $nin: string | {} | (string | {})[];
4650
+ } & {}> | undefined;
2587
4651
  configured?: boolean | Partial<{
2588
4652
  $gt?: boolean | undefined;
2589
4653
  $gte?: boolean | undefined;
@@ -2617,15 +4681,6 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2617
4681
  $in: string | {} | (string | {})[];
2618
4682
  $nin: string | {} | (string | {})[];
2619
4683
  } & {}> | undefined;
2620
- templateId?: string | {} | Partial<{
2621
- $gt?: string | {} | undefined;
2622
- $gte?: string | {} | undefined;
2623
- $lt?: string | {} | undefined;
2624
- $lte?: string | {} | undefined;
2625
- $ne?: string | {} | undefined;
2626
- $in: string | {} | (string | {})[];
2627
- $nin: string | {} | (string | {})[];
2628
- } & {}> | undefined;
2629
4684
  interval?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | Partial<{
2630
4685
  $gt?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
2631
4686
  $gte?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
@@ -2644,6 +4699,173 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2644
4699
  $in: number | number[];
2645
4700
  $nin: number | number[];
2646
4701
  } & {}> | undefined;
4702
+ minimal_roi?: {
4703
+ minutes: number;
4704
+ profit: number;
4705
+ }[] | Partial<{
4706
+ $gt?: {
4707
+ minutes: number;
4708
+ profit: number;
4709
+ }[] | undefined;
4710
+ $gte?: {
4711
+ minutes: number;
4712
+ profit: number;
4713
+ }[] | undefined;
4714
+ $lt?: {
4715
+ minutes: number;
4716
+ profit: number;
4717
+ }[] | undefined;
4718
+ $lte?: {
4719
+ minutes: number;
4720
+ profit: number;
4721
+ }[] | undefined;
4722
+ $ne?: {
4723
+ minutes: number;
4724
+ profit: number;
4725
+ }[] | undefined;
4726
+ $in: {
4727
+ minutes: number;
4728
+ profit: number;
4729
+ }[] | {
4730
+ minutes: number;
4731
+ profit: number;
4732
+ }[][];
4733
+ $nin: {
4734
+ minutes: number;
4735
+ profit: number;
4736
+ }[] | {
4737
+ minutes: number;
4738
+ profit: number;
4739
+ }[][];
4740
+ } & {}> | undefined;
4741
+ protections?: {
4742
+ stop_duration_candles?: number | undefined;
4743
+ lookback_period_candles?: unknown;
4744
+ trade_limit?: unknown;
4745
+ max_allowed_drawdown?: unknown;
4746
+ only_per_pair?: unknown;
4747
+ stop_duration_in_seconds?: unknown;
4748
+ required_profit?: unknown;
4749
+ enabled: boolean;
4750
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4751
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4752
+ }[] | Partial<{
4753
+ $gt?: {
4754
+ stop_duration_candles?: number | undefined;
4755
+ lookback_period_candles?: unknown;
4756
+ trade_limit?: unknown;
4757
+ max_allowed_drawdown?: unknown;
4758
+ only_per_pair?: unknown;
4759
+ stop_duration_in_seconds?: unknown;
4760
+ required_profit?: unknown;
4761
+ enabled: boolean;
4762
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4763
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4764
+ }[] | undefined;
4765
+ $gte?: {
4766
+ stop_duration_candles?: number | undefined;
4767
+ lookback_period_candles?: unknown;
4768
+ trade_limit?: unknown;
4769
+ max_allowed_drawdown?: unknown;
4770
+ only_per_pair?: unknown;
4771
+ stop_duration_in_seconds?: unknown;
4772
+ required_profit?: unknown;
4773
+ enabled: boolean;
4774
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4775
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4776
+ }[] | undefined;
4777
+ $lt?: {
4778
+ stop_duration_candles?: number | undefined;
4779
+ lookback_period_candles?: unknown;
4780
+ trade_limit?: unknown;
4781
+ max_allowed_drawdown?: unknown;
4782
+ only_per_pair?: unknown;
4783
+ stop_duration_in_seconds?: unknown;
4784
+ required_profit?: unknown;
4785
+ enabled: boolean;
4786
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4787
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4788
+ }[] | undefined;
4789
+ $lte?: {
4790
+ stop_duration_candles?: number | undefined;
4791
+ lookback_period_candles?: unknown;
4792
+ trade_limit?: unknown;
4793
+ max_allowed_drawdown?: unknown;
4794
+ only_per_pair?: unknown;
4795
+ stop_duration_in_seconds?: unknown;
4796
+ required_profit?: unknown;
4797
+ enabled: boolean;
4798
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4799
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4800
+ }[] | undefined;
4801
+ $ne?: {
4802
+ stop_duration_candles?: number | undefined;
4803
+ lookback_period_candles?: unknown;
4804
+ trade_limit?: unknown;
4805
+ max_allowed_drawdown?: unknown;
4806
+ only_per_pair?: unknown;
4807
+ stop_duration_in_seconds?: unknown;
4808
+ required_profit?: unknown;
4809
+ enabled: boolean;
4810
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4811
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4812
+ }[] | undefined;
4813
+ $in: {
4814
+ stop_duration_candles?: number | undefined;
4815
+ lookback_period_candles?: unknown;
4816
+ trade_limit?: unknown;
4817
+ max_allowed_drawdown?: unknown;
4818
+ only_per_pair?: unknown;
4819
+ stop_duration_in_seconds?: unknown;
4820
+ required_profit?: unknown;
4821
+ enabled: boolean;
4822
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4823
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4824
+ }[] | {
4825
+ stop_duration_candles?: number | undefined;
4826
+ lookback_period_candles?: unknown;
4827
+ trade_limit?: unknown;
4828
+ max_allowed_drawdown?: unknown;
4829
+ only_per_pair?: unknown;
4830
+ stop_duration_in_seconds?: unknown;
4831
+ required_profit?: unknown;
4832
+ enabled: boolean;
4833
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4834
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4835
+ }[][];
4836
+ $nin: {
4837
+ stop_duration_candles?: number | undefined;
4838
+ lookback_period_candles?: unknown;
4839
+ trade_limit?: unknown;
4840
+ max_allowed_drawdown?: unknown;
4841
+ only_per_pair?: unknown;
4842
+ stop_duration_in_seconds?: unknown;
4843
+ required_profit?: unknown;
4844
+ enabled: boolean;
4845
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4846
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4847
+ }[] | {
4848
+ stop_duration_candles?: number | undefined;
4849
+ lookback_period_candles?: unknown;
4850
+ trade_limit?: unknown;
4851
+ max_allowed_drawdown?: unknown;
4852
+ only_per_pair?: unknown;
4853
+ stop_duration_in_seconds?: unknown;
4854
+ required_profit?: unknown;
4855
+ enabled: boolean;
4856
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4857
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4858
+ }[][];
4859
+ } & {}> | undefined;
4860
+ templateId?: string | {} | Partial<{
4861
+ $gt?: string | {} | undefined;
4862
+ $gte?: string | {} | undefined;
4863
+ $lt?: string | {} | undefined;
4864
+ $lte?: string | {} | undefined;
4865
+ $ne?: string | {} | undefined;
4866
+ $in: string | {} | (string | {})[];
4867
+ $nin: string | {} | (string | {})[];
4868
+ } & {}> | undefined;
2647
4869
  configured?: boolean | Partial<{
2648
4870
  $gt?: boolean | undefined;
2649
4871
  $gte?: boolean | undefined;
@@ -2676,15 +4898,6 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2676
4898
  $in: string | {} | (string | {})[];
2677
4899
  $nin: string | {} | (string | {})[];
2678
4900
  } & {}> | undefined;
2679
- templateId?: string | {} | Partial<{
2680
- $gt?: string | {} | undefined;
2681
- $gte?: string | {} | undefined;
2682
- $lt?: string | {} | undefined;
2683
- $lte?: string | {} | undefined;
2684
- $ne?: string | {} | undefined;
2685
- $in: string | {} | (string | {})[];
2686
- $nin: string | {} | (string | {})[];
2687
- } & {}> | undefined;
2688
4901
  interval?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | Partial<{
2689
4902
  $gt?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
2690
4903
  $gte?: "1m" | "5m" | "30m" | "2h" | "6h" | "12h" | "1d" | "1w" | undefined;
@@ -2703,6 +4916,173 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2703
4916
  $in: number | number[];
2704
4917
  $nin: number | number[];
2705
4918
  } & {}> | undefined;
4919
+ minimal_roi?: {
4920
+ minutes: number;
4921
+ profit: number;
4922
+ }[] | Partial<{
4923
+ $gt?: {
4924
+ minutes: number;
4925
+ profit: number;
4926
+ }[] | undefined;
4927
+ $gte?: {
4928
+ minutes: number;
4929
+ profit: number;
4930
+ }[] | undefined;
4931
+ $lt?: {
4932
+ minutes: number;
4933
+ profit: number;
4934
+ }[] | undefined;
4935
+ $lte?: {
4936
+ minutes: number;
4937
+ profit: number;
4938
+ }[] | undefined;
4939
+ $ne?: {
4940
+ minutes: number;
4941
+ profit: number;
4942
+ }[] | undefined;
4943
+ $in: {
4944
+ minutes: number;
4945
+ profit: number;
4946
+ }[] | {
4947
+ minutes: number;
4948
+ profit: number;
4949
+ }[][];
4950
+ $nin: {
4951
+ minutes: number;
4952
+ profit: number;
4953
+ }[] | {
4954
+ minutes: number;
4955
+ profit: number;
4956
+ }[][];
4957
+ } & {}> | undefined;
4958
+ protections?: {
4959
+ stop_duration_candles?: number | undefined;
4960
+ lookback_period_candles?: unknown;
4961
+ trade_limit?: unknown;
4962
+ max_allowed_drawdown?: unknown;
4963
+ only_per_pair?: unknown;
4964
+ stop_duration_in_seconds?: unknown;
4965
+ required_profit?: unknown;
4966
+ enabled: boolean;
4967
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4968
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4969
+ }[] | Partial<{
4970
+ $gt?: {
4971
+ stop_duration_candles?: number | undefined;
4972
+ lookback_period_candles?: unknown;
4973
+ trade_limit?: unknown;
4974
+ max_allowed_drawdown?: unknown;
4975
+ only_per_pair?: unknown;
4976
+ stop_duration_in_seconds?: unknown;
4977
+ required_profit?: unknown;
4978
+ enabled: boolean;
4979
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4980
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4981
+ }[] | undefined;
4982
+ $gte?: {
4983
+ stop_duration_candles?: number | undefined;
4984
+ lookback_period_candles?: unknown;
4985
+ trade_limit?: unknown;
4986
+ max_allowed_drawdown?: unknown;
4987
+ only_per_pair?: unknown;
4988
+ stop_duration_in_seconds?: unknown;
4989
+ required_profit?: unknown;
4990
+ enabled: boolean;
4991
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
4992
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
4993
+ }[] | undefined;
4994
+ $lt?: {
4995
+ stop_duration_candles?: number | undefined;
4996
+ lookback_period_candles?: unknown;
4997
+ trade_limit?: unknown;
4998
+ max_allowed_drawdown?: unknown;
4999
+ only_per_pair?: unknown;
5000
+ stop_duration_in_seconds?: unknown;
5001
+ required_profit?: unknown;
5002
+ enabled: boolean;
5003
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
5004
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
5005
+ }[] | undefined;
5006
+ $lte?: {
5007
+ stop_duration_candles?: number | undefined;
5008
+ lookback_period_candles?: unknown;
5009
+ trade_limit?: unknown;
5010
+ max_allowed_drawdown?: unknown;
5011
+ only_per_pair?: unknown;
5012
+ stop_duration_in_seconds?: unknown;
5013
+ required_profit?: unknown;
5014
+ enabled: boolean;
5015
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
5016
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
5017
+ }[] | undefined;
5018
+ $ne?: {
5019
+ stop_duration_candles?: number | undefined;
5020
+ lookback_period_candles?: unknown;
5021
+ trade_limit?: unknown;
5022
+ max_allowed_drawdown?: unknown;
5023
+ only_per_pair?: unknown;
5024
+ stop_duration_in_seconds?: unknown;
5025
+ required_profit?: unknown;
5026
+ enabled: boolean;
5027
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
5028
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
5029
+ }[] | undefined;
5030
+ $in: {
5031
+ stop_duration_candles?: number | undefined;
5032
+ lookback_period_candles?: unknown;
5033
+ trade_limit?: unknown;
5034
+ max_allowed_drawdown?: unknown;
5035
+ only_per_pair?: unknown;
5036
+ stop_duration_in_seconds?: unknown;
5037
+ required_profit?: unknown;
5038
+ enabled: boolean;
5039
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
5040
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
5041
+ }[] | {
5042
+ stop_duration_candles?: number | undefined;
5043
+ lookback_period_candles?: unknown;
5044
+ trade_limit?: unknown;
5045
+ max_allowed_drawdown?: unknown;
5046
+ only_per_pair?: unknown;
5047
+ stop_duration_in_seconds?: unknown;
5048
+ required_profit?: unknown;
5049
+ enabled: boolean;
5050
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
5051
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
5052
+ }[][];
5053
+ $nin: {
5054
+ stop_duration_candles?: number | undefined;
5055
+ lookback_period_candles?: unknown;
5056
+ trade_limit?: unknown;
5057
+ max_allowed_drawdown?: unknown;
5058
+ only_per_pair?: unknown;
5059
+ stop_duration_in_seconds?: unknown;
5060
+ required_profit?: unknown;
5061
+ enabled: boolean;
5062
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
5063
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
5064
+ }[] | {
5065
+ stop_duration_candles?: number | undefined;
5066
+ lookback_period_candles?: unknown;
5067
+ trade_limit?: unknown;
5068
+ max_allowed_drawdown?: unknown;
5069
+ only_per_pair?: unknown;
5070
+ stop_duration_in_seconds?: unknown;
5071
+ required_profit?: unknown;
5072
+ enabled: boolean;
5073
+ type: "coolDownPeriod" | "lowProfitPairs" | "stoplossGuard" | "maxDrawdown";
5074
+ method: "CooldownPeriod" | "LowProfitPairs" | "StoplossGuard" | "MaxDrawdown";
5075
+ }[][];
5076
+ } & {}> | undefined;
5077
+ templateId?: string | {} | Partial<{
5078
+ $gt?: string | {} | undefined;
5079
+ $gte?: string | {} | undefined;
5080
+ $lt?: string | {} | undefined;
5081
+ $lte?: string | {} | undefined;
5082
+ $ne?: string | {} | undefined;
5083
+ $in: string | {} | (string | {})[];
5084
+ $nin: string | {} | (string | {})[];
5085
+ } & {}> | undefined;
2706
5086
  configured?: boolean | Partial<{
2707
5087
  $gt?: boolean | undefined;
2708
5088
  $gte?: boolean | undefined;
@@ -2713,3 +5093,28 @@ export declare const strategiesQueryResolver: import("@feathersjs/schema").Resol
2713
5093
  $nin: boolean | boolean[];
2714
5094
  } & {}> | undefined;
2715
5095
  } & {}, HookContext<StrategiesService<import("./strategies.class").StrategiesParams>>>;
5096
+ export interface StrategyIR {
5097
+ class?: string;
5098
+ name: string;
5099
+ author: string;
5100
+ email: string;
5101
+ indicators: {
5102
+ _id: string;
5103
+ alias: string;
5104
+ assign: string;
5105
+ requires: string[];
5106
+ hyperopt: any[];
5107
+ }[];
5108
+ rules: {
5109
+ entry: string;
5110
+ exit: string;
5111
+ };
5112
+ parameters: any[];
5113
+ minimal_roi: Record<string, number>;
5114
+ timeframe: string;
5115
+ stoploss: number;
5116
+ exit_profit_only: boolean;
5117
+ exit_profit_offset: number;
5118
+ exit_sell_signal: boolean;
5119
+ protections: Record<string, any>[];
5120
+ }