# Algo trading functions

**URL:** <https://community.delta.exchange/t/algo-trading-functions/857>\
**Category:** APIs & Algo Trading\
**Created:** [March 5, 2025, 3:15am UTC](https://community.delta.exchange/t/algo-trading-functions/857 "2025-03-05T03:15:15Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![naren](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@naren](https://community.delta.exchange/u/naren)\
**Post date:** [March 5, 2025, 3:15am UTC](https://community.delta.exchange/t/algo-trading-functions/857/1 "2025-03-05T03:15:15Z")

</div>

import datetime as dt  
from datetime import datetime, timedelta  
import pandas as pd  
import json  
import sys  
import hmac  
import hashlib  
import time  
from typing import List  
from websocket import WebSocketApp  
import logging  
from zoneinfo import ZoneInfo  
from delta\_rest\_client import DeltaRestClient ,OrderType  
import requests  
import numpy as np  
np.NaN = np.nan  
import pandas\_ta  
import threading

# -----------------------------------------------------------------------------

# API Keys and DeltaRestClient setup

API\_KEY = ‘’  
API\_SECRET = ‘’  
delta\_client = DeltaRestClient(  
base\_url=‘[https://api.india.delta.exchange](https://api.india.delta.exchange)’,  
api\_key=API\_KEY,  
api\_secret=API\_SECRET  
)  
def sell\_bracket\_order\_limit(symbol ,lot , limit\_price , sltriggerprice ,sllimitprice , tgtriggerprice,tgtlimitprice):  
pi = delta\_client.get\_product(symbol)[‘id’]  
prams = {  
“product\_id”: pi,  
“product\_symbol”: symbol,  
“limit\_price”: limit\_price,  
“size”: lot,  
“side”: “sell”,  
“order\_type”: “limit\_order”,

“stop\_trigger\_method”: “last\_traded\_price”,  
“bracket\_stop\_loss\_limit\_price”: sllimitprice,  
“bracket\_stop\_loss\_price”: sltriggerprice,

“bracket\_take\_profit\_limit\_price”: tgtlimitprice,  
“bracket\_take\_profit\_price”: tgtriggerprice,  
“time\_in\_force”: “gtc”  
}  
response = delta\_client.request(“POST”, “/v2/orders”,prams,auth=True).json()  
return response

def buy\_bracket\_order\_limit(symbol ,lot , limit\_price , sltriggerprice ,sllimitprice , tgtriggerprice,tgtlimitprice):  
pi = delta\_client.get\_product(symbol)[‘id’]  
prams = {  
“product\_id”: pi,  
“product\_symbol”: symbol,  
“limit\_price”: limit\_price,  
“size”: lot,  
“side”: “buy”,  
“order\_type”: “limit\_order”,

“stop\_trigger\_method”: “last\_traded\_price”,  
“bracket\_stop\_loss\_limit\_price”: sllimitprice,  
“bracket\_stop\_loss\_price”: sltriggerprice,

“bracket\_take\_profit\_limit\_price”: tgtlimitprice,  
“bracket\_take\_profit\_price”: tgtriggerprice,  
“time\_in\_force”: “gtc”  
}  
response = delta\_client.request(“POST”, “/v2/orders”,prams,auth=True).json()  
return response[‘id’]

def modify\_order\_qty(symbol,orderno,qty):  
pi = delta\_client.get\_product(symbol)[‘id’]  
order = {  
‘id’: orderno,  
‘product\_id’: pi,  
‘size’: qty,  
#‘limit\_price’: str(0.2)  
}  
response = delta\_client.request(“PUT”, “/v2/orders”, order,auth=True)  
return response[‘state’]  
def modify\_order\_price(symbol,orderno,price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
order = {  
‘id’: orderno,  
‘product\_id’: pi,  
‘limit\_price’: str(price)  
}  
response = delta\_client.request(“PUT”, “/v2/orders”, order,auth=True)  
return response[‘state’]

def cancel\_order(symbol,orderno):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes=delta\_client.cancel\_order(product\_id=pi, order\_id=orderno)  
return orderRes[‘state’]  
def sell\_limit\_order(symbol ,lot, price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order( product\_id= pi, size= lot, side = ‘sell’, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]  
def buy\_limit\_order(symbol ,lot, price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order( product\_id= pi, size= lot, side = ‘buy’, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]  
def sell\_market\_order(symbol ,lot):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order( product\_id= pi, size= lot, side = ‘sell’, order\_type=OrderType.MARKET)  
return orderRes[‘id’]  
def buy\_market\_order(symbol ,lot):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order( product\_id= pi, size= lot, side = ‘buy’, order\_type=OrderType.MARKET)  
return orderRes[‘id’]  
def sell\_sl\_order(symbol ,lot, triggerprice,price ):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes =delta\_client.place\_stop\_order(product\_id=pi, size=lot, side = ‘sell’, stop\_price=triggerprice, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]  
def buy\_sl\_order(symbol ,lot, triggerprice,price ):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes =delta\_client.place\_stop\_order(product\_id=pi, size=lot, side = ‘buy’, stop\_price=triggerprice, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]  
def sell\_sl\_market\_order(symbol ,lot, triggerprice ):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes =delta\_client.place\_stop\_order(product\_id=pi, size=lot, side = ‘sell’, stop\_price=triggerprice, order\_type=OrderType.MARKET)  
return orderRes[‘id’]  
def buy\_sl\_market\_order(symbol ,lot, triggerprice ):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes =delta\_client.place\_stop\_order(product\_id=pi, size=lot, side = ‘buy’, stop\_price=triggerprice, order\_type=OrderType.MARKET)  
return orderRes[‘id’]

---

<div class="post-metadata">

**Author:** ![naren](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@naren](https://community.delta.exchange/u/naren)\
**Post date:** [March 5, 2025, 3:22am UTC](https://community.delta.exchange/t/algo-trading-functions/857/3 "2025-03-05T03:22:05Z")

</div>

(post deleted by author)

---

<div class="post-metadata">

**Author:** ![naren](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@naren](https://community.delta.exchange/u/naren)\
**Post date:** [March 5, 2025, 3:22am UTC](https://community.delta.exchange/t/algo-trading-functions/857/4 "2025-03-05T03:22:36Z")

</div>

# API Keys and DeltaRestClient setup

API\_KEY = ‘’  
API\_SECRET = ‘’  
delta\_client = DeltaRestClient(  
base\_url=‘[https://api.india.delta.exchange](https://api.india.delta.exchange)’,  
api\_key=API\_KEY,  
api\_secret=API\_SECRET  
)

def sell\_bracket\_order\_limit(symbol, lot, limit\_price, sltriggerprice, sllimitprice, tgtriggerprice, tgtlimitprice):  
pi = delta\_client.get\_product(symbol)[‘id’]  
prams = {  
“product\_id”: pi,  
“product\_symbol”: symbol,  
“limit\_price”: limit\_price,  
“size”: lot,  
“side”: “sell”,  
“order\_type”: “limit\_order”,  
“stop\_trigger\_method”: “last\_traded\_price”,  
“bracket\_stop\_loss\_limit\_price”: sllimitprice,  
“bracket\_stop\_loss\_price”: sltriggerprice,  
“bracket\_take\_profit\_limit\_price”: tgtlimitprice,  
“bracket\_take\_profit\_price”: tgtriggerprice,  
“time\_in\_force”: “gtc”  
}  
response = delta\_client.request(“POST”, “/v2/orders”, prams, auth=True).json()  
return response

def buy\_bracket\_order\_limit(symbol, lot, limit\_price, sltriggerprice, sllimitprice, tgtriggerprice, tgtlimitprice):  
pi = delta\_client.get\_product(symbol)[‘id’]  
prams = {  
“product\_id”: pi,  
“product\_symbol”: symbol,  
“limit\_price”: limit\_price,  
“size”: lot,  
“side”: “buy”,  
“order\_type”: “limit\_order”,  
“stop\_trigger\_method”: “last\_traded\_price”,  
“bracket\_stop\_loss\_limit\_price”: sllimitprice,  
“bracket\_stop\_loss\_price”: sltriggerprice,  
“bracket\_take\_profit\_limit\_price”: tgtlimitprice,  
“bracket\_take\_profit\_price”: tgtriggerprice,  
“time\_in\_force”: “gtc”  
}  
response = delta\_client.request(“POST”, “/v2/orders”, prams, auth=True).json()  
return response[‘id’]

def modify\_order\_qty(symbol, orderno, qty):  
pi = delta\_client.get\_product(symbol)[‘id’]  
order = {  
‘id’: orderno,  
‘product\_id’: pi,  
‘size’: qty,  
}  
response = delta\_client.request(“PUT”, “/v2/orders”, order, auth=True)  
return response[‘state’]

def modify\_order\_price(symbol, orderno, price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
order = {  
‘id’: orderno,  
‘product\_id’: pi,  
‘limit\_price’: str(price)  
}  
response = delta\_client.request(“PUT”, “/v2/orders”, order, auth=True)  
return response[‘state’]

def cancel\_order(symbol, orderno):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.cancel\_order(product\_id=pi, order\_id=orderno)  
return orderRes[‘state’]

def sell\_limit\_order(symbol, lot, price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order(product\_id=pi, size=lot, side=‘sell’, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]

def buy\_limit\_order(symbol, lot, price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order(product\_id=pi, size=lot, side=‘buy’, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]

def sell\_market\_order(symbol, lot):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order(product\_id=pi, size=lot, side=‘sell’, order\_type=OrderType.MARKET)  
return orderRes[‘id’]

def buy\_market\_order(symbol, lot):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order(product\_id=pi, size=lot, side=‘buy’, order\_type=OrderType.MARKET)  
return orderRes[‘id’]

def sell\_sl\_order(symbol, lot, triggerprice, price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_stop\_order(product\_id=pi, size=lot, side=‘sell’, stop\_price=triggerprice, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]

def buy\_sl\_order(symbol, lot, triggerprice, price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_stop\_order(product\_id=pi, size=lot, side=‘buy’, stop\_price=triggerprice, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]

def sell\_sl\_market\_order(symbol, lot, triggerprice):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_stop\_order(product\_id=pi, size=lot, side=‘sell’, stop\_price=triggerprice, order\_type=OrderType.MARKET)  
return orderRes[‘id’]

def buy\_sl\_market\_order(symbol, lot, triggerprice):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_stop\_order(product\_id=pi, size=lot, side=‘buy’, stop\_price=triggerprice, order\_type=OrderType.MARKET)  
return orderRes[‘id’]

---

<div class="post-metadata">

**Author:** ![naren](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@naren](https://community.delta.exchange/u/naren)\
**Post date:** [March 5, 2025, 4:01am UTC](https://community.delta.exchange/t/algo-trading-functions/857/8 "2025-03-05T04:01:45Z")

</div>

apikey = ‘’  
apiSecret = ‘’

from delta\_rest\_client import DeltaRestClient ,OrderType

delta\_client = DeltaRestClient(  
base\_url=‘hxxps://api.india.delta.exchange’,  
api\_key=apikey,  
api\_secret=apiSecret  
)

def sell\_bracket\_order\_limit(symbol ,lot , limit\_price , sltriggerprice ,sllimitprice , tgtriggerprice,tgtlimitprice):  
pi = delta\_client.get\_product(symbol)[‘id’]  
prams = {  
“product\_id”: pi,  
“product\_symbol”: symbol,  
“limit\_price”: limit\_price,  
“size”: 1,  
“side”: “sell”,  
“order\_type”: “limit\_order”,

“stop\_trigger\_method”: “last\_traded\_price”,  
“bracket\_stop\_loss\_limit\_price”: sllimitprice,  
“bracket\_stop\_loss\_price”: sltriggerprice,

“bracket\_take\_profit\_limit\_price”: tgtlimitprice,  
“bracket\_take\_profit\_price”: tgtriggerprice,  
“time\_in\_force”: “gtc”  
}  
response = delta\_client.request(“POST”, “/v2/orders”,prams,auth=True).json()  
return response[‘id’]

def buy\_bracket\_order\_limit(symbol ,lot , limit\_price , sltriggerprice ,sllimitprice , tgtriggerprice,tgtlimitprice):  
pi = delta\_client.get\_product(symbol)[‘id’]  
prams = {  
“product\_id”: pi,  
“product\_symbol”: symbol,  
“limit\_price”: limit\_price,  
“size”: 1,  
“side”: “buy”,  
“order\_type”: “limit\_order”,

“stop\_trigger\_method”: “last\_traded\_price”,  
“bracket\_stop\_loss\_limit\_price”: sllimitprice,  
“bracket\_stop\_loss\_price”: sltriggerprice,

“bracket\_take\_profit\_limit\_price”: tgtlimitprice,  
“bracket\_take\_profit\_price”: tgtriggerprice,  
“time\_in\_force”: “gtc”  
}  
response = delta\_client.request(“POST”, “/v2/orders”,prams,auth=True).json()  
return response[‘id’]

def modify\_order\_qty(symbol,orderno,qty):  
pi = delta\_client.get\_product(symbol)[‘id’]  
order = {  
‘id’: orderno,  
‘product\_id’: pi,  
‘size’: qty,  
#‘limit\_price’: str(0.2)  
}  
response = delta\_client.request(“PUT”, “/v2/orders”, order,auth=True)  
return response[‘state’]  
def modify\_order\_price(symbol,orderno,price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
order = {  
‘id’: orderno,  
‘product\_id’: pi,  
‘limit\_price’: str(price)  
}  
response = delta\_client.request(“PUT”, “/v2/orders”, order,auth=True)  
return response[‘state’]

def cancel\_order(symbol,orderno):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes=delta\_client.cancel\_order(product\_id=pi, order\_id=orderno)  
return orderRes[‘state’]  
def sell\_limit\_order(symbol ,lot, price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order( product\_id= pi, size= lot, side = ‘sell’, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]  
def buy\_limit\_order(symbol ,lot, price):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order( product\_id= pi, size= lot, side = ‘buy’, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]  
def sell\_market\_order(symbol ,lot):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order( product\_id= pi, size= lot, side = ‘sell’, order\_type=OrderType.MARKET)  
return orderRes[‘id’]  
def buy\_market\_order(symbol ,lot):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes = delta\_client.place\_order( product\_id= pi, size= lot, side = ‘buy’, order\_type=OrderType.MARKET)  
return orderRes[‘id’]  
def sell\_sl\_order(symbol ,lot, triggerprice,price ):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes =delta\_client.place\_stop\_order(product\_id=pi, size=lot, side = ‘sell’, stop\_price=triggerprice, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]  
def buy\_sl\_order(symbol ,lot, triggerprice,price ):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes =delta\_client.place\_stop\_order(product\_id=pi, size=lot, side = ‘buy’, stop\_price=triggerprice, limit\_price=price, order\_type=OrderType.LIMIT)  
return orderRes[‘id’]  
def sell\_sl\_market\_order(symbol ,lot, triggerprice ):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes =delta\_client.place\_stop\_order(product\_id=pi, size=lot, side = ‘sell’, stop\_price=triggerprice, order\_type=OrderType.MARKET)  
return orderRes[‘id’]  
def buy\_sl\_market\_order(symbol ,lot, triggerprice ):  
pi = delta\_client.get\_product(symbol)[‘id’]  
orderRes =delta\_client.place\_stop\_order(product\_id=pi, size=lot, side = ‘buy’, stop\_price=triggerprice, order\_type=OrderType.MARKET)  
return orderRes[‘id’]

---

<div class="post-metadata">

**Author:** ![naren](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@naren](https://community.delta.exchange/u/naren)\
**Post date:** [March 5, 2025, 4:02am UTC](https://community.delta.exchange/t/algo-trading-functions/857/9 "2025-03-05T04:02:35Z")

</div>

![image](https://canada1.discourse-cdn.com/flex004/uploads/deltaexchange/original/1X/7a8eace2566c8214c780f3d72ea927d283a9493c.png)

---

<div class="post-metadata">

**Author:** ![naren](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@naren](https://community.delta.exchange/u/naren)\
**Post date:** [March 5, 2025, 4:03am UTC](https://community.delta.exchange/t/algo-trading-functions/857/10 "2025-03-05T04:03:28Z")

</div>

![image](https://canada1.discourse-cdn.com/flex004/uploads/deltaexchange/original/1X/d07a91d386819ce343bcd1d89e12e780e8d11b94.png)

---

<div class="post-metadata">

**Author:** ![naren](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@naren](https://community.delta.exchange/u/naren)\
**Post date:** [March 5, 2025, 4:06am UTC](https://community.delta.exchange/t/algo-trading-functions/857/11 "2025-03-05T04:06:31Z")

</div>

They are not allowed me post full algo code , i have code for gui algo trading with supertrand , using websocket

 ![image](https://canada1.discourse-cdn.com/flex004/uploads/deltaexchange/original/1X/28916cdd622a09478b80fddcfea030cdb41c7c45.png)

---

<div class="post-metadata">

**Author:** ![pankajbalani](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.delta.exchange/pankajbalani/32/29_2.png) [@pankajbalani](https://community.delta.exchange/u/pankajbalani)\
**Post date:** [March 5, 2025, 5:35am UTC](https://community.delta.exchange/t/algo-trading-functions/857/12 "2025-03-05T05:35:01Z")

</div>

what is your question Naren?

---

<div class="post-metadata">

**Author:** ![tradingwinnerindia](https://avatars.discourse-cdn.com/v4/letter/t/73ab20/32.png) [@tradingwinnerindia](https://community.delta.exchange/u/tradingwinnerindia)\
**Post date:** [March 17, 2025, 5:27am UTC](https://community.delta.exchange/t/algo-trading-functions/857/13 "2025-03-17T05:27:29Z")

</div>

Hi Naren, i am using candlistic data for 1 min timeframe which is delayed by 1 min, and same is with other timeframes, i am using ema crossover, the signals are detected, can you share the timeframe, supertrend setting (10,3) or what ? if you can share the OHLC conversion from tick data , this will be helpful, are you using supertrend alone or is it in combination with other indicator, and is your trades successful ?

---

<div class="post-metadata">

**Author:** ![tradingwinnerindia](https://avatars.discourse-cdn.com/v4/letter/t/73ab20/32.png) [@tradingwinnerindia](https://community.delta.exchange/u/tradingwinnerindia)\
**Post date:** [March 21, 2025, 5:41am UTC](https://community.delta.exchange/t/algo-trading-functions/857/14 "2025-03-21T05:41:17Z")

</div>

Hi Pankaj Ji,

i am using delta api , and using historical data to fetch the candle data for 15 mins which is delayed by 15 min, i am able to place orders, stoploss and everything, but since its delayed my entry in the market is delayed, but i want to place orders exactly when the signal is received in the live candlestick chart, i use supertrend to get the signal, but since its delayed based on historical data , i get the signal on the next candle for entry , can you suggest any fix or solution , i tried using websocket to collect all 1 min data past last 15 min of which i have the 15 min historical data and add it to the historical data and then calculate the supertrend to get the signal, but in that case, 1 min candlesticks data received via sockets, is irregular, some candles are received and some are dropped, and thus i am not able to actually build the data set to get the mean of High and Low and add it in the historical data, can you kindly help and suggest the way to do it, your suggestion or feedback will surely help. If you wish i can share the code for your kind consideration.

Best Regards,  
T

---

<div class="post-metadata">

**Author:** ![pankajbalani](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.delta.exchange/pankajbalani/32/29_2.png) [@pankajbalani](https://community.delta.exchange/u/pankajbalani)\
**Post date:** [March 23, 2025, 9:53am UTC](https://community.delta.exchange/t/algo-trading-functions/857/15 "2025-03-23T09:53:02Z")

</div>

hi, let me look into this but are you collecting recent trades on socket? are you seeing a drop in fills on that?

---

<div class="post-metadata">

**Author:** ![ayush.aggrwl](https://avatars.discourse-cdn.com/v4/letter/a/f04885/32.png) [@ayush.aggrwl](https://community.delta.exchange/u/ayush.aggrwl)\
**Post date:** [March 26, 2025, 2:18pm UTC](https://community.delta.exchange/t/algo-trading-functions/857/16 "2025-03-26T14:18:22Z")

</div>

Hi @tradingwinnerindia

resolution - 15m  
time label on candle - 11:45 (candle timestamp in api response)

this candles gets fromed conitnuosuly between 11:45 to 12

starting from 11:45 for next 1 minute → 11:46 → data gets aggregated

So, at 11:46 the candle is actually available onto API but the candle timstamp is 11:45  
next update is at 11:47 and so on  
this way finanly at 12, the candle completes and is available but candle timestamp is 11:45  
Now new candle of timestamp 12 will start and first updates at 12:01

(current timestamp candle high, low, close will change every minute in the api because api serves snapshot data not the real time data)

for real time updates, web socket feed is the best way which published the latest ohlc to the user.

For websocket missing data issue, pls provide the following info, to further investigate.

1. what channel with what exactly symbols is subscribed
2. where are you checking irregularity from? Delta web?
3. what kind of irregularity is detected? price difference, or any candle update which comes of delta platform but not the user subscribed channel?
