GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Interactive-brokers-python-api-guide/options_order.py at master · PythonForForex/Interactive-brokers-python-api-guide Expand file tree/ Copy pathoptions_order.pyMore file actions 74 lines (54 loc) · 1.94 KB / Copy pathoptions_order.pyFile metadata and controls74 lines (54 loc) · 1.94 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 from ibapi.client import EClient from ibapi.wrapper import EWrapper from ibapi.contract import Contract from ibapi.order import * import threading import time class IBapi(EWrapper, EClient): def __init__(self): EClient.__init__(self, self) def nextValidId(self, orderId: int): super().nextValidId(orderId) self.nextorderId = orderId print('The next valid order id is: ', self.nextorderId) def orderStatus(self, orderId, status, filled, remaining, avgFullPrice, permId, parentId, lastFillPrice, clientId, whyHeld, mktCapPrice): print('orderStatus - orderid:', orderId, 'status:', status, 'filled', filled, 'remaining', remaining, 'lastFillPrice', lastFillPrice) def openOrder(self, orderId, contract, order, orderState): print('openOrder id:', orderId, contract.symbol, contract.secType, '@', contract.exchange, ':', order.action, order.orderType, order.totalQuantity, orderState.status) def execDetails(self, reqId, contract, execution): print('Order Executed: ', reqId, contract.symbol, contract.secType, contract.currency, execution.execId, execution.orderId, execution.shares, execution.lastLiquidity) def run_loop(): app.run() app = IBapi() app.connect('127.0.0.1', 7496, 123) app.nextorderId = None #Start the socket in a thread api_thread = threading.Thread(target=run_loop, daemon=True) api_thread.start() #Check if the API is connected via orderid while True: if isinstance(app.nextorderId, int): print('connected') print() break else: print('waiting for connection') time.sleep(1) #Create contract contract = Contract() contract.symbol = 'TSLA' contract.secType = 'OPT' contract.exchange = 'SMART' contract.lastTradeDateOrContractMonth = '20201002' contract.strike = 424 contract.right = 'C' contract.multiplier = '100' #Create order object order = Order() order.action = 'BUY' order.totalQuantity = 1 order.orderType = 'MKT' #Place order app.placeOrder(app.nextorderId, contract, order) time.sleep(3) app.disconnect() |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |