Anyway - hope this info helps somebody when they become stuck on the same problem. of the Monk would be attacking almost in sync with you, using your abilities as you do and preferably not being targetable as its a 2 minute cooldown. The contract parameter format for a Stock order is as simple as: stock = Stock(MSFT, 'SMART', 'USD')Īs far as i am concerned - this required format is not clearly communicated in the IB-Insync documentation, or maybe because i am self taught programmer it wasn't blatantly obvious to me- but might be to seasoned developers. Trade = ib.placeOrder(fut_contract, order) Order = MarketOrder('order_action', 'order_contracts') The code that finally worked is: fut_contract = Contract() The Contract Parameter format for a Futures order in IB-Insync is very different to that which can be used in a Stock order. Thankyou to those who have answered - after extensive research, experimentation, and an idea from another forum. Message_data = json.loads(message)Ĭontract = Future(symbol='MES', lastTradeDateOrContractMonth='20211217', exchange='GLOBEX', localSymbol='MESZ1', multiplier='5', currency='USD')Īsync def run_periodically(interval, periodic_function):Īwait asyncio.gather(asyncio.sleep(interval), periodic_function())Īn(run_periodically(1, check_messages)) If message is not None and message = 'message': Print(f" - checking for tradingview webhook messages") R = redis.Redis(host='localhost', port=6379, db=0) # connect to Redis and subscribe to tradingview messages The entire code is below: import redis, jsonįrom typing import List, NamedTuple, Optional I am hoping somebody here may know of a resolution or has come across this problem before? I can manually place a Futures order on TWS for MES so it cannot be due to a privilege's setting. I have tried numerous different ways to structure the Futures Contract Format including: contract=Future('MES', '20121217', 'GLOBEX')īut the same problem occurs - the Interactive Brokers TWS API is recording the order as a STK order routing it through the SMART exchange protocol which clearly it is not. LocalSymbol='MESZ1', multiplier='5', currency='USD')Ģ2:28:49:791 -A4-2-59-200-No security definition has been found for the request-Ģ2:28:50:030 -A4-2-60-200-No security definition has been found for the request. The IB-Insync Futures contract format used is below: contract = Future(symbol='MES', lastTradeDateOrContractMonth='20211217', exchange='GLOBEX', Order = MarketOrder(message_data, message_data)īut when i apply the same python script to my understanding of the required IB-Insync contract format for a Futures order as per the documentation, nothing happens and a error shows in the API log. I have the system working perfectly now automatically placing orders with a 'Stock' contract format as follows: stock = Stock(message_data, 'SMART', 'USD') I am trying to develop a autobot API link into the Interactive Brokers API using IB-Insync. I am hoping somebody here may be able to help clarify how to structure the IB-Insync Contract Format for a Futures order in a python API link with Interactive Brokers API.
0 Comments
Leave a Reply. |