This commit is contained in:
dsyoon
2022-02-04 12:08:03 +09:00
parent 579ff520c5
commit b72f6c0f55
4 changed files with 15 additions and 12 deletions

View File

@@ -208,15 +208,15 @@ class BuySellChecker:
if i < 40:
if data["low"][i] < data["lower"][i]+5:
if data["slow_k"][i] <= 20:
if data["slow_k"][i] < data["slow_k"][i-1] and data["slow_k"][i-1] < data["slow_k"][i]:
if data["slow_k"][i-1] < data["slow_d"][i-1] and data["slow_d"][i] < data["slow_k"][i] and data["slow_k"][i-1] <= data["slow_k"][i]:
if data["close"][i] < data["avg5"][i]:
buy = data["close"][i]
else:
buy = data["low"][i]
else:
if data["low"][i] < data["lower"][i]+5:
if data["slow_k"][i-1] <= 30 and data["slow_k"][i] <= 30:
if data["slow_k"][i] < data["slow_k"][i-1] and data["slow_k"][i-1] < data["slow_k"][i]:
if data["slow_k"][i-1] < 30 and data["slow_k"][i] < 30:
if data["slow_k"][i-1] < data["slow_d"][i-1] and data["slow_d"][i] < data["slow_k"][i] and data["slow_k"][i-1] <= data["slow_k"][i]:
if data["close"][i] < data["avg5"][i]:
buy = data["close"][i]
else:
@@ -366,7 +366,7 @@ class BuySellChecker:
'avg20': avg20[i], 'avg60': avg60[i], 'avg120': avg120[i],'avg240': avg240[i]})
# stochastic 계산
stochastic_df = self.stochastic.apply(STOCK)
stochastic_df = self.stochastic.apply(STOCK, n=12, m=5, t=5)
stochastic_df = stochastic_df.fillna(100)
fast_k = stochastic_df['fast_k'].values.tolist()
slow_k = stochastic_df['slow_k'].values.tolist()

View File

@@ -584,17 +584,20 @@ class HTS_252670:
#BUY_COUNT = int(BASE_COUNT * bs_weight)
BUY_COUNT = int(BASE_COUNT * 1)
# 매수를 주문한다.
orderNum = self.requestOrder(OrderType.buy, self.stock_code, BUY_COUNT , bs_buy_price)
""""""
###orderNum = self.requestOrder(OrderType.buy, self.stock_code, BUY_COUNT , bs_buy_price)
# 미체결 기록을 가져온다.
ORDER_LIST = self.requestOrderList()
###ORDER_LIST = self.requestOrderList()
# 매수 주문을 기록한다.
orderListToCancel = orderChecker.add(self.stock_code, OrderType.buy, orderNum, BUY_COUNT, bs_buy_price, ORDER_LIST)
###orderListToCancel = orderChecker.add(self.stock_code, OrderType.buy, orderNum, BUY_COUNT, bs_buy_price, ORDER_LIST)
# 두 시간 이전 미체결을 모두 취소한다.
self.cancelOrderList(orderListToCancel)
###self.cancelOrderList(orderListToCancel)
# 로그 출력
print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), BUY_COUNT, bs_buy_price, len(orderListToCancel), len(ORDER_LIST))
###print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), BUY_COUNT, bs_buy_price, len(orderListToCancel), len(ORDER_LIST))
print("BUY", THIS_TIME.strftime('%Y%m%d %H%M%S'), BUY_COUNT, bs_buy_price)
"""
if bs_sell_price > 0:

View File

@@ -17,7 +17,7 @@ class RSI:
self.common = Common()
return
def apply(sefl, df, period=10):
def apply(sefl, df, period=14, window=9):
df = pd.DataFrame(df)
# df.diff를 통해 (기준일 종가 - 기준일 전일 종가)를 계산하여 0보다 크면 증가분을 감소했으면 0을 넣어줌
@@ -33,7 +33,7 @@ class RSI:
AD = pd.DataFrame(D).rolling(window=period, min_periods=period).mean()
rsi = AU.div(AD + AU) * 100
rsis = rsi.rolling(window=9).mean()
rsis = rsi.rolling(window=window).mean()
df = df.assign(rsi=rsi, rsis=rsis)
return df

View File

@@ -17,7 +17,7 @@ class Stochastic:
# n=15 (%k), m=5 (%d), t=3
# n=5 (%k), m=3 (%d), t=3
# n=14 (%k), m=3 (%d), t=3
def apply(self, df, n=14, m=3, t=3):
def apply(self, df, n=12, m=5, t=5):
# 입력받은 값이 dataframe이라는 것을 정의해줌
df = pd.DataFrame(df)