def test_limit_requires_price(self): order = EquityOrderBuilder('AAPL', 10) \ .set_instruction(EquityOrderBuilder.Instruction.BUY) \ .set_order_type(EquityOrderBuilder.OrderType.LIMIT) \ .set_duration(Duration.DAY) \ .set_session(Session.NORMAL) with self.assertRaises(InvalidOrderException, msg='price must be set'): order.build() order.set_price(100) order.build()
parentdir = os.path.dirname(currentdir) sys.path.append(parentdir) import config # stored in parent directory for security token_path = 'token' redirect_uri = "https://localhost" DRIVER_PATH = "/home/hopper/chromedriver" driver = webdriver.Chrome(DRIVER_PATH) try: c = auth.client_from_token_file(token_path, config.api_key) except FileNotFoundError: c = auth.client_from_login_flow(driver, config.api_key, redirect_uri, token_path) time.sleep(2) # print(c.place_order(config.tda_acct_num, equity_buy_market('SNDL', 1).set_duration(Duration.GOOD_TILL_CANCEL).set_session(Session.SEAMLESS).build())) builder = EquityOrderBuilder('SNDL', 1) builder.set_instruction(EquityOrderBuilder.instruction.BUY) builder.set_order_type(EquityOrderBuilder.OrderType.MARKET) builder.set_duration(duration.DAY) builder.set_session(Session.NORMAL) response = c.place_order(config.tda_acct_num, builder.build()) print(response) time.sleep(2) driver.quit()
from tda import auth, client from tda.orders import EquityOrderBuilder, Duration, Session import json import config import datetime # limit order of 5 shares of netflix stock at 18 dollars a share builder = EquityOrderBuilder('NFLX', 5) builder.set_instruction(EquityOrderBuilder.Instruction.BUY) builder.set_order_type(EquityOrderBuilder.OrderType.LIMIT) builder.set_price(18) builder.set_duration(Duration.GOOD_TILL_CANCEL) builder.set_session(Session.NORMAL) response = c.place_order(config.account_id, builder.build())