@tradejs/strategies 1.0.5 → 1.0.8

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/index.d.mts CHANGED
@@ -1,18 +1,282 @@
1
- import { Interval, TrendLineOptions, StrategyAiAdapter, StrategyMlAdapter, StrategyRegistryEntry } from '@tradejs/types';
1
+ import { Interval, TrendLineOptions, StrategyAiAdapter, StrategyMlAdapter, StrategyRegistryEntry, StrategyConfig } from '@tradejs/types';
2
2
 
3
- declare const config: {
3
+ type AdaptiveMomentumRibbonKcMaType = 'SMA' | 'EMA' | 'SMMA (RMA)' | 'WMA' | 'VWMA';
4
+ declare const config$6: {
5
+ readonly ENV: "BACKTEST";
6
+ readonly INTERVAL: Interval;
7
+ readonly MAKE_ORDERS: true;
8
+ readonly CLOSE_OPPOSITE_POSITIONS: false;
9
+ readonly BACKTEST_PRICE_MODE: "mid";
10
+ readonly AI_ENABLED: false;
11
+ readonly AI_MODE: "llm";
12
+ readonly ML_ENABLED: false;
13
+ readonly ML_THRESHOLD: 0.1;
14
+ readonly MIN_AI_QUALITY: 3;
15
+ readonly FEE_PERCENT: 0.005;
16
+ readonly MAX_LOSS_VALUE: 10;
17
+ readonly AMR_LOOKBACK_BARS: 200;
18
+ readonly AMR_MOMENTUM_PERIOD: 32;
19
+ readonly AMR_BUTTERWORTH_SMOOTHING: 4;
20
+ readonly AMR_WAIT_CLOSE: true;
21
+ readonly AMR_CONFIRM_ON_NEXT_BAR: true;
22
+ readonly AMR_MIN_SIGNAL_OSC_ABS: 0.55;
23
+ readonly AMR_REQUIRE_KC_BIAS: true;
24
+ readonly AMR_MIN_BARS_BETWEEN_SIGNALS: 12;
25
+ readonly AMR_SHOW_INVALIDATION_LEVELS: true;
26
+ readonly AMR_SHOW_KELTNER_CHANNEL: true;
27
+ readonly AMR_KC_LENGTH: 20;
28
+ readonly AMR_KC_MA_TYPE: AdaptiveMomentumRibbonKcMaType;
29
+ readonly AMR_ATR_LENGTH: 14;
30
+ readonly AMR_ATR_MULTIPLIER: 2;
31
+ readonly AMR_EXIT_ON_INVALIDATION: true;
32
+ readonly AMR_LINE_PLOTS: readonly ["kcMidline", "kcUpper", "kcLower", "invalidationLevel"];
33
+ readonly LONG: {
34
+ readonly enable: true;
35
+ readonly direction: "LONG";
36
+ readonly TP: 2;
37
+ readonly SL: 1;
38
+ };
39
+ readonly SHORT: {
40
+ readonly enable: true;
41
+ readonly direction: "SHORT";
42
+ readonly TP: 2;
43
+ readonly SL: 1;
44
+ };
45
+ };
46
+
47
+ declare const config$5: {
48
+ ML_ENABLED: boolean;
49
+ MA_FAST: number;
50
+ MA_MEDIUM: number;
51
+ MA_SLOW: number;
52
+ OBV_SMA: number;
53
+ ATR: number;
54
+ ATR_PCT_SHORT: number;
55
+ ATR_PCT_LONG: number;
56
+ BB: number;
57
+ BB_STD: number;
58
+ MACD_FAST: number;
59
+ MACD_SLOW: number;
60
+ MACD_SIGNAL: number;
61
+ LEVEL_LOOKBACK: number;
62
+ LEVEL_DELAY: number;
63
+ ATR_PERIOD: number;
64
+ BB_PERIOD: number;
65
+ BB_STDDEV: number;
66
+ LIMIT: number;
67
+ ATR_OPEN: number;
68
+ ATR_CLOSE: number;
69
+ OBV_SMA_PERIOD: number;
70
+ BREAKOUT_LOOKBACK_DELAY: number;
71
+ BREAKOUT_LOOKBACK: number;
72
+ REQUIRED_SCORE_LONG: number;
73
+ REQUIRED_SCORE_SHORT: number;
74
+ SIGNALS_LONG: {
75
+ VOLATILE: {
76
+ weight: number;
77
+ required: boolean;
78
+ };
79
+ SMA_UPTREND: {
80
+ weight: number;
81
+ required: boolean;
82
+ };
83
+ OBV_ABOVE_SMA: {
84
+ weight: number;
85
+ required: boolean;
86
+ };
87
+ PREV_HIGH_BREAKOUT: {
88
+ weight: number;
89
+ required: boolean;
90
+ };
91
+ CLOSE_ABOVE_UPPER_BB: {
92
+ weight: number;
93
+ required: boolean;
94
+ };
95
+ CLOSE_ABOVE_HIGH_LEVEL: {
96
+ weight: number;
97
+ required: boolean;
98
+ };
99
+ CLOSE_ABOVE_PREV_CLOSE: {
100
+ weight: number;
101
+ required: boolean;
102
+ };
103
+ };
104
+ SIGNALS_SHORT: {
105
+ VOLATILE: {
106
+ weight: number;
107
+ required: boolean;
108
+ };
109
+ SMA_DOWNTREND: {
110
+ weight: number;
111
+ required: boolean;
112
+ };
113
+ OBV_BELOW_SMA: {
114
+ weight: number;
115
+ required: boolean;
116
+ };
117
+ PREV_LOW_BREAKDOWN: {
118
+ weight: number;
119
+ required: boolean;
120
+ };
121
+ CLOSE_BELOW_LOWER_BB: {
122
+ weight: number;
123
+ required: boolean;
124
+ };
125
+ CLOSE_BELOW_LOW_LEVEL: {
126
+ weight: number;
127
+ required: boolean;
128
+ };
129
+ CLOSE_BELOW_PREV_CLOSE: {
130
+ weight: number;
131
+ required: boolean;
132
+ };
133
+ };
134
+ TP_LONG: {
135
+ profit: number;
136
+ rate: number;
137
+ }[];
138
+ TP_SHORT: {
139
+ profit: number;
140
+ rate: number;
141
+ }[];
142
+ SL_LONG: number;
143
+ SL_SHORT: number;
144
+ };
145
+
146
+ declare const config$4: {
147
+ readonly ENV: "BACKTEST";
148
+ readonly INTERVAL: Interval;
149
+ readonly MAKE_ORDERS: true;
150
+ readonly CLOSE_OPPOSITE_POSITIONS: false;
151
+ readonly BACKTEST_PRICE_MODE: "mid";
152
+ readonly AI_ENABLED: false;
153
+ readonly AI_MODE: "llm";
154
+ readonly ML_ENABLED: false;
155
+ readonly ML_THRESHOLD: 0.1;
156
+ readonly MIN_AI_QUALITY: 3;
157
+ readonly FEE_PERCENT: 0.005;
158
+ readonly MAX_LOSS_VALUE: 10;
159
+ readonly TRADE_COOLDOWN_MS: 0;
160
+ readonly MA_FAST: 21;
161
+ readonly MA_SLOW: 55;
162
+ readonly LONG: {
163
+ readonly enable: true;
164
+ readonly direction: "LONG";
165
+ readonly TP: 2;
166
+ readonly SL: 1;
167
+ readonly minRiskRatio: 1.5;
168
+ };
169
+ readonly SHORT: {
170
+ readonly enable: true;
171
+ readonly direction: "SHORT";
172
+ readonly TP: 2;
173
+ readonly SL: 1;
174
+ readonly minRiskRatio: 1.5;
175
+ };
176
+ };
177
+
178
+ declare const config$3: {
179
+ readonly ENV: "BACKTEST";
180
+ readonly INTERVAL: Interval;
181
+ readonly MAKE_ORDERS: true;
182
+ readonly CLOSE_OPPOSITE_POSITIONS: false;
183
+ readonly BACKTEST_PRICE_MODE: "mid";
184
+ readonly AI_ENABLED: false;
185
+ readonly AI_MODE: "llm";
186
+ readonly MIN_AI_QUALITY: 3;
187
+ readonly FEE_PERCENT: 0.005;
188
+ readonly MAX_LOSS_VALUE: 10;
189
+ readonly MA_FAST: 14;
190
+ readonly MA_MEDIUM: 49;
191
+ readonly MA_SLOW: 50;
192
+ readonly OBV_SMA: 10;
193
+ readonly ATR: 14;
194
+ readonly ATR_PCT_SHORT: 7;
195
+ readonly ATR_PCT_LONG: 30;
196
+ readonly BB: 20;
197
+ readonly BB_STD: 2;
198
+ readonly MACD_FAST: 12;
199
+ readonly MACD_SLOW: 26;
200
+ readonly MACD_SIGNAL: 9;
201
+ readonly TRENDLINE: Partial<TrendLineOptions>;
202
+ readonly HIGHS: {
203
+ readonly enable: true;
204
+ readonly direction: "SHORT";
205
+ readonly TP: 3.2;
206
+ readonly SL: 1.1;
207
+ readonly minRiskRatio: 1.6;
208
+ };
209
+ readonly LOWS: {
210
+ readonly enable: true;
211
+ readonly direction: "LONG";
212
+ readonly TP: 3.2;
213
+ readonly SL: 1.1;
214
+ readonly minRiskRatio: 1.6;
215
+ };
216
+ };
217
+
218
+ declare const config$2: {
4
219
  readonly ENV: "BACKTEST";
5
220
  readonly INTERVAL: Interval;
6
221
  readonly MAKE_ORDERS: true;
7
222
  readonly CLOSE_OPPOSITE_POSITIONS: false;
8
223
  readonly BACKTEST_PRICE_MODE: "mid";
9
224
  readonly AI_ENABLED: false;
225
+ readonly AI_MODE: "llm";
226
+ readonly ML_ENABLED: false;
227
+ readonly ML_THRESHOLD: 0.1;
228
+ readonly MIN_AI_QUALITY: 3;
229
+ readonly FEE_PERCENT: 0.005;
230
+ readonly MAX_LOSS_VALUE: 10;
231
+ readonly MA_FAST: 14;
232
+ readonly MA_MEDIUM: 49;
233
+ readonly MA_SLOW: 50;
234
+ readonly OBV_SMA: 10;
235
+ readonly ATR: 14;
236
+ readonly ATR_PCT_SHORT: 7;
237
+ readonly ATR_PCT_LONG: 30;
238
+ readonly BB: 20;
239
+ readonly BB_STD: 2;
240
+ readonly MACD_FAST: 12;
241
+ readonly MACD_SLOW: 26;
242
+ readonly MACD_SIGNAL: 9;
243
+ readonly TRENDSHIFT_MULTIPLICATIVE_FACTOR: 4;
244
+ readonly TRENDSHIFT_SLOPE: 12;
245
+ readonly TRENDSHIFT_ATR_LENGTH: 150;
246
+ readonly TRENDSHIFT_WIDTH_PCT: 75;
247
+ readonly TRENDSHIFT_CONFIRM_FLIP_WITH_CLOSE: true;
248
+ readonly TRENDSHIFT_MIN_FLIP_DISTANCE_ATR: 0.15;
249
+ readonly TRENDSHIFT_EXIT_ON_OPPOSITE_FLIP: true;
250
+ readonly TRENDSHIFT_MAX_FIGURE_POINTS: 180;
251
+ readonly LONG: {
252
+ readonly enable: true;
253
+ readonly direction: "LONG";
254
+ readonly TP: 2.8;
255
+ readonly SL: 1.1;
256
+ readonly minRiskRatio: 1.6;
257
+ };
258
+ readonly SHORT: {
259
+ readonly enable: true;
260
+ readonly direction: "SHORT";
261
+ readonly TP: 2.8;
262
+ readonly SL: 1.1;
263
+ readonly minRiskRatio: 1.6;
264
+ };
265
+ };
266
+
267
+ declare const config$1: {
268
+ readonly ENV: "BACKTEST";
269
+ readonly INTERVAL: Interval;
270
+ readonly MAKE_ORDERS: true;
271
+ readonly CLOSE_OPPOSITE_POSITIONS: false;
272
+ readonly BACKTEST_PRICE_MODE: "mid";
273
+ readonly AI_ENABLED: false;
274
+ readonly AI_MODE: "llm";
10
275
  readonly ML_ENABLED: false;
11
276
  readonly ML_THRESHOLD: 0.1;
12
277
  readonly MIN_AI_QUALITY: 3;
13
278
  readonly FEE_PERCENT: 0.005;
14
279
  readonly MAX_LOSS_VALUE: 10;
15
- readonly MAX_CORRELATION: 0.45;
16
280
  readonly MA_FAST: 14;
17
281
  readonly MA_MEDIUM: 49;
18
282
  readonly MA_SLOW: 50;
@@ -44,6 +308,58 @@ declare const config: {
44
308
  };
45
309
  };
46
310
 
311
+ declare const config: {
312
+ readonly ENV: "BACKTEST";
313
+ readonly INTERVAL: Interval;
314
+ readonly MAKE_ORDERS: true;
315
+ readonly CLOSE_OPPOSITE_POSITIONS: false;
316
+ readonly BACKTEST_PRICE_MODE: "mid";
317
+ readonly AI_ENABLED: false;
318
+ readonly AI_MODE: "llm";
319
+ readonly ML_ENABLED: false;
320
+ readonly ML_THRESHOLD: 0.1;
321
+ readonly MIN_AI_QUALITY: 3;
322
+ readonly FEE_PERCENT: 0.005;
323
+ readonly MAX_LOSS_VALUE: 10;
324
+ readonly MA_FAST: 14;
325
+ readonly MA_MEDIUM: 49;
326
+ readonly MA_SLOW: 50;
327
+ readonly OBV_SMA: 10;
328
+ readonly ATR: 14;
329
+ readonly ATR_PCT_SHORT: 7;
330
+ readonly ATR_PCT_LONG: 30;
331
+ readonly BB: 20;
332
+ readonly BB_STD: 2;
333
+ readonly MACD_FAST: 12;
334
+ readonly MACD_SLOW: 26;
335
+ readonly MACD_SIGNAL: 9;
336
+ readonly LEVEL_LOOKBACK: 20;
337
+ readonly LEVEL_DELAY: 2;
338
+ readonly NORMALIZATION_LENGTH: 100;
339
+ readonly PIVOT_LOOKBACK_LEFT: 8;
340
+ readonly PIVOT_LOOKBACK_RIGHT: 3;
341
+ readonly MIN_BARS_BETWEEN_PIVOTS: 4;
342
+ readonly MAX_BARS_BETWEEN_PIVOTS: 36;
343
+ readonly ALLOW_STRUCTURE_ADVANCE_ENTRY: false;
344
+ readonly MIN_DIVERGENCE_AMPLITUDE_ATR_RATIO: 0.35;
345
+ readonly MIN_RECLAIM_PCT: 105;
346
+ readonly MIN_CONFIRMATION_CANDLE_QUALITY: 0.58;
347
+ readonly BULLISH: {
348
+ readonly enable: true;
349
+ readonly direction: "LONG";
350
+ readonly TP: 4;
351
+ readonly SL: 1.3;
352
+ readonly minRiskRatio: 2;
353
+ };
354
+ readonly BEARISH: {
355
+ readonly enable: true;
356
+ readonly direction: "SHORT";
357
+ readonly TP: 4;
358
+ readonly SL: 1.3;
359
+ readonly minRiskRatio: 2;
360
+ };
361
+ };
362
+
47
363
  declare const adaptiveMomentumRibbonAiAdapter: StrategyAiAdapter;
48
364
 
49
365
  declare const adaptiveMomentumRibbonMlAdapter: StrategyMlAdapter;
@@ -52,14 +368,19 @@ declare const maStrategyAiAdapter: StrategyAiAdapter;
52
368
 
53
369
  declare const maStrategyMlAdapter: StrategyMlAdapter;
54
370
 
371
+ declare const reverseTrendLineAiAdapter: StrategyAiAdapter;
372
+
373
+ declare const trendShiftAiAdapter: StrategyAiAdapter;
374
+
55
375
  declare const volumeDivergenceAiAdapter: StrategyAiAdapter;
56
376
 
57
377
  declare const volumeDivergenceMlAdapter: StrategyMlAdapter;
58
378
 
59
379
  declare const strategyEntries: StrategyRegistryEntry[];
380
+ declare const getBuiltInStrategyDefaultConfig: (strategyName: string) => StrategyConfig | undefined;
60
381
 
61
382
  declare const _default: {
62
383
  strategyEntries: StrategyRegistryEntry[];
63
384
  };
64
385
 
65
- export { adaptiveMomentumRibbonAiAdapter, adaptiveMomentumRibbonMlAdapter, _default as default, maStrategyAiAdapter, maStrategyMlAdapter, strategyEntries, config as trendLineDefaultConfig, volumeDivergenceAiAdapter, volumeDivergenceMlAdapter };
386
+ export { adaptiveMomentumRibbonAiAdapter, config$6 as adaptiveMomentumRibbonDefaultConfig, adaptiveMomentumRibbonMlAdapter, config$5 as breakoutDefaultConfig, _default as default, getBuiltInStrategyDefaultConfig, maStrategyAiAdapter, config$4 as maStrategyDefaultConfig, maStrategyMlAdapter, reverseTrendLineAiAdapter, config$3 as reverseTrendLineDefaultConfig, strategyEntries, config$1 as trendLineDefaultConfig, trendShiftAiAdapter, config$2 as trendShiftDefaultConfig, volumeDivergenceAiAdapter, config as volumeDivergenceDefaultConfig, volumeDivergenceMlAdapter };