@tradejs/core 1.0.0
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/README.md +60 -0
- package/dist/api.d.mts +7 -0
- package/dist/api.d.ts +7 -0
- package/dist/api.js +64 -0
- package/dist/api.mjs +39 -0
- package/dist/async.d.mts +4 -0
- package/dist/async.d.ts +4 -0
- package/dist/async.js +48 -0
- package/dist/async.mjs +20 -0
- package/dist/backtest.d.mts +45 -0
- package/dist/backtest.d.ts +45 -0
- package/dist/backtest.js +574 -0
- package/dist/backtest.mjs +355 -0
- package/dist/chunk-AYC2QVKI.mjs +35 -0
- package/dist/chunk-JG2QPVAV.mjs +190 -0
- package/dist/chunk-LIGD3WWX.mjs +1545 -0
- package/dist/chunk-M7QGVZ3J.mjs +61 -0
- package/dist/chunk-NQ7D3T4E.mjs +10 -0
- package/dist/chunk-PXLXXXLA.mjs +67 -0
- package/dist/config.d.mts +14 -0
- package/dist/config.d.ts +14 -0
- package/dist/config.js +49 -0
- package/dist/config.mjs +21 -0
- package/dist/constants.d.mts +41 -0
- package/dist/constants.d.ts +41 -0
- package/dist/constants.js +238 -0
- package/dist/constants.mjs +50 -0
- package/dist/data.d.mts +9 -0
- package/dist/data.d.ts +9 -0
- package/dist/data.js +100 -0
- package/dist/data.mjs +12 -0
- package/dist/figures.d.mts +103 -0
- package/dist/figures.d.ts +103 -0
- package/dist/figures.js +274 -0
- package/dist/figures.mjs +239 -0
- package/dist/indicators-x3xKl3_W.d.mts +90 -0
- package/dist/indicators-x3xKl3_W.d.ts +90 -0
- package/dist/indicators.d.mts +124 -0
- package/dist/indicators.d.ts +124 -0
- package/dist/indicators.js +1631 -0
- package/dist/indicators.mjs +66 -0
- package/dist/json.d.mts +3 -0
- package/dist/json.d.ts +3 -0
- package/dist/json.js +34 -0
- package/dist/json.mjs +7 -0
- package/dist/math.d.mts +35 -0
- package/dist/math.d.ts +35 -0
- package/dist/math.js +98 -0
- package/dist/math.mjs +38 -0
- package/dist/pine.d.mts +29 -0
- package/dist/pine.d.ts +29 -0
- package/dist/pine.js +59 -0
- package/dist/pine.mjs +29 -0
- package/dist/strategies.d.mts +104 -0
- package/dist/strategies.d.ts +104 -0
- package/dist/strategies.js +1080 -0
- package/dist/strategies.mjs +390 -0
- package/dist/tickers.d.mts +7 -0
- package/dist/tickers.d.ts +7 -0
- package/dist/tickers.js +166 -0
- package/dist/tickers.mjs +125 -0
- package/dist/time-DEyFa2vI.d.mts +11 -0
- package/dist/time-DEyFa2vI.d.ts +11 -0
- package/dist/time.d.mts +2 -0
- package/dist/time.d.ts +2 -0
- package/dist/time.js +58 -0
- package/dist/time.mjs +15 -0
- package/package.json +99 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { KlineChartData, StrategyIndicatorsState, Direction, Connector, Interval, BacktestPriceMode, StrategyMarketSnapshot, BuildStrategySignalDraft, StrategyEntrySignalContext, StrategyEntryOrderPlan, StrategyEntryRuntimeOptions, StrategyDecision, BuildStrategySignalParams, Signal, StrategyAPI, StrategyRuntimeAiOptions, StrategyRuntimeMlOptions } from '@tradejs/types';
|
|
2
|
+
import { I as IndicatorPeriods } from './indicators-x3xKl3_W.js';
|
|
3
|
+
import 'pg';
|
|
4
|
+
|
|
5
|
+
type IndicatorPeriodsConfig = Partial<Record<'MA_FAST' | 'MA_MEDIUM' | 'MA_SLOW' | 'OBV_SMA' | 'ATR' | 'ATR_PCT_SHORT' | 'ATR_PCT_LONG' | 'BB' | 'BB_STD' | 'MACD_FAST' | 'MACD_SLOW' | 'MACD_SIGNAL' | 'LEVEL_LOOKBACK' | 'LEVEL_DELAY', number>>;
|
|
6
|
+
declare const buildDefaultIndicatorPeriods: (config: IndicatorPeriodsConfig) => Partial<IndicatorPeriods>;
|
|
7
|
+
interface StrategyIndicatorsStateParams {
|
|
8
|
+
env: string;
|
|
9
|
+
data: KlineChartData;
|
|
10
|
+
btcData: KlineChartData;
|
|
11
|
+
btcBinanceData?: KlineChartData;
|
|
12
|
+
btcCoinbaseData?: KlineChartData;
|
|
13
|
+
periods?: Partial<IndicatorPeriods>;
|
|
14
|
+
}
|
|
15
|
+
declare const createStrategyIndicatorsState: ({ env, data, btcData, btcBinanceData, btcCoinbaseData, periods, }: StrategyIndicatorsStateParams) => StrategyIndicatorsState;
|
|
16
|
+
|
|
17
|
+
interface StrategyMarketSnapshotParams {
|
|
18
|
+
env: string;
|
|
19
|
+
connector: Connector;
|
|
20
|
+
symbol: string;
|
|
21
|
+
interval: Interval;
|
|
22
|
+
cachedData: KlineChartData;
|
|
23
|
+
preloadStart: number;
|
|
24
|
+
backtestPriceMode?: BacktestPriceMode;
|
|
25
|
+
}
|
|
26
|
+
declare const getStrategyMarketSnapshot: ({ env, connector, symbol, interval, cachedData, preloadStart, backtestPriceMode, }: StrategyMarketSnapshotParams) => Promise<StrategyMarketSnapshot>;
|
|
27
|
+
declare const calculateRiskRatio: ({ direction, currentPrice, takeProfitPrice, stopLossPrice, }: {
|
|
28
|
+
direction: Direction;
|
|
29
|
+
currentPrice: number;
|
|
30
|
+
takeProfitPrice: number;
|
|
31
|
+
stopLossPrice: number;
|
|
32
|
+
}) => number;
|
|
33
|
+
interface DirectionalTpSlPricesParams {
|
|
34
|
+
price: number;
|
|
35
|
+
direction: Direction;
|
|
36
|
+
takeProfitDelta: number;
|
|
37
|
+
stopLossDelta: number;
|
|
38
|
+
unit?: 'percent' | 'ratio';
|
|
39
|
+
maxLossValue?: number;
|
|
40
|
+
feePercent?: number;
|
|
41
|
+
}
|
|
42
|
+
interface DirectionalTpSlPricesResult {
|
|
43
|
+
stopLossPrice: number;
|
|
44
|
+
takeProfitPrice: number;
|
|
45
|
+
riskRatio: number;
|
|
46
|
+
qty?: number;
|
|
47
|
+
}
|
|
48
|
+
declare const getDirectionalTpSlPrices: ({ price, direction, takeProfitDelta, stopLossDelta, unit, maxLossValue, feePercent, }: DirectionalTpSlPricesParams) => DirectionalTpSlPricesResult;
|
|
49
|
+
|
|
50
|
+
type AiRuntimeConfigLike = {
|
|
51
|
+
AI_ENABLED?: boolean;
|
|
52
|
+
MIN_AI_QUALITY?: number;
|
|
53
|
+
};
|
|
54
|
+
type MlRuntimeConfigLike = {
|
|
55
|
+
ML_ENABLED?: boolean;
|
|
56
|
+
ML_THRESHOLD?: number;
|
|
57
|
+
};
|
|
58
|
+
declare const mapAiRuntimeFromConfig: <TConfig extends AiRuntimeConfigLike>(config: TConfig, overrides?: Partial<StrategyRuntimeAiOptions>) => StrategyRuntimeAiOptions;
|
|
59
|
+
declare const mapMlRuntimeFromConfig: <TConfig extends MlRuntimeConfigLike>(config: TConfig, overrides?: Partial<StrategyRuntimeMlOptions>) => StrategyRuntimeMlOptions;
|
|
60
|
+
declare const buildStrategySignal: ({ signalId, strategy, symbol, interval, direction, timestamp, prices, figures, indicators, additionalIndicators, isConfigFromBacktest, }: BuildStrategySignalParams) => Signal;
|
|
61
|
+
interface BuildEntrySignalDecisionParams {
|
|
62
|
+
code: string;
|
|
63
|
+
entryContext: StrategyEntrySignalContext;
|
|
64
|
+
figures?: BuildStrategySignalDraft['figures'];
|
|
65
|
+
indicators?: BuildStrategySignalDraft['indicators'];
|
|
66
|
+
additionalIndicators?: BuildStrategySignalDraft['additionalIndicators'];
|
|
67
|
+
signalId?: BuildStrategySignalDraft['signalId'];
|
|
68
|
+
orderPlan: StrategyEntryOrderPlan;
|
|
69
|
+
runtime?: StrategyEntryRuntimeOptions;
|
|
70
|
+
}
|
|
71
|
+
declare const buildEntrySignalDecision: <TFigures extends BuildStrategySignalDraft["figures"] = BuildStrategySignalDraft["figures"], TIndicators extends BuildStrategySignalDraft["indicators"] = BuildStrategySignalDraft["indicators"], TAdditional extends BuildStrategySignalDraft["additionalIndicators"] = BuildStrategySignalDraft["additionalIndicators"]>({ code, entryContext, figures, indicators, additionalIndicators, signalId, orderPlan, runtime, }: Omit<BuildEntrySignalDecisionParams, "figures" | "indicators" | "additionalIndicators"> & {
|
|
72
|
+
figures?: TFigures;
|
|
73
|
+
indicators?: TIndicators;
|
|
74
|
+
additionalIndicators?: TAdditional;
|
|
75
|
+
}) => StrategyDecision;
|
|
76
|
+
interface CreateStrategyAPIParams {
|
|
77
|
+
strategy: Signal['strategy'];
|
|
78
|
+
symbol: Signal['symbol'];
|
|
79
|
+
interval: Signal['interval'];
|
|
80
|
+
env: string;
|
|
81
|
+
connector: Connector;
|
|
82
|
+
cachedData: KlineChartData;
|
|
83
|
+
indicatorsState?: {
|
|
84
|
+
next: (candle: KlineChartData[number], btcCandle: KlineChartData[number]) => unknown;
|
|
85
|
+
};
|
|
86
|
+
preloadStart?: number;
|
|
87
|
+
backtestPriceMode?: BacktestPriceMode;
|
|
88
|
+
isConfigFromBacktest?: Signal['isConfigFromBacktest'];
|
|
89
|
+
}
|
|
90
|
+
declare const createStrategyAPI: ({ strategy, symbol, interval, env, connector, cachedData, indicatorsState, preloadStart, backtestPriceMode, isConfigFromBacktest, }: CreateStrategyAPIParams) => StrategyAPI;
|
|
91
|
+
|
|
92
|
+
interface LastTradeController {
|
|
93
|
+
isInCooldown: (timestamp: number) => boolean;
|
|
94
|
+
markTrade: (timestamp: number) => void;
|
|
95
|
+
getLastTradeTimestamp: () => number | null;
|
|
96
|
+
}
|
|
97
|
+
interface CreateLastTradeControllerParams {
|
|
98
|
+
env?: string;
|
|
99
|
+
enabled?: boolean;
|
|
100
|
+
cooldownMs?: number;
|
|
101
|
+
}
|
|
102
|
+
declare const createLastTradeController: ({ env, enabled, cooldownMs, }: CreateLastTradeControllerParams) => LastTradeController;
|
|
103
|
+
|
|
104
|
+
export { buildDefaultIndicatorPeriods, buildEntrySignalDecision, buildStrategySignal, calculateRiskRatio, createLastTradeController, createStrategyAPI, createStrategyIndicatorsState, getDirectionalTpSlPrices, getStrategyMarketSnapshot, mapAiRuntimeFromConfig, mapMlRuntimeFromConfig };
|