@gbozee/ultimate 0.0.2-21 → 0.0.2-211

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.
@@ -0,0 +1,1747 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ export declare function profitHelper(longPosition: any, shortPosition: any, config?: any, contract_size?: number, balance?: number): {
4
+ long: any;
5
+ short: any;
6
+ };
7
+ export declare function getParamForField(self: any, configs: any[], field: string, isGroup?: string): any | any[];
8
+ export declare function getTradeEntries(entry: number, min_size: number, kind: "long" | "short", size: number, spread?: number): {
9
+ entry: number;
10
+ size: number;
11
+ }[];
12
+ export declare function extractValue(_param: any, condition: boolean): any;
13
+ export declare function asCoins(symbol: string): string;
14
+ export declare const SpecialCoins: string[];
15
+ export declare function allCoins(symbols: string[]): string[];
16
+ export declare function formatPrice(value: number, opts?: {
17
+ locale?: string;
18
+ currency?: string;
19
+ }): string;
20
+ export declare function to_f(value: string | number, places?: string): number;
21
+ export declare function determine_stop_and_size(entry: number, pnl: number, take_profit: number, kind?: string): number;
22
+ export declare const range: (start: number, stop: number, step?: number) => number[];
23
+ export declare function determine_amount_to_sell(entry: number, quantity: number, sell_price: number, pnl: number, kind: "long" | "short", places?: string): number;
24
+ export declare function determine_position_size({ entry, stop, budget, percent, min_size, notional_value, as_coin, places, }: {
25
+ entry: number;
26
+ stop?: number;
27
+ budget?: number;
28
+ percent?: number;
29
+ notional_value?: number;
30
+ min_size?: number;
31
+ as_coin?: boolean;
32
+ places?: string;
33
+ }): number;
34
+ export declare function determine_remaining_entry({ risk, max_size, stop_loss, kind, position, }: {
35
+ risk: number;
36
+ max_size: number;
37
+ stop_loss: number;
38
+ kind: string;
39
+ position: {
40
+ quantity: number;
41
+ entry: number;
42
+ };
43
+ }): number;
44
+ export declare function determine_average_entry_and_size(orders: Array<{
45
+ price: number;
46
+ quantity: number;
47
+ }>, places?: string, price_places?: string): {
48
+ entry: number;
49
+ price: number;
50
+ quantity: number;
51
+ };
52
+ export declare const createArray: (start: number, stop: number, step: number) => number[];
53
+ export declare const groupBy: (xs: any[], key: string) => any;
54
+ export declare function fibonacci_analysis({ support, resistance, kind, trend, places, }: {
55
+ support: number;
56
+ resistance: number;
57
+ kind?: string;
58
+ trend?: string;
59
+ places?: string;
60
+ }): number[];
61
+ export declare const groupIntoPairs: (arr: any[], size: number) => any[][];
62
+ export declare const groupIntoPairsWithSumLessThan: (arr: any[], targetSum: number, key?: string, firstSize?: number) => any[][];
63
+ /**
64
+ * This function computes the cummulative entry and size for each trade
65
+ * @param trades The trades for which the cummulative entry and size will be computed
66
+ * @param config The current config
67
+ * @returns An array of trades with the cummulative entry and size
68
+ */
69
+ export declare const computeTotalAverageForEachTrade: (trades: any[], config: any) => any[];
70
+ export declare function getDecimalPlaces(numberString: string | number): number;
71
+ export declare function createGapPairs<T>(arr: T[], gap: number, item?: T): [
72
+ T,
73
+ T
74
+ ][];
75
+ export declare function logWithLineNumber(...args: any[]): void;
76
+ export declare function computeSellZones(payload: {
77
+ entry: number;
78
+ exit: number;
79
+ zones?: number;
80
+ }): number[];
81
+ export type RawPosition = {
82
+ entry: number;
83
+ quantity: number;
84
+ price_places: string;
85
+ decimal_places?: string;
86
+ };
87
+ export type ConfigOptionType = {
88
+ reduce_ratio: number | string;
89
+ profit_percent: number | string;
90
+ };
91
+ /**
92
+ * This function determines the take profit price for a given position based of the profit percent and the reduce ratio
93
+ * @param payload
94
+ * @returns {
95
+ * tp_price: number;
96
+ * pnl: number;
97
+ * quantity: number;
98
+ * reduce_quantity: number;
99
+ * expected_loss: number;
100
+ * }
101
+ */
102
+ export declare function determineTPSl(payload: {
103
+ sell_ratio?: number;
104
+ positions: {
105
+ long: RawPosition;
106
+ short: RawPosition;
107
+ };
108
+ configs: {
109
+ long: ConfigOptionType;
110
+ short: ConfigOptionType;
111
+ };
112
+ kind: "long" | "short";
113
+ decimal_places?: string;
114
+ }): {
115
+ tp_price: number;
116
+ pnl: number;
117
+ quantity: number;
118
+ reduce_quantity: number;
119
+ expected_loss: number;
120
+ };
121
+ export interface GetEntriesParams {
122
+ kind: "long" | "short";
123
+ distribution: "arithmetic" | "geometric" | "normal" | "exponential" | "inverse-exponential";
124
+ margin_range: [
125
+ number,
126
+ number
127
+ ];
128
+ risk_reward: number;
129
+ price_places?: string;
130
+ distribution_params?: {
131
+ curveFactor?: number;
132
+ stdDevFactor?: number;
133
+ lambda?: number;
134
+ };
135
+ }
136
+ export type SignalConfigType = {
137
+ symbol?: string;
138
+ focus: number;
139
+ budget: number;
140
+ percent_change?: number;
141
+ price_places?: string;
142
+ decimal_places?: string;
143
+ zone_risk?: number;
144
+ fee?: number;
145
+ support?: number;
146
+ risk_reward?: number;
147
+ resistance?: number;
148
+ risk_per_trade?: number;
149
+ increase_size?: boolean;
150
+ additional_increase?: number;
151
+ minimum_pnl?: number;
152
+ take_profit?: number;
153
+ increase_position?: boolean;
154
+ minimum_size?: number;
155
+ first_order_size?: number;
156
+ gap?: number;
157
+ max_size?: number;
158
+ use_kelly?: boolean;
159
+ kelly_prediction_model?: "exponential" | "normal" | "uniform";
160
+ kelly_confidence_factor?: number;
161
+ kelly_minimum_risk?: number;
162
+ kelly_func?: "theoretical" | "position_based" | "theoretical_fixed";
163
+ full_distribution?: {
164
+ long: GetEntriesParams["distribution"];
165
+ short: GetEntriesParams["distribution"];
166
+ };
167
+ max_quantity?: number;
168
+ distribution_params?: {
169
+ curveFactor?: number;
170
+ stdDevFactor?: number;
171
+ lambda?: number;
172
+ };
173
+ };
174
+ declare class Signal {
175
+ focus: number;
176
+ budget: number;
177
+ percent_change: number;
178
+ price_places: string;
179
+ distribution_params: {
180
+ curveFactor?: number;
181
+ stdDevFactor?: number;
182
+ lambda?: number;
183
+ };
184
+ decimal_places: string;
185
+ zone_risk: number;
186
+ fee: number;
187
+ support?: number;
188
+ risk_reward: number;
189
+ resistance?: number;
190
+ risk_per_trade?: number;
191
+ increase_size: boolean;
192
+ additional_increase: number;
193
+ minimum_pnl: number;
194
+ take_profit?: number;
195
+ increase_position: boolean;
196
+ minimum_size: any;
197
+ first_order_size: number;
198
+ gap: number;
199
+ max_size: number;
200
+ use_kelly: boolean;
201
+ kelly_prediction_model: "exponential" | "normal" | "uniform";
202
+ kelly_confidence_factor: number;
203
+ kelly_minimum_risk: number;
204
+ kelly_func: "theoretical" | "position_based" | "theoretical_fixed";
205
+ symbol?: string;
206
+ distribution: {
207
+ long: GetEntriesParams["distribution"];
208
+ short: GetEntriesParams["distribution"];
209
+ };
210
+ max_quantity: number;
211
+ constructor({ focus, symbol, budget, percent_change, price_places, decimal_places, zone_risk, fee, support, risk_reward, resistance, risk_per_trade, increase_size, additional_increase, minimum_pnl, take_profit, increase_position, minimum_size, first_order_size, gap, max_size, use_kelly, kelly_prediction_model, kelly_confidence_factor, kelly_minimum_risk, kelly_func, full_distribution, max_quantity, distribution_params, }: SignalConfigType);
212
+ build_entry({ current_price, stop_loss, pnl, stop_percent, kind, risk, no_of_trades, take_profit, distribution, distribution_params, }: {
213
+ take_profit?: number;
214
+ no_of_trades?: number;
215
+ current_price: number;
216
+ stop_loss?: number;
217
+ kind?: "long" | "short";
218
+ risk: number;
219
+ stop_percent?: number;
220
+ pnl?: number;
221
+ distribution?: GetEntriesParams["distribution"];
222
+ distribution_params?: {
223
+ curveFactor?: number;
224
+ stdDevFactor?: number;
225
+ lambda?: number;
226
+ };
227
+ }): any;
228
+ get risk(): number;
229
+ get min_trades(): number;
230
+ get min_price(): number;
231
+ build_opposite_order({ current_price, kind, }: {
232
+ current_price: number;
233
+ kind?: "long" | "short";
234
+ }): any;
235
+ special_build_orders({ current_price, kind, }: {
236
+ current_price: number;
237
+ kind?: "long" | "short";
238
+ }): any;
239
+ build_orders({ current_price, kind, limit, replace_focus, max_index, min_index, }: {
240
+ current_price: number;
241
+ kind?: "long" | "short";
242
+ limit?: boolean;
243
+ replace_focus?: boolean;
244
+ max_index?: number;
245
+ min_index?: number;
246
+ }): any;
247
+ build_orders_old({ current_price, kind, limit, replace_focus, max_index, min_index, }: {
248
+ current_price: number;
249
+ kind?: "long" | "short";
250
+ limit?: boolean;
251
+ replace_focus?: boolean;
252
+ max_index?: number;
253
+ min_index?: number;
254
+ }): any;
255
+ get_bulk_trade_zones({ current_price, kind, limit, }: {
256
+ current_price: number;
257
+ kind?: "long" | "short";
258
+ limit?: boolean;
259
+ }): any;
260
+ get_future_zones_simple({ current_price, kind, raw, }: {
261
+ raw?: boolean;
262
+ current_price: number;
263
+ kind?: "long" | "short";
264
+ }): number[];
265
+ get_future_zones({ current_price, kind, raw, }: {
266
+ raw?: boolean;
267
+ current_price: number;
268
+ kind?: "long" | "short";
269
+ }): number[];
270
+ to_f(value: number, places?: string): number;
271
+ get_margin_zones({ current_price, kind, }: {
272
+ current_price: number;
273
+ kind?: "long" | "short";
274
+ }): number[][];
275
+ get_margin_range(current_price: number, kind?: string): number[];
276
+ process_orders({ current_price, stop_loss, trade_zones, kind, }: {
277
+ current_price: number;
278
+ stop_loss: number;
279
+ trade_zones: number[];
280
+ kind?: "long" | "short";
281
+ }): any[];
282
+ get_risk_per_trade(number_of_orders: number): number;
283
+ build_trade_dict({ entry, stop, risk, arr, index, new_fees, kind, start, take_profit, }: {
284
+ entry: number;
285
+ stop: number;
286
+ risk: number;
287
+ arr: number[];
288
+ index: number;
289
+ new_fees?: number;
290
+ kind?: "long" | "short";
291
+ start?: number;
292
+ take_profit?: number;
293
+ }): {
294
+ entry: number;
295
+ risk: number;
296
+ quantity: number;
297
+ sell_price: number;
298
+ risk_sell: number;
299
+ stop: number;
300
+ pnl: number;
301
+ fee: number;
302
+ net: number;
303
+ incurred: number;
304
+ stop_percent: number;
305
+ };
306
+ to_df(currentPrice: number, places?: string): number;
307
+ }
308
+ export type GlobalConfig = {
309
+ profit_percent?: number;
310
+ symbol: string;
311
+ profit?: number;
312
+ risk?: number;
313
+ stop_percent?: number;
314
+ kind: "long" | "short";
315
+ reduce_percent?: number;
316
+ support: number;
317
+ resistance: number;
318
+ price_places: string;
319
+ decimal_places: string;
320
+ min_size?: number;
321
+ accounts?: {
322
+ owner: string;
323
+ exchange?: string;
324
+ }[];
325
+ risk_reward?: number;
326
+ reverse_factor?: number;
327
+ leverage?: number;
328
+ max_quantity?: number;
329
+ fee_percent?: number;
330
+ };
331
+ export interface BaseSystemFields {
332
+ id: string;
333
+ created: string;
334
+ updated: string;
335
+ }
336
+ export interface ExchangeAccount extends BaseSystemFields {
337
+ exchange: "binance" | "bybit";
338
+ owner: string;
339
+ email?: string;
340
+ user?: string;
341
+ usdt?: number;
342
+ usdc?: number;
343
+ proxy?: string;
344
+ bullish?: boolean;
345
+ bearish?: boolean;
346
+ movePercent?: number;
347
+ totalRisk?: number;
348
+ max_non_essential?: number;
349
+ profit_percent?: number;
350
+ risk_reward?: number;
351
+ exclude_coins?: {
352
+ bullish?: string[];
353
+ };
354
+ include_delisted?: boolean;
355
+ }
356
+ export interface SymbolConfig extends BaseSystemFields {
357
+ symbol: string;
358
+ support?: number;
359
+ resistance?: number;
360
+ stop_percent?: number;
361
+ price_places?: string;
362
+ decimal_places?: string;
363
+ min_size?: number;
364
+ weight?: number;
365
+ leverage?: number;
366
+ candle_count?: number;
367
+ interval?: any;
368
+ fee_percent?: number;
369
+ }
370
+ export interface ScheduledTrade extends BaseSystemFields {
371
+ symbol: string;
372
+ account: string;
373
+ profit?: number;
374
+ risk?: number;
375
+ entry?: number;
376
+ stop?: number;
377
+ risk_reward?: number;
378
+ profit_percent?: number;
379
+ place_tp?: boolean;
380
+ kind?: "long" | "short";
381
+ follow?: boolean | 1 | 0;
382
+ reduce_ratio?: number;
383
+ sell_ratio?: number;
384
+ threshold_qty?: number;
385
+ pause_tp?: boolean;
386
+ stop_percent?: number;
387
+ kelly?: {
388
+ use_kelly?: boolean;
389
+ kelly_confidence_factor?: number;
390
+ kelly_minimum_risk?: number;
391
+ kelly_prediction_model?: "exponential" | "normal" | "uniform";
392
+ };
393
+ distribution?: GetEntriesParams["distribution"];
394
+ distribution_params?: {
395
+ curveFactor?: number;
396
+ stdDevFactor?: number;
397
+ lambda?: number;
398
+ };
399
+ settings?: {
400
+ gap_trading?: {
401
+ entry_risk?: number;
402
+ hedge_stop_ratio?: number;
403
+ };
404
+ bad_hedge?: {
405
+ hedges_distribution?: GetEntriesParams["distribution"];
406
+ hedges_ratio?: number;
407
+ opposite_trade_distribution?: GetEntriesParams["distribution"];
408
+ opposite_trade_ratio?: number;
409
+ stop_loss?: number;
410
+ };
411
+ };
412
+ }
413
+ export interface AccountStrategy extends BaseSystemFields {
414
+ account: string;
415
+ symbol: string;
416
+ risk?: number;
417
+ reward_factor?: number;
418
+ kind?: "long" | "short";
419
+ support?: number;
420
+ resistance?: number;
421
+ running?: boolean;
422
+ max_reward_factor?: number;
423
+ follow?: boolean;
424
+ risk_reward?: number;
425
+ dynamic?: boolean;
426
+ }
427
+ interface Proxy$1 extends BaseSystemFields {
428
+ ip_address?: string;
429
+ type?: "http" | "socks5";
430
+ }
431
+ export interface PositionsView {
432
+ id: string;
433
+ symbol?: any;
434
+ entry?: any;
435
+ quantity?: any;
436
+ take_profit?: any;
437
+ account?: any;
438
+ kind?: any;
439
+ target_pnl?: number;
440
+ liquidation?: number;
441
+ avg_price?: number;
442
+ avg_qty?: number;
443
+ next_order?: number;
444
+ last_order?: number;
445
+ config?: any;
446
+ stop_loss?: {
447
+ price: number;
448
+ quantity: number;
449
+ };
450
+ stop_pnl?: any;
451
+ leverage?: any;
452
+ avg_liquidation?: any;
453
+ balance?: any;
454
+ reduce_ratio?: number;
455
+ sell_ratio?: number;
456
+ threshold_qty?: number;
457
+ follow?: boolean | 1 | 0;
458
+ current_price?: number;
459
+ usd_balance?: number;
460
+ tp?: {
461
+ price: number;
462
+ quantity: number;
463
+ };
464
+ next_risk?: number;
465
+ proxy?: string;
466
+ expand?: {
467
+ p_account?: ExchangeAccount;
468
+ b_config?: ScheduledTrade;
469
+ proxy?: Proxy$1;
470
+ account_strategy?: AccountStrategy;
471
+ compound_instance?: CompoundInstance;
472
+ support?: SupportTable;
473
+ symbol_config: SymbolConfig;
474
+ resistance?: SupportTable;
475
+ anchor?: Omit<PositionsView, "expand">;
476
+ };
477
+ pnl?: number;
478
+ support_price?: number;
479
+ }
480
+ export interface Compounder extends BaseSystemFields {
481
+ risk?: number;
482
+ profit_percent?: number;
483
+ owner?: string;
484
+ completed?: boolean;
485
+ start_balance?: number;
486
+ starting_risk?: number;
487
+ fee_rate?: number;
488
+ }
489
+ export interface CompoundInstance extends BaseSystemFields {
490
+ ref?: string;
491
+ position?: string;
492
+ risk?: number;
493
+ hedged?: boolean;
494
+ loss?: number;
495
+ expand?: {
496
+ ref?: Compounder;
497
+ };
498
+ }
499
+ export interface SupportTable extends BaseSystemFields {
500
+ symbol?: string;
501
+ price?: number;
502
+ counter?: number;
503
+ last_updated?: string;
504
+ kind?: "long" | "short";
505
+ }
506
+ export type AppConfig = {
507
+ fee: number;
508
+ risk_per_trade: number;
509
+ risk_reward: number;
510
+ symbol?: string;
511
+ focus: number;
512
+ budget: number;
513
+ support: number;
514
+ resistance: number;
515
+ percent_change: number;
516
+ tradeSplit?: number;
517
+ take_profit?: number;
518
+ kind: "long" | "short";
519
+ entry: number;
520
+ stop: number;
521
+ min_size: number;
522
+ price_places?: string;
523
+ strategy?: "quantity" | "entry";
524
+ as_array?: boolean;
525
+ decimal_places?: string;
526
+ min_profit?: number;
527
+ raw?: boolean;
528
+ gap?: number;
529
+ rr?: number;
530
+ max_size?: number;
531
+ last_value?: any;
532
+ entries?: any[];
533
+ max_quantity?: number;
534
+ kelly?: {
535
+ use_kelly?: boolean;
536
+ kelly_confidence_factor?: number;
537
+ kelly_minimum_risk?: number;
538
+ kelly_prediction_model?: "exponential" | "normal" | "uniform";
539
+ kelly_func?: "theoretical" | "position_based" | "theoretical_fixed";
540
+ };
541
+ distribution?: GetEntriesParams["distribution"];
542
+ distribution_params?: {
543
+ curveFactor?: number;
544
+ stdDevFactor?: number;
545
+ lambda?: number;
546
+ };
547
+ };
548
+ export type ExtendConfigType = {
549
+ take_profit?: number;
550
+ entry: number;
551
+ risk?: number;
552
+ stop?: number;
553
+ risk_reward?: number;
554
+ raw_instance?: boolean;
555
+ no_of_trades?: number;
556
+ increase?: boolean;
557
+ price_places?: string;
558
+ decimal_places?: string;
559
+ min_profit?: number;
560
+ kind?: "long" | "short";
561
+ gap?: number;
562
+ rr?: number;
563
+ min_avg_size?: number;
564
+ use_kelly?: boolean;
565
+ kelly_confidence_factor?: number;
566
+ kelly_minimum_risk?: number;
567
+ kelly_prediction_model?: "exponential" | "normal" | "uniform";
568
+ kelly_func?: "theoretical" | "position_based" | "theoretical_fixed";
569
+ distribution?: GetEntriesParams["distribution"];
570
+ distribution_params?: {
571
+ curveFactor?: number;
572
+ stdDevFactor?: number;
573
+ lambda?: number;
574
+ };
575
+ };
576
+ export declare function buildConfig(app_config: AppConfig, { take_profit, entry, stop, raw_instance, risk, no_of_trades, min_profit, risk_reward, kind, increase, gap, rr, price_places, decimal_places, use_kelly, kelly_confidence_factor, kelly_minimum_risk, kelly_prediction_model, kelly_func, min_avg_size, distribution, distribution_params, }: ExtendConfigType): any[] | Signal;
577
+ export declare function buildAvg({ _trades, kind, }: {
578
+ _trades: any[];
579
+ kind: "long" | "short";
580
+ }): any;
581
+ export declare function sortedBuildConfig(app_config: AppConfig, options: any): any[];
582
+ export declare function get_app_config_and_max_size(config: GlobalConfig, payload: {
583
+ entry: number;
584
+ stop: number;
585
+ kind: "long" | "short";
586
+ use_kelly?: boolean;
587
+ kelly_confidence_factor?: number;
588
+ kelly_minimum_risk?: number;
589
+ kelly_prediction_model?: "exponential" | "normal" | "uniform";
590
+ kelly_func?: "theoretical" | "position_based" | "theoretical_fixed";
591
+ distribution?: GetEntriesParams["distribution"];
592
+ distribution_params?: {
593
+ curveFactor?: number;
594
+ stdDevFactor?: number;
595
+ lambda?: number;
596
+ };
597
+ }): {
598
+ app_config: AppConfig;
599
+ max_size: any;
600
+ last_value: any;
601
+ entries: {
602
+ entry: any;
603
+ avg_entry: any;
604
+ avg_size: any;
605
+ neg_pnl: any;
606
+ quantity: any;
607
+ }[];
608
+ };
609
+ export declare function buildAppConfig(config: GlobalConfig, payload: {
610
+ entry: number;
611
+ stop: number;
612
+ risk_reward: number;
613
+ risk: number;
614
+ symbol: string;
615
+ profit?: number;
616
+ use_kelly?: boolean;
617
+ kelly_confidence_factor?: number;
618
+ kelly_minimum_risk?: number;
619
+ kelly_prediction_model?: "exponential" | "normal" | "uniform";
620
+ kelly_func?: "theoretical" | "position_based" | "theoretical_fixed";
621
+ distribution?: GetEntriesParams["distribution"];
622
+ distribution_params?: {
623
+ curveFactor?: number;
624
+ stdDevFactor?: number;
625
+ lambda?: number;
626
+ };
627
+ }): AppConfig;
628
+ export declare function getOptimumStopAndRisk(app_config: AppConfig, params: {
629
+ max_size: number;
630
+ target_stop: number;
631
+ highest_risk?: number;
632
+ distribution?: GetEntriesParams["distribution"];
633
+ distribution_params?: {
634
+ curveFactor?: number;
635
+ stdDevFactor?: number;
636
+ lambda?: number;
637
+ };
638
+ }): {
639
+ optimal_stop: number;
640
+ optimal_risk: number;
641
+ avg_size: any;
642
+ avg_entry: any;
643
+ result: any[];
644
+ first_entry: any;
645
+ neg_pnl: any;
646
+ risk_reward: number;
647
+ size_diff: number;
648
+ entry_diff: number;
649
+ };
650
+ export declare function generate_config_params(app_config: AppConfig, payload: {
651
+ entry: number;
652
+ stop: number;
653
+ risk_reward: number;
654
+ risk: number;
655
+ symbol: string;
656
+ }): {
657
+ entry: number;
658
+ stop: number;
659
+ avg_size: any;
660
+ avg_entry: any;
661
+ risk_reward: number;
662
+ neg_pnl: any;
663
+ risk: number;
664
+ };
665
+ export declare function determine_break_even_price(payload: {
666
+ long_position: {
667
+ entry: number;
668
+ quantity: number;
669
+ };
670
+ short_position: {
671
+ entry: number;
672
+ quantity: number;
673
+ };
674
+ fee_percent?: number;
675
+ }): {
676
+ price: number;
677
+ direction: string;
678
+ };
679
+ export declare function determine_amount_to_buy(payload: {
680
+ orders: any[];
681
+ kind: "long" | "short";
682
+ decimal_places?: string;
683
+ price_places?: string;
684
+ place?: boolean;
685
+ position: any;
686
+ existingOrders: any[];
687
+ }): any[];
688
+ export declare function generateOptimumAppConfig(config: GlobalConfig, payload: {
689
+ entry: number;
690
+ stop: number;
691
+ risk_reward: number;
692
+ start_risk: number;
693
+ max_risk?: number;
694
+ distribution?: GetEntriesParams["distribution"];
695
+ distribution_params?: {
696
+ curveFactor?: number;
697
+ stdDevFactor?: number;
698
+ lambda?: number;
699
+ };
700
+ }, position: {
701
+ entry: number;
702
+ quantity: number;
703
+ kind: "long" | "short";
704
+ }): AppConfig | null;
705
+ export declare function determineOptimumReward(payload: {
706
+ app_config: AppConfig;
707
+ increase?: boolean;
708
+ low_range?: number;
709
+ high_range?: number;
710
+ target_loss?: number;
711
+ distribution?: GetEntriesParams["distribution"];
712
+ distribution_params?: {
713
+ curveFactor?: number;
714
+ stdDevFactor?: number;
715
+ lambda?: number;
716
+ };
717
+ max_size?: number;
718
+ }): number | {
719
+ result: any[];
720
+ value: number;
721
+ total: number;
722
+ risk_per_trade: number;
723
+ max: number;
724
+ min: number;
725
+ avg_size: any;
726
+ neg_pnl: any;
727
+ entry: any;
728
+ };
729
+ export declare function determineOptimumRisk(config: GlobalConfig, payload: {
730
+ entry: number;
731
+ stop: number;
732
+ risk_reward: number;
733
+ risk: number;
734
+ symbol: string;
735
+ distribution?: GetEntriesParams["distribution"];
736
+ distribution_params?: {
737
+ curveFactor?: number;
738
+ stdDevFactor?: number;
739
+ lambda?: number;
740
+ };
741
+ }, params: {
742
+ highest_risk: number;
743
+ tolerance?: number;
744
+ max_iterations?: number;
745
+ }): {
746
+ optimal_risk: number;
747
+ achieved_neg_pnl: number;
748
+ target_neg_pnl: number;
749
+ difference: number;
750
+ iterations: number;
751
+ converged: boolean;
752
+ last_value: any;
753
+ entries: any[];
754
+ app_config: AppConfig;
755
+ };
756
+ export declare function computeRiskReward(payload: {
757
+ app_config: AppConfig;
758
+ entry: number;
759
+ stop: number;
760
+ risk_per_trade: number;
761
+ target_loss?: number;
762
+ distribution?: GetEntriesParams["distribution"];
763
+ distribution_params?: {
764
+ curveFactor?: number;
765
+ stdDevFactor?: number;
766
+ lambda?: number;
767
+ };
768
+ high_range?: number;
769
+ max_size?: number;
770
+ }): number | {
771
+ result: any[];
772
+ value: number;
773
+ total: number;
774
+ risk_per_trade: number;
775
+ max: number;
776
+ min: number;
777
+ avg_size: any;
778
+ neg_pnl: any;
779
+ entry: any;
780
+ };
781
+ export declare function getRiskReward(payload: {
782
+ entry: number;
783
+ stop: number;
784
+ risk: number;
785
+ global_config: GlobalConfig;
786
+ force_exact_risk?: boolean;
787
+ target_loss?: number;
788
+ max_size?: number;
789
+ distribution?: GetEntriesParams["distribution"];
790
+ distribution_params?: {
791
+ curveFactor?: number;
792
+ stdDevFactor?: number;
793
+ lambda?: number;
794
+ };
795
+ risk_factor?: number;
796
+ high_range?: number;
797
+ }): any;
798
+ export declare function computeProfitDetail(payload: {
799
+ focus_position: {
800
+ kind: "long" | "short";
801
+ entry: number;
802
+ quantity: number;
803
+ avg_qty: number;
804
+ avg_price: number;
805
+ };
806
+ strategy?: {
807
+ reward_factor: number;
808
+ max_reward_factor: number;
809
+ risk: number;
810
+ };
811
+ pnl: number;
812
+ reduce_position?: {
813
+ kind: "long" | "short";
814
+ entry: number;
815
+ quantity: number;
816
+ avg_qty: number;
817
+ avg_price: number;
818
+ };
819
+ reverse_position?: {
820
+ kind: "long" | "short";
821
+ avg_qty: number;
822
+ avg_price: number;
823
+ stop_loss: {
824
+ price: number;
825
+ quantity: number;
826
+ };
827
+ };
828
+ full_ratio?: number;
829
+ price_places?: string;
830
+ decimal_places?: string;
831
+ }): {
832
+ pnl: number;
833
+ loss: number;
834
+ full_loss: number;
835
+ original_pnl: number;
836
+ reward_factor: number;
837
+ profit_percent: number;
838
+ kind: "long" | "short";
839
+ sell_price: number;
840
+ quantity: number;
841
+ price_places: string;
842
+ decimal_places: string;
843
+ };
844
+ export declare function generateGapTp(payload: {
845
+ long: {
846
+ entry: number;
847
+ quantity: number;
848
+ };
849
+ short: {
850
+ entry: number;
851
+ quantity: number;
852
+ };
853
+ risk?: number;
854
+ kind?: "long" | "short";
855
+ factor?: number;
856
+ sell_factor?: number;
857
+ price_places?: string;
858
+ decimal_places?: string;
859
+ }): {
860
+ profit_percent: {
861
+ long: number;
862
+ short: number;
863
+ };
864
+ risk: {
865
+ short: number;
866
+ long: number;
867
+ };
868
+ take_profit: {
869
+ long: number;
870
+ short: number;
871
+ };
872
+ to_reduce: {
873
+ short: number;
874
+ long: number;
875
+ };
876
+ full_reduce: {
877
+ short: number;
878
+ long: number;
879
+ };
880
+ sell_quantity: {
881
+ short: number;
882
+ long: number;
883
+ };
884
+ gap: number;
885
+ gap_loss: number;
886
+ };
887
+ export declare function calculateFactorFromTakeProfit(payload: {
888
+ long: {
889
+ entry: number;
890
+ quantity: number;
891
+ };
892
+ short: {
893
+ entry: number;
894
+ quantity: number;
895
+ };
896
+ knownTp: number;
897
+ tpType: "long" | "short";
898
+ price_places?: string;
899
+ }): number;
900
+ export declare function calculateFactorFromSellQuantity(payload: {
901
+ long: {
902
+ entry: number;
903
+ quantity: number;
904
+ };
905
+ short: {
906
+ entry: number;
907
+ quantity: number;
908
+ };
909
+ knownSellQuantity: number;
910
+ sellType: "long" | "short";
911
+ sell_factor?: number;
912
+ price_places?: string;
913
+ decimal_places?: string;
914
+ }): number;
915
+ export declare function determineRewardFactor(payload: {
916
+ quantity: number;
917
+ avg_qty: number;
918
+ minimum_pnl: number;
919
+ risk: number;
920
+ }): number;
921
+ export type BotPosition = {
922
+ kind: "long" | "short";
923
+ entry: number;
924
+ quantity: number;
925
+ tp: {
926
+ price: number;
927
+ };
928
+ };
929
+ export declare function getHedgeZone(payload: {
930
+ symbol_config: GlobalConfig;
931
+ risk: number;
932
+ position: BotPosition;
933
+ reward_factor?: number;
934
+ risk_factor?: number;
935
+ support?: number;
936
+ }): {
937
+ support: number;
938
+ resistance: number;
939
+ risk: number;
940
+ profit_percent: number;
941
+ };
942
+ export declare function getOptimumHedgeFactor(payload: {
943
+ target_support: number;
944
+ tolerance?: number;
945
+ max_iterations?: number;
946
+ min_factor?: number;
947
+ max_factor?: number;
948
+ symbol_config: GlobalConfig;
949
+ risk: number;
950
+ position: BotPosition;
951
+ }): {
952
+ reward_factor: number;
953
+ achieved_support: number;
954
+ target_support: number;
955
+ difference: number;
956
+ iterations: number;
957
+ converged?: undefined;
958
+ } | {
959
+ reward_factor: number;
960
+ achieved_support: number;
961
+ target_support: number;
962
+ difference: number;
963
+ iterations: number;
964
+ converged: boolean;
965
+ };
966
+ export type CType = {
967
+ next_order: number;
968
+ take_profit: number;
969
+ };
970
+ export declare function determineCompoundLongTrade(payload: {
971
+ focus_short_position: CType;
972
+ focus_long_position: CType;
973
+ shortConfig: {
974
+ entry: number;
975
+ stop: number;
976
+ risk_reward: number;
977
+ risk: number;
978
+ symbol: string;
979
+ profit_percent: number;
980
+ };
981
+ rr?: number;
982
+ global_config: GlobalConfig;
983
+ }): {
984
+ start_risk: number;
985
+ short_profit: number;
986
+ support: number;
987
+ resistance: number;
988
+ long_v: any;
989
+ profit_percent: number;
990
+ result: any;
991
+ short_max_size: any;
992
+ };
993
+ export declare function generateOppositeTradeConfig(payload: {
994
+ kind: "long" | "short";
995
+ entry: number;
996
+ quantity: number;
997
+ target_pnl: number;
998
+ global_config: GlobalConfig;
999
+ ratio?: number;
1000
+ }): {
1001
+ entry: number;
1002
+ stop: number;
1003
+ risk: number;
1004
+ risk_reward: number | {
1005
+ result: any[];
1006
+ value: number;
1007
+ total: number;
1008
+ risk_per_trade: number;
1009
+ max: number;
1010
+ min: number;
1011
+ avg_size: any;
1012
+ neg_pnl: any;
1013
+ entry: any;
1014
+ };
1015
+ };
1016
+ export declare function constructAppConfig(payload: {
1017
+ account: PositionsView;
1018
+ global_config: GlobalConfig;
1019
+ kelly_config?: {
1020
+ use_kelly: boolean;
1021
+ kelly_confidence_factor: number;
1022
+ kelly_minimum_risk: number;
1023
+ kelly_prediction_model: string;
1024
+ };
1025
+ distribution_config?: {
1026
+ distribution?: GetEntriesParams["distribution"];
1027
+ distribution_params?: {
1028
+ curveFactor?: number;
1029
+ stdDevFactor?: number;
1030
+ lambda?: number;
1031
+ };
1032
+ };
1033
+ }): {
1034
+ fee: number;
1035
+ risk_per_trade: number;
1036
+ risk_reward: number;
1037
+ symbol?: string;
1038
+ focus: number;
1039
+ budget: number;
1040
+ support: number;
1041
+ resistance: number;
1042
+ percent_change: number;
1043
+ tradeSplit?: number;
1044
+ take_profit?: number;
1045
+ kind: "long" | "short";
1046
+ entry: number;
1047
+ stop: number;
1048
+ min_size: number;
1049
+ price_places?: string;
1050
+ strategy?: "quantity" | "entry";
1051
+ as_array?: boolean;
1052
+ decimal_places?: string;
1053
+ min_profit?: number;
1054
+ raw?: boolean;
1055
+ gap?: number;
1056
+ rr?: number;
1057
+ max_size?: number;
1058
+ last_value?: any;
1059
+ max_quantity?: number;
1060
+ kelly?: {
1061
+ use_kelly?: boolean;
1062
+ kelly_confidence_factor?: number;
1063
+ kelly_minimum_risk?: number;
1064
+ kelly_prediction_model?: "exponential" | "normal" | "uniform";
1065
+ kelly_func?: "theoretical" | "position_based" | "theoretical_fixed";
1066
+ };
1067
+ distribution?: GetEntriesParams["distribution"];
1068
+ distribution_params?: {
1069
+ curveFactor?: number;
1070
+ stdDevFactor?: number;
1071
+ lambda?: number;
1072
+ };
1073
+ };
1074
+ export declare function generateDangerousConfig(payload: {
1075
+ account: PositionsView;
1076
+ global_config: GlobalConfig;
1077
+ config: {
1078
+ quantity: number;
1079
+ stop: number;
1080
+ entry: number;
1081
+ };
1082
+ }): {
1083
+ entry: number;
1084
+ risk: number;
1085
+ stop: number;
1086
+ risk_reward: number | {
1087
+ result: any[];
1088
+ value: number;
1089
+ total: number;
1090
+ risk_per_trade: number;
1091
+ max: number;
1092
+ min: number;
1093
+ avg_size: any;
1094
+ neg_pnl: any;
1095
+ entry: any;
1096
+ };
1097
+ };
1098
+ export type StrategyPosition = {
1099
+ entry: number;
1100
+ quantity: number;
1101
+ avg_price?: number;
1102
+ avg_qty?: number;
1103
+ };
1104
+ export type GapCloserResult = {
1105
+ avg_entry: number;
1106
+ avg_size: number;
1107
+ loss: number;
1108
+ stop: number;
1109
+ stop_quantity: number;
1110
+ re_entry_quantity: number;
1111
+ initial_pnl: number;
1112
+ tp: number;
1113
+ incurred_loss: number;
1114
+ pnl: number;
1115
+ remaining_quantity: number;
1116
+ };
1117
+ export type Config = {
1118
+ tp_percent: number;
1119
+ short_tp_factor: number;
1120
+ fee_percent?: number;
1121
+ budget: number;
1122
+ risk_reward: number;
1123
+ reduce_ratio: number;
1124
+ global_config: GlobalConfig;
1125
+ };
1126
+ export declare class Strategy {
1127
+ position: {
1128
+ long: StrategyPosition;
1129
+ short: StrategyPosition;
1130
+ };
1131
+ dominant_position?: "long" | "short";
1132
+ config: Config;
1133
+ constructor(payload: {
1134
+ long: StrategyPosition;
1135
+ short: StrategyPosition;
1136
+ config: Config;
1137
+ dominant_position?: "long" | "short";
1138
+ });
1139
+ get price_places(): string;
1140
+ get decimal_places(): string;
1141
+ to_f(price: number): number;
1142
+ to_df(quantity: number): number;
1143
+ pnl(kind: "long" | "short", _position?: StrategyPosition): number;
1144
+ tp(kind: "long" | "short"): number;
1145
+ calculate_fee(position: {
1146
+ price: number;
1147
+ quantity: number;
1148
+ }): number;
1149
+ get long_tp(): number;
1150
+ get short_tp(): number;
1151
+ generateGapClosingAlgorithm(payload: {
1152
+ kind: "long" | "short";
1153
+ ignore_entries?: boolean;
1154
+ reduce_ratio?: number;
1155
+ sell_factor?: number;
1156
+ }): {
1157
+ last_entry: any;
1158
+ first_entry: any;
1159
+ threshold: any;
1160
+ risk: number;
1161
+ risk_reward: number;
1162
+ spread: number;
1163
+ gap_loss: number;
1164
+ net_profit: number;
1165
+ long: GapCloserResult;
1166
+ short: GapCloserResult;
1167
+ };
1168
+ gapCloserHelper(payload: {
1169
+ risk: number;
1170
+ entries?: any[];
1171
+ kind: "long" | "short";
1172
+ sell_factor?: number;
1173
+ reduce_ratio?: number;
1174
+ }): {
1175
+ risk: number;
1176
+ risk_reward: number;
1177
+ spread: number;
1178
+ gap_loss: number;
1179
+ net_profit: number;
1180
+ long: GapCloserResult;
1181
+ short: GapCloserResult;
1182
+ };
1183
+ runIterations(payload: {
1184
+ kind: "long" | "short";
1185
+ iterations: number;
1186
+ risk_reward?: number;
1187
+ ignore_entries?: boolean;
1188
+ reduce_ratio?: number;
1189
+ sell_factor?: number;
1190
+ }): {
1191
+ last_entry: any;
1192
+ first_entry: any;
1193
+ threshold: any;
1194
+ risk: number;
1195
+ risk_reward: number;
1196
+ spread: number;
1197
+ gap_loss: number;
1198
+ net_profit: number;
1199
+ long: GapCloserResult;
1200
+ short: GapCloserResult;
1201
+ }[];
1202
+ getPositionAfterTp(payload: {
1203
+ kind: "long" | "short";
1204
+ include_fees?: boolean;
1205
+ }): {
1206
+ [x: string]: number | {
1207
+ entry: number;
1208
+ quantity: number;
1209
+ diff?: undefined;
1210
+ } | {
1211
+ [x: string]: number;
1212
+ diff: number;
1213
+ entry?: undefined;
1214
+ quantity?: undefined;
1215
+ };
1216
+ pnl: {
1217
+ [x: string]: number;
1218
+ diff: number;
1219
+ };
1220
+ spread: number;
1221
+ };
1222
+ getPositionAfterIteration(payload: {
1223
+ kind: "long" | "short";
1224
+ iterations: number;
1225
+ with_fees?: boolean;
1226
+ }): {
1227
+ [x: string]: number | {
1228
+ entry: number;
1229
+ quantity: number;
1230
+ diff?: undefined;
1231
+ } | {
1232
+ [x: string]: number;
1233
+ diff: number;
1234
+ entry?: undefined;
1235
+ quantity?: undefined;
1236
+ };
1237
+ pnl: {
1238
+ [x: string]: number;
1239
+ diff: number;
1240
+ };
1241
+ spread: number;
1242
+ }[];
1243
+ /**To be used as one of the agent tools eventually since
1244
+ * it is something that can be triggered continously without
1245
+ * any risk
1246
+ */
1247
+ generateOppositeTrades(payload: {
1248
+ kind: "long" | "short";
1249
+ risk_factor?: number;
1250
+ avg_entry?: number;
1251
+ }): {
1252
+ avg: {
1253
+ entry: number;
1254
+ price: number;
1255
+ quantity: number;
1256
+ };
1257
+ loss: number;
1258
+ profit_percent: number;
1259
+ fee: number;
1260
+ risk_per_trade: number;
1261
+ risk_reward: number;
1262
+ symbol?: string;
1263
+ focus: number;
1264
+ budget: number;
1265
+ support: number;
1266
+ resistance: number;
1267
+ percent_change: number;
1268
+ tradeSplit?: number;
1269
+ take_profit?: number;
1270
+ kind: "long" | "short";
1271
+ entry: number;
1272
+ stop: number;
1273
+ min_size: number;
1274
+ price_places?: string;
1275
+ strategy?: "quantity" | "entry";
1276
+ as_array?: boolean;
1277
+ decimal_places?: string;
1278
+ min_profit?: number;
1279
+ raw?: boolean;
1280
+ gap?: number;
1281
+ rr?: number;
1282
+ max_size?: number;
1283
+ max_quantity?: number;
1284
+ kelly?: {
1285
+ use_kelly?: boolean;
1286
+ kelly_confidence_factor?: number;
1287
+ kelly_minimum_risk?: number;
1288
+ kelly_prediction_model?: "exponential" | "normal" | "uniform";
1289
+ kelly_func?: "theoretical" | "position_based" | "theoretical_fixed";
1290
+ };
1291
+ distribution?: GetEntriesParams["distribution"];
1292
+ distribution_params?: {
1293
+ curveFactor?: number;
1294
+ stdDevFactor?: number;
1295
+ lambda?: number;
1296
+ };
1297
+ };
1298
+ identifyGapConfig(payload: {
1299
+ factor?: number;
1300
+ sell_factor?: number;
1301
+ kind?: "long" | "short";
1302
+ risk?: number;
1303
+ }): {
1304
+ profit_percent: {
1305
+ long: number;
1306
+ short: number;
1307
+ };
1308
+ risk: {
1309
+ short: number;
1310
+ long: number;
1311
+ };
1312
+ take_profit: {
1313
+ long: number;
1314
+ short: number;
1315
+ };
1316
+ to_reduce: {
1317
+ short: number;
1318
+ long: number;
1319
+ };
1320
+ full_reduce: {
1321
+ short: number;
1322
+ long: number;
1323
+ };
1324
+ sell_quantity: {
1325
+ short: number;
1326
+ long: number;
1327
+ };
1328
+ gap: number;
1329
+ gap_loss: number;
1330
+ };
1331
+ analyzeProfit(payload: {
1332
+ reward_factor?: number;
1333
+ max_reward_factor: number;
1334
+ risk: number;
1335
+ kind: "long" | "short";
1336
+ }): {
1337
+ pnl: number;
1338
+ loss: number;
1339
+ full_loss: number;
1340
+ original_pnl: number;
1341
+ reward_factor: number;
1342
+ profit_percent: number;
1343
+ kind: "long" | "short";
1344
+ sell_price: number;
1345
+ quantity: number;
1346
+ price_places: string;
1347
+ decimal_places: string;
1348
+ };
1349
+ simulateGapReduction(payload: {
1350
+ iterations?: number;
1351
+ factor?: number;
1352
+ direction: "long" | "short";
1353
+ kind?: "long" | "short";
1354
+ risk?: number;
1355
+ sell_factor?: number;
1356
+ }): {
1357
+ results: {
1358
+ profit_percent: {
1359
+ long: number;
1360
+ short: number;
1361
+ };
1362
+ risk: {
1363
+ short: number;
1364
+ long: number;
1365
+ };
1366
+ take_profit: {
1367
+ long: number;
1368
+ short: number;
1369
+ };
1370
+ sell_quantity: {
1371
+ short: number;
1372
+ long: number;
1373
+ };
1374
+ gap_loss: number;
1375
+ position: {
1376
+ long: {
1377
+ entry: number;
1378
+ quantity: number;
1379
+ };
1380
+ short: {
1381
+ entry: number;
1382
+ quantity: number;
1383
+ };
1384
+ };
1385
+ }[];
1386
+ quantity: number;
1387
+ };
1388
+ }
1389
+ export interface ComputedTrade {
1390
+ entry: number;
1391
+ quantity: number;
1392
+ avg_size: number;
1393
+ neg_pnl: number;
1394
+ avg_entry: number;
1395
+ stop: number;
1396
+ reverse_avg_entry: number;
1397
+ reverse_avg_quantity: number;
1398
+ fee: number;
1399
+ }
1400
+ export type TradeConfig = {
1401
+ entry: number;
1402
+ stop: number;
1403
+ risk_reward: number;
1404
+ risk: number;
1405
+ symbol: string;
1406
+ distribution?: GetEntriesParams["distribution"];
1407
+ distribution_params?: {
1408
+ curveFactor?: number;
1409
+ stdDevFactor?: number;
1410
+ lambda?: number;
1411
+ };
1412
+ };
1413
+ declare function constructAppConfig$1({ config, global_config, }: {
1414
+ config: TradeConfig;
1415
+ global_config: GlobalConfig;
1416
+ }): {
1417
+ fee: number;
1418
+ risk_per_trade: number;
1419
+ risk_reward: number;
1420
+ symbol?: string;
1421
+ focus: number;
1422
+ budget: number;
1423
+ support: number;
1424
+ resistance: number;
1425
+ percent_change: number;
1426
+ tradeSplit?: number;
1427
+ take_profit?: number;
1428
+ kind: "long" | "short";
1429
+ entry: number;
1430
+ stop: number;
1431
+ min_size: number;
1432
+ price_places?: string;
1433
+ strategy?: "quantity" | "entry";
1434
+ as_array?: boolean;
1435
+ decimal_places?: string;
1436
+ min_profit?: number;
1437
+ raw?: boolean;
1438
+ gap?: number;
1439
+ rr?: number;
1440
+ max_size?: number;
1441
+ last_value?: any;
1442
+ max_quantity?: number;
1443
+ kelly?: {
1444
+ use_kelly?: boolean;
1445
+ kelly_confidence_factor?: number;
1446
+ kelly_minimum_risk?: number;
1447
+ kelly_prediction_model?: "exponential" | "normal" | "uniform";
1448
+ kelly_func?: "theoretical" | "position_based" | "theoretical_fixed";
1449
+ };
1450
+ distribution?: GetEntriesParams["distribution"];
1451
+ distribution_params?: {
1452
+ curveFactor?: number;
1453
+ stdDevFactor?: number;
1454
+ lambda?: number;
1455
+ };
1456
+ };
1457
+ declare function buildWithOptimumReward({ config, settings, global_config, force_exact, }: {
1458
+ config: TradeConfig;
1459
+ global_config: GlobalConfig;
1460
+ settings: {
1461
+ entry?: number;
1462
+ stop?: number;
1463
+ risk: number;
1464
+ stop_ratio?: number;
1465
+ risk_reward?: number;
1466
+ distribution?: GetEntriesParams["distribution"];
1467
+ distribution_params?: {
1468
+ curveFactor?: number;
1469
+ stdDevFactor?: number;
1470
+ lambda?: number;
1471
+ };
1472
+ };
1473
+ force_exact?: boolean;
1474
+ }): {
1475
+ trades: any[];
1476
+ summary: {
1477
+ entry: number;
1478
+ stop: number;
1479
+ risk: number;
1480
+ risk_reward: any;
1481
+ avg_entry: number;
1482
+ avg_size: number;
1483
+ first_entry: number;
1484
+ pnl: number;
1485
+ fee: number;
1486
+ loss: number;
1487
+ last_entry: number;
1488
+ margin: number;
1489
+ };
1490
+ config: any;
1491
+ stop_order: {
1492
+ quantity: number;
1493
+ price: number;
1494
+ };
1495
+ kind: string;
1496
+ };
1497
+ declare function generateOppositeOptimum({ config, global_config, settings, ratio, distribution, distribution_params, risk_factor, }: {
1498
+ settings: {
1499
+ entry: number;
1500
+ stop: number;
1501
+ risk: number;
1502
+ };
1503
+ config: TradeConfig;
1504
+ global_config: GlobalConfig;
1505
+ fee_percent?: number;
1506
+ ratio?: number;
1507
+ distribution?: any;
1508
+ distribution_params?: {
1509
+ curveFactor?: number;
1510
+ stdDevFactor?: number;
1511
+ lambda?: number;
1512
+ };
1513
+ risk_factor?: number;
1514
+ }): {
1515
+ trades: any[];
1516
+ summary: any;
1517
+ config: {
1518
+ entry: number;
1519
+ stop: number;
1520
+ risk: number;
1521
+ distribution: any;
1522
+ distribution_params: {
1523
+ curveFactor?: number;
1524
+ stdDevFactor?: number;
1525
+ lambda?: number;
1526
+ };
1527
+ risk_factor: number;
1528
+ };
1529
+ kind: string;
1530
+ } | {
1531
+ trades: any[];
1532
+ summary: {
1533
+ entry: number;
1534
+ stop: number;
1535
+ risk: number;
1536
+ risk_reward: any;
1537
+ avg_entry: number;
1538
+ avg_size: number;
1539
+ first_entry: number;
1540
+ pnl: number;
1541
+ fee: number;
1542
+ loss: number;
1543
+ last_entry: number;
1544
+ defaultEntry: number;
1545
+ };
1546
+ config: any;
1547
+ kind: string;
1548
+ };
1549
+ declare function increaseTradeHelper({ increase_qty, stop, config, global_config, style, entry, position, stop_ratio, distribution: default_distribution, distribution_params: default_distribution_params, }: {
1550
+ position: {
1551
+ entry: number;
1552
+ quantity: number;
1553
+ };
1554
+ entry: number;
1555
+ stop: number;
1556
+ config: TradeConfig;
1557
+ global_config: GlobalConfig;
1558
+ increase_qty: number;
1559
+ style: "minimum" | "optimum";
1560
+ stop_ratio?: number;
1561
+ distribution?: any;
1562
+ distribution_params?: {
1563
+ curveFactor?: number;
1564
+ stdDevFactor?: number;
1565
+ lambda?: number;
1566
+ };
1567
+ }): {
1568
+ trades: any[];
1569
+ summary: any;
1570
+ config: any;
1571
+ kind: string;
1572
+ current: {
1573
+ trades: any[];
1574
+ summary: {
1575
+ first_entry: number;
1576
+ last_entry: number;
1577
+ quantity: number;
1578
+ entry: number;
1579
+ loss: number;
1580
+ number_of_trades: number;
1581
+ fee: number;
1582
+ anchor_pnl: any;
1583
+ };
1584
+ };
1585
+ stop_order?: undefined;
1586
+ } | {
1587
+ trades: any[];
1588
+ summary: {
1589
+ entry: number;
1590
+ stop: number;
1591
+ risk: number;
1592
+ risk_reward: any;
1593
+ avg_entry: number;
1594
+ avg_size: number;
1595
+ first_entry: number;
1596
+ pnl: number;
1597
+ fee: number;
1598
+ loss: number;
1599
+ last_entry: number;
1600
+ margin: number;
1601
+ };
1602
+ stop_order: {
1603
+ quantity: number;
1604
+ price: number;
1605
+ };
1606
+ config: any;
1607
+ kind: string;
1608
+ current: {
1609
+ trades: any[];
1610
+ summary: {
1611
+ first_entry: number;
1612
+ last_entry: number;
1613
+ quantity: number;
1614
+ entry: number;
1615
+ loss: number;
1616
+ number_of_trades: number;
1617
+ fee: number;
1618
+ anchor_pnl: any;
1619
+ };
1620
+ };
1621
+ };
1622
+ declare function generatePositionIncreaseTrade({ account, zoneAccount, ratio, config, global_config, style, distribution, distribution_params, }: {
1623
+ style?: "optimum" | "minimum";
1624
+ account: {
1625
+ long: {
1626
+ entry: number;
1627
+ quantity: number;
1628
+ };
1629
+ short: {
1630
+ entry: number;
1631
+ quantity: number;
1632
+ };
1633
+ };
1634
+ config: TradeConfig;
1635
+ global_config: GlobalConfig;
1636
+ zoneAccount: {
1637
+ entry: number;
1638
+ stop: number;
1639
+ };
1640
+ ratio?: number;
1641
+ distribution?: any;
1642
+ distribution_params?: {
1643
+ curveFactor?: number;
1644
+ stdDevFactor?: number;
1645
+ lambda?: number;
1646
+ };
1647
+ }): {
1648
+ trades: any[];
1649
+ summary: any;
1650
+ config: any;
1651
+ kind: string;
1652
+ current: {
1653
+ trades: any[];
1654
+ summary: {
1655
+ first_entry: number;
1656
+ last_entry: number;
1657
+ quantity: number;
1658
+ entry: number;
1659
+ loss: number;
1660
+ number_of_trades: number;
1661
+ fee: number;
1662
+ anchor_pnl: any;
1663
+ };
1664
+ };
1665
+ stop_order?: undefined;
1666
+ } | {
1667
+ trades: any[];
1668
+ summary: {
1669
+ entry: number;
1670
+ stop: number;
1671
+ risk: number;
1672
+ risk_reward: any;
1673
+ avg_entry: number;
1674
+ avg_size: number;
1675
+ first_entry: number;
1676
+ pnl: number;
1677
+ fee: number;
1678
+ loss: number;
1679
+ last_entry: number;
1680
+ margin: number;
1681
+ };
1682
+ stop_order: {
1683
+ quantity: number;
1684
+ price: number;
1685
+ };
1686
+ config: any;
1687
+ kind: string;
1688
+ current: {
1689
+ trades: any[];
1690
+ summary: {
1691
+ first_entry: number;
1692
+ last_entry: number;
1693
+ quantity: number;
1694
+ entry: number;
1695
+ loss: number;
1696
+ number_of_trades: number;
1697
+ fee: number;
1698
+ anchor_pnl: any;
1699
+ };
1700
+ };
1701
+ };
1702
+ declare function determineHedgeTradeToPlace({ position, config, global_config, profit_risk, allowable_loss, }: {
1703
+ position: {
1704
+ entry: number;
1705
+ quantity: number;
1706
+ kind: "long" | "short";
1707
+ };
1708
+ config: TradeConfig;
1709
+ global_config: GlobalConfig;
1710
+ profit_risk?: number;
1711
+ allowable_loss?: number;
1712
+ }): {
1713
+ opposite: {
1714
+ trades: any[];
1715
+ summary: {
1716
+ entry: number;
1717
+ stop: number;
1718
+ risk: number;
1719
+ risk_reward: any;
1720
+ avg_entry: number;
1721
+ avg_size: number;
1722
+ first_entry: number;
1723
+ pnl: number;
1724
+ fee: number;
1725
+ loss: number;
1726
+ last_entry: number;
1727
+ margin: number;
1728
+ };
1729
+ config: any;
1730
+ stop_order: {
1731
+ quantity: number;
1732
+ price: number;
1733
+ };
1734
+ kind: string;
1735
+ };
1736
+ take_profit: number;
1737
+ };
1738
+ export declare const compoundAPI: {
1739
+ determineHedgeTradeToPlace: typeof determineHedgeTradeToPlace;
1740
+ buildWithOptimumReward: typeof buildWithOptimumReward;
1741
+ constructAppConfig: typeof constructAppConfig$1;
1742
+ generateOppositeOptimum: typeof generateOppositeOptimum;
1743
+ increaseTradeHelper: typeof increaseTradeHelper;
1744
+ generatePositionIncreaseTrade: typeof generatePositionIncreaseTrade;
1745
+ };
1746
+
1747
+ export {};