diff --git a/ibkr/client.py b/ibkr/client.py index acc86b1..a60d667 100644 --- a/ibkr/client.py +++ b/ibkr/client.py @@ -80,7 +80,7 @@ class Client: self.ib.qualifyContracts(option_contract) return option_contract - def submit_combo_option_order(self, legs: List[OptionLeg], quantity: int, limit_price: float = None) -> Trade: + def submit_combo_option_order(self, legs: List[OptionLeg], quantity: int = 1, limit_price: float = None) -> Trade: combo_legs = [] for leg in legs: option_contract = self.get_option_contract(leg) @@ -112,7 +112,7 @@ class Client: return self.ib.placeOrder(combo_contract, combo_order) - def submit_single_option_order(self, leg: OptionLeg, quantity: int, limit_price: float = None) -> Trade: + def submit_single_option_order(self, leg: OptionLeg, quantity: int = 1, limit_price: float = None) -> Trade: option_contract = self.get_option_contract(leg) contract = Contract() contract.conId = option_contract.conId @@ -137,7 +137,7 @@ class Client: leg_mid = (leg_data.ask + max(leg_data.bid, 0)) / 2.0 leg_limit = (leg_mid - 0.25) - (leg_mid % 0.05) - option_order = self.submit_single_option_order(leg_data, 1, limit_price = leg_limit) + option_order = self.submit_single_option_order(leg_data, limit_price = leg_limit) while not option_order.isDone(): self.ib.waitOnUpdate() @@ -153,12 +153,12 @@ class Client: spread_mid = short_leg_mid - long_leg_mid spread_limit = (spread_mid - 0.25) - (spread_mid % 0.05) - spread_order = self.submit_combo_option_order([short_leg, long_leg], 1, limit_price = spread_limit) + spread_order = self.submit_combo_option_order([short_leg, long_leg], limit_price = spread_limit) while not spread_order.isDone(): self.ib.waitOnUpdate() return OptionOrder(spread_order) - + def submit_stop_loss_order(self, trade: Trade, stop_loss_price: float, limit_price: float = None) -> Trade: stop_loss_order = Order() stop_loss_order.action = SELL if trade.order.action == BUY else BUY