fyers-api-v3 1.4.2 → 1.6.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/HSM/datasocket.min.js +1 -1
- package/HSM/mapper.js +1 -0
- package/README.md +370 -0
- package/apiService/apiService.js +805 -30
- package/config/config.js +14 -1
- package/ordersocket/fyersSocket.js +9 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -169,3 +169,373 @@ All you need to do is enable auto re-connection. For example
|
|
|
169
169
|
skt.autoReconnect(6);
|
|
170
170
|
```
|
|
171
171
|
|
|
172
|
+
## Price Alerts
|
|
173
|
+
|
|
174
|
+
This includes following APIs: `createPriceAlert`, `getPriceAlert`, `modifyPriceAlert`, `deletePriceAlert`, `togglePriceAlert`
|
|
175
|
+
|
|
176
|
+
### Create Price Alert
|
|
177
|
+
|
|
178
|
+
```javascript
|
|
179
|
+
var data = {
|
|
180
|
+
"agent": "fyers-api",
|
|
181
|
+
"alert-type": 1,
|
|
182
|
+
"name": "gold alert",
|
|
183
|
+
"symbol": "NSE:GOLDBEES-EQ",
|
|
184
|
+
"comparisonType": "LTP",
|
|
185
|
+
"condition": "GT",
|
|
186
|
+
"value": "9888",
|
|
187
|
+
"notes": " iji"
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
fyers.createPriceAlert(data).then((response) => {
|
|
191
|
+
console.log(response)
|
|
192
|
+
}).catch((error) => {
|
|
193
|
+
console.log(error)
|
|
194
|
+
})
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Get Price Alerts
|
|
198
|
+
|
|
199
|
+
```javascript
|
|
200
|
+
// Get all active alerts
|
|
201
|
+
fyers.getPriceAlert().then((response) => {
|
|
202
|
+
console.log(response)
|
|
203
|
+
}).catch((error) => {
|
|
204
|
+
console.log(error)
|
|
205
|
+
})
|
|
206
|
+
|
|
207
|
+
// Get archived alerts
|
|
208
|
+
var data = {"archive": "1"}
|
|
209
|
+
fyers.getPriceAlert(data).then((response) => {
|
|
210
|
+
console.log(response)
|
|
211
|
+
}).catch((error) => {
|
|
212
|
+
console.log(error)
|
|
213
|
+
})
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Update Price Alert
|
|
217
|
+
|
|
218
|
+
```javascript
|
|
219
|
+
var data = {
|
|
220
|
+
"alertId": "6249977",
|
|
221
|
+
"agent": "fyers-api",
|
|
222
|
+
"alert-type": 1,
|
|
223
|
+
"name": "goldy bees",
|
|
224
|
+
"symbol": "NSE:GOLDBEES-EQ",
|
|
225
|
+
"comparisonType": "OPEN",
|
|
226
|
+
"condition": "GT",
|
|
227
|
+
"value": "10000.00676766767676676667"
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
fyers.modifyPriceAlert(data).then((response) => {
|
|
231
|
+
console.log(response)
|
|
232
|
+
}).catch((error) => {
|
|
233
|
+
console.log(error)
|
|
234
|
+
})
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Delete Price Alert
|
|
238
|
+
|
|
239
|
+
```javascript
|
|
240
|
+
var data = {"alertId": "6131416", "agent": "fyers-api"}
|
|
241
|
+
|
|
242
|
+
fyers.deletePriceAlert(data).then((response) => {
|
|
243
|
+
console.log(response)
|
|
244
|
+
}).catch((error) => {
|
|
245
|
+
console.log(error)
|
|
246
|
+
})
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Toggle Price Alert (Enable/Disable)
|
|
250
|
+
|
|
251
|
+
```javascript
|
|
252
|
+
var data = {"alertId": "3870991"}
|
|
253
|
+
|
|
254
|
+
fyers.togglePriceAlert(data).then((response) => {
|
|
255
|
+
console.log(response)
|
|
256
|
+
}).catch((error) => {
|
|
257
|
+
console.log(error)
|
|
258
|
+
})
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
## Smart Orders
|
|
262
|
+
|
|
263
|
+
This includes following APIs: `createSmartOrderStep`, `createSmartOrderLimit`, `createSmartOrderTrail`, `createSmartOrderSIP`, `modifySmartOrder`, `cancelSmartOrder`, `pauseSmartOrder`, `resumeSmartOrder`, `getSmartOrderBookWithFilter`
|
|
264
|
+
|
|
265
|
+
Smart orders support different flow types: step, limit, trail, sip
|
|
266
|
+
|
|
267
|
+
### Create Smart Order - Step
|
|
268
|
+
|
|
269
|
+
```javascript
|
|
270
|
+
var data = {
|
|
271
|
+
"symbol": "NSE:SBIN-EQ",
|
|
272
|
+
"qty": 10,
|
|
273
|
+
"type": 1,
|
|
274
|
+
"side": 1,
|
|
275
|
+
"productType": "INTRADAY",
|
|
276
|
+
"limitPrice": 600.00,
|
|
277
|
+
"stopPrice": 0,
|
|
278
|
+
"validity": "DAY",
|
|
279
|
+
"disclosedQty": 0,
|
|
280
|
+
"offlineOrder": false
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
fyers.createSmartOrderStep(data).then((response) => {
|
|
284
|
+
console.log(response)
|
|
285
|
+
}).catch((error) => {
|
|
286
|
+
console.log(error)
|
|
287
|
+
})
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Create Smart Order - Limit
|
|
291
|
+
|
|
292
|
+
```javascript
|
|
293
|
+
var data = {
|
|
294
|
+
"symbol": "NSE:SBIN-EQ",
|
|
295
|
+
"qty": 10,
|
|
296
|
+
"type": 1,
|
|
297
|
+
"side": 1,
|
|
298
|
+
"productType": "INTRADAY",
|
|
299
|
+
"limitPrice": 600.00,
|
|
300
|
+
"stopPrice": 0,
|
|
301
|
+
"validity": "DAY",
|
|
302
|
+
"disclosedQty": 0,
|
|
303
|
+
"offlineOrder": false
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
fyers.createSmartOrderLimit(data).then((response) => {
|
|
307
|
+
console.log(response)
|
|
308
|
+
}).catch((error) => {
|
|
309
|
+
console.log(error)
|
|
310
|
+
})
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### Create Smart Order - Trail
|
|
314
|
+
|
|
315
|
+
```javascript
|
|
316
|
+
var data = {
|
|
317
|
+
"symbol": "NSE:SBIN-EQ",
|
|
318
|
+
"qty": 10,
|
|
319
|
+
"type": 1,
|
|
320
|
+
"side": 1,
|
|
321
|
+
"productType": "INTRADAY",
|
|
322
|
+
"limitPrice": 600.00,
|
|
323
|
+
"stopPrice": 0,
|
|
324
|
+
"validity": "DAY",
|
|
325
|
+
"disclosedQty": 0,
|
|
326
|
+
"offlineOrder": false
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
fyers.createSmartOrderTrail(data).then((response) => {
|
|
330
|
+
console.log(response)
|
|
331
|
+
}).catch((error) => {
|
|
332
|
+
console.log(error)
|
|
333
|
+
})
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### Create Smart Order - SIP
|
|
337
|
+
|
|
338
|
+
```javascript
|
|
339
|
+
var data = {
|
|
340
|
+
"symbol": "NSE:SBIN-EQ",
|
|
341
|
+
"qty": 10,
|
|
342
|
+
"type": 1,
|
|
343
|
+
"side": 1,
|
|
344
|
+
"productType": "CNC",
|
|
345
|
+
"limitPrice": 600.00,
|
|
346
|
+
"stopPrice": 0,
|
|
347
|
+
"validity": "DAY",
|
|
348
|
+
"disclosedQty": 0,
|
|
349
|
+
"offlineOrder": false
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
fyers.createSmartOrderSIP(data).then((response) => {
|
|
353
|
+
console.log(response)
|
|
354
|
+
}).catch((error) => {
|
|
355
|
+
console.log(error)
|
|
356
|
+
})
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### Modify Smart Order
|
|
360
|
+
|
|
361
|
+
```javascript
|
|
362
|
+
var data = {
|
|
363
|
+
"flowId": "123456789",
|
|
364
|
+
"limitPrice": 610.00,
|
|
365
|
+
"qty": 15
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
fyers.modifySmartOrder(data).then((response) => {
|
|
369
|
+
console.log(response)
|
|
370
|
+
}).catch((error) => {
|
|
371
|
+
console.log(error)
|
|
372
|
+
})
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
### Cancel Smart Order
|
|
376
|
+
|
|
377
|
+
```javascript
|
|
378
|
+
var data = {"flowId": "123456789"}
|
|
379
|
+
|
|
380
|
+
fyers.cancelSmartOrder(data).then((response) => {
|
|
381
|
+
console.log(response)
|
|
382
|
+
}).catch((error) => {
|
|
383
|
+
console.log(error)
|
|
384
|
+
})
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
### Pause Smart Order
|
|
388
|
+
|
|
389
|
+
```javascript
|
|
390
|
+
var data = {"flowId": "123456789"}
|
|
391
|
+
|
|
392
|
+
fyers.pauseSmartOrder(data).then((response) => {
|
|
393
|
+
console.log(response)
|
|
394
|
+
}).catch((error) => {
|
|
395
|
+
console.log(error)
|
|
396
|
+
})
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
### Resume Smart Order
|
|
400
|
+
|
|
401
|
+
```javascript
|
|
402
|
+
var data = {"flowId": "123456789"}
|
|
403
|
+
|
|
404
|
+
fyers.resumeSmartOrder(data).then((response) => {
|
|
405
|
+
console.log(response)
|
|
406
|
+
}).catch((error) => {
|
|
407
|
+
console.log(error)
|
|
408
|
+
})
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
### Get Smart Order Book with Filter
|
|
412
|
+
|
|
413
|
+
```javascript
|
|
414
|
+
// Get all smart orders
|
|
415
|
+
fyers.getSmartOrderBookWithFilter().then((response) => {
|
|
416
|
+
console.log(response)
|
|
417
|
+
}).catch((error) => {
|
|
418
|
+
console.log(error)
|
|
419
|
+
})
|
|
420
|
+
|
|
421
|
+
// Get filtered smart orders
|
|
422
|
+
// Filter by side (1 for Buy, -1 for Sell)
|
|
423
|
+
var data = {"side": [1]}
|
|
424
|
+
fyers.getSmartOrderBookWithFilter(data).then((response) => {
|
|
425
|
+
console.log(response)
|
|
426
|
+
}).catch((error) => {
|
|
427
|
+
console.log(error)
|
|
428
|
+
})
|
|
429
|
+
|
|
430
|
+
// Filter by multiple parameters
|
|
431
|
+
var data = {
|
|
432
|
+
"exchange": ["NSE"],
|
|
433
|
+
"side": [1, -1],
|
|
434
|
+
"flowtype": [1, 2],
|
|
435
|
+
"product": ["CNC", "INTRADAY"],
|
|
436
|
+
"messageType": [1, 2],
|
|
437
|
+
"search": "SBIN",
|
|
438
|
+
"sort_by": "CreatedTime",
|
|
439
|
+
"ord_by": 1,
|
|
440
|
+
"page_no": 1,
|
|
441
|
+
"page_size": 15
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
fyers.getSmartOrderBookWithFilter(data).then((response) => {
|
|
445
|
+
console.log(response)
|
|
446
|
+
}).catch((error) => {
|
|
447
|
+
console.log(error)
|
|
448
|
+
})
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
## Smart Exit Triggers
|
|
452
|
+
|
|
453
|
+
This includes following APIs: `createSmartExitTrigger`, `getSmartExitTrigger`, `updateSmartExitTrigger`, `activateDeactivateSmartExitTrigger`
|
|
454
|
+
|
|
455
|
+
### Create Smart Exit Trigger
|
|
456
|
+
|
|
457
|
+
```javascript
|
|
458
|
+
// Type 1: Only Alert (notification only, no auto-exit)
|
|
459
|
+
var data = {
|
|
460
|
+
"name": "Alert Only Strategy",
|
|
461
|
+
"type": 1,
|
|
462
|
+
"profitRate": 5000,
|
|
463
|
+
"lossRate": -2000
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
fyers.createSmartExitTrigger(data).then((response) => {
|
|
467
|
+
console.log(response)
|
|
468
|
+
}).catch((error) => {
|
|
469
|
+
console.log(error)
|
|
470
|
+
})
|
|
471
|
+
|
|
472
|
+
// Type 2: Exit with Alert (notification + immediate exit)
|
|
473
|
+
var data = {
|
|
474
|
+
"name": "Auto Exit Strategy",
|
|
475
|
+
"type": 2,
|
|
476
|
+
"profitRate": 5000,
|
|
477
|
+
"lossRate": -2000
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
fyers.createSmartExitTrigger(data).then((response) => {
|
|
481
|
+
console.log(response)
|
|
482
|
+
}).catch((error) => {
|
|
483
|
+
console.log(error)
|
|
484
|
+
})
|
|
485
|
+
|
|
486
|
+
// Type 3: Exit with Alert + Wait for Recovery (notification + delayed exit)
|
|
487
|
+
var data = {
|
|
488
|
+
"name": "Recovery Exit Strategy",
|
|
489
|
+
"type": 3,
|
|
490
|
+
"profitRate": 10000,
|
|
491
|
+
"lossRate": -3000,
|
|
492
|
+
"waitTime": 5
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
fyers.createSmartExitTrigger(data).then((response) => {
|
|
496
|
+
console.log(response)
|
|
497
|
+
}).catch((error) => {
|
|
498
|
+
console.log(error)
|
|
499
|
+
})
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### Get Smart Exit Triggers
|
|
503
|
+
|
|
504
|
+
```javascript
|
|
505
|
+
// Get all smart exit triggers
|
|
506
|
+
fyers.getSmartExitTrigger().then((response) => {
|
|
507
|
+
console.log(response)
|
|
508
|
+
}).catch((error) => {
|
|
509
|
+
console.log(error)
|
|
510
|
+
})
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
### Update Smart Exit Trigger
|
|
514
|
+
|
|
515
|
+
```javascript
|
|
516
|
+
var data = {
|
|
517
|
+
"flowId": "123456789",
|
|
518
|
+
"triggerPrice": 610.00,
|
|
519
|
+
"stopLoss": 600.00,
|
|
520
|
+
"takeProfit": 630.00
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
fyers.updateSmartExitTrigger(data).then((response) => {
|
|
524
|
+
console.log(response)
|
|
525
|
+
}).catch((error) => {
|
|
526
|
+
console.log(error)
|
|
527
|
+
})
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
### Activate Smart Exit Trigger
|
|
531
|
+
|
|
532
|
+
```javascript
|
|
533
|
+
var data = {"flowId": "123456789"}
|
|
534
|
+
|
|
535
|
+
fyers.activateDeactivateSmartExitTrigger(data).then((response) => {
|
|
536
|
+
console.log(response)
|
|
537
|
+
}).catch((error) => {
|
|
538
|
+
console.log(error)
|
|
539
|
+
})
|
|
540
|
+
```
|
|
541
|
+
|