@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.
- package/dist/{ForexPoolDataGenerator--__twRwl.d.mts → ForexPoolDataGenerator-JxTPpJPz.d.mts} +1 -1
- package/dist/{ForexPoolDataGenerator-eUgwsU_B.d.ts → ForexPoolDataGenerator-qwWv6sCE.d.ts} +1 -1
- package/dist/{OneForexTradeHistory-TlKxjbFF.d.ts → OneForexTradeHistory-BE4rJH5t.d.ts} +1 -1
- package/dist/{OneForexTradeHistory-iDySMcw0.d.mts → OneForexTradeHistory-DbuHXRy0.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-Dvf-N9Gr.d.mts} +7 -0
- package/dist/{console-BfTMA7ah.d.ts → console-Dvf-N9Gr.d.ts} +7 -0
- package/dist/hooks/index.d.mts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +399 -38
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +399 -38
- 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 +399 -38
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +399 -38
- 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 +239 -36
- package/dist/react-native.js.map +1 -1
- package/dist/react-native.mjs +239 -36
- 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 +239 -36
- package/dist/services/index.js.map +1 -1
- package/dist/services/index.mjs +239 -36
- 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-CA2DPQVf.d.ts} +1 -1
- package/dist/{useForexTrading-BleeSor8.d.mts → useForexTrading-I7nIQyog.d.mts} +1 -1
- package/package.json +1 -1
- package/src/services/forex/BotSimulationEngine.ts +463 -35
- package/src/services/forex/index.ts +12 -1
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,18 +982,195 @@ 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
|
+
},
|
|
959
1142
|
{
|
|
960
|
-
id: "
|
|
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
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1167
|
+
{
|
|
1168
|
+
id: "balanced-alpha-01",
|
|
961
1169
|
name: "Balanced Alpha",
|
|
962
1170
|
shortName: "BAL",
|
|
963
1171
|
color: "#3B82F6",
|
|
964
|
-
scanIntervalMin:
|
|
965
|
-
|
|
966
|
-
scanIntervalMax: 4e4,
|
|
1172
|
+
scanIntervalMin: 45e3,
|
|
1173
|
+
scanIntervalMax: 7e4,
|
|
967
1174
|
tradeFrequency: 0.4,
|
|
968
1175
|
positionSizeMin: 15,
|
|
969
1176
|
positionSizeMax: 35,
|
|
@@ -972,34 +1179,92 @@ 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
|
-
|
|
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"
|
|
1210
|
+
},
|
|
1211
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1212
|
+
// GROWTH STRATEGIES (成长型) - Higher risk, higher returns
|
|
1213
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1214
|
+
{
|
|
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,
|
|
984
1242
|
scanIntervalMax: 55e3,
|
|
985
|
-
tradeFrequency: 0.
|
|
986
|
-
positionSizeMin:
|
|
987
|
-
positionSizeMax:
|
|
988
|
-
leverageMin:
|
|
989
|
-
leverageMax:
|
|
990
|
-
primaryIndicators: ["
|
|
991
|
-
riskTolerance: "
|
|
992
|
-
preferredPairs: ["BTC/USDT", "ETH/USDT"],
|
|
993
|
-
rsiBias:
|
|
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"
|
|
994
1257
|
},
|
|
1258
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1259
|
+
// AGGRESSIVE STRATEGIES (激进型) - High risk, high returns
|
|
1260
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
995
1261
|
{
|
|
996
|
-
id: "aggressive-01",
|
|
1262
|
+
id: "aggressive-momentum-01",
|
|
997
1263
|
name: "Aggressive Momentum",
|
|
998
1264
|
shortName: "AGG",
|
|
999
1265
|
color: "#EF4444",
|
|
1000
|
-
scanIntervalMin:
|
|
1001
|
-
|
|
1002
|
-
scanIntervalMax: 3e4,
|
|
1266
|
+
scanIntervalMin: 35e3,
|
|
1267
|
+
scanIntervalMax: 55e3,
|
|
1003
1268
|
tradeFrequency: 0.5,
|
|
1004
1269
|
positionSizeMin: 25,
|
|
1005
1270
|
positionSizeMax: 50,
|
|
@@ -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 = {
|
|
@@ -1229,7 +1590,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1229
1590
|
},
|
|
1230
1591
|
delay
|
|
1231
1592
|
});
|
|
1232
|
-
delay += rand3(
|
|
1593
|
+
delay += rand3(2e3, 3500);
|
|
1233
1594
|
const thinkingMessages = this.generateThinkingProcess(strategy, pair, price);
|
|
1234
1595
|
for (const thinking of thinkingMessages) {
|
|
1235
1596
|
entries.push({
|
|
@@ -1242,7 +1603,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1242
1603
|
},
|
|
1243
1604
|
delay
|
|
1244
1605
|
});
|
|
1245
|
-
delay += rand3(
|
|
1606
|
+
delay += rand3(1500, 2500);
|
|
1246
1607
|
}
|
|
1247
1608
|
const indicatorParts = [];
|
|
1248
1609
|
if (strategy.primaryIndicators.includes("RSI") || strategy.primaryIndicators.includes("MACD")) {
|
|
@@ -1274,7 +1635,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1274
1635
|
},
|
|
1275
1636
|
delay
|
|
1276
1637
|
});
|
|
1277
|
-
delay += rand3(
|
|
1638
|
+
delay += rand3(2e3, 3500);
|
|
1278
1639
|
if (Math.random() < 0.12) {
|
|
1279
1640
|
const sentiment = Math.random() > 0.4 ? "Bullish" : "Bearish";
|
|
1280
1641
|
entries.push({
|
|
@@ -1287,7 +1648,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1287
1648
|
},
|
|
1288
1649
|
delay
|
|
1289
1650
|
});
|
|
1290
|
-
delay += rand3(
|
|
1651
|
+
delay += rand3(2500, 4e3);
|
|
1291
1652
|
}
|
|
1292
1653
|
if (Math.random() < 0.4) {
|
|
1293
1654
|
const analysis = this.generateAnalysis(strategy, indicators, pair);
|
|
@@ -1301,7 +1662,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1301
1662
|
},
|
|
1302
1663
|
delay
|
|
1303
1664
|
});
|
|
1304
|
-
delay += rand3(
|
|
1665
|
+
delay += rand3(2500, 4e3);
|
|
1305
1666
|
}
|
|
1306
1667
|
const signal = this.evaluateSignal(strategy, indicators);
|
|
1307
1668
|
state.lastSignal = signal.direction;
|
|
@@ -1325,7 +1686,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1325
1686
|
},
|
|
1326
1687
|
delay
|
|
1327
1688
|
});
|
|
1328
|
-
delay += rand3(
|
|
1689
|
+
delay += rand3(3e3, 5e3);
|
|
1329
1690
|
entries.push({
|
|
1330
1691
|
entry: {
|
|
1331
1692
|
strategyId: strategy.id,
|
|
@@ -1337,7 +1698,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1337
1698
|
},
|
|
1338
1699
|
delay
|
|
1339
1700
|
});
|
|
1340
|
-
delay += rand3(
|
|
1701
|
+
delay += rand3(3e3, 4500);
|
|
1341
1702
|
const decision = this.makeTradeDecision(strategy, signal, state);
|
|
1342
1703
|
if (decision.execute) {
|
|
1343
1704
|
entries.push({
|
|
@@ -1357,7 +1718,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1357
1718
|
},
|
|
1358
1719
|
delay
|
|
1359
1720
|
});
|
|
1360
|
-
delay += rand3(
|
|
1721
|
+
delay += rand3(2500, 4e3);
|
|
1361
1722
|
const orderId = `ORD_${Date.now().toString(36).toUpperCase()}`;
|
|
1362
1723
|
const orderPrice = signal.direction === "LONG" ? price * (1 - rand3(1e-4, 5e-4)) : price * (1 + rand3(1e-4, 5e-4));
|
|
1363
1724
|
entries.push({
|
|
@@ -1382,7 +1743,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1382
1743
|
},
|
|
1383
1744
|
delay
|
|
1384
1745
|
});
|
|
1385
|
-
delay += rand3(
|
|
1746
|
+
delay += rand3(4e3, 7e3);
|
|
1386
1747
|
const fillPrice = orderPrice * (1 + rand3(-3e-4, 3e-4));
|
|
1387
1748
|
const slippage = Math.abs(fillPrice - orderPrice) / orderPrice * 100;
|
|
1388
1749
|
entries.push({
|
|
@@ -1431,7 +1792,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1431
1792
|
}
|
|
1432
1793
|
}
|
|
1433
1794
|
if (state.openPositions.length > 0 && Math.random() < 0.5) {
|
|
1434
|
-
delay += rand3(
|
|
1795
|
+
delay += rand3(3500, 5500);
|
|
1435
1796
|
let totalPositionPnl = 0;
|
|
1436
1797
|
const pnlParts = [];
|
|
1437
1798
|
for (const pos of state.openPositions) {
|
|
@@ -1467,7 +1828,7 @@ var init_BotSimulationEngine = __esm({
|
|
|
1467
1828
|
});
|
|
1468
1829
|
}
|
|
1469
1830
|
if (Math.random() < 0.2) {
|
|
1470
|
-
delay += rand3(
|
|
1831
|
+
delay += rand3(3e3, 5e3);
|
|
1471
1832
|
const exposure = state.openPositions.reduce((sum, p) => sum + p.size * p.leverage, 0);
|
|
1472
1833
|
const maxDrawdown = rand3(2, 12);
|
|
1473
1834
|
entries.push({
|