@one_deploy/sdk 1.2.0 → 1.2.2

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 (43) hide show
  1. package/dist/{ForexPoolDataGenerator--__twRwl.d.mts → ForexPoolDataGenerator-JxTPpJPz.d.mts} +1 -1
  2. package/dist/{ForexPoolDataGenerator-eUgwsU_B.d.ts → ForexPoolDataGenerator-qwWv6sCE.d.ts} +1 -1
  3. package/dist/{OneForexTradeHistory-TlKxjbFF.d.ts → OneForexTradeHistory-BE4rJH5t.d.ts} +1 -1
  4. package/dist/{OneForexTradeHistory-iDySMcw0.d.mts → OneForexTradeHistory-DbuHXRy0.d.mts} +1 -1
  5. package/dist/components/index.d.mts +2 -2
  6. package/dist/components/index.d.ts +2 -2
  7. package/dist/config/index.d.mts +1 -1
  8. package/dist/config/index.d.ts +1 -1
  9. package/dist/{console-BfTMA7ah.d.mts → console-Dvf-N9Gr.d.mts} +7 -0
  10. package/dist/{console-BfTMA7ah.d.ts → console-Dvf-N9Gr.d.ts} +7 -0
  11. package/dist/hooks/index.d.mts +2 -2
  12. package/dist/hooks/index.d.ts +2 -2
  13. package/dist/hooks/index.js +399 -38
  14. package/dist/hooks/index.js.map +1 -1
  15. package/dist/hooks/index.mjs +399 -38
  16. package/dist/hooks/index.mjs.map +1 -1
  17. package/dist/index.d.mts +4 -4
  18. package/dist/index.d.ts +4 -4
  19. package/dist/index.js +399 -38
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.mjs +399 -38
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/providers/index.d.mts +1 -1
  24. package/dist/providers/index.d.ts +1 -1
  25. package/dist/react-native.d.mts +4 -4
  26. package/dist/react-native.d.ts +4 -4
  27. package/dist/react-native.js +239 -36
  28. package/dist/react-native.js.map +1 -1
  29. package/dist/react-native.mjs +239 -36
  30. package/dist/react-native.mjs.map +1 -1
  31. package/dist/services/index.d.mts +2 -2
  32. package/dist/services/index.d.ts +2 -2
  33. package/dist/services/index.js +239 -36
  34. package/dist/services/index.js.map +1 -1
  35. package/dist/services/index.mjs +239 -36
  36. package/dist/services/index.mjs.map +1 -1
  37. package/dist/types/index.d.mts +1 -1
  38. package/dist/types/index.d.ts +1 -1
  39. package/dist/{useForexTrading-ZgW_G40Q.d.ts → useForexTrading-CA2DPQVf.d.ts} +1 -1
  40. package/dist/{useForexTrading-BleeSor8.d.mts → useForexTrading-I7nIQyog.d.mts} +1 -1
  41. package/package.json +1 -1
  42. package/src/services/forex/BotSimulationEngine.ts +463 -35
  43. package/src/services/forex/index.ts +12 -1
@@ -3,8 +3,8 @@ import * as _supabase_realtime_js from '@supabase/realtime-js';
3
3
  import * as _supabase_postgrest_js from '@supabase/postgrest-js';
4
4
  import * as _supabase_auth_js from '@supabase/auth-js';
5
5
  import { SupabaseClient } from '@supabase/supabase-js';
6
- export { F as ForexPoolDataGenerator, a as PairState, P as PriceService, f as forexSimulationEngine, p as priceService } from '../ForexPoolDataGenerator--__twRwl.mjs';
7
- export { a as BotLogEntry, B as BotLogType, c as BotState, I as IndicatorSnapshot, a0 as STRATEGY_PERSONALITIES, S as StrategyPersonality, b as botSimulationEngine } from '../console-BfTMA7ah.mjs';
6
+ export { F as ForexPoolDataGenerator, a as PairState, P as PriceService, f as forexSimulationEngine, p as priceService } from '../ForexPoolDataGenerator-JxTPpJPz.mjs';
7
+ export { a as BotLogEntry, B as BotLogType, c as BotState, I as IndicatorSnapshot, a0 as STRATEGY_PERSONALITIES, S as StrategyPersonality, b as botSimulationEngine } from '../console-Dvf-N9Gr.mjs';
8
8
  import '../types/index.mjs';
9
9
 
10
10
  declare function createSupabaseClient(url?: string, anonKey?: string): SupabaseClient;
@@ -3,8 +3,8 @@ import * as _supabase_realtime_js from '@supabase/realtime-js';
3
3
  import * as _supabase_postgrest_js from '@supabase/postgrest-js';
4
4
  import * as _supabase_auth_js from '@supabase/auth-js';
5
5
  import { SupabaseClient } from '@supabase/supabase-js';
6
- export { F as ForexPoolDataGenerator, a as PairState, P as PriceService, f as forexSimulationEngine, p as priceService } from '../ForexPoolDataGenerator-eUgwsU_B.js';
7
- export { a as BotLogEntry, B as BotLogType, c as BotState, I as IndicatorSnapshot, a0 as STRATEGY_PERSONALITIES, S as StrategyPersonality, b as botSimulationEngine } from '../console-BfTMA7ah.js';
6
+ export { F as ForexPoolDataGenerator, a as PairState, P as PriceService, f as forexSimulationEngine, p as priceService } from '../ForexPoolDataGenerator-qwWv6sCE.js';
7
+ export { a as BotLogEntry, B as BotLogType, c as BotState, I as IndicatorSnapshot, a0 as STRATEGY_PERSONALITIES, S as StrategyPersonality, b as botSimulationEngine } from '../console-Dvf-N9Gr.js';
8
8
  import '../types/index.js';
9
9
 
10
10
  declare function createSupabaseClient(url?: string, anonKey?: string): SupabaseClient;
@@ -2578,14 +2578,63 @@ init_ForexPoolDataGenerator();
2578
2578
 
2579
2579
  // src/services/forex/BotSimulationEngine.ts
2580
2580
  var STRATEGY_PERSONALITIES = [
2581
+ // ═══════════════════════════════════════════════════════════════════════════
2582
+ // CONSERVATIVE STRATEGIES (保守型) - Low risk, stable returns
2583
+ // ═══════════════════════════════════════════════════════════════════════════
2581
2584
  {
2582
- id: "balanced-01",
2585
+ id: "stable-yield-01",
2586
+ name: "Stable Yield",
2587
+ shortName: "STB",
2588
+ color: "#6B7280",
2589
+ scanIntervalMin: 8e4,
2590
+ scanIntervalMax: 12e4,
2591
+ tradeFrequency: 0.15,
2592
+ positionSizeMin: 5,
2593
+ positionSizeMax: 15,
2594
+ leverageMin: 1,
2595
+ leverageMax: 3,
2596
+ primaryIndicators: ["Bollinger", "Volume"],
2597
+ riskTolerance: "low",
2598
+ preferredPairs: ["BTC/USDT", "ETH/USDT"],
2599
+ rsiBias: 45,
2600
+ tier: "starter",
2601
+ dailyYieldMin: 0.15,
2602
+ dailyYieldMax: 0.25,
2603
+ description: "\u7A33\u5065\u6536\u76CA\u7B56\u7565\uFF0C\u4F4E\u98CE\u9669\u4F4E\u6CE2\u52A8\uFF0C\u9002\u5408\u65B0\u624B\u5165\u95E8",
2604
+ category: "conservative"
2605
+ },
2606
+ {
2607
+ id: "conservative-shield-01",
2608
+ name: "Conservative Shield",
2609
+ shortName: "CON",
2610
+ color: "#10B981",
2611
+ scanIntervalMin: 6e4,
2612
+ scanIntervalMax: 9e4,
2613
+ tradeFrequency: 0.25,
2614
+ positionSizeMin: 10,
2615
+ positionSizeMax: 20,
2616
+ leverageMin: 2,
2617
+ leverageMax: 5,
2618
+ primaryIndicators: ["Bollinger", "Volume", "RSI"],
2619
+ riskTolerance: "low",
2620
+ preferredPairs: ["BTC/USDT", "ETH/USDT"],
2621
+ rsiBias: 45,
2622
+ tier: "basic",
2623
+ dailyYieldMin: 0.25,
2624
+ dailyYieldMax: 0.4,
2625
+ description: "\u4FDD\u5B88\u9632\u5FA1\u7B56\u7565\uFF0C\u6CE8\u91CD\u8D44\u91D1\u5B89\u5168\uFF0C\u7A33\u5B9A\u6536\u76CA",
2626
+ category: "conservative"
2627
+ },
2628
+ // ═══════════════════════════════════════════════════════════════════════════
2629
+ // BALANCED STRATEGIES (平衡型) - Moderate risk, balanced returns
2630
+ // ═══════════════════════════════════════════════════════════════════════════
2631
+ {
2632
+ id: "balanced-alpha-01",
2583
2633
  name: "Balanced Alpha",
2584
2634
  shortName: "BAL",
2585
2635
  color: "#3B82F6",
2586
- scanIntervalMin: 25e3,
2587
- // Slower: 25-40s between cycles
2588
- scanIntervalMax: 4e4,
2636
+ scanIntervalMin: 45e3,
2637
+ scanIntervalMax: 7e4,
2589
2638
  tradeFrequency: 0.4,
2590
2639
  positionSizeMin: 15,
2591
2640
  positionSizeMax: 35,
@@ -2594,34 +2643,92 @@ var STRATEGY_PERSONALITIES = [
2594
2643
  primaryIndicators: ["RSI", "MACD"],
2595
2644
  riskTolerance: "medium",
2596
2645
  preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT"],
2597
- rsiBias: 50
2646
+ rsiBias: 50,
2647
+ tier: "standard",
2648
+ dailyYieldMin: 0.4,
2649
+ dailyYieldMax: 0.65,
2650
+ description: "\u5E73\u8861\u578B\u7B56\u7565\uFF0C\u98CE\u9669\u6536\u76CA\u5747\u8861\uFF0C\u9002\u5408\u7A33\u5065\u6295\u8D44\u8005",
2651
+ category: "balanced"
2598
2652
  },
2599
2653
  {
2600
- id: "conservative-01",
2601
- name: "Conservative Shield",
2602
- shortName: "CON",
2603
- color: "#10B981",
2604
- scanIntervalMin: 35e3,
2605
- // Slower: 35-55s between cycles
2654
+ id: "smart-rebalance-01",
2655
+ name: "Smart Rebalance",
2656
+ shortName: "SRB",
2657
+ color: "#06B6D4",
2658
+ scanIntervalMin: 5e4,
2659
+ scanIntervalMax: 75e3,
2660
+ tradeFrequency: 0.35,
2661
+ positionSizeMin: 12,
2662
+ positionSizeMax: 30,
2663
+ leverageMin: 3,
2664
+ leverageMax: 8,
2665
+ primaryIndicators: ["RSI", "EMA", "Volume"],
2666
+ riskTolerance: "medium",
2667
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "BNB/USDT", "SOL/USDT"],
2668
+ rsiBias: 50,
2669
+ tier: "standard",
2670
+ dailyYieldMin: 0.45,
2671
+ dailyYieldMax: 0.7,
2672
+ description: "\u667A\u80FD\u518D\u5E73\u8861\u7B56\u7565\uFF0C\u52A8\u6001\u8C03\u6574\u6301\u4ED3\uFF0C\u4F18\u5316\u6536\u76CA",
2673
+ category: "balanced"
2674
+ },
2675
+ // ═══════════════════════════════════════════════════════════════════════════
2676
+ // GROWTH STRATEGIES (成长型) - Higher risk, higher returns
2677
+ // ═══════════════════════════════════════════════════════════════════════════
2678
+ {
2679
+ id: "growth-momentum-01",
2680
+ name: "Growth Momentum",
2681
+ shortName: "GRO",
2682
+ color: "#8B5CF6",
2683
+ scanIntervalMin: 4e4,
2684
+ scanIntervalMax: 6e4,
2685
+ tradeFrequency: 0.45,
2686
+ positionSizeMin: 20,
2687
+ positionSizeMax: 40,
2688
+ leverageMin: 5,
2689
+ leverageMax: 12,
2690
+ primaryIndicators: ["RSI", "MACD", "EMA"],
2691
+ riskTolerance: "medium",
2692
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT"],
2693
+ rsiBias: 52,
2694
+ tier: "premium",
2695
+ dailyYieldMin: 0.6,
2696
+ dailyYieldMax: 0.95,
2697
+ description: "\u6210\u957F\u52A8\u91CF\u7B56\u7565\uFF0C\u8FFD\u6C42\u8F83\u9AD8\u6536\u76CA\uFF0C\u9002\u5408\u6709\u7ECF\u9A8C\u6295\u8D44\u8005",
2698
+ category: "growth"
2699
+ },
2700
+ {
2701
+ id: "trend-hunter-01",
2702
+ name: "Trend Hunter",
2703
+ shortName: "TRH",
2704
+ color: "#EC4899",
2705
+ scanIntervalMin: 38e3,
2606
2706
  scanIntervalMax: 55e3,
2607
- tradeFrequency: 0.25,
2608
- positionSizeMin: 10,
2609
- positionSizeMax: 20,
2610
- leverageMin: 2,
2611
- leverageMax: 5,
2612
- primaryIndicators: ["Bollinger", "Volume"],
2613
- riskTolerance: "low",
2614
- preferredPairs: ["BTC/USDT", "ETH/USDT"],
2615
- rsiBias: 45
2707
+ tradeFrequency: 0.48,
2708
+ positionSizeMin: 22,
2709
+ positionSizeMax: 42,
2710
+ leverageMin: 5,
2711
+ leverageMax: 15,
2712
+ primaryIndicators: ["EMA", "MACD", "Volume", "Bollinger"],
2713
+ riskTolerance: "medium",
2714
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "ARB/USDT", "OP/USDT"],
2715
+ rsiBias: 53,
2716
+ tier: "premium",
2717
+ dailyYieldMin: 0.65,
2718
+ dailyYieldMax: 1,
2719
+ description: "\u8D8B\u52BF\u730E\u624B\u7B56\u7565\uFF0C\u6355\u6349\u5E02\u573A\u8D8B\u52BF\uFF0C\u8FFD\u6C42\u8D85\u989D\u6536\u76CA",
2720
+ category: "growth"
2616
2721
  },
2722
+ // ═══════════════════════════════════════════════════════════════════════════
2723
+ // AGGRESSIVE STRATEGIES (激进型) - High risk, high returns
2724
+ // ═══════════════════════════════════════════════════════════════════════════
2617
2725
  {
2618
- id: "aggressive-01",
2726
+ id: "aggressive-momentum-01",
2619
2727
  name: "Aggressive Momentum",
2620
2728
  shortName: "AGG",
2621
2729
  color: "#EF4444",
2622
- scanIntervalMin: 18e3,
2623
- // Slower: 18-30s between cycles
2624
- scanIntervalMax: 3e4,
2730
+ scanIntervalMin: 35e3,
2731
+ scanIntervalMax: 55e3,
2625
2732
  tradeFrequency: 0.5,
2626
2733
  positionSizeMin: 25,
2627
2734
  positionSizeMax: 50,
@@ -2630,7 +2737,103 @@ var STRATEGY_PERSONALITIES = [
2630
2737
  primaryIndicators: ["RSI", "MACD", "EMA", "Volume"],
2631
2738
  riskTolerance: "high",
2632
2739
  preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "DOGE/USDT", "AVAX/USDT"],
2633
- rsiBias: 55
2740
+ rsiBias: 55,
2741
+ tier: "elite",
2742
+ dailyYieldMin: 0.85,
2743
+ dailyYieldMax: 1.4,
2744
+ description: "\u6FC0\u8FDB\u52A8\u91CF\u7B56\u7565\uFF0C\u9AD8\u98CE\u9669\u9AD8\u6536\u76CA\uFF0C\u9002\u5408\u98CE\u9669\u627F\u53D7\u80FD\u529B\u5F3A\u7684\u6295\u8D44\u8005",
2745
+ category: "aggressive"
2746
+ },
2747
+ {
2748
+ id: "leverage-maximizer-01",
2749
+ name: "Leverage Maximizer",
2750
+ shortName: "LEV",
2751
+ color: "#F97316",
2752
+ scanIntervalMin: 3e4,
2753
+ scanIntervalMax: 5e4,
2754
+ tradeFrequency: 0.55,
2755
+ positionSizeMin: 30,
2756
+ positionSizeMax: 55,
2757
+ leverageMin: 10,
2758
+ leverageMax: 25,
2759
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
2760
+ riskTolerance: "high",
2761
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "DOGE/USDT", "AVAX/USDT", "ARB/USDT"],
2762
+ rsiBias: 55,
2763
+ tier: "elite",
2764
+ dailyYieldMin: 1,
2765
+ dailyYieldMax: 1.8,
2766
+ description: "\u6760\u6746\u6700\u5927\u5316\u7B56\u7565\uFF0C\u8FFD\u6C42\u6781\u81F4\u6536\u76CA\uFF0C\u9700\u8981\u4E13\u4E1A\u6295\u8D44\u7ECF\u9A8C",
2767
+ category: "aggressive"
2768
+ },
2769
+ // ═══════════════════════════════════════════════════════════════════════════
2770
+ // QUANTITATIVE STRATEGIES (量化型) - AI-driven, advanced algorithms
2771
+ // ═══════════════════════════════════════════════════════════════════════════
2772
+ {
2773
+ id: "ai-quant-alpha-01",
2774
+ name: "AI Quant Alpha",
2775
+ shortName: "AQA",
2776
+ color: "#A855F7",
2777
+ scanIntervalMin: 42e3,
2778
+ scanIntervalMax: 65e3,
2779
+ tradeFrequency: 0.42,
2780
+ positionSizeMin: 18,
2781
+ positionSizeMax: 38,
2782
+ leverageMin: 4,
2783
+ leverageMax: 12,
2784
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
2785
+ riskTolerance: "medium",
2786
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "BNB/USDT"],
2787
+ rsiBias: 51,
2788
+ tier: "premium",
2789
+ dailyYieldMin: 0.7,
2790
+ dailyYieldMax: 1.1,
2791
+ description: "AI\u91CF\u5316Alpha\u7B56\u7565\uFF0C\u673A\u5668\u5B66\u4E60\u9A71\u52A8\uFF0C\u667A\u80FD\u98CE\u63A7",
2792
+ category: "quantitative"
2793
+ },
2794
+ {
2795
+ id: "neural-trader-01",
2796
+ name: "Neural Trader",
2797
+ shortName: "NRT",
2798
+ color: "#14B8A6",
2799
+ scanIntervalMin: 4e4,
2800
+ scanIntervalMax: 62e3,
2801
+ tradeFrequency: 0.44,
2802
+ positionSizeMin: 20,
2803
+ positionSizeMax: 40,
2804
+ leverageMin: 5,
2805
+ leverageMax: 15,
2806
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
2807
+ riskTolerance: "medium",
2808
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT", "LINK/USDT"],
2809
+ rsiBias: 52,
2810
+ tier: "elite",
2811
+ dailyYieldMin: 0.8,
2812
+ dailyYieldMax: 1.25,
2813
+ description: "\u795E\u7ECF\u7F51\u7EDC\u4EA4\u6613\u7B56\u7565\uFF0C\u6DF1\u5EA6\u5B66\u4E60\u6A21\u578B\uFF0C\u81EA\u9002\u5E94\u5E02\u573A",
2814
+ category: "quantitative"
2815
+ },
2816
+ {
2817
+ id: "quantum-edge-01",
2818
+ name: "Quantum Edge",
2819
+ shortName: "QTE",
2820
+ color: "#6366F1",
2821
+ scanIntervalMin: 35e3,
2822
+ scanIntervalMax: 55e3,
2823
+ tradeFrequency: 0.5,
2824
+ positionSizeMin: 25,
2825
+ positionSizeMax: 50,
2826
+ leverageMin: 8,
2827
+ leverageMax: 20,
2828
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
2829
+ riskTolerance: "high",
2830
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT", "ARB/USDT", "OP/USDT"],
2831
+ rsiBias: 54,
2832
+ tier: "vip",
2833
+ dailyYieldMin: 1.2,
2834
+ dailyYieldMax: 2,
2835
+ description: "VIP\u91CF\u5B50\u4F18\u52BF\u7B56\u7565\uFF0C\u9876\u7EA7AI\u7B97\u6CD5\uFF0C\u6781\u81F4\u6536\u76CA\u8FFD\u6C42",
2836
+ category: "quantitative"
2634
2837
  }
2635
2838
  ];
2636
2839
  var PAIR_PRICES = {
@@ -2871,7 +3074,7 @@ var BotSimulationEngine = class {
2871
3074
  },
2872
3075
  delay
2873
3076
  });
2874
- delay += rand3(800, 1500);
3077
+ delay += rand3(2e3, 3500);
2875
3078
  const thinkingMessages = this.generateThinkingProcess(strategy, pair, price);
2876
3079
  for (const thinking of thinkingMessages) {
2877
3080
  entries.push({
@@ -2884,7 +3087,7 @@ var BotSimulationEngine = class {
2884
3087
  },
2885
3088
  delay
2886
3089
  });
2887
- delay += rand3(600, 1200);
3090
+ delay += rand3(1500, 2500);
2888
3091
  }
2889
3092
  const indicatorParts = [];
2890
3093
  if (strategy.primaryIndicators.includes("RSI") || strategy.primaryIndicators.includes("MACD")) {
@@ -2916,7 +3119,7 @@ var BotSimulationEngine = class {
2916
3119
  },
2917
3120
  delay
2918
3121
  });
2919
- delay += rand3(800, 1500);
3122
+ delay += rand3(2e3, 3500);
2920
3123
  if (Math.random() < 0.12) {
2921
3124
  const sentiment = Math.random() > 0.4 ? "Bullish" : "Bearish";
2922
3125
  entries.push({
@@ -2929,7 +3132,7 @@ var BotSimulationEngine = class {
2929
3132
  },
2930
3133
  delay
2931
3134
  });
2932
- delay += rand3(1e3, 1800);
3135
+ delay += rand3(2500, 4e3);
2933
3136
  }
2934
3137
  if (Math.random() < 0.4) {
2935
3138
  const analysis = this.generateAnalysis(strategy, indicators, pair);
@@ -2943,7 +3146,7 @@ var BotSimulationEngine = class {
2943
3146
  },
2944
3147
  delay
2945
3148
  });
2946
- delay += rand3(1e3, 2e3);
3149
+ delay += rand3(2500, 4e3);
2947
3150
  }
2948
3151
  const signal = this.evaluateSignal(strategy, indicators);
2949
3152
  state.lastSignal = signal.direction;
@@ -2967,7 +3170,7 @@ var BotSimulationEngine = class {
2967
3170
  },
2968
3171
  delay
2969
3172
  });
2970
- delay += rand3(1500, 2500);
3173
+ delay += rand3(3e3, 5e3);
2971
3174
  entries.push({
2972
3175
  entry: {
2973
3176
  strategyId: strategy.id,
@@ -2979,7 +3182,7 @@ var BotSimulationEngine = class {
2979
3182
  },
2980
3183
  delay
2981
3184
  });
2982
- delay += rand3(1200, 2e3);
3185
+ delay += rand3(3e3, 4500);
2983
3186
  const decision = this.makeTradeDecision(strategy, signal, state);
2984
3187
  if (decision.execute) {
2985
3188
  entries.push({
@@ -2999,7 +3202,7 @@ var BotSimulationEngine = class {
2999
3202
  },
3000
3203
  delay
3001
3204
  });
3002
- delay += rand3(1e3, 1800);
3205
+ delay += rand3(2500, 4e3);
3003
3206
  const orderId = `ORD_${Date.now().toString(36).toUpperCase()}`;
3004
3207
  const orderPrice = signal.direction === "LONG" ? price * (1 - rand3(1e-4, 5e-4)) : price * (1 + rand3(1e-4, 5e-4));
3005
3208
  entries.push({
@@ -3024,7 +3227,7 @@ var BotSimulationEngine = class {
3024
3227
  },
3025
3228
  delay
3026
3229
  });
3027
- delay += rand3(2e3, 4e3);
3230
+ delay += rand3(4e3, 7e3);
3028
3231
  const fillPrice = orderPrice * (1 + rand3(-3e-4, 3e-4));
3029
3232
  const slippage = Math.abs(fillPrice - orderPrice) / orderPrice * 100;
3030
3233
  entries.push({
@@ -3073,7 +3276,7 @@ var BotSimulationEngine = class {
3073
3276
  }
3074
3277
  }
3075
3278
  if (state.openPositions.length > 0 && Math.random() < 0.5) {
3076
- delay += rand3(1500, 2500);
3279
+ delay += rand3(3500, 5500);
3077
3280
  let totalPositionPnl = 0;
3078
3281
  const pnlParts = [];
3079
3282
  for (const pos of state.openPositions) {
@@ -3109,7 +3312,7 @@ var BotSimulationEngine = class {
3109
3312
  });
3110
3313
  }
3111
3314
  if (Math.random() < 0.2) {
3112
- delay += rand3(1e3, 2e3);
3315
+ delay += rand3(3e3, 5e3);
3113
3316
  const exposure = state.openPositions.reduce((sum, p) => sum + p.size * p.leverage, 0);
3114
3317
  const maxDrawdown = rand3(2, 12);
3115
3318
  entries.push({