quantplay 2.0.90__tar.gz → 2.0.91__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {quantplay-2.0.90 → quantplay-2.0.91}/PKG-INFO +1 -1
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/aliceblue.py +1 -1
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/motilal.py +31 -16
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay.egg-info/PKG-INFO +1 -1
- {quantplay-2.0.90 → quantplay-2.0.91}/setup.py +1 -1
- {quantplay-2.0.90 → quantplay-2.0.91}/README.md +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/pyproject.toml +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/angelone.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/auto_login/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/auto_login/aliceblue.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/broker_factory.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/dhan.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/finvasia_utils/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/finvasia_utils/fa_noren.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/five_paisa.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/flattrade.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/ft_utils/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/ft_utils/flattrade_utils.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/ft_utils/ft_noren.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/generics/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/generics/broker.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/iifl_xts.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/kite_utils.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/kotak.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/noren.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/shoonya.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/uplink/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/uplink/uplink_utils.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/upstox.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/xts.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/xts_utils/Connect.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/xts_utils/Exception.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/xts_utils/InteractiveSocketClient.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/xts_utils/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/broker/zerodha.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/exception/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/exception/exceptions.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/model/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/model/broker.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/model/generics.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/model/instrument_data.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/model/order_event.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/py.typed +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/utils/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/utils/caching.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/utils/constant.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/utils/exchange.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/utils/number_utils.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/utils/pickle_utils.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/utils/selenium_utils.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/wrapper/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/wrapper/aws/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay/wrapper/aws/s3.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay.egg-info/SOURCES.txt +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay.egg-info/dependency_links.txt +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay.egg-info/requires.txt +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/quantplay.egg-info/top_level.txt +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/setup.cfg +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/tests/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/tests/conftest.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/tests/wrapper/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/tests/wrapper/aws/__init__.py +0 -0
- {quantplay-2.0.90 → quantplay-2.0.91}/tests/wrapper/aws/s3_test.py +0 -0
|
@@ -285,38 +285,53 @@ class Motilal(Broker):
|
|
|
285
285
|
Constants.logger.info(f"[GET_LTP_RESPONSE] response {response}")
|
|
286
286
|
return response["data"]["ltp"] / 100.0
|
|
287
287
|
|
|
288
|
-
def
|
|
289
|
-
|
|
290
|
-
order_id: str,
|
|
291
|
-
price: float,
|
|
292
|
-
trigger_price: float | None = None,
|
|
293
|
-
order_type: OrderTypeType | None = None,
|
|
294
|
-
):
|
|
288
|
+
def add_existing_order_details(self, order_to_modify: Dict[str, str]):
|
|
289
|
+
order_id = order_to_modify["order_id"]
|
|
295
290
|
orders = self.orders()
|
|
296
291
|
orders = orders.filter(pl.col("order_id") == order_id)
|
|
297
292
|
|
|
298
293
|
if len(orders) != 1:
|
|
299
|
-
|
|
300
|
-
"
|
|
294
|
+
raise InvalidArgumentException(
|
|
295
|
+
f"Invalid modify request, order_id {order_id} not found"
|
|
301
296
|
)
|
|
302
|
-
return
|
|
303
297
|
|
|
304
298
|
order = orders.to_dicts()[0]
|
|
305
299
|
order["last_modified_time"] = str(order["last_modified_time"])
|
|
306
300
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
301
|
+
if "price" in order_to_modify:
|
|
302
|
+
order["price"] = order_to_modify["price"]
|
|
303
|
+
if (
|
|
304
|
+
"trigger_price" in order_to_modify
|
|
305
|
+
and order_to_modify["trigger_price"] is not None # type:ignore
|
|
306
|
+
):
|
|
307
|
+
order["trigger_price"] = order_to_modify["trigger_price"]
|
|
310
308
|
|
|
311
|
-
if
|
|
309
|
+
if "order_type" in order_to_modify and order_to_modify["order_type"] == "SL":
|
|
312
310
|
order["order_type"] = "STOPLOSS"
|
|
313
311
|
|
|
314
|
-
|
|
315
|
-
|
|
312
|
+
return order
|
|
313
|
+
|
|
314
|
+
def modify_price(
|
|
315
|
+
self,
|
|
316
|
+
order_id: str,
|
|
317
|
+
price: float,
|
|
318
|
+
trigger_price: float | None = None,
|
|
319
|
+
order_type: OrderTypeType | None = None,
|
|
320
|
+
):
|
|
321
|
+
order_to_modify = {
|
|
322
|
+
"order_id": order_id,
|
|
323
|
+
"price": price,
|
|
324
|
+
"trigger_price": trigger_price,
|
|
325
|
+
"order_type": order_type,
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
self.modify_order(order_to_modify) # type: ignore
|
|
316
329
|
|
|
317
330
|
# TODO
|
|
318
331
|
def modify_order(self, order: Any) -> str:
|
|
319
332
|
order = copy.deepcopy(order) # type:ignore
|
|
333
|
+
order = self.add_existing_order_details(order)
|
|
334
|
+
|
|
320
335
|
data = {
|
|
321
336
|
"uniqueorderid": order["order_id"],
|
|
322
337
|
"newordertype": order["order_type"].upper(),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|