Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sreenivasdoosa
GitHub Repository: sreenivasdoosa/sdoosa-algo-trade-python
Path: blob/master/src/ordermgmt/Order.py
296 views
1
2
class Order:
3
def __init__(self, orderInputParams = None):
4
self.tradingSymbol = orderInputParams.tradingSymbol if orderInputParams != None else ""
5
self.exchange = orderInputParams.exchange if orderInputParams != None else "NSE"
6
self.productType = orderInputParams.productType if orderInputParams != None else ""
7
self.orderType = orderInputParams.orderType if orderInputParams != None else "" # LIMIT/MARKET/SL-LIMIT/SL-MARKET
8
self.price = orderInputParams.price if orderInputParams != None else 0
9
self.triggerPrice = orderInputParams.triggerPrice if orderInputParams != None else 0 # Applicable in case of SL orders
10
self.qty = orderInputParams.qty if orderInputParams != None else 0
11
self.orderId = None # The order id received from broker after placing the order
12
self.orderStatus = None # One of the status defined in ordermgmt.OrderStatus
13
self.averagePrice = 0 # Average price at which the order is filled
14
self.filledQty = 0 # Filled quantity
15
self.pendingQty = 0 # Qty - Filled quantity
16
self.orderPlaceTimestamp = None # Timestamp when the order is placed
17
self.lastOrderUpdateTimestamp = None # Applicable if you modify the order Ex: Trailing SL
18
self.message = None # In case any order rejection or any other error save the response from broker in this field
19
20
def __str__(self):
21
return "orderId=" + str(self.orderId) + ", orderStatus=" + str(self.orderStatus) \
22
+ ", symbol=" + str(self.tradingSymbol) + ", productType=" + str(self.productType) \
23
+ ", orderType=" + str(self.orderType) + ", price=" + str(self.price) \
24
+ ", triggerPrice=" + str(self.triggerPrice) + ", qty=" + str(self.qty) \
25
+ ", filledQty=" + str(self.filledQty) + ", pendingQty=" + str(self.pendingQty) \
26
+ ", averagePrice=" + str(self.averagePrice)
27
28