When amending my code to a non-standard combo (such as simultaneously Buying 2 futures contracts).....I receive an error message not authorized to trade?
Code that works:
vix1_contract = Contract()
vix1_contract.symbol = "VIX"
vix1_contract.secType = "FUT"
vix1_contract.exchange = "CFE"
vix1_contract.currency = "USD"
vix1_contract.lastTradeDateOrContractMonth = "20220315"
vix1_contract.primaryExchange = "CFE"
?
ib.qualifyContracts(vix1_contract)
?
vix2_contract = Contract()
vix2_contract.symbol = "VIX"
vix2_contract.secType = "FUT"
vix2_contract.exchange = "CFE"
vix2_contract.currency = "USD"
vix2_contract.lastTradeDateOrContractMonth = "20220420"
vix2_contract.primaryExchange = "CFE"
?
ib.qualifyContracts(vix2_contract)
?
contract = Contract()
contract.symbol = vix1_contract.symbol
contract.secType = "BAG"
contract.currency = 'USD'
contract.exchange = 'CFE'
?
leg1 = ComboLeg()
leg1.conId = vix1_contract.conId
leg1.ratio = 1
leg1.action = "SELL"
leg1.exchange = 'CFE'
print(vix1_contract)
print(vix2_contract)
leg2 = ComboLeg()
leg2.conId = vix2_contract.conId? ? ? ?#DBK MAR 15 2019 C
leg2.ratio = 1
leg2.action = "BUY"
leg2.exchange = 'CFE'
?
contract.comboLegs = []
contract.comboLegs.append(leg1)
contract.comboLegs.append(leg2)
?
limit_price = -1.7
Code (amended) that doesn't work:
........
leg1 = ComboLeg()
leg1.conId = vix1_contract.conId
leg1.ratio = 1
leg1.action = "BUY"? ? ?#changed from SELL
leg1.exchange = 'CFE'
print(vix1_contract)
print(vix2_contract)
leg2 = ComboLeg()
leg2.conId = vix2_contract.conId? ? ? ?#DBK MAR 15 2019 C
leg2.ratio = 1
leg2.action = "BUY"
leg2.exchange = 'CFE'
?
contract.comboLegs = []
contract.comboLegs.append(leg1)
contract.comboLegs.append(leg2)
?
limit_price = 65.05
------------------------------------------------
Error Message: " Rejected by the system.? No trading permissions for the product."