This commit is contained in:
dsyoon
2023-01-31 00:01:31 +09:00
parent b6f2d6cbab
commit 8e7c3fdd81
3 changed files with 103 additions and 61 deletions

View File

@@ -29,25 +29,23 @@ class OrderChecker:
order_df['datetime'] = pd.to_datetime(order_df['datetime'])
return order_df
def exist(self, ymd, stock_code, hours=2):
def exist(self, ymd, stock_code, mins=30):
order_df = self.read(ymd)
try:
tmp = order_df.loc[order_df["stock_code"] == int(stock_code)]
now = datetime.now() - timedelta(hours=hours)
if order_df != None and len(order_df)>0:
tmp = order_df.loc[order_df["stock_code"] == stock_code]
now = datetime.now() - timedelta(minutes=mins)
tmp = tmp.loc[now < tmp["datetime"]]
except:
return False
if tmp is not None and len(tmp) > 0:
return True
if tmp is None or len(tmp) == 0:
return False
return True
return False
def buy(self, ymd, stock_code: str, count: int, price: int, orderNum=""):
order_df = self.read(ymd)
# 새로운 주문을 추가한다.
order_df = order_df.append({"stock_code": "A" + stock_code, "type": 0, "orderNum": str(orderNum), "canceled": 0, "count": count,
order_df = order_df.append({"stock_code": stock_code, "type": 0, "orderNum": str(orderNum), "canceled": 0, "count": count,
"price": price, "datetime": datetime.now()}, ignore_index=True)
order_df = order_df.astype({"stock_code": str, "type": int, "orderNum": str, "canceled": int, "count": int, "price": int})
@@ -62,7 +60,7 @@ class OrderChecker:
order_df = self.read(ymd)
# 기존 매수 주문을 매도로 변경 한다.
order_df.loc[(order_df["stock_code"] == "A" + stock_code, 'type')] = 1
order_df.loc[(order_df["stock_code"] == stock_code, 'type')] = 1
# 파일로 기록 한다.
saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.TYPE+"_"+ymd + ".csv")
@@ -70,20 +68,20 @@ class OrderChecker:
return True
def cancel(self, ymd, stock_code, ORDER_LIST, min=10):
def cancel(self, ymd, stock_code, ORDER_LIST, mins=10):
orderListToCancel = []
order_df = self.read(ymd)
if len(order_df) > 0:
now = datetime.now() - timedelta(minutes=min)
now = datetime.now() - timedelta(minutes=mins)
# min 분 이상 된 시간인 내용을 가지고 옴
df = order_df.loc[(order_df["datetime"] <= now)]
# 취소가 되지 않은 것만 가지고 옴 (0: 취소 되지 않음, 1: 취소함)
df = df.loc[(order_df["canceled"] == 0)]
for i in range(len(df)):
order_df.loc[(order_df['stock_code']=="A" + stock_code) & (order_df.index == df.index[i]), 'canceled'] = 1
order_df.loc[(order_df['stock_code']==stock_code) & (order_df.index == df.index[i]), 'canceled'] = 1
saveFileName = os.path.join(self.RESOURCE_PATH, "order", self.TYPE+"_"+ymd + ".csv")
order_df.to_csv(saveFileName, index=False)