Navigation

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

    Posts made by manjunathn1988

    • getCandleData returns 403 rate-limit error for single API call

      Admin,

      What is going in with the api calls? even a single call after following your own rules resulting in exceeing api rate there is some serious flaw in the system and many are also reporting the same problem.

      Could you please seriously look into this and clear any cache from your end for this client ID M713759

      its seriously impacting algo functions.

      posted in Bugs
      M
      manjunathn1988
    • RE: sensex symbol name is wrong

      @meet-panchal i was able to crack it using the master list.

      correct format is SENSEX 25 2 18 76000CE
      SENSEX DD M

      Thanks u

      posted in Python SDK
      M
      manjunathn1988
    • RE: sensex option symbol not working

      @admin i was able to decode using the master list, you are right.

      Thanks

      posted in Python SDK
      M
      manjunathn1988
    • RE: sensex symbol name is wrong

      @meet-panchal hey can you help me out with the correct format i tried many thing it didnt work?
      ..
      def get_option_symbol():
      """Finds the nearest SENSEX Call Option (CE) for the appropriate expiry."""
      try:
      # Fetch the spot price for SENSEX
      spot = smart_api.ltpData("BSE", "SENSEX", "99919000")
      nifty_spot = spot['data']['ltp']

          # Calculate the nearest strike price (rounded to the nearest 100)
          strike = round(nifty_spot / 100) * 100
      
          # Get today's date and determine the expiry date
          today = datetime.datetime.now()
          expiry_date = datetime.datetime.strptime(get_next_expiry_date(), "%d%b%y")
          
          # Format the expiry date in the correct "YYMNDD" format
          expiry_str = expiry_date.strftime("%y") + expiry_date.strftime("%b").upper()[0] + expiry_date.strftime("%d").zfill(2)
      
          # Construct the symbol in the correct format with no spaces
          symbol = f"SENSEX{expiry_str}{strike}CE"
      
          print(f"Searching for symbol: {symbol}")  # Print the symbol being searched
      
          # Search for the symbol on BSE
          scrip_info = smart_api.searchScrip("BFO", symbol)
          
          if scrip_info and 'data' in scrip_info:
              token = scrip_info['data'][0]['symboltoken']
              ltp = smart_api.ltpData("BFO", symbol, token)
              
              if ltp and 'data' in ltp: 
                  return {'symbol': symbol, 'token': token, 'premium': ltp['data']['ltp']}
              else:
                  print(f"āš ļø LTP data not found for {symbol}, skipping.")
                  return None  # Skip if no LTP data
          else:
              print(f"āš ļø No matching scrip found for {symbol}")
              return None
      
      except Exception as e:
          print(f"🚨 Option fetch error: {str(e)}")
          return None
      
      posted in Python SDK
      M
      manjunathn1988
    • sensex option symbol not working

      Re: sensex symbol name is wrong

      https://smartapi.angelbroking.com/topic/4871/sensex-symbol-name-is-wrong/4?_=1739357182047

      https://smartapi.angelbroking.com/topic/4042/bse-bfo-futures-and-options-now-accessible-through-smartapi/5

      can some help to fix this issue ?

      def get_option_symbol():
      """Finds the nearest SENSEX Call Option (CE) for the appropriate expiry."""
      try:
      # Fetch the spot price for SENSEX
      spot = smart_api.ltpData("BSE", "SENSEX", "99919000")
      sensex_spot = spot['data']['ltp']

          # Calculate the nearest strike price (rounded to the nearest 100)
          strike = round(sensex_spot / 100) * 100
      
          # Get today's date and determine the expiry date
          today = datetime.datetime.now()
          expiry_date = datetime.datetime.strptime(get_next_expiry_date(), "%d%b%y")
          
          # Format the expiry date in the correct "YYMNDD" format
          expiry_str = expiry_date.strftime("%y") + expiry_date.strftime("%b").upper()[0] + expiry_date.strftime("%d").zfill(2)
      
          # Construct the symbol in the correct format with no spaces
          symbol = f"SENSEX{expiry_str}{strike}CE"
      
          print(f"Searching for symbol: {symbol}")  # Print the symbol being searched
      
          # Search for the symbol on BSE
          scrip_info = smart_api.searchScrip("BFO", symbol)
          
          if scrip_info and 'data' in scrip_info:
              token = scrip_info['data'][0]['symboltoken']
              ltp = smart_api.ltpData("BFO", symbol, token)
              
              if ltp and 'data' in ltp: 
                  return {'symbol': symbol, 'token': token, 'premium': ltp['data']['ltp']}
              else:
                  print(f"āš ļø LTP data not found for {symbol}, skipping.")
                  return None  # Skip if no LTP data
          else:
              print(f"āš ļø No matching scrip found for {symbol}")
              return None
      

      i tried many symbol format provided in the above link but still not working

      typical output

      [I 250212 16:19:09 smartConnect:124] in pool
      āœ… Successfully logged in!

      šŸ” Checking Entry Condition:
      šŸ”¹ Current Candle Close: 76238.33 > super_trend: 76034.532? True
      šŸ”¹ Current Candle Close: 76238.33 > EMA: 76110.50785751663? True
      šŸ”¹ Supertrend value for current candle: 76034.532
      Searching for symbol: SENSEX25F1876200CE
      [I 250212 16:19:11 smartConnect:499] Search successful. No matching trading symbols found for the given query.
      🚨 Option fetch error: list index out of range
      šŸ›‘ Manual interruption!

      can some one please help?

      posted in Python SDK
      M
      manjunathn1988