@tradejs/strategies 1.0.6 → 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,4 +1,268 @@
1
- import { Interval, TrendLineOptions, StrategyAiAdapter, StrategyMlAdapter, StrategyRegistryEntry } from '@tradejs/types';
1
+ import { Interval, TrendLineOptions, StrategyAiAdapter, StrategyMlAdapter, StrategyRegistryEntry, StrategyConfig } from '@tradejs/types';
2
+
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: {
219
+ readonly ENV: "BACKTEST";
220
+ readonly INTERVAL: Interval;
221
+ readonly MAKE_ORDERS: true;
222
+ readonly CLOSE_OPPOSITE_POSITIONS: false;
223
+ readonly BACKTEST_PRICE_MODE: "mid";
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
+ };
2
266
 
3
267
  declare const config$1: {
4
268
  readonly ENV: "BACKTEST";
@@ -7,6 +271,7 @@ declare const config$1: {
7
271
  readonly CLOSE_OPPOSITE_POSITIONS: false;
8
272
  readonly BACKTEST_PRICE_MODE: "mid";
9
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;
@@ -50,6 +315,9 @@ declare const config: {
50
315
  readonly CLOSE_OPPOSITE_POSITIONS: false;
51
316
  readonly BACKTEST_PRICE_MODE: "mid";
52
317
  readonly AI_ENABLED: false;
318
+ readonly AI_MODE: "llm";
319
+ readonly ML_ENABLED: false;
320
+ readonly ML_THRESHOLD: 0.1;
53
321
  readonly MIN_AI_QUALITY: 3;
54
322
  readonly FEE_PERCENT: 0.005;
55
323
  readonly MAX_LOSS_VALUE: 10;
@@ -65,20 +333,30 @@ declare const config: {
65
333
  readonly MACD_FAST: 12;
66
334
  readonly MACD_SLOW: 26;
67
335
  readonly MACD_SIGNAL: 9;
68
- readonly TRENDLINE: Partial<TrendLineOptions>;
69
- readonly HIGHS: {
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: {
70
348
  readonly enable: true;
71
- readonly direction: "SHORT";
72
- readonly TP: 3.2;
73
- readonly SL: 1.1;
74
- readonly minRiskRatio: 1.6;
349
+ readonly direction: "LONG";
350
+ readonly TP: 4;
351
+ readonly SL: 1.3;
352
+ readonly minRiskRatio: 2;
75
353
  };
76
- readonly LOWS: {
354
+ readonly BEARISH: {
77
355
  readonly enable: true;
78
- readonly direction: "LONG";
79
- readonly TP: 3.2;
80
- readonly SL: 1.1;
81
- readonly minRiskRatio: 1.6;
356
+ readonly direction: "SHORT";
357
+ readonly TP: 4;
358
+ readonly SL: 1.3;
359
+ readonly minRiskRatio: 2;
82
360
  };
83
361
  };
84
362
 
@@ -92,14 +370,17 @@ declare const maStrategyMlAdapter: StrategyMlAdapter;
92
370
 
93
371
  declare const reverseTrendLineAiAdapter: StrategyAiAdapter;
94
372
 
373
+ declare const trendShiftAiAdapter: StrategyAiAdapter;
374
+
95
375
  declare const volumeDivergenceAiAdapter: StrategyAiAdapter;
96
376
 
97
377
  declare const volumeDivergenceMlAdapter: StrategyMlAdapter;
98
378
 
99
379
  declare const strategyEntries: StrategyRegistryEntry[];
380
+ declare const getBuiltInStrategyDefaultConfig: (strategyName: string) => StrategyConfig | undefined;
100
381
 
101
382
  declare const _default: {
102
383
  strategyEntries: StrategyRegistryEntry[];
103
384
  };
104
385
 
105
- export { adaptiveMomentumRibbonAiAdapter, adaptiveMomentumRibbonMlAdapter, _default as default, maStrategyAiAdapter, maStrategyMlAdapter, reverseTrendLineAiAdapter, config as reverseTrendLineDefaultConfig, strategyEntries, config$1 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 };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,268 @@
1
- import { Interval, TrendLineOptions, StrategyAiAdapter, StrategyMlAdapter, StrategyRegistryEntry } from '@tradejs/types';
1
+ import { Interval, TrendLineOptions, StrategyAiAdapter, StrategyMlAdapter, StrategyRegistryEntry, StrategyConfig } from '@tradejs/types';
2
+
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: {
219
+ readonly ENV: "BACKTEST";
220
+ readonly INTERVAL: Interval;
221
+ readonly MAKE_ORDERS: true;
222
+ readonly CLOSE_OPPOSITE_POSITIONS: false;
223
+ readonly BACKTEST_PRICE_MODE: "mid";
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
+ };
2
266
 
3
267
  declare const config$1: {
4
268
  readonly ENV: "BACKTEST";
@@ -7,6 +271,7 @@ declare const config$1: {
7
271
  readonly CLOSE_OPPOSITE_POSITIONS: false;
8
272
  readonly BACKTEST_PRICE_MODE: "mid";
9
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;
@@ -50,6 +315,9 @@ declare const config: {
50
315
  readonly CLOSE_OPPOSITE_POSITIONS: false;
51
316
  readonly BACKTEST_PRICE_MODE: "mid";
52
317
  readonly AI_ENABLED: false;
318
+ readonly AI_MODE: "llm";
319
+ readonly ML_ENABLED: false;
320
+ readonly ML_THRESHOLD: 0.1;
53
321
  readonly MIN_AI_QUALITY: 3;
54
322
  readonly FEE_PERCENT: 0.005;
55
323
  readonly MAX_LOSS_VALUE: 10;
@@ -65,20 +333,30 @@ declare const config: {
65
333
  readonly MACD_FAST: 12;
66
334
  readonly MACD_SLOW: 26;
67
335
  readonly MACD_SIGNAL: 9;
68
- readonly TRENDLINE: Partial<TrendLineOptions>;
69
- readonly HIGHS: {
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: {
70
348
  readonly enable: true;
71
- readonly direction: "SHORT";
72
- readonly TP: 3.2;
73
- readonly SL: 1.1;
74
- readonly minRiskRatio: 1.6;
349
+ readonly direction: "LONG";
350
+ readonly TP: 4;
351
+ readonly SL: 1.3;
352
+ readonly minRiskRatio: 2;
75
353
  };
76
- readonly LOWS: {
354
+ readonly BEARISH: {
77
355
  readonly enable: true;
78
- readonly direction: "LONG";
79
- readonly TP: 3.2;
80
- readonly SL: 1.1;
81
- readonly minRiskRatio: 1.6;
356
+ readonly direction: "SHORT";
357
+ readonly TP: 4;
358
+ readonly SL: 1.3;
359
+ readonly minRiskRatio: 2;
82
360
  };
83
361
  };
84
362
 
@@ -92,14 +370,17 @@ declare const maStrategyMlAdapter: StrategyMlAdapter;
92
370
 
93
371
  declare const reverseTrendLineAiAdapter: StrategyAiAdapter;
94
372
 
373
+ declare const trendShiftAiAdapter: StrategyAiAdapter;
374
+
95
375
  declare const volumeDivergenceAiAdapter: StrategyAiAdapter;
96
376
 
97
377
  declare const volumeDivergenceMlAdapter: StrategyMlAdapter;
98
378
 
99
379
  declare const strategyEntries: StrategyRegistryEntry[];
380
+ declare const getBuiltInStrategyDefaultConfig: (strategyName: string) => StrategyConfig | undefined;
100
381
 
101
382
  declare const _default: {
102
383
  strategyEntries: StrategyRegistryEntry[];
103
384
  };
104
385
 
105
- export { adaptiveMomentumRibbonAiAdapter, adaptiveMomentumRibbonMlAdapter, _default as default, maStrategyAiAdapter, maStrategyMlAdapter, reverseTrendLineAiAdapter, config as reverseTrendLineDefaultConfig, strategyEntries, config$1 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 };