init
This commit is contained in:
36
hts/HTS.py
36
hts/HTS.py
@@ -523,9 +523,9 @@ class HTS:
|
||||
avg20 = [item[0] for item in avg20_list]
|
||||
avg60_list = close_df.rolling(window=20).mean().fillna(close[0]).values.tolist()
|
||||
avg60 = [item[0] for item in avg60_list]
|
||||
avg120_list = close_df.rolling(window=40).mean().fillna(close[0]).values.tolist()
|
||||
avg120_list = close_df.rolling(window=30).mean().fillna(close[0]).values.tolist()
|
||||
avg120 = [item[0] for item in avg120_list]
|
||||
avg240_list = close_df.rolling(window=80).mean().fillna(close[0]).values.tolist()
|
||||
avg240_list = close_df.rolling(window=40).mean().fillna(close[0]).values.tolist()
|
||||
avg240 = [item[0] for item in avg240_list]
|
||||
|
||||
upper, lower = [], []
|
||||
@@ -871,9 +871,11 @@ class HTS:
|
||||
# 시뮬레이션은 이번에 사고 파는 것으로 판단했기 때문에, 다음 봉에서 사고 판 위치를 표시한다.
|
||||
if count_0 == 0 and count_1 > 0:
|
||||
bsLine['buy'][i + 1] = STOCK[i]['close'] - 5
|
||||
bsLine['sell'][i + 2] = STOCK[i]['close']
|
||||
#bsLine['sell'][i + 2] = STOCK[i]['close']
|
||||
#if count_0 > 0:
|
||||
# bsLine['sell'][i + 2] = STOCK[i]['close'] + 5
|
||||
if data["avg60"][i - 1] > data["avg60"][i]:
|
||||
bsLine['sell'][i] = STOCK[i]['close']
|
||||
|
||||
return bsLine
|
||||
|
||||
@@ -991,19 +993,22 @@ class HTS:
|
||||
for code in jangoDic:
|
||||
TOTAL_BUY_AMT = jangoDic[code]['매입금액']
|
||||
if jangoDic[code]['매도가능'] > 0:
|
||||
# 장부가 가격의 마지막 자리를 0으로 만든다. (2090 -> 2090, 2092 -> 2090, 2098 -> 2090)
|
||||
sell_price = int(jangoDic[code]['장부가'] / 10) * 10
|
||||
# 장부가의 마지막 자리수를 가져온다.
|
||||
last_number = int(jangoDic[code]['장부가']) % 10
|
||||
if last_number in [0, 1, 2]:
|
||||
# 장부가의 마지막 자리수가 0,1,2 라면 (2090, 2091, 2092 -> 2095 에 매도)
|
||||
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 5)
|
||||
elif last_number in [3, 4, 5, 6]:
|
||||
# 장부가의 마지막 자리수가 3,4,5,6 라면 (2093, 2094, 2095, 2096 -> 2100 에 매도)
|
||||
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 10)
|
||||
if data["Close"][size-1] > jangoDic[code]['장부가'] + 10:
|
||||
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], data["Close"][size-1])
|
||||
else:
|
||||
# 장부가의 마지막 자리수가 7,8,9 라면 (2097, 2098, 2099 -> 2105 에 매도)
|
||||
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 15)
|
||||
# 장부가 가격의 마지막 자리를 0으로 만든다. (2090 -> 2090, 2092 -> 2090, 2098 -> 2090)
|
||||
sell_price = int(jangoDic[code]['장부가'] / 10) * 10
|
||||
# 장부가의 마지막 자리수를 가져온다.
|
||||
last_number = int(jangoDic[code]['장부가']) % 10
|
||||
if last_number in [0, 1, 2]:
|
||||
# 장부가의 마지막 자리수가 0,1,2 라면 (2090, 2091, 2092 -> 2095 에 매도)
|
||||
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 5)
|
||||
elif last_number in [3, 4, 5, 6]:
|
||||
# 장부가의 마지막 자리수가 3,4,5,6 라면 (2093, 2094, 2095, 2096 -> 2100 에 매도)
|
||||
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 10)
|
||||
else:
|
||||
# 장부가의 마지막 자리수가 7,8,9 라면 (2097, 2098, 2099 -> 2105 에 매도)
|
||||
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 15)
|
||||
|
||||
time.sleep(0.9)
|
||||
|
||||
@@ -1020,6 +1025,7 @@ if __name__ == "__main__":
|
||||
stock_codes = ["252670", "122630"]
|
||||
stock_codes = ["252670"]
|
||||
given_days = ['20210901','20210902','20210903','20210906','20210907','20210908','20210909','20210910','20210913','20210914','20210915','20210916','20210917','20210923','20210924','20210927','20210928','20210929','20210930','20211001', '20211005']
|
||||
given_days = ['20210901']
|
||||
|
||||
hts = HTS()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user