@one_deploy/sdk 1.2.1 → 1.2.3
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.
- package/dist/{ForexPoolDataGenerator-eUgwsU_B.d.ts → ForexPoolDataGenerator-B3DCN6_i.d.ts} +1 -1
- package/dist/{ForexPoolDataGenerator--__twRwl.d.mts → ForexPoolDataGenerator-DWVj6mGW.d.mts} +1 -1
- package/dist/{OneForexTradeHistory-TlKxjbFF.d.ts → OneForexTradeHistory-BMbwdkMm.d.ts} +1 -1
- package/dist/{OneForexTradeHistory-iDySMcw0.d.mts → OneForexTradeHistory-DACfkJQF.d.mts} +1 -1
- package/dist/components/index.d.mts +2 -2
- package/dist/components/index.d.ts +2 -2
- package/dist/config/index.d.mts +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/{console-BfTMA7ah.d.mts → console-BoAIxikK.d.mts} +28 -1
- package/dist/{console-BfTMA7ah.d.ts → console-BoAIxikK.d.ts} +28 -1
- package/dist/hooks/index.d.mts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +385 -24
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +385 -24
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +385 -24
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +385 -24
- package/dist/index.mjs.map +1 -1
- package/dist/providers/index.d.mts +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/react-native.d.mts +4 -4
- package/dist/react-native.d.ts +4 -4
- package/dist/react-native.js +356 -22
- package/dist/react-native.js.map +1 -1
- package/dist/react-native.mjs +354 -23
- package/dist/react-native.mjs.map +1 -1
- package/dist/services/index.d.mts +2 -2
- package/dist/services/index.d.ts +2 -2
- package/dist/services/index.js +225 -22
- package/dist/services/index.js.map +1 -1
- package/dist/services/index.mjs +225 -22
- package/dist/services/index.mjs.map +1 -1
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/{useForexTrading-ZgW_G40Q.d.ts → useForexTrading-BB4eUlHO.d.ts} +1 -1
- package/dist/{useForexTrading-BleeSor8.d.mts → useForexTrading-xJwkxnhd.d.mts} +1 -1
- package/package.json +1 -1
- package/src/react-native.ts +16 -1
- package/src/services/forex/BotSimulationEngine.ts +447 -19
- package/src/services/forex/index.ts +12 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TokenPrice } from './types/index.js';
|
|
2
|
-
import { t as ForexLogEntry, m as ForexPoolTransaction, g as ForexCurrencyPair, i as ForexPoolType, n as ForexPoolDailySnapshot, r as ForexTradeRecord, l as ForexPoolTransactionType } from './console-
|
|
2
|
+
import { t as ForexLogEntry, m as ForexPoolTransaction, g as ForexCurrencyPair, i as ForexPoolType, n as ForexPoolDailySnapshot, r as ForexTradeRecord, l as ForexPoolTransactionType } from './console-BoAIxikK.js';
|
|
3
3
|
|
|
4
4
|
declare class PriceService {
|
|
5
5
|
private cache;
|
package/dist/{ForexPoolDataGenerator--__twRwl.d.mts → ForexPoolDataGenerator-DWVj6mGW.d.mts}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TokenPrice } from './types/index.mjs';
|
|
2
|
-
import { t as ForexLogEntry, m as ForexPoolTransaction, g as ForexCurrencyPair, i as ForexPoolType, n as ForexPoolDailySnapshot, r as ForexTradeRecord, l as ForexPoolTransactionType } from './console-
|
|
2
|
+
import { t as ForexLogEntry, m as ForexPoolTransaction, g as ForexCurrencyPair, i as ForexPoolType, n as ForexPoolDailySnapshot, r as ForexTradeRecord, l as ForexPoolTransactionType } from './console-BoAIxikK.mjs';
|
|
3
3
|
|
|
4
4
|
declare class PriceService {
|
|
5
5
|
private cache;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ViewStyle, TextStyle } from 'react-native';
|
|
3
|
-
import { j as ForexPool, t as ForexLogEntry, g as ForexCurrencyPair, r as ForexTradeRecord } from './console-
|
|
3
|
+
import { j as ForexPool, t as ForexLogEntry, g as ForexCurrencyPair, r as ForexTradeRecord } from './console-BoAIxikK.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* OneChainSelector - Multi-chain selection component for AI trading
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ViewStyle, TextStyle } from 'react-native';
|
|
3
|
-
import { j as ForexPool, t as ForexLogEntry, g as ForexCurrencyPair, r as ForexTradeRecord } from './console-
|
|
3
|
+
import { j as ForexPool, t as ForexLogEntry, g as ForexCurrencyPair, r as ForexTradeRecord } from './console-BoAIxikK.mjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* OneChainSelector - Multi-chain selection component for AI trading
|
|
@@ -3,9 +3,9 @@ import React from 'react';
|
|
|
3
3
|
import { smartWallet } from 'thirdweb/wallets';
|
|
4
4
|
import { PreparedTransaction } from 'thirdweb';
|
|
5
5
|
import { Chain } from 'thirdweb/chains';
|
|
6
|
-
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-
|
|
6
|
+
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-DACfkJQF.mjs';
|
|
7
7
|
import { ViewStyle } from 'react-native';
|
|
8
|
-
import { N as CombinedLogEntry, a as BotLogEntry, t as ForexLogEntry,
|
|
8
|
+
import { N as CombinedLogEntry, a as BotLogEntry, t as ForexLogEntry, a6 as AIAgent, K as ConsoleMetrics, R as RiskStatus, c as BotState, D as AIPosition, G as AIDecision } from '../console-BoAIxikK.mjs';
|
|
9
9
|
|
|
10
10
|
interface OneConnectButtonProps {
|
|
11
11
|
label?: string;
|
|
@@ -3,9 +3,9 @@ import React from 'react';
|
|
|
3
3
|
import { smartWallet } from 'thirdweb/wallets';
|
|
4
4
|
import { PreparedTransaction } from 'thirdweb';
|
|
5
5
|
import { Chain } from 'thirdweb/chains';
|
|
6
|
-
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-
|
|
6
|
+
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-BMbwdkMm.js';
|
|
7
7
|
import { ViewStyle } from 'react-native';
|
|
8
|
-
import { N as CombinedLogEntry, a as BotLogEntry, t as ForexLogEntry,
|
|
8
|
+
import { N as CombinedLogEntry, a as BotLogEntry, t as ForexLogEntry, a6 as AIAgent, K as ConsoleMetrics, R as RiskStatus, c as BotState, D as AIPosition, G as AIDecision } from '../console-BoAIxikK.js';
|
|
9
9
|
|
|
10
10
|
interface OneConnectButtonProps {
|
|
11
11
|
label?: string;
|
package/dist/config/index.d.mts
CHANGED
package/dist/config/index.d.ts
CHANGED
|
@@ -255,7 +255,34 @@ interface StrategyPersonality {
|
|
|
255
255
|
riskTolerance: 'low' | 'medium' | 'high';
|
|
256
256
|
preferredPairs: string[];
|
|
257
257
|
rsiBias: number;
|
|
258
|
+
tier: InvestmentTier;
|
|
259
|
+
dailyYieldMin: number;
|
|
260
|
+
dailyYieldMax: number;
|
|
261
|
+
description: string;
|
|
262
|
+
category: StrategyCategory;
|
|
263
|
+
}
|
|
264
|
+
type StrategyCategory = 'conservative' | 'balanced' | 'growth' | 'aggressive' | 'quantitative';
|
|
265
|
+
type InvestmentTier = 'starter' | 'basic' | 'standard' | 'premium' | 'elite' | 'vip';
|
|
266
|
+
interface TierConfig {
|
|
267
|
+
id: InvestmentTier;
|
|
268
|
+
name: string;
|
|
269
|
+
nameCn: string;
|
|
270
|
+
minInvestment: number;
|
|
271
|
+
maxInvestment: number;
|
|
272
|
+
color: string;
|
|
273
|
+
icon: string;
|
|
274
|
+
}
|
|
275
|
+
declare const INVESTMENT_TIERS: Record<InvestmentTier, TierConfig>;
|
|
276
|
+
interface CycleConfig {
|
|
277
|
+
id: string;
|
|
278
|
+
days: number;
|
|
279
|
+
name: string;
|
|
280
|
+
nameCn: string;
|
|
281
|
+
profitSharePercent: number;
|
|
282
|
+
bonusMultiplier: number;
|
|
283
|
+
earlyWithdrawPenalty: number;
|
|
258
284
|
}
|
|
285
|
+
declare const INVESTMENT_CYCLES: CycleConfig[];
|
|
259
286
|
type LogCallback = (entry: BotLogEntry) => void;
|
|
260
287
|
declare const STRATEGY_PERSONALITIES: StrategyPersonality[];
|
|
261
288
|
declare class BotSimulationEngine {
|
|
@@ -501,4 +528,4 @@ declare function calculateRiskLevel(exposurePercent: number, drawdownPercent: nu
|
|
|
501
528
|
declare function formatPnl(pnl: number): string;
|
|
502
529
|
declare function formatPercent(value: number, showSign?: boolean): string;
|
|
503
530
|
|
|
504
|
-
export {
|
|
531
|
+
export { STRATEGY_PERSONALITIES as $, type AILogType as A, type BotLogType as B, type PositionStatus as C, type AIPosition as D, type DecisionAction as E, FOREX_CAPITAL_SPLIT as F, type AIDecision as G, RISK_LEVEL_COLORS as H, type IndicatorSnapshot as I, TRADING_STATUS_COLORS as J, type ConsoleMetrics as K, type AgentStatus as L, AGENT_STATUS_COLORS as M, type CombinedLogEntry as N, type TradingConsoleState as O, type PositionSide as P, type TradingConsoleOptions as Q, type RiskStatus as R, type StrategyPersonality as S, type TradingStatus as T, type AIQuantConsoleOptions as U, type AgentConsoleOptions as V, DEFAULT_CONSOLE_OPTIONS as W, DEFAULT_RISK_STATUS as X, DEFAULT_CONSOLE_METRICS as Y, calculateRiskLevel as Z, formatPnl as _, type BotLogEntry as a, INVESTMENT_TIERS as a0, INVESTMENT_CYCLES as a1, type InvestmentTier as a2, type CycleConfig as a3, type TierConfig as a4, formatPercent as a5, type AIAgent as a6, type RiskLevel as a7, botSimulationEngine as b, type BotState as c, computePoolAllocations as d, type ForexCycleOption as e, FOREX_CYCLE_OPTIONS as f, type ForexCurrencyPair as g, FOREX_CURRENCY_PAIRS as h, type ForexPoolType as i, type ForexPool as j, FOREX_POOL_DEFAULTS as k, type ForexPoolTransactionType as l, type ForexPoolTransaction as m, type ForexPoolDailySnapshot as n, type ForexPosition as o, type ForexInvestment as p, type ForexTradeStatus as q, type ForexTradeRecord as r, type ForexLogType as s, type ForexLogEntry as t, type ForexAgent as u, FOREX_AGENT as v, calculateForexNetProfit as w, estimateForexProfit as x, AI_LOG_COLORS as y, FOREX_LOG_COLORS as z };
|
|
@@ -255,7 +255,34 @@ interface StrategyPersonality {
|
|
|
255
255
|
riskTolerance: 'low' | 'medium' | 'high';
|
|
256
256
|
preferredPairs: string[];
|
|
257
257
|
rsiBias: number;
|
|
258
|
+
tier: InvestmentTier;
|
|
259
|
+
dailyYieldMin: number;
|
|
260
|
+
dailyYieldMax: number;
|
|
261
|
+
description: string;
|
|
262
|
+
category: StrategyCategory;
|
|
263
|
+
}
|
|
264
|
+
type StrategyCategory = 'conservative' | 'balanced' | 'growth' | 'aggressive' | 'quantitative';
|
|
265
|
+
type InvestmentTier = 'starter' | 'basic' | 'standard' | 'premium' | 'elite' | 'vip';
|
|
266
|
+
interface TierConfig {
|
|
267
|
+
id: InvestmentTier;
|
|
268
|
+
name: string;
|
|
269
|
+
nameCn: string;
|
|
270
|
+
minInvestment: number;
|
|
271
|
+
maxInvestment: number;
|
|
272
|
+
color: string;
|
|
273
|
+
icon: string;
|
|
274
|
+
}
|
|
275
|
+
declare const INVESTMENT_TIERS: Record<InvestmentTier, TierConfig>;
|
|
276
|
+
interface CycleConfig {
|
|
277
|
+
id: string;
|
|
278
|
+
days: number;
|
|
279
|
+
name: string;
|
|
280
|
+
nameCn: string;
|
|
281
|
+
profitSharePercent: number;
|
|
282
|
+
bonusMultiplier: number;
|
|
283
|
+
earlyWithdrawPenalty: number;
|
|
258
284
|
}
|
|
285
|
+
declare const INVESTMENT_CYCLES: CycleConfig[];
|
|
259
286
|
type LogCallback = (entry: BotLogEntry) => void;
|
|
260
287
|
declare const STRATEGY_PERSONALITIES: StrategyPersonality[];
|
|
261
288
|
declare class BotSimulationEngine {
|
|
@@ -501,4 +528,4 @@ declare function calculateRiskLevel(exposurePercent: number, drawdownPercent: nu
|
|
|
501
528
|
declare function formatPnl(pnl: number): string;
|
|
502
529
|
declare function formatPercent(value: number, showSign?: boolean): string;
|
|
503
530
|
|
|
504
|
-
export {
|
|
531
|
+
export { STRATEGY_PERSONALITIES as $, type AILogType as A, type BotLogType as B, type PositionStatus as C, type AIPosition as D, type DecisionAction as E, FOREX_CAPITAL_SPLIT as F, type AIDecision as G, RISK_LEVEL_COLORS as H, type IndicatorSnapshot as I, TRADING_STATUS_COLORS as J, type ConsoleMetrics as K, type AgentStatus as L, AGENT_STATUS_COLORS as M, type CombinedLogEntry as N, type TradingConsoleState as O, type PositionSide as P, type TradingConsoleOptions as Q, type RiskStatus as R, type StrategyPersonality as S, type TradingStatus as T, type AIQuantConsoleOptions as U, type AgentConsoleOptions as V, DEFAULT_CONSOLE_OPTIONS as W, DEFAULT_RISK_STATUS as X, DEFAULT_CONSOLE_METRICS as Y, calculateRiskLevel as Z, formatPnl as _, type BotLogEntry as a, INVESTMENT_TIERS as a0, INVESTMENT_CYCLES as a1, type InvestmentTier as a2, type CycleConfig as a3, type TierConfig as a4, formatPercent as a5, type AIAgent as a6, type RiskLevel as a7, botSimulationEngine as b, type BotState as c, computePoolAllocations as d, type ForexCycleOption as e, FOREX_CYCLE_OPTIONS as f, type ForexCurrencyPair as g, FOREX_CURRENCY_PAIRS as h, type ForexPoolType as i, type ForexPool as j, FOREX_POOL_DEFAULTS as k, type ForexPoolTransactionType as l, type ForexPoolTransaction as m, type ForexPoolDailySnapshot as n, type ForexPosition as o, type ForexInvestment as p, type ForexTradeStatus as q, type ForexTradeRecord as r, type ForexLogType as s, type ForexLogEntry as t, type ForexAgent as u, FOREX_AGENT as v, calculateForexNetProfit as w, estimateForexProfit as x, AI_LOG_COLORS as y, FOREX_LOG_COLORS as z };
|
package/dist/hooks/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as EngineWalletBalance } from '../engine-BeVuHpVx.mjs';
|
|
2
2
|
import { Token, TokenPrice, StrategyCategory, AIStrategy, AINavSnapshot, AIMarketData, AIOrderStatus, AIOrder, CreateAIOrderRequest, ApiResponse, AIPortfolioSummary, AITradeAllocation } from '../types/index.mjs';
|
|
3
|
-
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-
|
|
4
|
-
import { U as AIQuantConsoleOptions, S as StrategyPersonality,
|
|
3
|
+
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-xJwkxnhd.mjs';
|
|
4
|
+
import { U as AIQuantConsoleOptions, S as StrategyPersonality, a6 as AIAgent$1, a as BotLogEntry, c as BotState, D as AIPosition, G as AIDecision, R as RiskStatus, K as ConsoleMetrics, C as PositionStatus, E as DecisionAction, a7 as RiskLevel, T as TradingStatus, Q as TradingConsoleOptions, t as ForexLogEntry, m as ForexPoolTransaction, j as ForexPool, p as ForexInvestment, N as CombinedLogEntry } from '../console-BoAIxikK.mjs';
|
|
5
5
|
|
|
6
6
|
interface UseWalletBalanceOptions {
|
|
7
7
|
chains?: number[];
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as EngineWalletBalance } from '../engine-DSc1Em4V.js';
|
|
2
2
|
import { Token, TokenPrice, StrategyCategory, AIStrategy, AINavSnapshot, AIMarketData, AIOrderStatus, AIOrder, CreateAIOrderRequest, ApiResponse, AIPortfolioSummary, AITradeAllocation } from '../types/index.js';
|
|
3
|
-
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-
|
|
4
|
-
import { U as AIQuantConsoleOptions, S as StrategyPersonality,
|
|
3
|
+
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-BB4eUlHO.js';
|
|
4
|
+
import { U as AIQuantConsoleOptions, S as StrategyPersonality, a6 as AIAgent$1, a as BotLogEntry, c as BotState, D as AIPosition, G as AIDecision, R as RiskStatus, K as ConsoleMetrics, C as PositionStatus, E as DecisionAction, a7 as RiskLevel, T as TradingStatus, Q as TradingConsoleOptions, t as ForexLogEntry, m as ForexPoolTransaction, j as ForexPool, p as ForexInvestment, N as CombinedLogEntry } from '../console-BoAIxikK.js';
|
|
5
5
|
|
|
6
6
|
interface UseWalletBalanceOptions {
|
|
7
7
|
chains?: number[];
|
package/dist/hooks/index.js
CHANGED
|
@@ -929,9 +929,39 @@ var init_ForexSimulationEngine = __esm({
|
|
|
929
929
|
// src/services/forex/BotSimulationEngine.ts
|
|
930
930
|
var BotSimulationEngine_exports = {};
|
|
931
931
|
__export(BotSimulationEngine_exports, {
|
|
932
|
+
INVESTMENT_CYCLES: () => INVESTMENT_CYCLES,
|
|
933
|
+
INVESTMENT_TIERS: () => INVESTMENT_TIERS,
|
|
932
934
|
STRATEGY_PERSONALITIES: () => STRATEGY_PERSONALITIES,
|
|
933
|
-
botSimulationEngine: () => botSimulationEngine
|
|
935
|
+
botSimulationEngine: () => botSimulationEngine,
|
|
936
|
+
calculateDailyYield: () => calculateDailyYield,
|
|
937
|
+
estimateReturns: () => estimateReturns
|
|
934
938
|
});
|
|
939
|
+
function calculateDailyYield(strategy, tier, cycle) {
|
|
940
|
+
const baseYield = (strategy.dailyYieldMin + strategy.dailyYieldMax) / 2;
|
|
941
|
+
const tierBonuses = {
|
|
942
|
+
starter: 0,
|
|
943
|
+
basic: 0.02,
|
|
944
|
+
standard: 0.05,
|
|
945
|
+
premium: 0.08,
|
|
946
|
+
elite: 0.12,
|
|
947
|
+
vip: 0.15
|
|
948
|
+
};
|
|
949
|
+
const grossYield = baseYield * cycle.bonusMultiplier * (1 + tierBonuses[tier]);
|
|
950
|
+
const platformFee = grossYield * (cycle.profitSharePercent / 100);
|
|
951
|
+
const netYield = grossYield - platformFee;
|
|
952
|
+
return { grossYield, netYield, platformFee };
|
|
953
|
+
}
|
|
954
|
+
function estimateReturns(principal, strategy, tier, cycle) {
|
|
955
|
+
const { netYield, platformFee } = calculateDailyYield(strategy, tier, cycle);
|
|
956
|
+
const days = cycle.days || 30;
|
|
957
|
+
const dailyReturn = principal * (netYield / 100);
|
|
958
|
+
const totalReturn = dailyReturn * days;
|
|
959
|
+
const finalAmount = principal + totalReturn;
|
|
960
|
+
const platformProfit = principal * (platformFee / 100) * days;
|
|
961
|
+
const userProfit = totalReturn;
|
|
962
|
+
const apr = netYield * 365;
|
|
963
|
+
return { dailyReturn, totalReturn, finalAmount, platformProfit, userProfit, apr };
|
|
964
|
+
}
|
|
935
965
|
function genId3() {
|
|
936
966
|
return `log_${Date.now()}_${++idCounter2}`;
|
|
937
967
|
}
|
|
@@ -952,17 +982,194 @@ function formatPrice(price) {
|
|
|
952
982
|
if (price >= 1) return price.toFixed(3);
|
|
953
983
|
return price.toFixed(5);
|
|
954
984
|
}
|
|
955
|
-
var STRATEGY_PERSONALITIES, PAIR_PRICES, CHAIN_INFO, NEWS_HEADLINES, idCounter2, BotSimulationEngine, botSimulationEngine;
|
|
985
|
+
var INVESTMENT_TIERS, INVESTMENT_CYCLES, STRATEGY_PERSONALITIES, PAIR_PRICES, CHAIN_INFO, NEWS_HEADLINES, idCounter2, BotSimulationEngine, botSimulationEngine;
|
|
956
986
|
var init_BotSimulationEngine = __esm({
|
|
957
987
|
"src/services/forex/BotSimulationEngine.ts"() {
|
|
988
|
+
INVESTMENT_TIERS = {
|
|
989
|
+
starter: {
|
|
990
|
+
id: "starter",
|
|
991
|
+
name: "Starter",
|
|
992
|
+
nameCn: "\u5165\u95E8\u7248",
|
|
993
|
+
minInvestment: 100,
|
|
994
|
+
maxInvestment: 999,
|
|
995
|
+
color: "#6B7280",
|
|
996
|
+
icon: "\u{1F331}"
|
|
997
|
+
},
|
|
998
|
+
basic: {
|
|
999
|
+
id: "basic",
|
|
1000
|
+
name: "Basic",
|
|
1001
|
+
nameCn: "\u57FA\u7840\u7248",
|
|
1002
|
+
minInvestment: 1e3,
|
|
1003
|
+
maxInvestment: 4999,
|
|
1004
|
+
color: "#3B82F6",
|
|
1005
|
+
icon: "\u{1F4CA}"
|
|
1006
|
+
},
|
|
1007
|
+
standard: {
|
|
1008
|
+
id: "standard",
|
|
1009
|
+
name: "Standard",
|
|
1010
|
+
nameCn: "\u6807\u51C6\u7248",
|
|
1011
|
+
minInvestment: 5e3,
|
|
1012
|
+
maxInvestment: 19999,
|
|
1013
|
+
color: "#10B981",
|
|
1014
|
+
icon: "\u{1F48E}"
|
|
1015
|
+
},
|
|
1016
|
+
premium: {
|
|
1017
|
+
id: "premium",
|
|
1018
|
+
name: "Premium",
|
|
1019
|
+
nameCn: "\u9AD8\u7EA7\u7248",
|
|
1020
|
+
minInvestment: 2e4,
|
|
1021
|
+
maxInvestment: 49999,
|
|
1022
|
+
color: "#8B5CF6",
|
|
1023
|
+
icon: "\u{1F451}"
|
|
1024
|
+
},
|
|
1025
|
+
elite: {
|
|
1026
|
+
id: "elite",
|
|
1027
|
+
name: "Elite",
|
|
1028
|
+
nameCn: "\u7CBE\u82F1\u7248",
|
|
1029
|
+
minInvestment: 5e4,
|
|
1030
|
+
maxInvestment: 99999,
|
|
1031
|
+
color: "#F59E0B",
|
|
1032
|
+
icon: "\u{1F3C6}"
|
|
1033
|
+
},
|
|
1034
|
+
vip: {
|
|
1035
|
+
id: "vip",
|
|
1036
|
+
name: "VIP",
|
|
1037
|
+
nameCn: "VIP\u4E13\u5C5E",
|
|
1038
|
+
minInvestment: 1e5,
|
|
1039
|
+
maxInvestment: Infinity,
|
|
1040
|
+
color: "#EF4444",
|
|
1041
|
+
icon: "\u{1F525}"
|
|
1042
|
+
}
|
|
1043
|
+
};
|
|
1044
|
+
INVESTMENT_CYCLES = [
|
|
1045
|
+
{
|
|
1046
|
+
id: "flexible",
|
|
1047
|
+
days: 0,
|
|
1048
|
+
name: "Flexible",
|
|
1049
|
+
nameCn: "\u7075\u6D3B\u671F",
|
|
1050
|
+
profitSharePercent: 30,
|
|
1051
|
+
// Platform 30%, User 70%
|
|
1052
|
+
bonusMultiplier: 1,
|
|
1053
|
+
earlyWithdrawPenalty: 0
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
id: "week",
|
|
1057
|
+
days: 7,
|
|
1058
|
+
name: "7 Days",
|
|
1059
|
+
nameCn: "7\u5929\u671F",
|
|
1060
|
+
profitSharePercent: 25,
|
|
1061
|
+
// Platform 25%, User 75%
|
|
1062
|
+
bonusMultiplier: 1.1,
|
|
1063
|
+
earlyWithdrawPenalty: 5
|
|
1064
|
+
},
|
|
1065
|
+
{
|
|
1066
|
+
id: "biweek",
|
|
1067
|
+
days: 14,
|
|
1068
|
+
name: "14 Days",
|
|
1069
|
+
nameCn: "14\u5929\u671F",
|
|
1070
|
+
profitSharePercent: 22,
|
|
1071
|
+
// Platform 22%, User 78%
|
|
1072
|
+
bonusMultiplier: 1.2,
|
|
1073
|
+
earlyWithdrawPenalty: 8
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
id: "month",
|
|
1077
|
+
days: 30,
|
|
1078
|
+
name: "30 Days",
|
|
1079
|
+
nameCn: "30\u5929\u671F",
|
|
1080
|
+
profitSharePercent: 20,
|
|
1081
|
+
// Platform 20%, User 80%
|
|
1082
|
+
bonusMultiplier: 1.35,
|
|
1083
|
+
earlyWithdrawPenalty: 10
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
id: "quarter",
|
|
1087
|
+
days: 90,
|
|
1088
|
+
name: "90 Days",
|
|
1089
|
+
nameCn: "90\u5929\u671F",
|
|
1090
|
+
profitSharePercent: 15,
|
|
1091
|
+
// Platform 15%, User 85%
|
|
1092
|
+
bonusMultiplier: 1.5,
|
|
1093
|
+
earlyWithdrawPenalty: 15
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
id: "halfyear",
|
|
1097
|
+
days: 180,
|
|
1098
|
+
name: "180 Days",
|
|
1099
|
+
nameCn: "180\u5929\u671F",
|
|
1100
|
+
profitSharePercent: 12,
|
|
1101
|
+
// Platform 12%, User 88%
|
|
1102
|
+
bonusMultiplier: 1.8,
|
|
1103
|
+
earlyWithdrawPenalty: 20
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
id: "year",
|
|
1107
|
+
days: 365,
|
|
1108
|
+
name: "365 Days",
|
|
1109
|
+
nameCn: "365\u5929\u671F",
|
|
1110
|
+
profitSharePercent: 10,
|
|
1111
|
+
// Platform 10%, User 90%
|
|
1112
|
+
bonusMultiplier: 2,
|
|
1113
|
+
earlyWithdrawPenalty: 25
|
|
1114
|
+
}
|
|
1115
|
+
];
|
|
958
1116
|
STRATEGY_PERSONALITIES = [
|
|
1117
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1118
|
+
// CONSERVATIVE STRATEGIES (保守型) - Low risk, stable returns
|
|
1119
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1120
|
+
{
|
|
1121
|
+
id: "stable-yield-01",
|
|
1122
|
+
name: "Stable Yield",
|
|
1123
|
+
shortName: "STB",
|
|
1124
|
+
color: "#6B7280",
|
|
1125
|
+
scanIntervalMin: 8e4,
|
|
1126
|
+
scanIntervalMax: 12e4,
|
|
1127
|
+
tradeFrequency: 0.15,
|
|
1128
|
+
positionSizeMin: 5,
|
|
1129
|
+
positionSizeMax: 15,
|
|
1130
|
+
leverageMin: 1,
|
|
1131
|
+
leverageMax: 3,
|
|
1132
|
+
primaryIndicators: ["Bollinger", "Volume"],
|
|
1133
|
+
riskTolerance: "low",
|
|
1134
|
+
preferredPairs: ["BTC/USDT", "ETH/USDT"],
|
|
1135
|
+
rsiBias: 45,
|
|
1136
|
+
tier: "starter",
|
|
1137
|
+
dailyYieldMin: 0.15,
|
|
1138
|
+
dailyYieldMax: 0.25,
|
|
1139
|
+
description: "\u7A33\u5065\u6536\u76CA\u7B56\u7565\uFF0C\u4F4E\u98CE\u9669\u4F4E\u6CE2\u52A8\uFF0C\u9002\u5408\u65B0\u624B\u5165\u95E8",
|
|
1140
|
+
category: "conservative"
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
id: "conservative-shield-01",
|
|
1144
|
+
name: "Conservative Shield",
|
|
1145
|
+
shortName: "CON",
|
|
1146
|
+
color: "#10B981",
|
|
1147
|
+
scanIntervalMin: 6e4,
|
|
1148
|
+
scanIntervalMax: 9e4,
|
|
1149
|
+
tradeFrequency: 0.25,
|
|
1150
|
+
positionSizeMin: 10,
|
|
1151
|
+
positionSizeMax: 20,
|
|
1152
|
+
leverageMin: 2,
|
|
1153
|
+
leverageMax: 5,
|
|
1154
|
+
primaryIndicators: ["Bollinger", "Volume", "RSI"],
|
|
1155
|
+
riskTolerance: "low",
|
|
1156
|
+
preferredPairs: ["BTC/USDT", "ETH/USDT"],
|
|
1157
|
+
rsiBias: 45,
|
|
1158
|
+
tier: "basic",
|
|
1159
|
+
dailyYieldMin: 0.25,
|
|
1160
|
+
dailyYieldMax: 0.4,
|
|
1161
|
+
description: "\u4FDD\u5B88\u9632\u5FA1\u7B56\u7565\uFF0C\u6CE8\u91CD\u8D44\u91D1\u5B89\u5168\uFF0C\u7A33\u5B9A\u6536\u76CA",
|
|
1162
|
+
category: "conservative"
|
|
1163
|
+
},
|
|
1164
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1165
|
+
// BALANCED STRATEGIES (平衡型) - Moderate risk, balanced returns
|
|
1166
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
959
1167
|
{
|
|
960
|
-
id: "balanced-01",
|
|
1168
|
+
id: "balanced-alpha-01",
|
|
961
1169
|
name: "Balanced Alpha",
|
|
962
1170
|
shortName: "BAL",
|
|
963
1171
|
color: "#3B82F6",
|
|
964
1172
|
scanIntervalMin: 45e3,
|
|
965
|
-
// 45-70s between cycles (slower for readability)
|
|
966
1173
|
scanIntervalMax: 7e4,
|
|
967
1174
|
tradeFrequency: 0.4,
|
|
968
1175
|
positionSizeMin: 15,
|
|
@@ -972,33 +1179,91 @@ var init_BotSimulationEngine = __esm({
|
|
|
972
1179
|
primaryIndicators: ["RSI", "MACD"],
|
|
973
1180
|
riskTolerance: "medium",
|
|
974
1181
|
preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT"],
|
|
975
|
-
rsiBias: 50
|
|
1182
|
+
rsiBias: 50,
|
|
1183
|
+
tier: "standard",
|
|
1184
|
+
dailyYieldMin: 0.4,
|
|
1185
|
+
dailyYieldMax: 0.65,
|
|
1186
|
+
description: "\u5E73\u8861\u578B\u7B56\u7565\uFF0C\u98CE\u9669\u6536\u76CA\u5747\u8861\uFF0C\u9002\u5408\u7A33\u5065\u6295\u8D44\u8005",
|
|
1187
|
+
category: "balanced"
|
|
976
1188
|
},
|
|
977
1189
|
{
|
|
978
|
-
id: "
|
|
979
|
-
name: "
|
|
980
|
-
shortName: "
|
|
981
|
-
color: "#
|
|
982
|
-
scanIntervalMin:
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
1190
|
+
id: "smart-rebalance-01",
|
|
1191
|
+
name: "Smart Rebalance",
|
|
1192
|
+
shortName: "SRB",
|
|
1193
|
+
color: "#06B6D4",
|
|
1194
|
+
scanIntervalMin: 5e4,
|
|
1195
|
+
scanIntervalMax: 75e3,
|
|
1196
|
+
tradeFrequency: 0.35,
|
|
1197
|
+
positionSizeMin: 12,
|
|
1198
|
+
positionSizeMax: 30,
|
|
1199
|
+
leverageMin: 3,
|
|
1200
|
+
leverageMax: 8,
|
|
1201
|
+
primaryIndicators: ["RSI", "EMA", "Volume"],
|
|
1202
|
+
riskTolerance: "medium",
|
|
1203
|
+
preferredPairs: ["BTC/USDT", "ETH/USDT", "BNB/USDT", "SOL/USDT"],
|
|
1204
|
+
rsiBias: 50,
|
|
1205
|
+
tier: "standard",
|
|
1206
|
+
dailyYieldMin: 0.45,
|
|
1207
|
+
dailyYieldMax: 0.7,
|
|
1208
|
+
description: "\u667A\u80FD\u518D\u5E73\u8861\u7B56\u7565\uFF0C\u52A8\u6001\u8C03\u6574\u6301\u4ED3\uFF0C\u4F18\u5316\u6536\u76CA",
|
|
1209
|
+
category: "balanced"
|
|
994
1210
|
},
|
|
1211
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1212
|
+
// GROWTH STRATEGIES (成长型) - Higher risk, higher returns
|
|
1213
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
995
1214
|
{
|
|
996
|
-
id: "
|
|
1215
|
+
id: "growth-momentum-01",
|
|
1216
|
+
name: "Growth Momentum",
|
|
1217
|
+
shortName: "GRO",
|
|
1218
|
+
color: "#8B5CF6",
|
|
1219
|
+
scanIntervalMin: 4e4,
|
|
1220
|
+
scanIntervalMax: 6e4,
|
|
1221
|
+
tradeFrequency: 0.45,
|
|
1222
|
+
positionSizeMin: 20,
|
|
1223
|
+
positionSizeMax: 40,
|
|
1224
|
+
leverageMin: 5,
|
|
1225
|
+
leverageMax: 12,
|
|
1226
|
+
primaryIndicators: ["RSI", "MACD", "EMA"],
|
|
1227
|
+
riskTolerance: "medium",
|
|
1228
|
+
preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT"],
|
|
1229
|
+
rsiBias: 52,
|
|
1230
|
+
tier: "premium",
|
|
1231
|
+
dailyYieldMin: 0.6,
|
|
1232
|
+
dailyYieldMax: 0.95,
|
|
1233
|
+
description: "\u6210\u957F\u52A8\u91CF\u7B56\u7565\uFF0C\u8FFD\u6C42\u8F83\u9AD8\u6536\u76CA\uFF0C\u9002\u5408\u6709\u7ECF\u9A8C\u6295\u8D44\u8005",
|
|
1234
|
+
category: "growth"
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
id: "trend-hunter-01",
|
|
1238
|
+
name: "Trend Hunter",
|
|
1239
|
+
shortName: "TRH",
|
|
1240
|
+
color: "#EC4899",
|
|
1241
|
+
scanIntervalMin: 38e3,
|
|
1242
|
+
scanIntervalMax: 55e3,
|
|
1243
|
+
tradeFrequency: 0.48,
|
|
1244
|
+
positionSizeMin: 22,
|
|
1245
|
+
positionSizeMax: 42,
|
|
1246
|
+
leverageMin: 5,
|
|
1247
|
+
leverageMax: 15,
|
|
1248
|
+
primaryIndicators: ["EMA", "MACD", "Volume", "Bollinger"],
|
|
1249
|
+
riskTolerance: "medium",
|
|
1250
|
+
preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "ARB/USDT", "OP/USDT"],
|
|
1251
|
+
rsiBias: 53,
|
|
1252
|
+
tier: "premium",
|
|
1253
|
+
dailyYieldMin: 0.65,
|
|
1254
|
+
dailyYieldMax: 1,
|
|
1255
|
+
description: "\u8D8B\u52BF\u730E\u624B\u7B56\u7565\uFF0C\u6355\u6349\u5E02\u573A\u8D8B\u52BF\uFF0C\u8FFD\u6C42\u8D85\u989D\u6536\u76CA",
|
|
1256
|
+
category: "growth"
|
|
1257
|
+
},
|
|
1258
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1259
|
+
// AGGRESSIVE STRATEGIES (激进型) - High risk, high returns
|
|
1260
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1261
|
+
{
|
|
1262
|
+
id: "aggressive-momentum-01",
|
|
997
1263
|
name: "Aggressive Momentum",
|
|
998
1264
|
shortName: "AGG",
|
|
999
1265
|
color: "#EF4444",
|
|
1000
1266
|
scanIntervalMin: 35e3,
|
|
1001
|
-
// 35-55s between cycles (slower for readability)
|
|
1002
1267
|
scanIntervalMax: 55e3,
|
|
1003
1268
|
tradeFrequency: 0.5,
|
|
1004
1269
|
positionSizeMin: 25,
|
|
@@ -1008,7 +1273,103 @@ var init_BotSimulationEngine = __esm({
|
|
|
1008
1273
|
primaryIndicators: ["RSI", "MACD", "EMA", "Volume"],
|
|
1009
1274
|
riskTolerance: "high",
|
|
1010
1275
|
preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "DOGE/USDT", "AVAX/USDT"],
|
|
1011
|
-
rsiBias: 55
|
|
1276
|
+
rsiBias: 55,
|
|
1277
|
+
tier: "elite",
|
|
1278
|
+
dailyYieldMin: 0.85,
|
|
1279
|
+
dailyYieldMax: 1.4,
|
|
1280
|
+
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",
|
|
1281
|
+
category: "aggressive"
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
id: "leverage-maximizer-01",
|
|
1285
|
+
name: "Leverage Maximizer",
|
|
1286
|
+
shortName: "LEV",
|
|
1287
|
+
color: "#F97316",
|
|
1288
|
+
scanIntervalMin: 3e4,
|
|
1289
|
+
scanIntervalMax: 5e4,
|
|
1290
|
+
tradeFrequency: 0.55,
|
|
1291
|
+
positionSizeMin: 30,
|
|
1292
|
+
positionSizeMax: 55,
|
|
1293
|
+
leverageMin: 10,
|
|
1294
|
+
leverageMax: 25,
|
|
1295
|
+
primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
|
|
1296
|
+
riskTolerance: "high",
|
|
1297
|
+
preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "DOGE/USDT", "AVAX/USDT", "ARB/USDT"],
|
|
1298
|
+
rsiBias: 55,
|
|
1299
|
+
tier: "elite",
|
|
1300
|
+
dailyYieldMin: 1,
|
|
1301
|
+
dailyYieldMax: 1.8,
|
|
1302
|
+
description: "\u6760\u6746\u6700\u5927\u5316\u7B56\u7565\uFF0C\u8FFD\u6C42\u6781\u81F4\u6536\u76CA\uFF0C\u9700\u8981\u4E13\u4E1A\u6295\u8D44\u7ECF\u9A8C",
|
|
1303
|
+
category: "aggressive"
|
|
1304
|
+
},
|
|
1305
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1306
|
+
// QUANTITATIVE STRATEGIES (量化型) - AI-driven, advanced algorithms
|
|
1307
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1308
|
+
{
|
|
1309
|
+
id: "ai-quant-alpha-01",
|
|
1310
|
+
name: "AI Quant Alpha",
|
|
1311
|
+
shortName: "AQA",
|
|
1312
|
+
color: "#A855F7",
|
|
1313
|
+
scanIntervalMin: 42e3,
|
|
1314
|
+
scanIntervalMax: 65e3,
|
|
1315
|
+
tradeFrequency: 0.42,
|
|
1316
|
+
positionSizeMin: 18,
|
|
1317
|
+
positionSizeMax: 38,
|
|
1318
|
+
leverageMin: 4,
|
|
1319
|
+
leverageMax: 12,
|
|
1320
|
+
primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
|
|
1321
|
+
riskTolerance: "medium",
|
|
1322
|
+
preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "BNB/USDT"],
|
|
1323
|
+
rsiBias: 51,
|
|
1324
|
+
tier: "premium",
|
|
1325
|
+
dailyYieldMin: 0.7,
|
|
1326
|
+
dailyYieldMax: 1.1,
|
|
1327
|
+
description: "AI\u91CF\u5316Alpha\u7B56\u7565\uFF0C\u673A\u5668\u5B66\u4E60\u9A71\u52A8\uFF0C\u667A\u80FD\u98CE\u63A7",
|
|
1328
|
+
category: "quantitative"
|
|
1329
|
+
},
|
|
1330
|
+
{
|
|
1331
|
+
id: "neural-trader-01",
|
|
1332
|
+
name: "Neural Trader",
|
|
1333
|
+
shortName: "NRT",
|
|
1334
|
+
color: "#14B8A6",
|
|
1335
|
+
scanIntervalMin: 4e4,
|
|
1336
|
+
scanIntervalMax: 62e3,
|
|
1337
|
+
tradeFrequency: 0.44,
|
|
1338
|
+
positionSizeMin: 20,
|
|
1339
|
+
positionSizeMax: 40,
|
|
1340
|
+
leverageMin: 5,
|
|
1341
|
+
leverageMax: 15,
|
|
1342
|
+
primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
|
|
1343
|
+
riskTolerance: "medium",
|
|
1344
|
+
preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT", "LINK/USDT"],
|
|
1345
|
+
rsiBias: 52,
|
|
1346
|
+
tier: "elite",
|
|
1347
|
+
dailyYieldMin: 0.8,
|
|
1348
|
+
dailyYieldMax: 1.25,
|
|
1349
|
+
description: "\u795E\u7ECF\u7F51\u7EDC\u4EA4\u6613\u7B56\u7565\uFF0C\u6DF1\u5EA6\u5B66\u4E60\u6A21\u578B\uFF0C\u81EA\u9002\u5E94\u5E02\u573A",
|
|
1350
|
+
category: "quantitative"
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
id: "quantum-edge-01",
|
|
1354
|
+
name: "Quantum Edge",
|
|
1355
|
+
shortName: "QTE",
|
|
1356
|
+
color: "#6366F1",
|
|
1357
|
+
scanIntervalMin: 35e3,
|
|
1358
|
+
scanIntervalMax: 55e3,
|
|
1359
|
+
tradeFrequency: 0.5,
|
|
1360
|
+
positionSizeMin: 25,
|
|
1361
|
+
positionSizeMax: 50,
|
|
1362
|
+
leverageMin: 8,
|
|
1363
|
+
leverageMax: 20,
|
|
1364
|
+
primaryIndicators: ["RSI", "MACD", "EMA", "Volume", "Bollinger"],
|
|
1365
|
+
riskTolerance: "high",
|
|
1366
|
+
preferredPairs: ["BTC/USDT", "ETH/USDT", "SOL/USDT", "AVAX/USDT", "ARB/USDT", "OP/USDT"],
|
|
1367
|
+
rsiBias: 54,
|
|
1368
|
+
tier: "vip",
|
|
1369
|
+
dailyYieldMin: 1.2,
|
|
1370
|
+
dailyYieldMax: 2,
|
|
1371
|
+
description: "VIP\u91CF\u5B50\u4F18\u52BF\u7B56\u7565\uFF0C\u9876\u7EA7AI\u7B97\u6CD5\uFF0C\u6781\u81F4\u6536\u76CA\u8FFD\u6C42",
|
|
1372
|
+
category: "quantitative"
|
|
1012
1373
|
}
|
|
1013
1374
|
];
|
|
1014
1375
|
PAIR_PRICES = {
|