@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
@@ -8,7 +8,7 @@ import { OneConfig } from '../config/index.mjs';
8
8
  import { O as OneEngineClient, a as EngineWalletBalance, e as OnrampSessionRequest, S as SwapQuoteRequest, i as SwapQuote } from '../engine-BeVuHpVx.mjs';
9
9
  import { User, Token, AIStrategy, AIOrder } from '../types/index.mjs';
10
10
  export { inAppWallet, smartWallet } from 'thirdweb/wallets';
11
- import '../console-BfTMA7ah.mjs';
11
+ import '../console-Dvf-N9Gr.mjs';
12
12
 
13
13
  interface ThirdwebAuthOptions {
14
14
  email?: boolean;
@@ -8,7 +8,7 @@ import { OneConfig } from '../config/index.js';
8
8
  import { O as OneEngineClient, a as EngineWalletBalance, e as OnrampSessionRequest, S as SwapQuoteRequest, i as SwapQuote } from '../engine-DSc1Em4V.js';
9
9
  import { User, Token, AIStrategy, AIOrder } from '../types/index.js';
10
10
  export { inAppWallet, smartWallet } from 'thirdweb/wallets';
11
- import '../console-BfTMA7ah.js';
11
+ import '../console-Dvf-N9Gr.js';
12
12
 
13
13
  interface ThirdwebAuthOptions {
14
14
  email?: boolean;
@@ -3,11 +3,11 @@ export { AIAgent, AIAgentCycleParams, AIAgentPerformance, AIAgentSubscriptionPar
3
3
  export { CHAIN_CONFIGS, COINGECKO_IDS, OneConfig, TOKEN_NAMES, getConfig, initOneSDK } from './config/index.mjs';
4
4
  import { E as EngineAuthResponse, O as OneEngineClient } from './engine-BeVuHpVx.mjs';
5
5
  export { b as EngineTransactionRequest, d as EngineTransactionResponse, a as EngineWalletBalance, g as OnrampQuote, f as OnrampSession, e as OnrampSessionRequest, h as OnrampTransaction, j as SwapExecuteRequest, i as SwapQuote, S as SwapQuoteRequest, k as SwapResult, c as createOneEngineClient } from './engine-BeVuHpVx.mjs';
6
- export { F as ForexPoolDataGenerator, P as PriceService, f as forexSimulationEngine, p as priceService } from './ForexPoolDataGenerator--__twRwl.mjs';
6
+ export { F as ForexPoolDataGenerator, P as PriceService, f as forexSimulationEngine, p as priceService } from './ForexPoolDataGenerator-JxTPpJPz.mjs';
7
7
  export { OneSDKError, capitalize, checksumAddress, formatDate, formatDateTime, formatNumber, formatPercent, formatRelativeTime, formatTokenAmount, formatUSD, isOneSDKError, isValidAddress, isValidEmail, isValidPhone, omit, pick, retry, shortenAddress, sleep, slugify, truncate } from './utils/index.mjs';
8
- export { C as CHAIN_CONFIG, D as DEFAULT_SHARE_RATES, O as OneChainSelector, i as OneChainSelectorProps, b as OneCycleSelector, k as OneCycleSelectorProps, e as OneForexCapitalSplit, n as OneForexCapitalSplitProps, f as OneForexConsoleView, o as OneForexConsoleViewProps, g as OneForexPairSelector, p as OneForexPairSelectorProps, d as OneForexPoolCard, m as OneForexPoolCardProps, h as OneForexTradeHistory, q as OneForexTradeHistoryProps, c as OnePairSelector, l as OnePairSelectorProps, a as OneTierSelector, j as OneTierSelectorProps, P as PAIR_ICONS, T as Tier } from './OneForexTradeHistory-iDySMcw0.mjs';
9
- export { g as UseForexInvestmentsResult, i as UseForexPoolDataResult, U as UseForexPoolsResult, h as UseForexSimulationResult, j as UseForexTradingResult, e as clearForexAccessToken, s as setForexAccessToken, f as setForexEngineUrl, a as useForexInvestments, c as useForexPoolData, u as useForexPools, b as useForexSimulation, d as useForexTrading } from './useForexTrading-BleeSor8.mjs';
10
- export { M as AGENT_STATUS_COLORS, G as AIDecision, A as AILogType, D as AIPosition, U as AIQuantConsoleOptions, y as AI_LOG_COLORS, V as AgentConsoleOptions, L as AgentStatus, a as BotLogEntry, B as BotLogType, c as BotState, N as CombinedLogEntry, K as ConsoleMetrics, Y as DEFAULT_CONSOLE_METRICS, W as DEFAULT_CONSOLE_OPTIONS, X as DEFAULT_RISK_STATUS, E as DecisionAction, v as FOREX_AGENT, F as FOREX_CAPITAL_SPLIT, h as FOREX_CURRENCY_PAIRS, f as FOREX_CYCLE_OPTIONS, z as FOREX_LOG_COLORS, k as FOREX_POOL_DEFAULTS, u as ForexAgent, g as ForexCurrencyPair, e as ForexCycleOption, p as ForexInvestment, t as ForexLogEntry, s as ForexLogType, j as ForexPool, n as ForexPoolDailySnapshot, m as ForexPoolTransaction, l as ForexPoolTransactionType, i as ForexPoolType, o as ForexPosition, r as ForexTradeRecord, q as ForexTradeStatus, I as IndicatorSnapshot, P as PositionSide, C as PositionStatus, H as RISK_LEVEL_COLORS, R as RiskStatus, S as StrategyPersonality, J as TRADING_STATUS_COLORS, Q as TradingConsoleOptions, O as TradingConsoleState, T as TradingStatus, b as botSimulationEngine, w as calculateForexNetProfit, Z as calculateRiskLevel, d as computePoolAllocations, x as estimateForexProfit, _ as formatPnl } from './console-BfTMA7ah.mjs';
8
+ export { C as CHAIN_CONFIG, D as DEFAULT_SHARE_RATES, O as OneChainSelector, i as OneChainSelectorProps, b as OneCycleSelector, k as OneCycleSelectorProps, e as OneForexCapitalSplit, n as OneForexCapitalSplitProps, f as OneForexConsoleView, o as OneForexConsoleViewProps, g as OneForexPairSelector, p as OneForexPairSelectorProps, d as OneForexPoolCard, m as OneForexPoolCardProps, h as OneForexTradeHistory, q as OneForexTradeHistoryProps, c as OnePairSelector, l as OnePairSelectorProps, a as OneTierSelector, j as OneTierSelectorProps, P as PAIR_ICONS, T as Tier } from './OneForexTradeHistory-DbuHXRy0.mjs';
9
+ export { g as UseForexInvestmentsResult, i as UseForexPoolDataResult, U as UseForexPoolsResult, h as UseForexSimulationResult, j as UseForexTradingResult, e as clearForexAccessToken, s as setForexAccessToken, f as setForexEngineUrl, a as useForexInvestments, c as useForexPoolData, u as useForexPools, b as useForexSimulation, d as useForexTrading } from './useForexTrading-I7nIQyog.mjs';
10
+ export { M as AGENT_STATUS_COLORS, G as AIDecision, A as AILogType, D as AIPosition, U as AIQuantConsoleOptions, y as AI_LOG_COLORS, V as AgentConsoleOptions, L as AgentStatus, a as BotLogEntry, B as BotLogType, c as BotState, N as CombinedLogEntry, K as ConsoleMetrics, Y as DEFAULT_CONSOLE_METRICS, W as DEFAULT_CONSOLE_OPTIONS, X as DEFAULT_RISK_STATUS, E as DecisionAction, v as FOREX_AGENT, F as FOREX_CAPITAL_SPLIT, h as FOREX_CURRENCY_PAIRS, f as FOREX_CYCLE_OPTIONS, z as FOREX_LOG_COLORS, k as FOREX_POOL_DEFAULTS, u as ForexAgent, g as ForexCurrencyPair, e as ForexCycleOption, p as ForexInvestment, t as ForexLogEntry, s as ForexLogType, j as ForexPool, n as ForexPoolDailySnapshot, m as ForexPoolTransaction, l as ForexPoolTransactionType, i as ForexPoolType, o as ForexPosition, r as ForexTradeRecord, q as ForexTradeStatus, I as IndicatorSnapshot, P as PositionSide, C as PositionStatus, H as RISK_LEVEL_COLORS, R as RiskStatus, S as StrategyPersonality, J as TRADING_STATUS_COLORS, Q as TradingConsoleOptions, O as TradingConsoleState, T as TradingStatus, b as botSimulationEngine, w as calculateForexNetProfit, Z as calculateRiskLevel, d as computePoolAllocations, x as estimateForexProfit, _ as formatPnl } from './console-Dvf-N9Gr.mjs';
11
11
  import 'react';
12
12
  import 'react-native';
13
13
 
@@ -3,11 +3,11 @@ export { AIAgent, AIAgentCycleParams, AIAgentPerformance, AIAgentSubscriptionPar
3
3
  export { CHAIN_CONFIGS, COINGECKO_IDS, OneConfig, TOKEN_NAMES, getConfig, initOneSDK } from './config/index.js';
4
4
  import { E as EngineAuthResponse, O as OneEngineClient } from './engine-DSc1Em4V.js';
5
5
  export { b as EngineTransactionRequest, d as EngineTransactionResponse, a as EngineWalletBalance, g as OnrampQuote, f as OnrampSession, e as OnrampSessionRequest, h as OnrampTransaction, j as SwapExecuteRequest, i as SwapQuote, S as SwapQuoteRequest, k as SwapResult, c as createOneEngineClient } from './engine-DSc1Em4V.js';
6
- export { F as ForexPoolDataGenerator, P as PriceService, f as forexSimulationEngine, p as priceService } from './ForexPoolDataGenerator-eUgwsU_B.js';
6
+ export { F as ForexPoolDataGenerator, P as PriceService, f as forexSimulationEngine, p as priceService } from './ForexPoolDataGenerator-qwWv6sCE.js';
7
7
  export { OneSDKError, capitalize, checksumAddress, formatDate, formatDateTime, formatNumber, formatPercent, formatRelativeTime, formatTokenAmount, formatUSD, isOneSDKError, isValidAddress, isValidEmail, isValidPhone, omit, pick, retry, shortenAddress, sleep, slugify, truncate } from './utils/index.js';
8
- export { C as CHAIN_CONFIG, D as DEFAULT_SHARE_RATES, O as OneChainSelector, i as OneChainSelectorProps, b as OneCycleSelector, k as OneCycleSelectorProps, e as OneForexCapitalSplit, n as OneForexCapitalSplitProps, f as OneForexConsoleView, o as OneForexConsoleViewProps, g as OneForexPairSelector, p as OneForexPairSelectorProps, d as OneForexPoolCard, m as OneForexPoolCardProps, h as OneForexTradeHistory, q as OneForexTradeHistoryProps, c as OnePairSelector, l as OnePairSelectorProps, a as OneTierSelector, j as OneTierSelectorProps, P as PAIR_ICONS, T as Tier } from './OneForexTradeHistory-TlKxjbFF.js';
9
- export { g as UseForexInvestmentsResult, i as UseForexPoolDataResult, U as UseForexPoolsResult, h as UseForexSimulationResult, j as UseForexTradingResult, e as clearForexAccessToken, s as setForexAccessToken, f as setForexEngineUrl, a as useForexInvestments, c as useForexPoolData, u as useForexPools, b as useForexSimulation, d as useForexTrading } from './useForexTrading-ZgW_G40Q.js';
10
- export { M as AGENT_STATUS_COLORS, G as AIDecision, A as AILogType, D as AIPosition, U as AIQuantConsoleOptions, y as AI_LOG_COLORS, V as AgentConsoleOptions, L as AgentStatus, a as BotLogEntry, B as BotLogType, c as BotState, N as CombinedLogEntry, K as ConsoleMetrics, Y as DEFAULT_CONSOLE_METRICS, W as DEFAULT_CONSOLE_OPTIONS, X as DEFAULT_RISK_STATUS, E as DecisionAction, v as FOREX_AGENT, F as FOREX_CAPITAL_SPLIT, h as FOREX_CURRENCY_PAIRS, f as FOREX_CYCLE_OPTIONS, z as FOREX_LOG_COLORS, k as FOREX_POOL_DEFAULTS, u as ForexAgent, g as ForexCurrencyPair, e as ForexCycleOption, p as ForexInvestment, t as ForexLogEntry, s as ForexLogType, j as ForexPool, n as ForexPoolDailySnapshot, m as ForexPoolTransaction, l as ForexPoolTransactionType, i as ForexPoolType, o as ForexPosition, r as ForexTradeRecord, q as ForexTradeStatus, I as IndicatorSnapshot, P as PositionSide, C as PositionStatus, H as RISK_LEVEL_COLORS, R as RiskStatus, S as StrategyPersonality, J as TRADING_STATUS_COLORS, Q as TradingConsoleOptions, O as TradingConsoleState, T as TradingStatus, b as botSimulationEngine, w as calculateForexNetProfit, Z as calculateRiskLevel, d as computePoolAllocations, x as estimateForexProfit, _ as formatPnl } from './console-BfTMA7ah.js';
8
+ export { C as CHAIN_CONFIG, D as DEFAULT_SHARE_RATES, O as OneChainSelector, i as OneChainSelectorProps, b as OneCycleSelector, k as OneCycleSelectorProps, e as OneForexCapitalSplit, n as OneForexCapitalSplitProps, f as OneForexConsoleView, o as OneForexConsoleViewProps, g as OneForexPairSelector, p as OneForexPairSelectorProps, d as OneForexPoolCard, m as OneForexPoolCardProps, h as OneForexTradeHistory, q as OneForexTradeHistoryProps, c as OnePairSelector, l as OnePairSelectorProps, a as OneTierSelector, j as OneTierSelectorProps, P as PAIR_ICONS, T as Tier } from './OneForexTradeHistory-BE4rJH5t.js';
9
+ export { g as UseForexInvestmentsResult, i as UseForexPoolDataResult, U as UseForexPoolsResult, h as UseForexSimulationResult, j as UseForexTradingResult, e as clearForexAccessToken, s as setForexAccessToken, f as setForexEngineUrl, a as useForexInvestments, c as useForexPoolData, u as useForexPools, b as useForexSimulation, d as useForexTrading } from './useForexTrading-CA2DPQVf.js';
10
+ export { M as AGENT_STATUS_COLORS, G as AIDecision, A as AILogType, D as AIPosition, U as AIQuantConsoleOptions, y as AI_LOG_COLORS, V as AgentConsoleOptions, L as AgentStatus, a as BotLogEntry, B as BotLogType, c as BotState, N as CombinedLogEntry, K as ConsoleMetrics, Y as DEFAULT_CONSOLE_METRICS, W as DEFAULT_CONSOLE_OPTIONS, X as DEFAULT_RISK_STATUS, E as DecisionAction, v as FOREX_AGENT, F as FOREX_CAPITAL_SPLIT, h as FOREX_CURRENCY_PAIRS, f as FOREX_CYCLE_OPTIONS, z as FOREX_LOG_COLORS, k as FOREX_POOL_DEFAULTS, u as ForexAgent, g as ForexCurrencyPair, e as ForexCycleOption, p as ForexInvestment, t as ForexLogEntry, s as ForexLogType, j as ForexPool, n as ForexPoolDailySnapshot, m as ForexPoolTransaction, l as ForexPoolTransactionType, i as ForexPoolType, o as ForexPosition, r as ForexTradeRecord, q as ForexTradeStatus, I as IndicatorSnapshot, P as PositionSide, C as PositionStatus, H as RISK_LEVEL_COLORS, R as RiskStatus, S as StrategyPersonality, J as TRADING_STATUS_COLORS, Q as TradingConsoleOptions, O as TradingConsoleState, T as TradingStatus, b as botSimulationEngine, w as calculateForexNetProfit, Z as calculateRiskLevel, d as computePoolAllocations, x as estimateForexProfit, _ as formatPnl } from './console-Dvf-N9Gr.js';
11
11
  import 'react';
12
12
  import 'react-native';
13
13
 
@@ -3957,14 +3957,63 @@ init_ForexPoolDataGenerator();
3957
3957
 
3958
3958
  // src/services/forex/BotSimulationEngine.ts
3959
3959
  var STRATEGY_PERSONALITIES = [
3960
+ // ═══════════════════════════════════════════════════════════════════════════
3961
+ // CONSERVATIVE STRATEGIES (保守型) - Low risk, stable returns
3962
+ // ═══════════════════════════════════════════════════════════════════════════
3960
3963
  {
3961
- id: "balanced-01",
3964
+ id: "stable-yield-01",
3965
+ name: "Stable Yield",
3966
+ shortName: "STB",
3967
+ color: "#6B7280",
3968
+ scanIntervalMin: 8e4,
3969
+ scanIntervalMax: 12e4,
3970
+ tradeFrequency: 0.15,
3971
+ positionSizeMin: 5,
3972
+ positionSizeMax: 15,
3973
+ leverageMin: 1,
3974
+ leverageMax: 3,
3975
+ primaryIndicators: ["Bollinger", "Volume"],
3976
+ riskTolerance: "low",
3977
+ preferredPairs: ["BTC/USDT", "ETH/USDT"],
3978
+ rsiBias: 45,
3979
+ tier: "starter",
3980
+ dailyYieldMin: 0.15,
3981
+ dailyYieldMax: 0.25,
3982
+ description: "\u7A33\u5065\u6536\u76CA\u7B56\u7565\uFF0C\u4F4E\u98CE\u9669\u4F4E\u6CE2\u52A8\uFF0C\u9002\u5408\u65B0\u624B\u5165\u95E8",
3983
+ category: "conservative"
3984
+ },
3985
+ {
3986
+ id: "conservative-shield-01",
3987
+ name: "Conservative Shield",
3988
+ shortName: "CON",
3989
+ color: "#10B981",
3990
+ scanIntervalMin: 6e4,
3991
+ scanIntervalMax: 9e4,
3992
+ tradeFrequency: 0.25,
3993
+ positionSizeMin: 10,
3994
+ positionSizeMax: 20,
3995
+ leverageMin: 2,
3996
+ leverageMax: 5,
3997
+ primaryIndicators: ["Bollinger", "Volume", "RSI"],
3998
+ riskTolerance: "low",
3999
+ preferredPairs: ["BTC/USDT", "ETH/USDT"],
4000
+ rsiBias: 45,
4001
+ tier: "basic",
4002
+ dailyYieldMin: 0.25,
4003
+ dailyYieldMax: 0.4,
4004
+ description: "\u4FDD\u5B88\u9632\u5FA1\u7B56\u7565\uFF0C\u6CE8\u91CD\u8D44\u91D1\u5B89\u5168\uFF0C\u7A33\u5B9A\u6536\u76CA",
4005
+ category: "conservative"
4006
+ },
4007
+ // ═══════════════════════════════════════════════════════════════════════════
4008
+ // BALANCED STRATEGIES (平衡型) - Moderate risk, balanced returns
4009
+ // ═══════════════════════════════════════════════════════════════════════════
4010
+ {
4011
+ id: "balanced-alpha-01",
3962
4012
  name: "Balanced Alpha",
3963
4013
  shortName: "BAL",
3964
4014
  color: "#3B82F6",
3965
- scanIntervalMin: 25e3,
3966
- // Slower: 25-40s between cycles
3967
- scanIntervalMax: 4e4,
4015
+ scanIntervalMin: 45e3,
4016
+ scanIntervalMax: 7e4,
3968
4017
  tradeFrequency: 0.4,
3969
4018
  positionSizeMin: 15,
3970
4019
  positionSizeMax: 35,
@@ -3973,34 +4022,92 @@ var STRATEGY_PERSONALITIES = [
3973
4022
  primaryIndicators: ["RSI", "MACD"],
3974
4023
  riskTolerance: "medium",
3975
4024
  preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT"],
3976
- rsiBias: 50
4025
+ rsiBias: 50,
4026
+ tier: "standard",
4027
+ dailyYieldMin: 0.4,
4028
+ dailyYieldMax: 0.65,
4029
+ description: "\u5E73\u8861\u578B\u7B56\u7565\uFF0C\u98CE\u9669\u6536\u76CA\u5747\u8861\uFF0C\u9002\u5408\u7A33\u5065\u6295\u8D44\u8005",
4030
+ category: "balanced"
3977
4031
  },
3978
4032
  {
3979
- id: "conservative-01",
3980
- name: "Conservative Shield",
3981
- shortName: "CON",
3982
- color: "#10B981",
3983
- scanIntervalMin: 35e3,
3984
- // Slower: 35-55s between cycles
4033
+ id: "smart-rebalance-01",
4034
+ name: "Smart Rebalance",
4035
+ shortName: "SRB",
4036
+ color: "#06B6D4",
4037
+ scanIntervalMin: 5e4,
4038
+ scanIntervalMax: 75e3,
4039
+ tradeFrequency: 0.35,
4040
+ positionSizeMin: 12,
4041
+ positionSizeMax: 30,
4042
+ leverageMin: 3,
4043
+ leverageMax: 8,
4044
+ primaryIndicators: ["RSI", "EMA", "Volume"],
4045
+ riskTolerance: "medium",
4046
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "BNB/USDT", "SOL/USDT"],
4047
+ rsiBias: 50,
4048
+ tier: "standard",
4049
+ dailyYieldMin: 0.45,
4050
+ dailyYieldMax: 0.7,
4051
+ description: "\u667A\u80FD\u518D\u5E73\u8861\u7B56\u7565\uFF0C\u52A8\u6001\u8C03\u6574\u6301\u4ED3\uFF0C\u4F18\u5316\u6536\u76CA",
4052
+ category: "balanced"
4053
+ },
4054
+ // ═══════════════════════════════════════════════════════════════════════════
4055
+ // GROWTH STRATEGIES (成长型) - Higher risk, higher returns
4056
+ // ═══════════════════════════════════════════════════════════════════════════
4057
+ {
4058
+ id: "growth-momentum-01",
4059
+ name: "Growth Momentum",
4060
+ shortName: "GRO",
4061
+ color: "#8B5CF6",
4062
+ scanIntervalMin: 4e4,
4063
+ scanIntervalMax: 6e4,
4064
+ tradeFrequency: 0.45,
4065
+ positionSizeMin: 20,
4066
+ positionSizeMax: 40,
4067
+ leverageMin: 5,
4068
+ leverageMax: 12,
4069
+ primaryIndicators: ["RSI", "MACD", "EMA"],
4070
+ riskTolerance: "medium",
4071
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT"],
4072
+ rsiBias: 52,
4073
+ tier: "premium",
4074
+ dailyYieldMin: 0.6,
4075
+ dailyYieldMax: 0.95,
4076
+ description: "\u6210\u957F\u52A8\u91CF\u7B56\u7565\uFF0C\u8FFD\u6C42\u8F83\u9AD8\u6536\u76CA\uFF0C\u9002\u5408\u6709\u7ECF\u9A8C\u6295\u8D44\u8005",
4077
+ category: "growth"
4078
+ },
4079
+ {
4080
+ id: "trend-hunter-01",
4081
+ name: "Trend Hunter",
4082
+ shortName: "TRH",
4083
+ color: "#EC4899",
4084
+ scanIntervalMin: 38e3,
3985
4085
  scanIntervalMax: 55e3,
3986
- tradeFrequency: 0.25,
3987
- positionSizeMin: 10,
3988
- positionSizeMax: 20,
3989
- leverageMin: 2,
3990
- leverageMax: 5,
3991
- primaryIndicators: ["Bollinger", "Volume"],
3992
- riskTolerance: "low",
3993
- preferredPairs: ["BTC/USDT", "ETH/USDT"],
3994
- rsiBias: 45
4086
+ tradeFrequency: 0.48,
4087
+ positionSizeMin: 22,
4088
+ positionSizeMax: 42,
4089
+ leverageMin: 5,
4090
+ leverageMax: 15,
4091
+ primaryIndicators: ["EMA", "MACD", "Volume", "Bollinger"],
4092
+ riskTolerance: "medium",
4093
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "ARB/USDT", "OP/USDT"],
4094
+ rsiBias: 53,
4095
+ tier: "premium",
4096
+ dailyYieldMin: 0.65,
4097
+ dailyYieldMax: 1,
4098
+ description: "\u8D8B\u52BF\u730E\u624B\u7B56\u7565\uFF0C\u6355\u6349\u5E02\u573A\u8D8B\u52BF\uFF0C\u8FFD\u6C42\u8D85\u989D\u6536\u76CA",
4099
+ category: "growth"
3995
4100
  },
4101
+ // ═══════════════════════════════════════════════════════════════════════════
4102
+ // AGGRESSIVE STRATEGIES (激进型) - High risk, high returns
4103
+ // ═══════════════════════════════════════════════════════════════════════════
3996
4104
  {
3997
- id: "aggressive-01",
4105
+ id: "aggressive-momentum-01",
3998
4106
  name: "Aggressive Momentum",
3999
4107
  shortName: "AGG",
4000
4108
  color: "#EF4444",
4001
- scanIntervalMin: 18e3,
4002
- // Slower: 18-30s between cycles
4003
- scanIntervalMax: 3e4,
4109
+ scanIntervalMin: 35e3,
4110
+ scanIntervalMax: 55e3,
4004
4111
  tradeFrequency: 0.5,
4005
4112
  positionSizeMin: 25,
4006
4113
  positionSizeMax: 50,
@@ -4009,7 +4116,103 @@ var STRATEGY_PERSONALITIES = [
4009
4116
  primaryIndicators: ["RSI", "MACD", "EMA", "Volume"],
4010
4117
  riskTolerance: "high",
4011
4118
  preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "DOGE/USDT", "AVAX/USDT"],
4012
- rsiBias: 55
4119
+ rsiBias: 55,
4120
+ tier: "elite",
4121
+ dailyYieldMin: 0.85,
4122
+ dailyYieldMax: 1.4,
4123
+ 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",
4124
+ category: "aggressive"
4125
+ },
4126
+ {
4127
+ id: "leverage-maximizer-01",
4128
+ name: "Leverage Maximizer",
4129
+ shortName: "LEV",
4130
+ color: "#F97316",
4131
+ scanIntervalMin: 3e4,
4132
+ scanIntervalMax: 5e4,
4133
+ tradeFrequency: 0.55,
4134
+ positionSizeMin: 30,
4135
+ positionSizeMax: 55,
4136
+ leverageMin: 10,
4137
+ leverageMax: 25,
4138
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
4139
+ riskTolerance: "high",
4140
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "DOGE/USDT", "AVAX/USDT", "ARB/USDT"],
4141
+ rsiBias: 55,
4142
+ tier: "elite",
4143
+ dailyYieldMin: 1,
4144
+ dailyYieldMax: 1.8,
4145
+ description: "\u6760\u6746\u6700\u5927\u5316\u7B56\u7565\uFF0C\u8FFD\u6C42\u6781\u81F4\u6536\u76CA\uFF0C\u9700\u8981\u4E13\u4E1A\u6295\u8D44\u7ECF\u9A8C",
4146
+ category: "aggressive"
4147
+ },
4148
+ // ═══════════════════════════════════════════════════════════════════════════
4149
+ // QUANTITATIVE STRATEGIES (量化型) - AI-driven, advanced algorithms
4150
+ // ═══════════════════════════════════════════════════════════════════════════
4151
+ {
4152
+ id: "ai-quant-alpha-01",
4153
+ name: "AI Quant Alpha",
4154
+ shortName: "AQA",
4155
+ color: "#A855F7",
4156
+ scanIntervalMin: 42e3,
4157
+ scanIntervalMax: 65e3,
4158
+ tradeFrequency: 0.42,
4159
+ positionSizeMin: 18,
4160
+ positionSizeMax: 38,
4161
+ leverageMin: 4,
4162
+ leverageMax: 12,
4163
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
4164
+ riskTolerance: "medium",
4165
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "BNB/USDT"],
4166
+ rsiBias: 51,
4167
+ tier: "premium",
4168
+ dailyYieldMin: 0.7,
4169
+ dailyYieldMax: 1.1,
4170
+ description: "AI\u91CF\u5316Alpha\u7B56\u7565\uFF0C\u673A\u5668\u5B66\u4E60\u9A71\u52A8\uFF0C\u667A\u80FD\u98CE\u63A7",
4171
+ category: "quantitative"
4172
+ },
4173
+ {
4174
+ id: "neural-trader-01",
4175
+ name: "Neural Trader",
4176
+ shortName: "NRT",
4177
+ color: "#14B8A6",
4178
+ scanIntervalMin: 4e4,
4179
+ scanIntervalMax: 62e3,
4180
+ tradeFrequency: 0.44,
4181
+ positionSizeMin: 20,
4182
+ positionSizeMax: 40,
4183
+ leverageMin: 5,
4184
+ leverageMax: 15,
4185
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
4186
+ riskTolerance: "medium",
4187
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT", "LINK/USDT"],
4188
+ rsiBias: 52,
4189
+ tier: "elite",
4190
+ dailyYieldMin: 0.8,
4191
+ dailyYieldMax: 1.25,
4192
+ description: "\u795E\u7ECF\u7F51\u7EDC\u4EA4\u6613\u7B56\u7565\uFF0C\u6DF1\u5EA6\u5B66\u4E60\u6A21\u578B\uFF0C\u81EA\u9002\u5E94\u5E02\u573A",
4193
+ category: "quantitative"
4194
+ },
4195
+ {
4196
+ id: "quantum-edge-01",
4197
+ name: "Quantum Edge",
4198
+ shortName: "QTE",
4199
+ color: "#6366F1",
4200
+ scanIntervalMin: 35e3,
4201
+ scanIntervalMax: 55e3,
4202
+ tradeFrequency: 0.5,
4203
+ positionSizeMin: 25,
4204
+ positionSizeMax: 50,
4205
+ leverageMin: 8,
4206
+ leverageMax: 20,
4207
+ primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
4208
+ riskTolerance: "high",
4209
+ preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT", "ARB/USDT", "OP/USDT"],
4210
+ rsiBias: 54,
4211
+ tier: "vip",
4212
+ dailyYieldMin: 1.2,
4213
+ dailyYieldMax: 2,
4214
+ description: "VIP\u91CF\u5B50\u4F18\u52BF\u7B56\u7565\uFF0C\u9876\u7EA7AI\u7B97\u6CD5\uFF0C\u6781\u81F4\u6536\u76CA\u8FFD\u6C42",
4215
+ category: "quantitative"
4013
4216
  }
4014
4217
  ];
4015
4218
  var PAIR_PRICES = {
@@ -4250,7 +4453,7 @@ var BotSimulationEngine = class {
4250
4453
  },
4251
4454
  delay
4252
4455
  });
4253
- delay += rand3(800, 1500);
4456
+ delay += rand3(2e3, 3500);
4254
4457
  const thinkingMessages = this.generateThinkingProcess(strategy, pair, price);
4255
4458
  for (const thinking of thinkingMessages) {
4256
4459
  entries.push({
@@ -4263,7 +4466,7 @@ var BotSimulationEngine = class {
4263
4466
  },
4264
4467
  delay
4265
4468
  });
4266
- delay += rand3(600, 1200);
4469
+ delay += rand3(1500, 2500);
4267
4470
  }
4268
4471
  const indicatorParts = [];
4269
4472
  if (strategy.primaryIndicators.includes("RSI") || strategy.primaryIndicators.includes("MACD")) {
@@ -4295,7 +4498,7 @@ var BotSimulationEngine = class {
4295
4498
  },
4296
4499
  delay
4297
4500
  });
4298
- delay += rand3(800, 1500);
4501
+ delay += rand3(2e3, 3500);
4299
4502
  if (Math.random() < 0.12) {
4300
4503
  const sentiment = Math.random() > 0.4 ? "Bullish" : "Bearish";
4301
4504
  entries.push({
@@ -4308,7 +4511,7 @@ var BotSimulationEngine = class {
4308
4511
  },
4309
4512
  delay
4310
4513
  });
4311
- delay += rand3(1e3, 1800);
4514
+ delay += rand3(2500, 4e3);
4312
4515
  }
4313
4516
  if (Math.random() < 0.4) {
4314
4517
  const analysis = this.generateAnalysis(strategy, indicators, pair);
@@ -4322,7 +4525,7 @@ var BotSimulationEngine = class {
4322
4525
  },
4323
4526
  delay
4324
4527
  });
4325
- delay += rand3(1e3, 2e3);
4528
+ delay += rand3(2500, 4e3);
4326
4529
  }
4327
4530
  const signal = this.evaluateSignal(strategy, indicators);
4328
4531
  state.lastSignal = signal.direction;
@@ -4346,7 +4549,7 @@ var BotSimulationEngine = class {
4346
4549
  },
4347
4550
  delay
4348
4551
  });
4349
- delay += rand3(1500, 2500);
4552
+ delay += rand3(3e3, 5e3);
4350
4553
  entries.push({
4351
4554
  entry: {
4352
4555
  strategyId: strategy.id,
@@ -4358,7 +4561,7 @@ var BotSimulationEngine = class {
4358
4561
  },
4359
4562
  delay
4360
4563
  });
4361
- delay += rand3(1200, 2e3);
4564
+ delay += rand3(3e3, 4500);
4362
4565
  const decision = this.makeTradeDecision(strategy, signal, state);
4363
4566
  if (decision.execute) {
4364
4567
  entries.push({
@@ -4378,7 +4581,7 @@ var BotSimulationEngine = class {
4378
4581
  },
4379
4582
  delay
4380
4583
  });
4381
- delay += rand3(1e3, 1800);
4584
+ delay += rand3(2500, 4e3);
4382
4585
  const orderId = `ORD_${Date.now().toString(36).toUpperCase()}`;
4383
4586
  const orderPrice = signal.direction === "LONG" ? price * (1 - rand3(1e-4, 5e-4)) : price * (1 + rand3(1e-4, 5e-4));
4384
4587
  entries.push({
@@ -4403,7 +4606,7 @@ var BotSimulationEngine = class {
4403
4606
  },
4404
4607
  delay
4405
4608
  });
4406
- delay += rand3(2e3, 4e3);
4609
+ delay += rand3(4e3, 7e3);
4407
4610
  const fillPrice = orderPrice * (1 + rand3(-3e-4, 3e-4));
4408
4611
  const slippage = Math.abs(fillPrice - orderPrice) / orderPrice * 100;
4409
4612
  entries.push({
@@ -4452,7 +4655,7 @@ var BotSimulationEngine = class {
4452
4655
  }
4453
4656
  }
4454
4657
  if (state.openPositions.length > 0 && Math.random() < 0.5) {
4455
- delay += rand3(1500, 2500);
4658
+ delay += rand3(3500, 5500);
4456
4659
  let totalPositionPnl = 0;
4457
4660
  const pnlParts = [];
4458
4661
  for (const pos of state.openPositions) {
@@ -4488,7 +4691,7 @@ var BotSimulationEngine = class {
4488
4691
  });
4489
4692
  }
4490
4693
  if (Math.random() < 0.2) {
4491
- delay += rand3(1e3, 2e3);
4694
+ delay += rand3(3e3, 5e3);
4492
4695
  const exposure = state.openPositions.reduce((sum, p) => sum + p.size * p.leverage, 0);
4493
4696
  const maxDrawdown = rand3(2, 12);
4494
4697
  entries.push({