hedgequantx 1.2.95 → 1.2.96

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/pages/algo.js +44 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedgequantx",
3
- "version": "1.2.95",
3
+ "version": "1.2.96",
4
4
  "description": "Prop Futures Algo Trading CLI - Connect to Topstep, Alpha Futures, and other prop firms",
5
5
  "main": "src/app.js",
6
6
  "bin": {
package/src/pages/algo.js CHANGED
@@ -203,13 +203,50 @@ const selectSymbolMenu = async (service, account) => {
203
203
 
204
204
  console.log();
205
205
 
206
+ // Symbol name descriptions
207
+ const symbolDescriptions = {
208
+ 'NQ': 'E-mini NASDAQ-100',
209
+ 'MNQ': 'Micro E-mini NASDAQ-100',
210
+ 'ES': 'E-mini S&P 500',
211
+ 'MES': 'Micro E-mini S&P 500',
212
+ 'YM': 'E-mini Dow Jones',
213
+ 'MYM': 'Micro E-mini Dow Jones',
214
+ 'RTY': 'E-mini Russell 2000',
215
+ 'M2K': 'Micro E-mini Russell 2000',
216
+ 'CL': 'Crude Oil WTI',
217
+ 'MCL': 'Micro Crude Oil',
218
+ 'NG': 'Natural Gas',
219
+ 'QG': 'E-mini Natural Gas',
220
+ 'QM': 'E-mini Crude Oil',
221
+ 'GC': 'Gold',
222
+ 'MGC': 'Micro Gold',
223
+ 'SI': 'Silver',
224
+ 'SIL': 'Micro Silver',
225
+ 'HG': 'Copper',
226
+ 'PL': 'Platinum',
227
+ '6E': 'Euro FX',
228
+ 'M6E': 'Micro Euro FX',
229
+ '6B': 'British Pound',
230
+ '6J': 'Japanese Yen',
231
+ '6A': 'Australian Dollar',
232
+ '6C': 'Canadian Dollar',
233
+ '6M': 'Mexican Peso',
234
+ '6S': 'Swiss Franc',
235
+ 'ZB': '30-Year T-Bond',
236
+ 'ZN': '10-Year T-Note',
237
+ 'ZF': '5-Year T-Note',
238
+ 'ZT': '2-Year T-Note',
239
+ 'ZC': 'Corn',
240
+ 'ZS': 'Soybeans',
241
+ 'ZW': 'Wheat'
242
+ };
243
+
206
244
  // Format symbols for display
207
245
  const symbolChoices = availableSymbols.map(symbol => {
208
- const name = symbol.name || symbol.symbol || symbol.id;
209
246
  const symbolCode = symbol.symbol || symbol.id || '';
210
247
 
211
248
  // Extract base symbol (e.g., NQ from NQH6) and month code
212
- const baseMatch = symbolCode.match(/^([A-Z]{1,4})([FGHJKMNQUVXZ])(\d{1,2})$/i);
249
+ const baseMatch = symbolCode.match(/^([A-Z0-9]{1,4})([FGHJKMNQUVXZ])(\d{1,2})$/i);
213
250
  let baseSymbol = symbolCode;
214
251
  let monthYear = '';
215
252
 
@@ -221,9 +258,12 @@ const selectSymbolMenu = async (service, account) => {
221
258
  monthYear = (monthCodes[monthCode] || monthCode) + year;
222
259
  }
223
260
 
224
- // Format: "NQ Mar26 E-mini NASDAQ-100 Mar26"
261
+ // Get descriptive name from mapping
262
+ const description = symbolDescriptions[baseSymbol] || symbol.name || baseSymbol;
263
+
264
+ // Format: "NQ Mar26 E-mini NASDAQ-100"
225
265
  return {
226
- name: chalk.yellow(baseSymbol.padEnd(5)) + chalk.cyan(monthYear.padEnd(7)) + chalk.white(name),
266
+ name: chalk.yellow(baseSymbol.padEnd(5)) + chalk.cyan(monthYear.padEnd(7)) + chalk.white(description),
227
267
  value: symbol
228
268
  };
229
269
  });