@cryptorobot.ai/client 0.0.8

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 (234) hide show
  1. package/lib/app.d.ts +3 -0
  2. package/lib/authentication.d.ts +8 -0
  3. package/lib/channels.d.ts +3 -0
  4. package/lib/client.d.ts +81 -0
  5. package/lib/client.js +99 -0
  6. package/lib/configuration.d.ts +148 -0
  7. package/lib/declarations.d.ts +16 -0
  8. package/lib/helper.d.ts +22 -0
  9. package/lib/helpers/app.helper.d.ts +12 -0
  10. package/lib/helpers/backtest.helper.d.ts +12 -0
  11. package/lib/helpers/ccxt.helper.d.ts +15 -0
  12. package/lib/helpers/deployments.helper.d.ts +11 -0
  13. package/lib/helpers/handlebars.helper.d.ts +10 -0
  14. package/lib/helpers/logging.helper.d.ts +7 -0
  15. package/lib/helpers/trader.helper.d.ts +10 -0
  16. package/lib/hooks/application/setup-ccxt-load-marketplaces.d.ts +2 -0
  17. package/lib/hooks/application/setup-ccxt-load-markets.d.ts +2 -0
  18. package/lib/hooks/application/setup-config-preparation.d.ts +3 -0
  19. package/lib/hooks/application/setup-info.d.ts +3 -0
  20. package/lib/hooks/application/setup-load-indicators.d.ts +3 -0
  21. package/lib/hooks/application/setup-load-strategy-templates.d.ts +3 -0
  22. package/lib/hooks/backtest-copy-candles-from-user-data.d.ts +2 -0
  23. package/lib/hooks/backtest-generate-and-start.d.ts +2 -0
  24. package/lib/hooks/backtest-generate-config.d.ts +2 -0
  25. package/lib/hooks/backtest-generate-exchange-config.d.ts +2 -0
  26. package/lib/hooks/backtest-get-results.d.ts +2 -0
  27. package/lib/hooks/backtest-in-disk-clone-strategy.d.ts +2 -0
  28. package/lib/hooks/backtest-validate.d.ts +2 -0
  29. package/lib/hooks/check-required-credentials.d.ts +2 -0
  30. package/lib/hooks/enrich-webhook-to-event.d.ts +2 -0
  31. package/lib/hooks/exchanges/after-create-ccxt-balances-propagate-to-exchange.d.ts +2 -0
  32. package/lib/hooks/exchanges/after-find-ccxt-load-markets.d.ts +2 -0
  33. package/lib/hooks/exchanges/after-get-whitelist-blacklist-transform.d.ts +2 -0
  34. package/lib/hooks/exchanges/before-create-ccxt-get-balances.d.ts +2 -0
  35. package/lib/hooks/exchanges/before-patch-blacklist-validation-per-exchange.d.ts +2 -0
  36. package/lib/hooks/exchanges/before-patch-ccxt-connect-exchange.d.ts +2 -0
  37. package/lib/hooks/exchanges/before-patch-ccxt-load-markets.d.ts +2 -0
  38. package/lib/hooks/exchanges/before-patch-whitelist-blacklist-transform.d.ts +2 -0
  39. package/lib/hooks/exchanges/before-patch-whitelist-blacklist-validate.d.ts +2 -0
  40. package/lib/hooks/exchanges/download/after-create-get-recent-downloaded-data-info.d.ts +2 -0
  41. package/lib/hooks/exchanges/download/before-create-generate-config.d.ts +2 -0
  42. package/lib/hooks/exchanges/download/before-create-process-exchange-data-download.d.ts +2 -0
  43. package/lib/hooks/log-error.d.ts +2 -0
  44. package/lib/hooks/messages/messages-process-data.d.ts +2 -0
  45. package/lib/hooks/openai-process-request.d.ts +2 -0
  46. package/lib/hooks/pairs-transform.d.ts +2 -0
  47. package/lib/hooks/remove-container.d.ts +2 -0
  48. package/lib/hooks/set-default-strategy.d.ts +2 -0
  49. package/lib/hooks/setup-prepare-maildev-while-in-test-env.d.ts +3 -0
  50. package/lib/hooks/setup-stripe.d.ts +2 -0
  51. package/lib/hooks/strategies/disk-create-strategy.d.ts +2 -0
  52. package/lib/hooks/strategies/disk-remove-strategy.d.ts +2 -0
  53. package/lib/hooks/strategies/file-strategies-clone.d.ts +2 -0
  54. package/lib/hooks/stripe-check-subscription.d.ts +2 -0
  55. package/lib/hooks/stripe-create-payment-intent.d.ts +2 -0
  56. package/lib/hooks/stripe-is-subscription-active.d.ts +2 -0
  57. package/lib/hooks/stripe-sync-customer-data.d.ts +2 -0
  58. package/lib/hooks/tickers-fetch.d.ts +2 -0
  59. package/lib/hooks/traders/after-patch-file-candles-clone.d.ts +2 -0
  60. package/lib/hooks/traders/before-patch-folders-initialize.d.ts +2 -0
  61. package/lib/hooks/traders/before-patch-transform-pairlist-plugins.d.ts +2 -0
  62. package/lib/hooks/traders/container-api-control.d.ts +2 -0
  63. package/lib/hooks/traders/container-stop.d.ts +2 -0
  64. package/lib/hooks/traders/create-trader-container.d.ts +2 -0
  65. package/lib/hooks/traders/generate-exchange-config.d.ts +2 -0
  66. package/lib/hooks/traders/generate-trader-config.d.ts +2 -0
  67. package/lib/hooks/traders/pods-container-inspect.d.ts +2 -0
  68. package/lib/hooks/traders/pods-process-worker.d.ts +2 -0
  69. package/lib/hooks/users/email-verify-signup.d.ts +2 -0
  70. package/lib/index.d.ts +1 -0
  71. package/lib/logger.d.ts +1 -0
  72. package/lib/mongodb.d.ts +8 -0
  73. package/lib/prepare-for-publish.d.ts +1 -0
  74. package/lib/services/auth-management/auth-management.class.d.ts +1 -0
  75. package/lib/services/auth-management/auth-management.d.ts +7 -0
  76. package/lib/services/auth-management/auth-management.shared.d.ts +6 -0
  77. package/lib/services/auth-management/auth-management.shared.js +17 -0
  78. package/lib/services/auth-management/auth-management.utils.d.ts +1 -0
  79. package/lib/services/config/config.class.d.ts +14 -0
  80. package/lib/services/config/config.d.ts +10 -0
  81. package/lib/services/config/config.shared.d.ts +13 -0
  82. package/lib/services/config/config.shared.js +13 -0
  83. package/lib/services/custom/custom.class.d.ts +26 -0
  84. package/lib/services/custom/custom.d.ts +10 -0
  85. package/lib/services/custom/custom.shared.d.ts +13 -0
  86. package/lib/services/custom/custom.shared.js +13 -0
  87. package/lib/services/exchanges/balance/balance.class.d.ts +11 -0
  88. package/lib/services/exchanges/balance/balance.d.ts +11 -0
  89. package/lib/services/exchanges/balance/balance.schema.d.ts +711 -0
  90. package/lib/services/exchanges/balance/balance.shared.d.ts +13 -0
  91. package/lib/services/exchanges/balance/balance.shared.js +13 -0
  92. package/lib/services/exchanges/download/download.class.d.ts +11 -0
  93. package/lib/services/exchanges/download/download.d.ts +11 -0
  94. package/lib/services/exchanges/download/download.schema.d.ts +871 -0
  95. package/lib/services/exchanges/download/download.shared.d.ts +13 -0
  96. package/lib/services/exchanges/download/download.shared.js +13 -0
  97. package/lib/services/exchanges/download/webhooks/webhooks.class.d.ts +11 -0
  98. package/lib/services/exchanges/download/webhooks/webhooks.d.ts +11 -0
  99. package/lib/services/exchanges/download/webhooks/webhooks.schema.d.ts +541 -0
  100. package/lib/services/exchanges/download/webhooks/webhooks.shared.d.ts +13 -0
  101. package/lib/services/exchanges/download/webhooks/webhooks.shared.js +13 -0
  102. package/lib/services/exchanges/exchanges.class.d.ts +11 -0
  103. package/lib/services/exchanges/exchanges.d.ts +11 -0
  104. package/lib/services/exchanges/exchanges.schema.d.ts +835 -0
  105. package/lib/services/exchanges/exchanges.shared.d.ts +13 -0
  106. package/lib/services/exchanges/exchanges.shared.js +13 -0
  107. package/lib/services/exchanges/ticker/ticker.class.d.ts +11 -0
  108. package/lib/services/exchanges/ticker/ticker.d.ts +11 -0
  109. package/lib/services/exchanges/ticker/ticker.schema.d.ts +859 -0
  110. package/lib/services/exchanges/ticker/ticker.shared.d.ts +13 -0
  111. package/lib/services/exchanges/ticker/ticker.shared.js +13 -0
  112. package/lib/services/index.d.ts +2 -0
  113. package/lib/services/mailer/mailer.class.d.ts +26 -0
  114. package/lib/services/mailer/mailer.d.ts +7 -0
  115. package/lib/services/mailer/mailer.shared.d.ts +13 -0
  116. package/lib/services/mailer/mailer.shared.js +13 -0
  117. package/lib/services/marketplaces/marketplaces.class.d.ts +14 -0
  118. package/lib/services/marketplaces/marketplaces.d.ts +10 -0
  119. package/lib/services/marketplaces/marketplaces.shared.d.ts +13 -0
  120. package/lib/services/marketplaces/marketplaces.shared.js +13 -0
  121. package/lib/services/markets/markets.class.d.ts +11 -0
  122. package/lib/services/markets/markets.d.ts +11 -0
  123. package/lib/services/markets/markets.schema.d.ts +503 -0
  124. package/lib/services/markets/markets.shared.d.ts +13 -0
  125. package/lib/services/markets/markets.shared.js +13 -0
  126. package/lib/services/messages/messages.class.d.ts +11 -0
  127. package/lib/services/messages/messages.d.ts +11 -0
  128. package/lib/services/messages/messages.schema.d.ts +711 -0
  129. package/lib/services/messages/messages.shared.d.ts +13 -0
  130. package/lib/services/messages/messages.shared.js +13 -0
  131. package/lib/services/strategies/ai/ai.class.d.ts +11 -0
  132. package/lib/services/strategies/ai/ai.d.ts +11 -0
  133. package/lib/services/strategies/ai/ai.schema.d.ts +287 -0
  134. package/lib/services/strategies/ai/ai.shared.d.ts +13 -0
  135. package/lib/services/strategies/ai/ai.shared.js +13 -0
  136. package/lib/services/strategies/ai/stream/stream.class.d.ts +26 -0
  137. package/lib/services/strategies/ai/stream/stream.d.ts +10 -0
  138. package/lib/services/strategies/ai/stream/stream.shared.d.ts +13 -0
  139. package/lib/services/strategies/ai/stream/stream.shared.js +13 -0
  140. package/lib/services/strategies/backtest/backtest.class.d.ts +11 -0
  141. package/lib/services/strategies/backtest/backtest.d.ts +11 -0
  142. package/lib/services/strategies/backtest/backtest.schema.d.ts +401 -0
  143. package/lib/services/strategies/backtest/backtest.shared.d.ts +13 -0
  144. package/lib/services/strategies/backtest/backtest.shared.js +13 -0
  145. package/lib/services/strategies/backtest/results/results.class.d.ts +11 -0
  146. package/lib/services/strategies/backtest/results/results.d.ts +11 -0
  147. package/lib/services/strategies/backtest/results/results.schema.d.ts +1115 -0
  148. package/lib/services/strategies/backtest/results/results.shared.d.ts +13 -0
  149. package/lib/services/strategies/backtest/results/results.shared.js +13 -0
  150. package/lib/services/strategies/blob/blob.class.d.ts +26 -0
  151. package/lib/services/strategies/blob/blob.d.ts +10 -0
  152. package/lib/services/strategies/blob/blob.shared.d.ts +13 -0
  153. package/lib/services/strategies/blob/blob.shared.js +13 -0
  154. package/lib/services/strategies/indicators/indicators.class.d.ts +11 -0
  155. package/lib/services/strategies/indicators/indicators.d.ts +11 -0
  156. package/lib/services/strategies/indicators/indicators.schema.d.ts +277 -0
  157. package/lib/services/strategies/indicators/indicators.shared.d.ts +13 -0
  158. package/lib/services/strategies/indicators/indicators.shared.js +13 -0
  159. package/lib/services/strategies/strategies.class.d.ts +11 -0
  160. package/lib/services/strategies/strategies.d.ts +11 -0
  161. package/lib/services/strategies/strategies.schema.d.ts +2279 -0
  162. package/lib/services/strategies/strategies.shared.d.ts +13 -0
  163. package/lib/services/strategies/strategies.shared.js +13 -0
  164. package/lib/services/strategies/templates/templates.class.d.ts +11 -0
  165. package/lib/services/strategies/templates/templates.d.ts +11 -0
  166. package/lib/services/strategies/templates/templates.schema.d.ts +269 -0
  167. package/lib/services/strategies/templates/templates.shared.d.ts +13 -0
  168. package/lib/services/strategies/templates/templates.shared.js +13 -0
  169. package/lib/services/stripe/charges/charges.class.d.ts +26 -0
  170. package/lib/services/stripe/charges/charges.d.ts +10 -0
  171. package/lib/services/stripe/charges/charges.shared.d.ts +13 -0
  172. package/lib/services/stripe/charges/charges.shared.js +13 -0
  173. package/lib/services/stripe/customers/cards/cards.class.d.ts +26 -0
  174. package/lib/services/stripe/customers/cards/cards.d.ts +10 -0
  175. package/lib/services/stripe/customers/cards/cards.shared.d.ts +13 -0
  176. package/lib/services/stripe/customers/cards/cards.shared.js +13 -0
  177. package/lib/services/stripe/customers/customers.class.d.ts +26 -0
  178. package/lib/services/stripe/customers/customers.d.ts +10 -0
  179. package/lib/services/stripe/customers/customers.shared.d.ts +13 -0
  180. package/lib/services/stripe/customers/customers.shared.js +13 -0
  181. package/lib/services/stripe/customers/paymentintent/paymentintent.class.d.ts +26 -0
  182. package/lib/services/stripe/customers/paymentintent/paymentintent.d.ts +10 -0
  183. package/lib/services/stripe/customers/paymentintent/paymentintent.shared.d.ts +13 -0
  184. package/lib/services/stripe/customers/paymentintent/paymentintent.shared.js +13 -0
  185. package/lib/services/stripe/customers/paymentmethods/paymentmethods.class.d.ts +26 -0
  186. package/lib/services/stripe/customers/paymentmethods/paymentmethods.d.ts +10 -0
  187. package/lib/services/stripe/customers/paymentmethods/paymentmethods.shared.d.ts +13 -0
  188. package/lib/services/stripe/customers/paymentmethods/paymentmethods.shared.js +13 -0
  189. package/lib/services/stripe/customers/subscriptions/subscriptions.class.d.ts +26 -0
  190. package/lib/services/stripe/customers/subscriptions/subscriptions.d.ts +10 -0
  191. package/lib/services/stripe/customers/subscriptions/subscriptions.shared.d.ts +13 -0
  192. package/lib/services/stripe/customers/subscriptions/subscriptions.shared.js +13 -0
  193. package/lib/services/stripe/products/products.class.d.ts +26 -0
  194. package/lib/services/stripe/products/products.d.ts +10 -0
  195. package/lib/services/stripe/products/products.shared.d.ts +13 -0
  196. package/lib/services/stripe/products/products.shared.js +13 -0
  197. package/lib/services/traders/pods/api/api.class.d.ts +11 -0
  198. package/lib/services/traders/pods/api/api.d.ts +11 -0
  199. package/lib/services/traders/pods/api/api.schema.d.ts +5149 -0
  200. package/lib/services/traders/pods/api/api.shared.d.ts +13 -0
  201. package/lib/services/traders/pods/api/api.shared.js +13 -0
  202. package/lib/services/traders/pods/blob/blob.class.d.ts +26 -0
  203. package/lib/services/traders/pods/blob/blob.d.ts +9 -0
  204. package/lib/services/traders/pods/blob/blob.shared.d.ts +13 -0
  205. package/lib/services/traders/pods/blob/blob.shared.js +13 -0
  206. package/lib/services/traders/pods/events/events.class.d.ts +11 -0
  207. package/lib/services/traders/pods/events/events.d.ts +11 -0
  208. package/lib/services/traders/pods/events/events.schema.d.ts +531 -0
  209. package/lib/services/traders/pods/events/events.shared.d.ts +13 -0
  210. package/lib/services/traders/pods/events/events.shared.js +13 -0
  211. package/lib/services/traders/pods/pods.class.d.ts +11 -0
  212. package/lib/services/traders/pods/pods.d.ts +11 -0
  213. package/lib/services/traders/pods/pods.schema.d.ts +3933 -0
  214. package/lib/services/traders/pods/pods.shared.d.ts +13 -0
  215. package/lib/services/traders/pods/pods.shared.js +13 -0
  216. package/lib/services/traders/pods/webhooks/webhooks.class.d.ts +11 -0
  217. package/lib/services/traders/pods/webhooks/webhooks.d.ts +11 -0
  218. package/lib/services/traders/pods/webhooks/webhooks.schema.d.ts +351 -0
  219. package/lib/services/traders/pods/webhooks/webhooks.shared.d.ts +13 -0
  220. package/lib/services/traders/pods/webhooks/webhooks.shared.js +13 -0
  221. package/lib/services/traders/traders.class.d.ts +11 -0
  222. package/lib/services/traders/traders.d.ts +11 -0
  223. package/lib/services/traders/traders.schema.d.ts +2825 -0
  224. package/lib/services/traders/traders.shared.d.ts +13 -0
  225. package/lib/services/traders/traders.shared.js +13 -0
  226. package/lib/services/users/users.class.d.ts +11 -0
  227. package/lib/services/users/users.d.ts +11 -0
  228. package/lib/services/users/users.helper.d.ts +9 -0
  229. package/lib/services/users/users.schema.d.ts +615 -0
  230. package/lib/services/users/users.shared.d.ts +13 -0
  231. package/lib/services/users/users.shared.js +13 -0
  232. package/lib/validators.d.ts +3 -0
  233. package/package.json +37 -0
  234. package/readme.md +41 -0
@@ -0,0 +1,1115 @@
1
+ import type { Static } from '@feathersjs/typebox';
2
+ import type { HookContext } from '../../../../declarations';
3
+ import type { StrategiesBacktestResultsService } from './results.class';
4
+ export declare const strategiesBacktestResultsSchema: import("@feathersjs/typebox").TObject<{
5
+ _id: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
6
+ traderId: import("@feathersjs/typebox").TString<string>;
7
+ strategyId: import("@feathersjs/typebox").TString<string>;
8
+ profit_total: import("@feathersjs/typebox").TString<string>;
9
+ createdAt: import("@feathersjs/typebox").TAny;
10
+ updatedAt: import("@feathersjs/typebox").TAny;
11
+ trades: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
12
+ locks: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
13
+ best_pair: import("@feathersjs/typebox").TObject<{}>;
14
+ worst_pair: import("@feathersjs/typebox").TObject<{}>;
15
+ results_per_pair: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
16
+ results_per_buy_tag: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
17
+ sell_reason_summary: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
18
+ left_open_trades: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
19
+ total_trades: import("@feathersjs/typebox").TNumber;
20
+ total_volume: import("@feathersjs/typebox").TNumber;
21
+ avg_stake_amount: import("@feathersjs/typebox").TNumber;
22
+ profit_mean: import("@feathersjs/typebox").TNumber;
23
+ profit_median: import("@feathersjs/typebox").TNumber;
24
+ profit_total_abs: import("@feathersjs/typebox").TNumber;
25
+ backtest_start: import("@feathersjs/typebox").TString<string>;
26
+ backtest_start_ts: import("@feathersjs/typebox").TInteger;
27
+ backtest_end: import("@feathersjs/typebox").TString<string>;
28
+ backtest_end_ts: import("@feathersjs/typebox").TInteger;
29
+ backtest_days: import("@feathersjs/typebox").TInteger;
30
+ backtest_run_start_ts: import("@feathersjs/typebox").TInteger;
31
+ backtest_run_end_ts: import("@feathersjs/typebox").TInteger;
32
+ trades_per_day: import("@feathersjs/typebox").TNumber;
33
+ market_change: import("@feathersjs/typebox").TNumber;
34
+ pairlist: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
35
+ stake_amount: import("@feathersjs/typebox").TNumber;
36
+ stake_currency: import("@feathersjs/typebox").TString<string>;
37
+ stake_currency_decimals: import("@feathersjs/typebox").TInteger;
38
+ starting_balance: import("@feathersjs/typebox").TNumber;
39
+ dry_run_wallet: import("@feathersjs/typebox").TNumber;
40
+ final_balance: import("@feathersjs/typebox").TNumber;
41
+ rejected_signals: import("@feathersjs/typebox").TInteger;
42
+ timedout_entry_orders: import("@feathersjs/typebox").TInteger;
43
+ timedout_exit_orders: import("@feathersjs/typebox").TInteger;
44
+ max_open_trades: import("@feathersjs/typebox").TInteger;
45
+ max_open_trades_setting: import("@feathersjs/typebox").TInteger;
46
+ timeframe: import("@feathersjs/typebox").TString<string>;
47
+ timeframe_detail: import("@feathersjs/typebox").TString<string>;
48
+ timerange: import("@feathersjs/typebox").TString<string>;
49
+ enable_protections: import("@feathersjs/typebox").TBoolean;
50
+ strategy_name: import("@feathersjs/typebox").TString<string>;
51
+ stoploss: import("@feathersjs/typebox").TNumber;
52
+ trailing_stop: import("@feathersjs/typebox").TBoolean;
53
+ trailing_stop_positive: import("@feathersjs/typebox").TNumber;
54
+ trailing_stop_positive_offset: import("@feathersjs/typebox").TNumber;
55
+ trailing_only_offset_is_reached: import("@feathersjs/typebox").TBoolean;
56
+ use_custom_stoploss: import("@feathersjs/typebox").TBoolean;
57
+ minimal_roi: import("@feathersjs/typebox").TObject<{}>;
58
+ use_sell_signal: import("@feathersjs/typebox").TBoolean;
59
+ sell_profit_only: import("@feathersjs/typebox").TBoolean;
60
+ sell_profit_offset: import("@feathersjs/typebox").TNumber;
61
+ ignore_roi_if_buy_signal: import("@feathersjs/typebox").TBoolean;
62
+ backtest_best_day: import("@feathersjs/typebox").TNumber;
63
+ backtest_worst_day: import("@feathersjs/typebox").TNumber;
64
+ backtest_best_day_abs: import("@feathersjs/typebox").TNumber;
65
+ backtest_worst_day_abs: import("@feathersjs/typebox").TNumber;
66
+ winning_days: import("@feathersjs/typebox").TInteger;
67
+ draw_days: import("@feathersjs/typebox").TInteger;
68
+ losing_days: import("@feathersjs/typebox").TInteger;
69
+ daily_profit: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
70
+ wins: import("@feathersjs/typebox").TInteger;
71
+ losses: import("@feathersjs/typebox").TInteger;
72
+ draws: import("@feathersjs/typebox").TInteger;
73
+ holding_avg: import("@feathersjs/typebox").TString<string>;
74
+ holding_avg_s: import("@feathersjs/typebox").TInteger;
75
+ winner_holding_avg: import("@feathersjs/typebox").TString<string>;
76
+ winner_holding_avg_s: import("@feathersjs/typebox").TInteger;
77
+ loser_holding_avg: import("@feathersjs/typebox").TString<string>;
78
+ loser_holding_avg_s: import("@feathersjs/typebox").TInteger;
79
+ max_drawdown: import("@feathersjs/typebox").TNumber;
80
+ max_drawdown_account: import("@feathersjs/typebox").TNumber;
81
+ max_drawdown_abs: import("@feathersjs/typebox").TNumber;
82
+ drawdown_start: import("@feathersjs/typebox").TString<string>;
83
+ drawdown_start_ts: import("@feathersjs/typebox").TInteger;
84
+ drawdown_end: import("@feathersjs/typebox").TString<string>;
85
+ drawdown_end_ts: import("@feathersjs/typebox").TInteger;
86
+ max_drawdown_low: import("@feathersjs/typebox").TNumber;
87
+ max_drawdown_high: import("@feathersjs/typebox").TNumber;
88
+ csum_min: import("@feathersjs/typebox").TNumber;
89
+ csum_max: import("@feathersjs/typebox").TNumber;
90
+ }>;
91
+ export type StrategiesBacktestResults = Static<typeof strategiesBacktestResultsSchema>;
92
+ export declare const strategiesBacktestResultsValidator: import("@feathersjs/schema").Validator<any, any>;
93
+ export declare const strategiesBacktestResultsResolver: import("@feathersjs/schema").Resolver<{
94
+ _id: string | {};
95
+ createdAt: any;
96
+ updatedAt: any;
97
+ strategyId: string;
98
+ traderId: string;
99
+ profit_total: string;
100
+ trades: unknown[];
101
+ locks: unknown[];
102
+ best_pair: {};
103
+ worst_pair: {};
104
+ results_per_pair: unknown[];
105
+ results_per_buy_tag: unknown[];
106
+ sell_reason_summary: unknown[];
107
+ left_open_trades: unknown[];
108
+ total_trades: number;
109
+ total_volume: number;
110
+ avg_stake_amount: number;
111
+ profit_mean: number;
112
+ profit_median: number;
113
+ profit_total_abs: number;
114
+ backtest_start: string;
115
+ backtest_start_ts: number;
116
+ backtest_end: string;
117
+ backtest_end_ts: number;
118
+ backtest_days: number;
119
+ backtest_run_start_ts: number;
120
+ backtest_run_end_ts: number;
121
+ trades_per_day: number;
122
+ market_change: number;
123
+ pairlist: unknown[];
124
+ stake_amount: number;
125
+ stake_currency: string;
126
+ stake_currency_decimals: number;
127
+ starting_balance: number;
128
+ dry_run_wallet: number;
129
+ final_balance: number;
130
+ rejected_signals: number;
131
+ timedout_entry_orders: number;
132
+ timedout_exit_orders: number;
133
+ max_open_trades: number;
134
+ max_open_trades_setting: number;
135
+ timeframe: string;
136
+ timeframe_detail: string;
137
+ timerange: string;
138
+ enable_protections: boolean;
139
+ strategy_name: string;
140
+ stoploss: number;
141
+ trailing_stop: boolean;
142
+ trailing_stop_positive: number;
143
+ trailing_stop_positive_offset: number;
144
+ trailing_only_offset_is_reached: boolean;
145
+ use_custom_stoploss: boolean;
146
+ minimal_roi: {};
147
+ use_sell_signal: boolean;
148
+ sell_profit_only: boolean;
149
+ sell_profit_offset: number;
150
+ ignore_roi_if_buy_signal: boolean;
151
+ backtest_best_day: number;
152
+ backtest_worst_day: number;
153
+ backtest_best_day_abs: number;
154
+ backtest_worst_day_abs: number;
155
+ winning_days: number;
156
+ draw_days: number;
157
+ losing_days: number;
158
+ daily_profit: unknown[];
159
+ wins: number;
160
+ losses: number;
161
+ draws: number;
162
+ holding_avg: string;
163
+ holding_avg_s: number;
164
+ winner_holding_avg: string;
165
+ winner_holding_avg_s: number;
166
+ loser_holding_avg: string;
167
+ loser_holding_avg_s: number;
168
+ max_drawdown: number;
169
+ max_drawdown_account: number;
170
+ max_drawdown_abs: number;
171
+ drawdown_start: string;
172
+ drawdown_start_ts: number;
173
+ drawdown_end: string;
174
+ drawdown_end_ts: number;
175
+ max_drawdown_low: number;
176
+ max_drawdown_high: number;
177
+ csum_min: number;
178
+ csum_max: number;
179
+ }, HookContext<StrategiesBacktestResultsService<import("./results.class").StrategiesBacktestResultsParams>>>;
180
+ export declare const strategiesBacktestResultsExternalResolver: import("@feathersjs/schema").Resolver<{
181
+ _id: string | {};
182
+ createdAt: any;
183
+ updatedAt: any;
184
+ strategyId: string;
185
+ traderId: string;
186
+ profit_total: string;
187
+ trades: unknown[];
188
+ locks: unknown[];
189
+ best_pair: {};
190
+ worst_pair: {};
191
+ results_per_pair: unknown[];
192
+ results_per_buy_tag: unknown[];
193
+ sell_reason_summary: unknown[];
194
+ left_open_trades: unknown[];
195
+ total_trades: number;
196
+ total_volume: number;
197
+ avg_stake_amount: number;
198
+ profit_mean: number;
199
+ profit_median: number;
200
+ profit_total_abs: number;
201
+ backtest_start: string;
202
+ backtest_start_ts: number;
203
+ backtest_end: string;
204
+ backtest_end_ts: number;
205
+ backtest_days: number;
206
+ backtest_run_start_ts: number;
207
+ backtest_run_end_ts: number;
208
+ trades_per_day: number;
209
+ market_change: number;
210
+ pairlist: unknown[];
211
+ stake_amount: number;
212
+ stake_currency: string;
213
+ stake_currency_decimals: number;
214
+ starting_balance: number;
215
+ dry_run_wallet: number;
216
+ final_balance: number;
217
+ rejected_signals: number;
218
+ timedout_entry_orders: number;
219
+ timedout_exit_orders: number;
220
+ max_open_trades: number;
221
+ max_open_trades_setting: number;
222
+ timeframe: string;
223
+ timeframe_detail: string;
224
+ timerange: string;
225
+ enable_protections: boolean;
226
+ strategy_name: string;
227
+ stoploss: number;
228
+ trailing_stop: boolean;
229
+ trailing_stop_positive: number;
230
+ trailing_stop_positive_offset: number;
231
+ trailing_only_offset_is_reached: boolean;
232
+ use_custom_stoploss: boolean;
233
+ minimal_roi: {};
234
+ use_sell_signal: boolean;
235
+ sell_profit_only: boolean;
236
+ sell_profit_offset: number;
237
+ ignore_roi_if_buy_signal: boolean;
238
+ backtest_best_day: number;
239
+ backtest_worst_day: number;
240
+ backtest_best_day_abs: number;
241
+ backtest_worst_day_abs: number;
242
+ winning_days: number;
243
+ draw_days: number;
244
+ losing_days: number;
245
+ daily_profit: unknown[];
246
+ wins: number;
247
+ losses: number;
248
+ draws: number;
249
+ holding_avg: string;
250
+ holding_avg_s: number;
251
+ winner_holding_avg: string;
252
+ winner_holding_avg_s: number;
253
+ loser_holding_avg: string;
254
+ loser_holding_avg_s: number;
255
+ max_drawdown: number;
256
+ max_drawdown_account: number;
257
+ max_drawdown_abs: number;
258
+ drawdown_start: string;
259
+ drawdown_start_ts: number;
260
+ drawdown_end: string;
261
+ drawdown_end_ts: number;
262
+ max_drawdown_low: number;
263
+ max_drawdown_high: number;
264
+ csum_min: number;
265
+ csum_max: number;
266
+ }, HookContext<StrategiesBacktestResultsService<import("./results.class").StrategiesBacktestResultsParams>>>;
267
+ export declare const strategiesBacktestResultsDataSchema: import("@feathersjs/typebox").TPick<import("@feathersjs/typebox").TObject<{
268
+ _id: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
269
+ traderId: import("@feathersjs/typebox").TString<string>;
270
+ strategyId: import("@feathersjs/typebox").TString<string>;
271
+ profit_total: import("@feathersjs/typebox").TString<string>;
272
+ createdAt: import("@feathersjs/typebox").TAny;
273
+ updatedAt: import("@feathersjs/typebox").TAny;
274
+ trades: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
275
+ locks: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
276
+ best_pair: import("@feathersjs/typebox").TObject<{}>;
277
+ worst_pair: import("@feathersjs/typebox").TObject<{}>;
278
+ results_per_pair: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
279
+ results_per_buy_tag: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
280
+ sell_reason_summary: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
281
+ left_open_trades: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
282
+ total_trades: import("@feathersjs/typebox").TNumber;
283
+ total_volume: import("@feathersjs/typebox").TNumber;
284
+ avg_stake_amount: import("@feathersjs/typebox").TNumber;
285
+ profit_mean: import("@feathersjs/typebox").TNumber;
286
+ profit_median: import("@feathersjs/typebox").TNumber;
287
+ profit_total_abs: import("@feathersjs/typebox").TNumber;
288
+ backtest_start: import("@feathersjs/typebox").TString<string>;
289
+ backtest_start_ts: import("@feathersjs/typebox").TInteger;
290
+ backtest_end: import("@feathersjs/typebox").TString<string>;
291
+ backtest_end_ts: import("@feathersjs/typebox").TInteger;
292
+ backtest_days: import("@feathersjs/typebox").TInteger;
293
+ backtest_run_start_ts: import("@feathersjs/typebox").TInteger;
294
+ backtest_run_end_ts: import("@feathersjs/typebox").TInteger;
295
+ trades_per_day: import("@feathersjs/typebox").TNumber;
296
+ market_change: import("@feathersjs/typebox").TNumber;
297
+ pairlist: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
298
+ stake_amount: import("@feathersjs/typebox").TNumber;
299
+ stake_currency: import("@feathersjs/typebox").TString<string>;
300
+ stake_currency_decimals: import("@feathersjs/typebox").TInteger;
301
+ starting_balance: import("@feathersjs/typebox").TNumber;
302
+ dry_run_wallet: import("@feathersjs/typebox").TNumber;
303
+ final_balance: import("@feathersjs/typebox").TNumber;
304
+ rejected_signals: import("@feathersjs/typebox").TInteger;
305
+ timedout_entry_orders: import("@feathersjs/typebox").TInteger;
306
+ timedout_exit_orders: import("@feathersjs/typebox").TInteger;
307
+ max_open_trades: import("@feathersjs/typebox").TInteger;
308
+ max_open_trades_setting: import("@feathersjs/typebox").TInteger;
309
+ timeframe: import("@feathersjs/typebox").TString<string>;
310
+ timeframe_detail: import("@feathersjs/typebox").TString<string>;
311
+ timerange: import("@feathersjs/typebox").TString<string>;
312
+ enable_protections: import("@feathersjs/typebox").TBoolean;
313
+ strategy_name: import("@feathersjs/typebox").TString<string>;
314
+ stoploss: import("@feathersjs/typebox").TNumber;
315
+ trailing_stop: import("@feathersjs/typebox").TBoolean;
316
+ trailing_stop_positive: import("@feathersjs/typebox").TNumber;
317
+ trailing_stop_positive_offset: import("@feathersjs/typebox").TNumber;
318
+ trailing_only_offset_is_reached: import("@feathersjs/typebox").TBoolean;
319
+ use_custom_stoploss: import("@feathersjs/typebox").TBoolean;
320
+ minimal_roi: import("@feathersjs/typebox").TObject<{}>;
321
+ use_sell_signal: import("@feathersjs/typebox").TBoolean;
322
+ sell_profit_only: import("@feathersjs/typebox").TBoolean;
323
+ sell_profit_offset: import("@feathersjs/typebox").TNumber;
324
+ ignore_roi_if_buy_signal: import("@feathersjs/typebox").TBoolean;
325
+ backtest_best_day: import("@feathersjs/typebox").TNumber;
326
+ backtest_worst_day: import("@feathersjs/typebox").TNumber;
327
+ backtest_best_day_abs: import("@feathersjs/typebox").TNumber;
328
+ backtest_worst_day_abs: import("@feathersjs/typebox").TNumber;
329
+ winning_days: import("@feathersjs/typebox").TInteger;
330
+ draw_days: import("@feathersjs/typebox").TInteger;
331
+ losing_days: import("@feathersjs/typebox").TInteger;
332
+ daily_profit: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
333
+ wins: import("@feathersjs/typebox").TInteger;
334
+ losses: import("@feathersjs/typebox").TInteger;
335
+ draws: import("@feathersjs/typebox").TInteger;
336
+ holding_avg: import("@feathersjs/typebox").TString<string>;
337
+ holding_avg_s: import("@feathersjs/typebox").TInteger;
338
+ winner_holding_avg: import("@feathersjs/typebox").TString<string>;
339
+ winner_holding_avg_s: import("@feathersjs/typebox").TInteger;
340
+ loser_holding_avg: import("@feathersjs/typebox").TString<string>;
341
+ loser_holding_avg_s: import("@feathersjs/typebox").TInteger;
342
+ max_drawdown: import("@feathersjs/typebox").TNumber;
343
+ max_drawdown_account: import("@feathersjs/typebox").TNumber;
344
+ max_drawdown_abs: import("@feathersjs/typebox").TNumber;
345
+ drawdown_start: import("@feathersjs/typebox").TString<string>;
346
+ drawdown_start_ts: import("@feathersjs/typebox").TInteger;
347
+ drawdown_end: import("@feathersjs/typebox").TString<string>;
348
+ drawdown_end_ts: import("@feathersjs/typebox").TInteger;
349
+ max_drawdown_low: import("@feathersjs/typebox").TNumber;
350
+ max_drawdown_high: import("@feathersjs/typebox").TNumber;
351
+ csum_min: import("@feathersjs/typebox").TNumber;
352
+ csum_max: import("@feathersjs/typebox").TNumber;
353
+ }>, ["traderId"]>;
354
+ export type StrategiesBacktestResultsData = Static<typeof strategiesBacktestResultsDataSchema>;
355
+ export declare const strategiesBacktestResultsDataValidator: import("@feathersjs/schema").Validator<any, any>;
356
+ export declare const strategiesBacktestResultsDataResolver: import("@feathersjs/schema").Resolver<{
357
+ _id: string | {};
358
+ createdAt: any;
359
+ updatedAt: any;
360
+ strategyId: string;
361
+ traderId: string;
362
+ profit_total: string;
363
+ trades: unknown[];
364
+ locks: unknown[];
365
+ best_pair: {};
366
+ worst_pair: {};
367
+ results_per_pair: unknown[];
368
+ results_per_buy_tag: unknown[];
369
+ sell_reason_summary: unknown[];
370
+ left_open_trades: unknown[];
371
+ total_trades: number;
372
+ total_volume: number;
373
+ avg_stake_amount: number;
374
+ profit_mean: number;
375
+ profit_median: number;
376
+ profit_total_abs: number;
377
+ backtest_start: string;
378
+ backtest_start_ts: number;
379
+ backtest_end: string;
380
+ backtest_end_ts: number;
381
+ backtest_days: number;
382
+ backtest_run_start_ts: number;
383
+ backtest_run_end_ts: number;
384
+ trades_per_day: number;
385
+ market_change: number;
386
+ pairlist: unknown[];
387
+ stake_amount: number;
388
+ stake_currency: string;
389
+ stake_currency_decimals: number;
390
+ starting_balance: number;
391
+ dry_run_wallet: number;
392
+ final_balance: number;
393
+ rejected_signals: number;
394
+ timedout_entry_orders: number;
395
+ timedout_exit_orders: number;
396
+ max_open_trades: number;
397
+ max_open_trades_setting: number;
398
+ timeframe: string;
399
+ timeframe_detail: string;
400
+ timerange: string;
401
+ enable_protections: boolean;
402
+ strategy_name: string;
403
+ stoploss: number;
404
+ trailing_stop: boolean;
405
+ trailing_stop_positive: number;
406
+ trailing_stop_positive_offset: number;
407
+ trailing_only_offset_is_reached: boolean;
408
+ use_custom_stoploss: boolean;
409
+ minimal_roi: {};
410
+ use_sell_signal: boolean;
411
+ sell_profit_only: boolean;
412
+ sell_profit_offset: number;
413
+ ignore_roi_if_buy_signal: boolean;
414
+ backtest_best_day: number;
415
+ backtest_worst_day: number;
416
+ backtest_best_day_abs: number;
417
+ backtest_worst_day_abs: number;
418
+ winning_days: number;
419
+ draw_days: number;
420
+ losing_days: number;
421
+ daily_profit: unknown[];
422
+ wins: number;
423
+ losses: number;
424
+ draws: number;
425
+ holding_avg: string;
426
+ holding_avg_s: number;
427
+ winner_holding_avg: string;
428
+ winner_holding_avg_s: number;
429
+ loser_holding_avg: string;
430
+ loser_holding_avg_s: number;
431
+ max_drawdown: number;
432
+ max_drawdown_account: number;
433
+ max_drawdown_abs: number;
434
+ drawdown_start: string;
435
+ drawdown_start_ts: number;
436
+ drawdown_end: string;
437
+ drawdown_end_ts: number;
438
+ max_drawdown_low: number;
439
+ max_drawdown_high: number;
440
+ csum_min: number;
441
+ csum_max: number;
442
+ }, HookContext<StrategiesBacktestResultsService<import("./results.class").StrategiesBacktestResultsParams>>>;
443
+ export declare const strategiesBacktestResultsPatchSchema: import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TObject<{
444
+ _id: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
445
+ traderId: import("@feathersjs/typebox").TString<string>;
446
+ strategyId: import("@feathersjs/typebox").TString<string>;
447
+ profit_total: import("@feathersjs/typebox").TString<string>;
448
+ createdAt: import("@feathersjs/typebox").TAny;
449
+ updatedAt: import("@feathersjs/typebox").TAny;
450
+ trades: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
451
+ locks: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
452
+ best_pair: import("@feathersjs/typebox").TObject<{}>;
453
+ worst_pair: import("@feathersjs/typebox").TObject<{}>;
454
+ results_per_pair: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
455
+ results_per_buy_tag: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
456
+ sell_reason_summary: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
457
+ left_open_trades: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
458
+ total_trades: import("@feathersjs/typebox").TNumber;
459
+ total_volume: import("@feathersjs/typebox").TNumber;
460
+ avg_stake_amount: import("@feathersjs/typebox").TNumber;
461
+ profit_mean: import("@feathersjs/typebox").TNumber;
462
+ profit_median: import("@feathersjs/typebox").TNumber;
463
+ profit_total_abs: import("@feathersjs/typebox").TNumber;
464
+ backtest_start: import("@feathersjs/typebox").TString<string>;
465
+ backtest_start_ts: import("@feathersjs/typebox").TInteger;
466
+ backtest_end: import("@feathersjs/typebox").TString<string>;
467
+ backtest_end_ts: import("@feathersjs/typebox").TInteger;
468
+ backtest_days: import("@feathersjs/typebox").TInteger;
469
+ backtest_run_start_ts: import("@feathersjs/typebox").TInteger;
470
+ backtest_run_end_ts: import("@feathersjs/typebox").TInteger;
471
+ trades_per_day: import("@feathersjs/typebox").TNumber;
472
+ market_change: import("@feathersjs/typebox").TNumber;
473
+ pairlist: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
474
+ stake_amount: import("@feathersjs/typebox").TNumber;
475
+ stake_currency: import("@feathersjs/typebox").TString<string>;
476
+ stake_currency_decimals: import("@feathersjs/typebox").TInteger;
477
+ starting_balance: import("@feathersjs/typebox").TNumber;
478
+ dry_run_wallet: import("@feathersjs/typebox").TNumber;
479
+ final_balance: import("@feathersjs/typebox").TNumber;
480
+ rejected_signals: import("@feathersjs/typebox").TInteger;
481
+ timedout_entry_orders: import("@feathersjs/typebox").TInteger;
482
+ timedout_exit_orders: import("@feathersjs/typebox").TInteger;
483
+ max_open_trades: import("@feathersjs/typebox").TInteger;
484
+ max_open_trades_setting: import("@feathersjs/typebox").TInteger;
485
+ timeframe: import("@feathersjs/typebox").TString<string>;
486
+ timeframe_detail: import("@feathersjs/typebox").TString<string>;
487
+ timerange: import("@feathersjs/typebox").TString<string>;
488
+ enable_protections: import("@feathersjs/typebox").TBoolean;
489
+ strategy_name: import("@feathersjs/typebox").TString<string>;
490
+ stoploss: import("@feathersjs/typebox").TNumber;
491
+ trailing_stop: import("@feathersjs/typebox").TBoolean;
492
+ trailing_stop_positive: import("@feathersjs/typebox").TNumber;
493
+ trailing_stop_positive_offset: import("@feathersjs/typebox").TNumber;
494
+ trailing_only_offset_is_reached: import("@feathersjs/typebox").TBoolean;
495
+ use_custom_stoploss: import("@feathersjs/typebox").TBoolean;
496
+ minimal_roi: import("@feathersjs/typebox").TObject<{}>;
497
+ use_sell_signal: import("@feathersjs/typebox").TBoolean;
498
+ sell_profit_only: import("@feathersjs/typebox").TBoolean;
499
+ sell_profit_offset: import("@feathersjs/typebox").TNumber;
500
+ ignore_roi_if_buy_signal: import("@feathersjs/typebox").TBoolean;
501
+ backtest_best_day: import("@feathersjs/typebox").TNumber;
502
+ backtest_worst_day: import("@feathersjs/typebox").TNumber;
503
+ backtest_best_day_abs: import("@feathersjs/typebox").TNumber;
504
+ backtest_worst_day_abs: import("@feathersjs/typebox").TNumber;
505
+ winning_days: import("@feathersjs/typebox").TInteger;
506
+ draw_days: import("@feathersjs/typebox").TInteger;
507
+ losing_days: import("@feathersjs/typebox").TInteger;
508
+ daily_profit: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
509
+ wins: import("@feathersjs/typebox").TInteger;
510
+ losses: import("@feathersjs/typebox").TInteger;
511
+ draws: import("@feathersjs/typebox").TInteger;
512
+ holding_avg: import("@feathersjs/typebox").TString<string>;
513
+ holding_avg_s: import("@feathersjs/typebox").TInteger;
514
+ winner_holding_avg: import("@feathersjs/typebox").TString<string>;
515
+ winner_holding_avg_s: import("@feathersjs/typebox").TInteger;
516
+ loser_holding_avg: import("@feathersjs/typebox").TString<string>;
517
+ loser_holding_avg_s: import("@feathersjs/typebox").TInteger;
518
+ max_drawdown: import("@feathersjs/typebox").TNumber;
519
+ max_drawdown_account: import("@feathersjs/typebox").TNumber;
520
+ max_drawdown_abs: import("@feathersjs/typebox").TNumber;
521
+ drawdown_start: import("@feathersjs/typebox").TString<string>;
522
+ drawdown_start_ts: import("@feathersjs/typebox").TInteger;
523
+ drawdown_end: import("@feathersjs/typebox").TString<string>;
524
+ drawdown_end_ts: import("@feathersjs/typebox").TInteger;
525
+ max_drawdown_low: import("@feathersjs/typebox").TNumber;
526
+ max_drawdown_high: import("@feathersjs/typebox").TNumber;
527
+ csum_min: import("@feathersjs/typebox").TNumber;
528
+ csum_max: import("@feathersjs/typebox").TNumber;
529
+ }>>;
530
+ export type StrategiesBacktestResultsPatch = Static<typeof strategiesBacktestResultsPatchSchema>;
531
+ export declare const strategiesBacktestResultsPatchValidator: import("@feathersjs/schema").Validator<any, any>;
532
+ export declare const strategiesBacktestResultsPatchResolver: import("@feathersjs/schema").Resolver<{
533
+ _id: string | {};
534
+ createdAt: any;
535
+ updatedAt: any;
536
+ strategyId: string;
537
+ traderId: string;
538
+ profit_total: string;
539
+ trades: unknown[];
540
+ locks: unknown[];
541
+ best_pair: {};
542
+ worst_pair: {};
543
+ results_per_pair: unknown[];
544
+ results_per_buy_tag: unknown[];
545
+ sell_reason_summary: unknown[];
546
+ left_open_trades: unknown[];
547
+ total_trades: number;
548
+ total_volume: number;
549
+ avg_stake_amount: number;
550
+ profit_mean: number;
551
+ profit_median: number;
552
+ profit_total_abs: number;
553
+ backtest_start: string;
554
+ backtest_start_ts: number;
555
+ backtest_end: string;
556
+ backtest_end_ts: number;
557
+ backtest_days: number;
558
+ backtest_run_start_ts: number;
559
+ backtest_run_end_ts: number;
560
+ trades_per_day: number;
561
+ market_change: number;
562
+ pairlist: unknown[];
563
+ stake_amount: number;
564
+ stake_currency: string;
565
+ stake_currency_decimals: number;
566
+ starting_balance: number;
567
+ dry_run_wallet: number;
568
+ final_balance: number;
569
+ rejected_signals: number;
570
+ timedout_entry_orders: number;
571
+ timedout_exit_orders: number;
572
+ max_open_trades: number;
573
+ max_open_trades_setting: number;
574
+ timeframe: string;
575
+ timeframe_detail: string;
576
+ timerange: string;
577
+ enable_protections: boolean;
578
+ strategy_name: string;
579
+ stoploss: number;
580
+ trailing_stop: boolean;
581
+ trailing_stop_positive: number;
582
+ trailing_stop_positive_offset: number;
583
+ trailing_only_offset_is_reached: boolean;
584
+ use_custom_stoploss: boolean;
585
+ minimal_roi: {};
586
+ use_sell_signal: boolean;
587
+ sell_profit_only: boolean;
588
+ sell_profit_offset: number;
589
+ ignore_roi_if_buy_signal: boolean;
590
+ backtest_best_day: number;
591
+ backtest_worst_day: number;
592
+ backtest_best_day_abs: number;
593
+ backtest_worst_day_abs: number;
594
+ winning_days: number;
595
+ draw_days: number;
596
+ losing_days: number;
597
+ daily_profit: unknown[];
598
+ wins: number;
599
+ losses: number;
600
+ draws: number;
601
+ holding_avg: string;
602
+ holding_avg_s: number;
603
+ winner_holding_avg: string;
604
+ winner_holding_avg_s: number;
605
+ loser_holding_avg: string;
606
+ loser_holding_avg_s: number;
607
+ max_drawdown: number;
608
+ max_drawdown_account: number;
609
+ max_drawdown_abs: number;
610
+ drawdown_start: string;
611
+ drawdown_start_ts: number;
612
+ drawdown_end: string;
613
+ drawdown_end_ts: number;
614
+ max_drawdown_low: number;
615
+ max_drawdown_high: number;
616
+ csum_min: number;
617
+ csum_max: number;
618
+ }, HookContext<StrategiesBacktestResultsService<import("./results.class").StrategiesBacktestResultsParams>>>;
619
+ export declare const strategiesBacktestResultsQueryProperties: import("@feathersjs/typebox").TPick<import("@feathersjs/typebox").TObject<{
620
+ _id: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
621
+ traderId: import("@feathersjs/typebox").TString<string>;
622
+ strategyId: import("@feathersjs/typebox").TString<string>;
623
+ profit_total: import("@feathersjs/typebox").TString<string>;
624
+ createdAt: import("@feathersjs/typebox").TAny;
625
+ updatedAt: import("@feathersjs/typebox").TAny;
626
+ trades: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
627
+ locks: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
628
+ best_pair: import("@feathersjs/typebox").TObject<{}>;
629
+ worst_pair: import("@feathersjs/typebox").TObject<{}>;
630
+ results_per_pair: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
631
+ results_per_buy_tag: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
632
+ sell_reason_summary: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
633
+ left_open_trades: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
634
+ total_trades: import("@feathersjs/typebox").TNumber;
635
+ total_volume: import("@feathersjs/typebox").TNumber;
636
+ avg_stake_amount: import("@feathersjs/typebox").TNumber;
637
+ profit_mean: import("@feathersjs/typebox").TNumber;
638
+ profit_median: import("@feathersjs/typebox").TNumber;
639
+ profit_total_abs: import("@feathersjs/typebox").TNumber;
640
+ backtest_start: import("@feathersjs/typebox").TString<string>;
641
+ backtest_start_ts: import("@feathersjs/typebox").TInteger;
642
+ backtest_end: import("@feathersjs/typebox").TString<string>;
643
+ backtest_end_ts: import("@feathersjs/typebox").TInteger;
644
+ backtest_days: import("@feathersjs/typebox").TInteger;
645
+ backtest_run_start_ts: import("@feathersjs/typebox").TInteger;
646
+ backtest_run_end_ts: import("@feathersjs/typebox").TInteger;
647
+ trades_per_day: import("@feathersjs/typebox").TNumber;
648
+ market_change: import("@feathersjs/typebox").TNumber;
649
+ pairlist: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
650
+ stake_amount: import("@feathersjs/typebox").TNumber;
651
+ stake_currency: import("@feathersjs/typebox").TString<string>;
652
+ stake_currency_decimals: import("@feathersjs/typebox").TInteger;
653
+ starting_balance: import("@feathersjs/typebox").TNumber;
654
+ dry_run_wallet: import("@feathersjs/typebox").TNumber;
655
+ final_balance: import("@feathersjs/typebox").TNumber;
656
+ rejected_signals: import("@feathersjs/typebox").TInteger;
657
+ timedout_entry_orders: import("@feathersjs/typebox").TInteger;
658
+ timedout_exit_orders: import("@feathersjs/typebox").TInteger;
659
+ max_open_trades: import("@feathersjs/typebox").TInteger;
660
+ max_open_trades_setting: import("@feathersjs/typebox").TInteger;
661
+ timeframe: import("@feathersjs/typebox").TString<string>;
662
+ timeframe_detail: import("@feathersjs/typebox").TString<string>;
663
+ timerange: import("@feathersjs/typebox").TString<string>;
664
+ enable_protections: import("@feathersjs/typebox").TBoolean;
665
+ strategy_name: import("@feathersjs/typebox").TString<string>;
666
+ stoploss: import("@feathersjs/typebox").TNumber;
667
+ trailing_stop: import("@feathersjs/typebox").TBoolean;
668
+ trailing_stop_positive: import("@feathersjs/typebox").TNumber;
669
+ trailing_stop_positive_offset: import("@feathersjs/typebox").TNumber;
670
+ trailing_only_offset_is_reached: import("@feathersjs/typebox").TBoolean;
671
+ use_custom_stoploss: import("@feathersjs/typebox").TBoolean;
672
+ minimal_roi: import("@feathersjs/typebox").TObject<{}>;
673
+ use_sell_signal: import("@feathersjs/typebox").TBoolean;
674
+ sell_profit_only: import("@feathersjs/typebox").TBoolean;
675
+ sell_profit_offset: import("@feathersjs/typebox").TNumber;
676
+ ignore_roi_if_buy_signal: import("@feathersjs/typebox").TBoolean;
677
+ backtest_best_day: import("@feathersjs/typebox").TNumber;
678
+ backtest_worst_day: import("@feathersjs/typebox").TNumber;
679
+ backtest_best_day_abs: import("@feathersjs/typebox").TNumber;
680
+ backtest_worst_day_abs: import("@feathersjs/typebox").TNumber;
681
+ winning_days: import("@feathersjs/typebox").TInteger;
682
+ draw_days: import("@feathersjs/typebox").TInteger;
683
+ losing_days: import("@feathersjs/typebox").TInteger;
684
+ daily_profit: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnknown>;
685
+ wins: import("@feathersjs/typebox").TInteger;
686
+ losses: import("@feathersjs/typebox").TInteger;
687
+ draws: import("@feathersjs/typebox").TInteger;
688
+ holding_avg: import("@feathersjs/typebox").TString<string>;
689
+ holding_avg_s: import("@feathersjs/typebox").TInteger;
690
+ winner_holding_avg: import("@feathersjs/typebox").TString<string>;
691
+ winner_holding_avg_s: import("@feathersjs/typebox").TInteger;
692
+ loser_holding_avg: import("@feathersjs/typebox").TString<string>;
693
+ loser_holding_avg_s: import("@feathersjs/typebox").TInteger;
694
+ max_drawdown: import("@feathersjs/typebox").TNumber;
695
+ max_drawdown_account: import("@feathersjs/typebox").TNumber;
696
+ max_drawdown_abs: import("@feathersjs/typebox").TNumber;
697
+ drawdown_start: import("@feathersjs/typebox").TString<string>;
698
+ drawdown_start_ts: import("@feathersjs/typebox").TInteger;
699
+ drawdown_end: import("@feathersjs/typebox").TString<string>;
700
+ drawdown_end_ts: import("@feathersjs/typebox").TInteger;
701
+ max_drawdown_low: import("@feathersjs/typebox").TNumber;
702
+ max_drawdown_high: import("@feathersjs/typebox").TNumber;
703
+ csum_min: import("@feathersjs/typebox").TNumber;
704
+ csum_max: import("@feathersjs/typebox").TNumber;
705
+ }>, ["_id", "traderId", "strategyId", "profit_total", "createdAt"]>;
706
+ export declare const strategiesBacktestResultsQuerySchema: import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TObject<{
707
+ $limit: import("@feathersjs/typebox").TNumber;
708
+ $skip: import("@feathersjs/typebox").TNumber;
709
+ $sort: import("@feathersjs/typebox").TObject<{
710
+ _id: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
711
+ createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
712
+ strategyId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
713
+ traderId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
714
+ profit_total: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TInteger>;
715
+ }>;
716
+ $select: import("@feathersjs/typebox").TUnsafe<("_id" | "createdAt" | "strategyId" | "traderId" | "profit_total")[]>;
717
+ $and: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
718
+ _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").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
719
+ $gt: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
720
+ $gte: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
721
+ $lt: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
722
+ $lte: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
723
+ $ne: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
724
+ $in: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
725
+ $nin: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
726
+ }>, import("@feathersjs/typebox").TObject<{
727
+ [key: string]: import("@feathersjs/typebox").TSchema;
728
+ } | undefined>]>>]>>;
729
+ createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TAny, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
730
+ $gt: import("@feathersjs/typebox").TAny;
731
+ $gte: import("@feathersjs/typebox").TAny;
732
+ $lt: import("@feathersjs/typebox").TAny;
733
+ $lte: import("@feathersjs/typebox").TAny;
734
+ $ne: import("@feathersjs/typebox").TAny;
735
+ $in: import("@feathersjs/typebox").TAny | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TAny>;
736
+ $nin: import("@feathersjs/typebox").TAny | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TAny>;
737
+ }>, import("@feathersjs/typebox").TObject<{
738
+ [key: string]: import("@feathersjs/typebox").TSchema;
739
+ } | undefined>]>>]>>;
740
+ strategyId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
741
+ $gt: import("@feathersjs/typebox").TString<string>;
742
+ $gte: import("@feathersjs/typebox").TString<string>;
743
+ $lt: import("@feathersjs/typebox").TString<string>;
744
+ $lte: import("@feathersjs/typebox").TString<string>;
745
+ $ne: import("@feathersjs/typebox").TString<string>;
746
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
747
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
748
+ }>, import("@feathersjs/typebox").TObject<{
749
+ [key: string]: import("@feathersjs/typebox").TSchema;
750
+ } | undefined>]>>]>>;
751
+ traderId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
752
+ $gt: import("@feathersjs/typebox").TString<string>;
753
+ $gte: import("@feathersjs/typebox").TString<string>;
754
+ $lt: import("@feathersjs/typebox").TString<string>;
755
+ $lte: import("@feathersjs/typebox").TString<string>;
756
+ $ne: import("@feathersjs/typebox").TString<string>;
757
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
758
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
759
+ }>, import("@feathersjs/typebox").TObject<{
760
+ [key: string]: import("@feathersjs/typebox").TSchema;
761
+ } | undefined>]>>]>>;
762
+ profit_total: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
763
+ $gt: import("@feathersjs/typebox").TString<string>;
764
+ $gte: import("@feathersjs/typebox").TString<string>;
765
+ $lt: import("@feathersjs/typebox").TString<string>;
766
+ $lte: import("@feathersjs/typebox").TString<string>;
767
+ $ne: import("@feathersjs/typebox").TString<string>;
768
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
769
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
770
+ }>, import("@feathersjs/typebox").TObject<{
771
+ [key: string]: import("@feathersjs/typebox").TSchema;
772
+ } | undefined>]>>]>>;
773
+ }>>, import("@feathersjs/typebox").TObject<{
774
+ $or: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
775
+ _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").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
776
+ $gt: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
777
+ $gte: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
778
+ $lt: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
779
+ $lte: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
780
+ $ne: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
781
+ $in: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
782
+ $nin: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
783
+ }>, import("@feathersjs/typebox").TObject<{
784
+ [key: string]: import("@feathersjs/typebox").TSchema;
785
+ } | undefined>]>>]>>;
786
+ createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TAny, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
787
+ $gt: import("@feathersjs/typebox").TAny;
788
+ $gte: import("@feathersjs/typebox").TAny;
789
+ $lt: import("@feathersjs/typebox").TAny;
790
+ $lte: import("@feathersjs/typebox").TAny;
791
+ $ne: import("@feathersjs/typebox").TAny;
792
+ $in: import("@feathersjs/typebox").TAny | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TAny>;
793
+ $nin: import("@feathersjs/typebox").TAny | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TAny>;
794
+ }>, import("@feathersjs/typebox").TObject<{
795
+ [key: string]: import("@feathersjs/typebox").TSchema;
796
+ } | undefined>]>>]>>;
797
+ strategyId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
798
+ $gt: import("@feathersjs/typebox").TString<string>;
799
+ $gte: import("@feathersjs/typebox").TString<string>;
800
+ $lt: import("@feathersjs/typebox").TString<string>;
801
+ $lte: import("@feathersjs/typebox").TString<string>;
802
+ $ne: import("@feathersjs/typebox").TString<string>;
803
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
804
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
805
+ }>, import("@feathersjs/typebox").TObject<{
806
+ [key: string]: import("@feathersjs/typebox").TSchema;
807
+ } | undefined>]>>]>>;
808
+ traderId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
809
+ $gt: import("@feathersjs/typebox").TString<string>;
810
+ $gte: import("@feathersjs/typebox").TString<string>;
811
+ $lt: import("@feathersjs/typebox").TString<string>;
812
+ $lte: import("@feathersjs/typebox").TString<string>;
813
+ $ne: import("@feathersjs/typebox").TString<string>;
814
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
815
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
816
+ }>, import("@feathersjs/typebox").TObject<{
817
+ [key: string]: import("@feathersjs/typebox").TSchema;
818
+ } | undefined>]>>]>>;
819
+ profit_total: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
820
+ $gt: import("@feathersjs/typebox").TString<string>;
821
+ $gte: import("@feathersjs/typebox").TString<string>;
822
+ $lt: import("@feathersjs/typebox").TString<string>;
823
+ $lte: import("@feathersjs/typebox").TString<string>;
824
+ $ne: import("@feathersjs/typebox").TString<string>;
825
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
826
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
827
+ }>, import("@feathersjs/typebox").TObject<{
828
+ [key: string]: import("@feathersjs/typebox").TSchema;
829
+ } | undefined>]>>]>>;
830
+ }>>>;
831
+ }>]>>;
832
+ $or: import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
833
+ _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").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
834
+ $gt: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
835
+ $gte: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
836
+ $lt: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
837
+ $lte: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
838
+ $ne: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
839
+ $in: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
840
+ $nin: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
841
+ }>, import("@feathersjs/typebox").TObject<{
842
+ [key: string]: import("@feathersjs/typebox").TSchema;
843
+ } | undefined>]>>]>>;
844
+ createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TAny, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
845
+ $gt: import("@feathersjs/typebox").TAny;
846
+ $gte: import("@feathersjs/typebox").TAny;
847
+ $lt: import("@feathersjs/typebox").TAny;
848
+ $lte: import("@feathersjs/typebox").TAny;
849
+ $ne: import("@feathersjs/typebox").TAny;
850
+ $in: import("@feathersjs/typebox").TAny | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TAny>;
851
+ $nin: import("@feathersjs/typebox").TAny | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TAny>;
852
+ }>, import("@feathersjs/typebox").TObject<{
853
+ [key: string]: import("@feathersjs/typebox").TSchema;
854
+ } | undefined>]>>]>>;
855
+ strategyId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
856
+ $gt: import("@feathersjs/typebox").TString<string>;
857
+ $gte: import("@feathersjs/typebox").TString<string>;
858
+ $lt: import("@feathersjs/typebox").TString<string>;
859
+ $lte: import("@feathersjs/typebox").TString<string>;
860
+ $ne: import("@feathersjs/typebox").TString<string>;
861
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
862
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
863
+ }>, import("@feathersjs/typebox").TObject<{
864
+ [key: string]: import("@feathersjs/typebox").TSchema;
865
+ } | undefined>]>>]>>;
866
+ traderId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
867
+ $gt: import("@feathersjs/typebox").TString<string>;
868
+ $gte: import("@feathersjs/typebox").TString<string>;
869
+ $lt: import("@feathersjs/typebox").TString<string>;
870
+ $lte: import("@feathersjs/typebox").TString<string>;
871
+ $ne: import("@feathersjs/typebox").TString<string>;
872
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
873
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
874
+ }>, import("@feathersjs/typebox").TObject<{
875
+ [key: string]: import("@feathersjs/typebox").TSchema;
876
+ } | undefined>]>>]>>;
877
+ profit_total: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
878
+ $gt: import("@feathersjs/typebox").TString<string>;
879
+ $gte: import("@feathersjs/typebox").TString<string>;
880
+ $lt: import("@feathersjs/typebox").TString<string>;
881
+ $lte: import("@feathersjs/typebox").TString<string>;
882
+ $ne: import("@feathersjs/typebox").TString<string>;
883
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
884
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
885
+ }>, import("@feathersjs/typebox").TObject<{
886
+ [key: string]: import("@feathersjs/typebox").TSchema;
887
+ } | undefined>]>>]>>;
888
+ }>>>;
889
+ }>>, import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TObject<{
890
+ _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").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
891
+ $gt: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
892
+ $gte: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
893
+ $lt: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
894
+ $lte: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
895
+ $ne: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>;
896
+ $in: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
897
+ $nin: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TObject<{}>]>>;
898
+ }>, import("@feathersjs/typebox").TObject<{
899
+ [key: string]: import("@feathersjs/typebox").TSchema;
900
+ } | undefined>]>>]>>;
901
+ createdAt: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TAny, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
902
+ $gt: import("@feathersjs/typebox").TAny;
903
+ $gte: import("@feathersjs/typebox").TAny;
904
+ $lt: import("@feathersjs/typebox").TAny;
905
+ $lte: import("@feathersjs/typebox").TAny;
906
+ $ne: import("@feathersjs/typebox").TAny;
907
+ $in: import("@feathersjs/typebox").TAny | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TAny>;
908
+ $nin: import("@feathersjs/typebox").TAny | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TAny>;
909
+ }>, import("@feathersjs/typebox").TObject<{
910
+ [key: string]: import("@feathersjs/typebox").TSchema;
911
+ } | undefined>]>>]>>;
912
+ strategyId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
913
+ $gt: import("@feathersjs/typebox").TString<string>;
914
+ $gte: import("@feathersjs/typebox").TString<string>;
915
+ $lt: import("@feathersjs/typebox").TString<string>;
916
+ $lte: import("@feathersjs/typebox").TString<string>;
917
+ $ne: import("@feathersjs/typebox").TString<string>;
918
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
919
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
920
+ }>, import("@feathersjs/typebox").TObject<{
921
+ [key: string]: import("@feathersjs/typebox").TSchema;
922
+ } | undefined>]>>]>>;
923
+ traderId: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
924
+ $gt: import("@feathersjs/typebox").TString<string>;
925
+ $gte: import("@feathersjs/typebox").TString<string>;
926
+ $lt: import("@feathersjs/typebox").TString<string>;
927
+ $lte: import("@feathersjs/typebox").TString<string>;
928
+ $ne: import("@feathersjs/typebox").TString<string>;
929
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
930
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
931
+ }>, import("@feathersjs/typebox").TObject<{
932
+ [key: string]: import("@feathersjs/typebox").TSchema;
933
+ } | undefined>]>>]>>;
934
+ profit_total: import("@feathersjs/typebox").TOptional<import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TString<string>, import("@feathersjs/typebox").TPartial<import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{
935
+ $gt: import("@feathersjs/typebox").TString<string>;
936
+ $gte: import("@feathersjs/typebox").TString<string>;
937
+ $lt: import("@feathersjs/typebox").TString<string>;
938
+ $lte: import("@feathersjs/typebox").TString<string>;
939
+ $ne: import("@feathersjs/typebox").TString<string>;
940
+ $in: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
941
+ $nin: import("@feathersjs/typebox").TString<string> | import("@feathersjs/typebox").TArray<import("@feathersjs/typebox").TString<string>>;
942
+ }>, import("@feathersjs/typebox").TObject<{
943
+ [key: string]: import("@feathersjs/typebox").TSchema;
944
+ } | undefined>]>>]>>;
945
+ }>>]>, import("@feathersjs/typebox").TObject<{}>]>;
946
+ export type StrategiesBacktestResultsQuery = Static<typeof strategiesBacktestResultsQuerySchema>;
947
+ export declare const strategiesBacktestResultsQueryValidator: import("@feathersjs/schema").Validator<any, any>;
948
+ export declare const strategiesBacktestResultsQueryResolver: import("@feathersjs/schema").Resolver<Partial<{
949
+ $limit: number;
950
+ $skip: number;
951
+ $sort: {
952
+ _id?: number | undefined;
953
+ createdAt?: number | undefined;
954
+ strategyId?: number | undefined;
955
+ traderId?: number | undefined;
956
+ profit_total?: number | undefined;
957
+ };
958
+ $select: ("_id" | "createdAt" | "strategyId" | "traderId" | "profit_total")[];
959
+ $and: ({
960
+ _id?: string | {} | Partial<{
961
+ $gt: string | {};
962
+ $gte: string | {};
963
+ $lt: string | {};
964
+ $lte: string | {};
965
+ $ne: string | {};
966
+ $in: string | {} | (string | {})[];
967
+ $nin: string | {} | (string | {})[];
968
+ } & {}> | undefined;
969
+ createdAt?: any;
970
+ strategyId?: string | Partial<{
971
+ $gt: string;
972
+ $gte: string;
973
+ $lt: string;
974
+ $lte: string;
975
+ $ne: string;
976
+ $in: string | string[];
977
+ $nin: string | string[];
978
+ } & {}> | undefined;
979
+ traderId?: string | Partial<{
980
+ $gt: string;
981
+ $gte: string;
982
+ $lt: string;
983
+ $lte: string;
984
+ $ne: string;
985
+ $in: string | string[];
986
+ $nin: string | string[];
987
+ } & {}> | undefined;
988
+ profit_total?: string | Partial<{
989
+ $gt: string;
990
+ $gte: string;
991
+ $lt: string;
992
+ $lte: string;
993
+ $ne: string;
994
+ $in: string | string[];
995
+ $nin: string | string[];
996
+ } & {}> | undefined;
997
+ } | {
998
+ $or: {
999
+ _id?: string | {} | Partial<{
1000
+ $gt: string | {};
1001
+ $gte: string | {};
1002
+ $lt: string | {};
1003
+ $lte: string | {};
1004
+ $ne: string | {};
1005
+ $in: string | {} | (string | {})[];
1006
+ $nin: string | {} | (string | {})[];
1007
+ } & {}> | undefined;
1008
+ createdAt?: any;
1009
+ strategyId?: string | Partial<{
1010
+ $gt: string;
1011
+ $gte: string;
1012
+ $lt: string;
1013
+ $lte: string;
1014
+ $ne: string;
1015
+ $in: string | string[];
1016
+ $nin: string | string[];
1017
+ } & {}> | undefined;
1018
+ traderId?: string | Partial<{
1019
+ $gt: string;
1020
+ $gte: string;
1021
+ $lt: string;
1022
+ $lte: string;
1023
+ $ne: string;
1024
+ $in: string | string[];
1025
+ $nin: string | string[];
1026
+ } & {}> | undefined;
1027
+ profit_total?: string | Partial<{
1028
+ $gt: string;
1029
+ $gte: string;
1030
+ $lt: string;
1031
+ $lte: string;
1032
+ $ne: string;
1033
+ $in: string | string[];
1034
+ $nin: string | string[];
1035
+ } & {}> | undefined;
1036
+ }[];
1037
+ })[];
1038
+ $or: {
1039
+ _id?: string | {} | Partial<{
1040
+ $gt: string | {};
1041
+ $gte: string | {};
1042
+ $lt: string | {};
1043
+ $lte: string | {};
1044
+ $ne: string | {};
1045
+ $in: string | {} | (string | {})[];
1046
+ $nin: string | {} | (string | {})[];
1047
+ } & {}> | undefined;
1048
+ createdAt?: any;
1049
+ strategyId?: string | Partial<{
1050
+ $gt: string;
1051
+ $gte: string;
1052
+ $lt: string;
1053
+ $lte: string;
1054
+ $ne: string;
1055
+ $in: string | string[];
1056
+ $nin: string | string[];
1057
+ } & {}> | undefined;
1058
+ traderId?: string | Partial<{
1059
+ $gt: string;
1060
+ $gte: string;
1061
+ $lt: string;
1062
+ $lte: string;
1063
+ $ne: string;
1064
+ $in: string | string[];
1065
+ $nin: string | string[];
1066
+ } & {}> | undefined;
1067
+ profit_total?: string | Partial<{
1068
+ $gt: string;
1069
+ $gte: string;
1070
+ $lt: string;
1071
+ $lte: string;
1072
+ $ne: string;
1073
+ $in: string | string[];
1074
+ $nin: string | string[];
1075
+ } & {}> | undefined;
1076
+ }[];
1077
+ }> & {
1078
+ _id?: string | {} | Partial<{
1079
+ $gt: string | {};
1080
+ $gte: string | {};
1081
+ $lt: string | {};
1082
+ $lte: string | {};
1083
+ $ne: string | {};
1084
+ $in: string | {} | (string | {})[];
1085
+ $nin: string | {} | (string | {})[];
1086
+ } & {}> | undefined;
1087
+ createdAt?: any;
1088
+ strategyId?: string | Partial<{
1089
+ $gt: string;
1090
+ $gte: string;
1091
+ $lt: string;
1092
+ $lte: string;
1093
+ $ne: string;
1094
+ $in: string | string[];
1095
+ $nin: string | string[];
1096
+ } & {}> | undefined;
1097
+ traderId?: string | Partial<{
1098
+ $gt: string;
1099
+ $gte: string;
1100
+ $lt: string;
1101
+ $lte: string;
1102
+ $ne: string;
1103
+ $in: string | string[];
1104
+ $nin: string | string[];
1105
+ } & {}> | undefined;
1106
+ profit_total?: string | Partial<{
1107
+ $gt: string;
1108
+ $gte: string;
1109
+ $lt: string;
1110
+ $lte: string;
1111
+ $ne: string;
1112
+ $in: string | string[];
1113
+ $nin: string | string[];
1114
+ } & {}> | undefined;
1115
+ } & {}, HookContext<StrategiesBacktestResultsService<import("./results.class").StrategiesBacktestResultsParams>>>;