Navigation

    SmartAPI Forum
    • Register
    • Login
    • Search
    • Categories
    • Popular
    • Groups
    • FAQs
    • API Docs

    'NoneType' object is not subscriptable

    Python SDK
    3
    2
    143
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sohambanik last edited by

      Hi,

      Getting error in order placement, which says"Order placement failed: 'NoneType' object is not subscriptable". Username, password and api key are valid. Plz help!```
      code_text

      package import statement

      from time import sleep
      import pandas as pd
      from datetime import datetime
      import requests
      import numpy as np

      from smartapi import SmartConnect #or from smartapi.smartConnect import SmartConnect
      import smartapi.smartExceptions

      total_money = 2000

      create object of call

      obj=SmartConnect(api_key="Wj7BmSKt")

      #login api call

      data = obj.generateSession("S750557","thefretr21")
      refreshToken = data['data']['refreshToken']

      #fetch the feedtoken
      feedToken=obj.getfeedToken()

      #fetch User Profile
      userProfile= obj.getProfile(refreshToken)

      def getTokenInfo(df, exch_seg, instrument_type, symbol):
      symbol = symbol + "-EQ"
      df_script = token_df.loc[token_df['symbol'] == symbol]
      return df_script.iat[0,0]

      def round_of_num(number):
      return round(number * 2) / 2

      def place_order(stock, price):
      global token_df
      url = "https://margincalculator.angelbroking.com/OpenAPI_File/files/OpenAPIScripMaster.json"
      d = requests.get(url).json()
      token_df = pd.DataFrame.from_dict(d)
      script_token = getTokenInfo(token_df, 'NSE', '', stock)

      quantity = int(total_money / float(price))
      #place order
      try:
          orderparams = {
              "variety": "NORMAL",
              "tradingsymbol": stock,
              "symboltoken": script_token,
              "transactiontype": "BUY",
              "exchange": "NSE",
              "ordertype": "MARKET",
              "producttype": "INTRADAY",
              "duration": "DAY",
              # "price": "19500",
              # "squareoff": "0",
              # "stoploss": "0",
              "quantity": quantity
              }
          orderId=obj.placeOrder(orderparams)
          print("The order id is: {}".format(orderId))
      except Exception as e:
          print("Order placement failed: {}".format(e))
      

      def process_data(data):
      my_list = data['stocks'].split(",")
      prices = data['trigger_prices'].split(",")
      positions = obj.position()

      for i, stock in enumerate(my_list):
          # if stock not in positions['net']:
          place_order(stock,prices[i])
          sleep(0.5)
      

      def lambda_handler(event, context):
      process_data(event)
      return "Success"angel.png

      A 1 Reply Last reply Reply Quote -1
      • A
        admin @sohambanik last edited by

        HI @sohambanik We have reported this on another thread.

        1 Reply Last reply Reply Quote -1
        • First post
          Last post