Navigation

    SmartAPI Forum
    • Register
    • Login
    • Search
    • Categories
    • Popular
    • Groups
    • FAQs
    • API Docs
    1. Home
    2. Mnagesh
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Mnagesh

    @Mnagesh

    I was a professor in computer science and engineering having 25 years of teaching experience in ECE and CSE together.

    I am in to trading since 12 years - part time after my duty hours mainly in mcx as well as FNO.

    I am having little knowledge in technical analysis and in depth knowledge in my own domain.

    I am intrested in Algo Trading especially in FNO.

    Now I am full time Algo Trader and successfully developed my own Apps for my personal use.

    13
    Reputation
    250
    Posts
    201
    Profile views
    17
    Followers
    1
    Following
    Joined Last Online
    Location Mysuru

    Mnagesh Follow
    SmartAPI Group

    Best posts made by Mnagesh

    • getCandleData delay by 75 seconds to 90 sconds

      angel delay1.jpg
      @admin
      @administrators
      We are getting candle data almost more than 75 seconds delay.

      just check the image for reference

      I tried to get a candle at 14:15

      but I got the candle at 14:16:16

      it will be delayed by 75 seconds to 95 seconds in most of the time .

      I started looping at every 10 sec from 14:15 to observe the last candle data and ultimately I received the candle at 14:16:16 instead of 14:15 . It is a delay of 75 sec in this case.

      posted in Python SDK
      Mnagesh
      Mnagesh
    • I think they are changing or updating the script master

      https://margincalculator.angelbroking.com/OpenAPI_File/files/OpenAPIScripMaster.json

      I think they are changing or updating the script master

      if so please inform because we cannot work if any changes .

      posted in General Discussion
      Mnagesh
      Mnagesh
    • RE: challenges using Smartapi

      @Mnagesh

      Main challenges I am facing are :

      1. Gap up or gap down opening - On that day the market goes sideways for sure .
      2. Range Bound or sideways
      3. Spikes are danger
      4. spike followed by reverse spike is too danger (Immediate next candle !)
      5. Most of my trade goes lose between 11:00 to 12: 30 in Nifty Future

      signals works only in trending market.
      Trend occurs only once in a wile and remaining all 5 cases it goes lose !!!

      posted in General Discussion
      Mnagesh
      Mnagesh
    • RE: challenges using Smartapi

      @falconTrader I am happy at least your are interested in discussion. Most of the many are least bothered . Including @admin wont reply even if some technical issues were there or we brought it to @admin notice.

      posted in General Discussion
      Mnagesh
      Mnagesh
    • RE: Query Regarding Stock Symbol Token Changes

      @Malav it is better to download script master once in a week may be every Saturday or at least once in a month so that the symbols and tokens we get the updated ones

      posted in General Discussion
      Mnagesh
      Mnagesh
    • RE: time frame

      @ramk Thank You
      may get more frequent signal
      more signals means more we pay for brokerage
      Also we get more fake signals

      which Technical Analysis tool you are using ? like moving average, MACD, RSI or some thing else ?

      posted in General Discussion
      Mnagesh
      Mnagesh
    • RE: Delayed response by 2 min

      @vivekruhela Yes delay is there from 70 to 90 seconds in Historical Api to get the candles of any candle size 1, 3, 5 or 10 etc....

      Since I am using I am observing delay . I informed to angel few time but the issue remained same.

      I am looking for Market Api Data providers but they are too costly.

      so I am continuing with the same delayed data as I am still in the experimenting stage .

      once my algorithm are satisficed I may go for subscribing commercial market data providers .

      @admin

      posted in Python SDK
      Mnagesh
      Mnagesh
    • RE: getCandleData delay by 75 seconds to 90 sconds

      @Mnagesh ![alt text](t1.jpg image url)

      Still we get 70 to 90 sec delayed candles
      @admin

      posted in Python SDK
      Mnagesh
      Mnagesh
    • List of all Smartapi functions in Python

      There are around 30 functions provided by SmartApi :

      I am exploring all of them here.

      Thought May be useful for someone.

      if any one need to explore any particular function one can start the new thread in the python group .

      #########################################


      def cancelOrder(self, order_id,variety):
          orderResponse= self._postRequest("api.order.cancel", {"variety": variety,"orderid": order_id})
          return orderResponse
      

      def convertPosition(self,positionParams):
          params=positionParams
          for k in list(params.keys()):
              if params[k] is None:
                  del(params[k])
          convertPositionResponse= self._postRequest("api.convert.position",params)
      
          return convertPositionResponse
      

      def generateSession(self,clientCode,password,totp):
          
          params={"clientcode":clientCode,"password":password,"totp":totp}
          loginResultObject=self._postRequest("api.login",params)
          
          if loginResultObject['status']==True:
              jwtToken=loginResultObject['data']['jwtToken']
              self.setAccessToken(jwtToken)
              refreshToken=loginResultObject['data']['refreshToken']
              feedToken=loginResultObject['data']['feedToken']
              self.setRefreshToken(refreshToken)
              self.setFeedToken(feedToken)
              user=self.getProfile(refreshToken)
          
              id=user['data']['clientcode']
              #id='D88311'
              self.setUserId(id)
              user['data']['jwtToken']="Bearer "+jwtToken
              user['data']['refreshToken']=refreshToken
      
              
              return user
          else:
              return loginResultObject
      

      def generateToken(self,refresh_token):
          response=self._postRequest('api.token',{"refreshToken":refresh_token})
          jwtToken=response['data']['jwtToken']
          feedToken=response['data']['feedToken']
          self.setFeedToken(feedToken)
          self.setAccessToken(jwtToken)
      
          return response
      

      def getCandleData(self,historicDataParams):
          params=historicDataParams
          for k in list(params.keys()):
              if params[k] is None:
                  del(params[k])
          getCandleDataResponse=self._postRequest("api.candle.data",historicDataParams)
          return getCandleDataResponse
      

      def getProfile(self,refreshToken):
          user=self._getRequest("api.user.profile",{"refreshToken":refreshToken})
          return user
      

      def getUserId():
          return userId
      

      def getfeedToken(self):
          return self.feed_token
      

      def gttCancelRule(self,gttCancelParams):
          params=gttCancelParams
          for k in list(params.keys()):
              if params[k] is None:
                  del(params[k])
          
          #print(params)
          cancelGttRuleResponse=self._postRequest("api.gtt.cancel",params)
          #print(cancelGttRuleResponse)
          return cancelGttRuleResponse
      

      def gttCreateRule(self,createRuleParams):
          params=createRuleParams
          for k in list(params.keys()):
              if params[k] is None:
                  del(params[k])
      
          createGttRuleResponse=self._postRequest("api.gtt.create",params)
          #print(createGttRuleResponse)       
          return createGttRuleResponse['data']['id']
      

      def gttDetails(self,id):
          params={
              "id":id
              }
          gttDetailsResponse=self._postRequest("api.gtt.details",params)
          return gttDetailsResponse
      

      def gttLists(self,status,page,count):
          if type(status)== list:
              params={
                  "status":status,
                  "page":page,
                  "count":count
              }
              gttListResponse=self._postRequest("api.gtt.list",params)
              #print(gttListResponse)
              return gttListResponse
          else:
              message="The status param is entered as" +str(type(status))+". Please enter status param as a list i.e., status=['CANCELLED']"
              return message
      

      def gttModifyRule(self,modifyRuleParams):
          params=modifyRuleParams
          for k in list(params.keys()):
              if params[k] is None:
                  del(params[k])
          modifyGttRuleResponse=self._postRequest("api.gtt.modify",params)
          #print(modifyGttRuleResponse)
          return modifyGttRuleResponse['data']['id']
      

      def holding(self):
          holdingResponse= self._getRequest("api.holding")
          return holdingResponse
      

      def login_url(self):
          """Get the remote login url to which a user should be redirected to initiate the login flow."""
          return "%s?api_key=%s" % (self._login_url, self.api_key)
      

      def ltpData(self,exchange,tradingsymbol,symboltoken):
          params={
              "exchange":exchange,
              "tradingsymbol":tradingsymbol,
              "symboltoken":symboltoken
          }
          ltpDataResponse= self._postRequest("api.ltp.data",params)
          return ltpDataResponse
      

      def modifyOrder(self,orderparams):
          params = orderparams
      
          for k in list(params.keys()):
              if params[k] is None:
                  del(params[k])
      
          orderResponse= self._postRequest("api.order.modify", params)
          return orderResponse
      

      def orderBook(self):
          orderBookResponse=self._getRequest("api.order.book")
          return orderBookResponse
      

      def placeOrder(self,orderparams):
      
          params=orderparams
         
          for k in list(params.keys()):
              if params[k] is None :
                  del(params[k])
          
          orderResponse= self._postRequest("api.order.place", params)['data']['orderid']
      
          return orderResponse
      

      def position(self):
          positionResponse= self._getRequest("api.position")
          return positionResponse
      

      def renewAccessToken(self):
          response =self._postRequest('api.refresh', {
              "jwtToken": self.access_token,
              "refreshToken": self.refresh_token,
              
          })
         
          tokenSet={}
      
          if "jwtToken" in response:
              tokenSet['jwtToken']=response['data']['jwtToken']
          tokenSet['clientcode']=self. userId   
          tokenSet['refreshToken']=response['data']["refreshToken"]
         
          return tokenSet
      

      def requestHeaders(self):
          return{
              "Content-type":self.accept,
              "X-ClientLocalIP": self.clientLocalIp,
              "X-ClientPublicIP": self.clientPublicIp,
              "X-MACAddress": self.clientMacAddress,
              "Accept": self.accept,
              "X-PrivateKey": self.privateKey,
              "X-UserType": self.userType,
              "X-SourceID": self.sourceID
          }
      

      def rmsLimit(self):
          rmsLimitResponse= self._getRequest("api.rms.limit")
          return rmsLimitResponse
      

      def setAccessToken(self, access_token):
      
          self.access_token = access_token
      

      def setFeedToken(self,feedToken):
          
          self.feed_token=feedToken
      

      def setRefreshToken(self, refresh_token):
      
          self.refresh_token = refresh_token
      

      def setSessionExpiryHook(self, method):
          if not callable(method):
              raise TypeError("Invalid input type. Only functions are accepted.")
          self.session_expiry_hook = method
      

      def setUserId(self,id):
          self.userId=id
      

      def terminateSession(self,clientCode):
          logoutResponseObject=self._postRequest("api.logout",{"clientcode":clientCode})
          return logoutResponseObject
      

      def tradeBook(self):
          tradeBookResponse=self._getRequest("api.trade.book")
          return tradeBookResponse
      

      posted in Python SDK
      Mnagesh
      Mnagesh
    • master script nothing inside today ?

      ce742728-c668-4129-af51-679558166f5a-image.png

      https://margincalculator.angelbroking.com/OpenAPI_File/files/OpenAPIScripMaster.json

      posted in Bugs
      Mnagesh
      Mnagesh

    Latest posts made by Mnagesh

    • lost charts study templates

      I lost all my charts study templates.

      There is no proper response from angel one .

      this might have been happen due to recent mobile app update from play store .

      screenshot angel app.jpeg

      posted in General Discussion
      Mnagesh
      Mnagesh
    • Happy New Year - 2025

      wish you good luck in all your trading .

      posted in General Discussion
      Mnagesh
      Mnagesh
    • Arbitrage

      Is any one is doing arbitrage Future and Equity pair NFO?

      posted in General Discussion
      Mnagesh
      Mnagesh
    • ltp not update since 20 mins or so

      f8cb57a9-cdc8-4b59-b1e9-c11cd9cf4e64-image.png

      the ltp for ICICIGI OCT FUT is not update
      ltp is showing 2005
      where as buy sell tx are happing at 1960 around

      posted in General Discussion
      Mnagesh
      Mnagesh
    • RE: How to add fund using API ?

      @oaktree_priyanka

      add fund one has to use either app or trade angel web only.

      similarly withdraw also through app or web but not api

      posted in General Discussion
      Mnagesh
      Mnagesh
    • RE: How to fetch old expiry dates using python sdk?

      @Mitrajit use underlying instrument
      like nifty index instead of nifty future or options
      similarly use SBIN-EQ instead of SBIN future or options

      posted in Python SDK
      Mnagesh
      Mnagesh
    • RE: facing issue in installing smart api library.

      @mst_rajatmishra

      1. Without pycryto smartapi will work
      2. install one by one rather then using requirement in one go.
      3. better to use python 3.10.13 otherwise TA-LIB will not be installed
      posted in General Discussion
      Mnagesh
      Mnagesh
    • error AB1050

      Getting totp error for one of my client .

      [I 240608 11:04:15 smartConnect:121] in pool
      [E 240608 11:04:15 smartConnect:243] Error occurred while making a POST request to https://apiconnect.angelbroking.com/rest/auth/angelbroking/user/v1/loginByPassword. Error: Invalid totp. URL: https://apiconnect.angelbroking.com/rest/auth/angelbroking/user/v1/loginByPassword, Headers: {'Content-type': 'application/json', 'X-ClientLocalIP': '127.0.0.1', 'X-ClientPublicIP': '106.193.147.98', 'X-MACAddress': '64:00:6a:07:e2:96', 'Accept': 'application/json', 'X-PrivateKey': 'VhEczsBX', 'X-UserType': 'USER', 'X-SourceID': 'WEB'}, Request: {'clientcode': 'xxxxxxx', 'password': 'xxxx', 'totp': 'xxxxxx'}, Response: {'status': False, 'message': 'Invalid totp', 'errorcode': 'AB1050', 'data': None}
      

      @Moderator_1
      @Moderator_2
      @Moderator_3

      posted in Python SDK
      Mnagesh
      Mnagesh
    • Market Data list of tokens limited to ?

      I am using Marker Data Api

      { "mode": "LTP", "exchangeTokens": { "NSE":  ["3045","881"] ]} }
      

      May i know the number of tokens we can use to fetch the data.

      In the above example there are only two tokens

      I tried for 100 tokens - It gives limit exceeds error

      for list of 50 tokens it is working fine .

      @Moderator_1
      @Moderator_2
      @Moderator_3

      posted in Python SDK
      Mnagesh
      Mnagesh
    • RE: Option Chain Live Data

      @anand02nikhil we can write our own function for that !

      posted in General Discussion
      Mnagesh
      Mnagesh