Add bundle backtest refact + fix whitelist

This commit is contained in:
2025-10-12 14:40:20 +07:00
parent 4543246871
commit 5acc77650f
21 changed files with 2961 additions and 628 deletions

View File

@@ -4296,8 +4296,12 @@ export interface RunBacktestRequest {
config?: TradingBotConfigRequest | null;
startDate?: Date;
endDate?: Date;
balance?: number;
watchOnly?: boolean;
save?: boolean;
withCandles?: boolean;
moneyManagementName?: string | null;
moneyManagement?: MoneyManagement | null;
}
export interface TradingBotConfigRequest {
@@ -4352,6 +4356,10 @@ export interface MoneyManagementRequest {
leverage: number;
}
export interface MoneyManagement extends LightMoneyManagement {
user?: User | null;
}
export interface BundleBacktestRequest {
requestId: string;
user: User;
@@ -4359,8 +4367,11 @@ export interface BundleBacktestRequest {
completedAt?: Date | null;
status: BundleBacktestRequestStatus;
name: string;
backtestRequestsJson: string;
results?: string[] | null;
universalConfigJson: string;
dateTimeRangesJson: string;
moneyManagementVariantsJson: string;
tickerVariantsJson: string;
results?: string[];
totalBacktests: number;
completedBacktests: number;
failedBacktests: number;
@@ -4381,7 +4392,42 @@ export enum BundleBacktestRequestStatus {
export interface RunBundleBacktestRequest {
name: string;
requests: RunBacktestRequest[];
universalConfig: BundleBacktestUniversalConfig;
dateTimeRanges: DateTimeRange[];
moneyManagementVariants: MoneyManagementVariant[];
tickerVariants: Ticker[];
}
export interface BundleBacktestUniversalConfig {
accountName: string;
timeframe: Timeframe;
isForWatchingOnly: boolean;
botTradingBalance: number;
botName: string;
flipPosition: boolean;
cooldownPeriod?: number | null;
maxLossStreak?: number;
scenario?: ScenarioRequest | null;
scenarioName?: string | null;
maxPositionTimeHours?: number | null;
closeEarlyWhenProfitable?: boolean;
flipOnlyWhenInProfit?: boolean;
useSynthApi?: boolean;
useForPositionSizing?: boolean;
useForSignalFiltering?: boolean;
useForDynamicStopLoss?: boolean;
watchOnly?: boolean;
save?: boolean;
withCandles?: boolean;
}
export interface DateTimeRange {
startDate: Date;
endDate: Date;
}
export interface MoneyManagementVariant {
moneyManagement?: MoneyManagementRequest;
}
export interface GeneticRequest {
@@ -4472,10 +4518,6 @@ export interface RunGeneticRequest {
eligibleIndicators?: IndicatorType[] | null;
}
export interface MoneyManagement extends LightMoneyManagement {
user?: User | null;
}
export interface StartBotRequest {
config?: TradingBotConfigRequest | null;
}