init
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user