init
This commit is contained in:
@@ -208,15 +208,15 @@ class BuySellChecker:
|
|||||||
if i < 40:
|
if i < 40:
|
||||||
if data["low"][i] < data["lower"][i]+5:
|
if data["low"][i] < data["lower"][i]+5:
|
||||||
if data["slow_k"][i] <= 20:
|
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]:
|
if data["close"][i] < data["avg5"][i]:
|
||||||
buy = data["close"][i]
|
buy = data["close"][i]
|
||||||
else:
|
else:
|
||||||
buy = data["low"][i]
|
buy = data["low"][i]
|
||||||
else:
|
else:
|
||||||
if data["low"][i] < data["lower"][i]+5:
|
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-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] < 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]:
|
if data["close"][i] < data["avg5"][i]:
|
||||||
buy = data["close"][i]
|
buy = data["close"][i]
|
||||||
else:
|
else:
|
||||||
@@ -366,7 +366,7 @@ class BuySellChecker:
|
|||||||
'avg20': avg20[i], 'avg60': avg60[i], 'avg120': avg120[i],'avg240': avg240[i]})
|
'avg20': avg20[i], 'avg60': avg60[i], 'avg120': avg120[i],'avg240': avg240[i]})
|
||||||
|
|
||||||
# stochastic 계산
|
# 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)
|
stochastic_df = stochastic_df.fillna(100)
|
||||||
fast_k = stochastic_df['fast_k'].values.tolist()
|
fast_k = stochastic_df['fast_k'].values.tolist()
|
||||||
slow_k = stochastic_df['slow_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 * bs_weight)
|
||||||
BUY_COUNT = int(BASE_COUNT * 1)
|
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:
|
if bs_sell_price > 0:
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class RSI:
|
|||||||
self.common = Common()
|
self.common = Common()
|
||||||
return
|
return
|
||||||
|
|
||||||
def apply(sefl, df, period=10):
|
def apply(sefl, df, period=14, window=9):
|
||||||
df = pd.DataFrame(df)
|
df = pd.DataFrame(df)
|
||||||
|
|
||||||
# df.diff를 통해 (기준일 종가 - 기준일 전일 종가)를 계산하여 0보다 크면 증가분을 감소했으면 0을 넣어줌
|
# df.diff를 통해 (기준일 종가 - 기준일 전일 종가)를 계산하여 0보다 크면 증가분을 감소했으면 0을 넣어줌
|
||||||
@@ -33,7 +33,7 @@ class RSI:
|
|||||||
AD = pd.DataFrame(D).rolling(window=period, min_periods=period).mean()
|
AD = pd.DataFrame(D).rolling(window=period, min_periods=period).mean()
|
||||||
|
|
||||||
rsi = AU.div(AD + AU) * 100
|
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)
|
df = df.assign(rsi=rsi, rsis=rsis)
|
||||||
return df
|
return df
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class Stochastic:
|
|||||||
# n=15 (%k), m=5 (%d), t=3
|
# n=15 (%k), m=5 (%d), t=3
|
||||||
# n=5 (%k), m=3 (%d), t=3
|
# n=5 (%k), m=3 (%d), t=3
|
||||||
# n=14 (%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이라는 것을 정의해줌
|
# 입력받은 값이 dataframe이라는 것을 정의해줌
|
||||||
df = pd.DataFrame(df)
|
df = pd.DataFrame(df)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user