init
This commit is contained in:
@@ -152,6 +152,8 @@ class BuySellChecker:
|
||||
def getBuyCheck(self, data, i, buy, weight):
|
||||
if data['close'][i]<data['avg3'][i]<data['avg5'][i]<data['avg10'][i]<data['avg20'][i]<data['avg30'][i]:
|
||||
buy, weight, sell = -1, -1, -1
|
||||
if data['slow_k'][i]>40:
|
||||
buy, weight, sell = -1, -1, -1
|
||||
return buy, weight
|
||||
|
||||
|
||||
@@ -265,7 +267,14 @@ class BuySellChecker:
|
||||
|
||||
# 장 초기 (시작 9분 이내), 볼린져 하단에서 시작하여 이병선을 모두 상승하여 마감한 경우 high 값에서 매수한다.
|
||||
# (2022-07-15 09:08 09:09)
|
||||
if i < 381 + 9:
|
||||
if i <= 381 + 10:
|
||||
# 최근 저점이 이전 저점보다 avg3는 크지만, rsi는 높은 경우
|
||||
if data['high'][381] < data['lower'][381] or data['high'][382] < data['lower'][382]:
|
||||
if data['upper'][i] < data['high'][i] and data['open'][i] < data['close'][i]:
|
||||
buy = data["close"][i]
|
||||
weight = 1
|
||||
return buy, weight
|
||||
|
||||
if data["close"][i] > max(data["avg3"][i], data["avg5"][i], data["avg10"][i], data["avg20"][i], data["avg30"][i]):
|
||||
c = 382
|
||||
# 장 시작 역배열 상태임
|
||||
@@ -275,27 +284,8 @@ class BuySellChecker:
|
||||
else:
|
||||
buy = data["high"][i]
|
||||
weight = 1
|
||||
return self.getBuyCheck(data, i, buy, weight)
|
||||
return buy, weight
|
||||
|
||||
|
||||
# 이동선을 이용한 매매
|
||||
# 3분선과 5분선이 10분 이상 내려오다가 3분선이 5분선을 넘어 서는 순간 매수
|
||||
# (2022-07-04 09:22) (2022-07-05 09:38) (2022-07-07 09:35) (2022-07-08 09:06) (2022-07-11 09:25) (2022-07-13 10:12) (2022-07-15 14:48)
|
||||
if int(data["avg3"][i]) > int(data["avg5"][i]):
|
||||
valid = True
|
||||
same_count = 0
|
||||
for c in range(1, 11):
|
||||
if int(data["avg3"][i-c]) == int(data["avg5"][i-c]):
|
||||
same_count += 1
|
||||
if int(data["avg3"][i-c]) > int(data["avg5"][i-c]):
|
||||
valid = False
|
||||
break
|
||||
if valid and same_count < 2:
|
||||
if data['macd'][i] < -5:
|
||||
buy = data["close"][i] - 5
|
||||
weight = 1
|
||||
return self.getBuyCheck(data, i, buy, weight)
|
||||
|
||||
# 이동선을 이용한 매매
|
||||
# 3분선과 10분선이 30분 이상 내려오다가 3분선이 10분선을 넘어 서는 순간 매수
|
||||
# (2022-07-07 11:26) (2022-07-08 10:05)
|
||||
@@ -355,7 +345,25 @@ class BuySellChecker:
|
||||
return self.getBuyCheck(data, i, buy, weight)
|
||||
|
||||
|
||||
"""
|
||||
"""
|
||||
# 이동선을 이용한 매매
|
||||
# 3분선과 5분선이 10분 이상 내려오다가 3분선이 5분선을 넘어 서는 순간 매수
|
||||
# (2022-07-04 09:22) (2022-07-05 09:38) (2022-07-07 09:35) (2022-07-08 09:06) (2022-07-11 09:25) (2022-07-13 10:12) (2022-07-15 14:48)
|
||||
if int(data["avg3"][i]) > int(data["avg5"][i]):
|
||||
valid = True
|
||||
same_count = 0
|
||||
for c in range(1, 11):
|
||||
if int(data["avg3"][i-c]) == int(data["avg5"][i-c]):
|
||||
same_count += 1
|
||||
if int(data["avg3"][i-c]) > int(data["avg5"][i-c]):
|
||||
valid = False
|
||||
break
|
||||
if valid and same_count < 2:
|
||||
if data['macd'][i] < -5:
|
||||
buy = data["close"][i] - 5
|
||||
weight = 1
|
||||
return self.getBuyCheck(data, i, buy, weight)
|
||||
|
||||
# 만약 30원 이상 장대 양봉이 나온 경우, 다음이나 다다음 중간 값에서 매수를 한다.
|
||||
if (data["close"][i] - data["low"][i]) >= 30:
|
||||
middle = int((data["close"][i] + data["low"][i])/2)
|
||||
@@ -364,6 +372,7 @@ class BuySellChecker:
|
||||
return self.getBuyCheck(data, i, buy, weight)
|
||||
"""
|
||||
|
||||
|
||||
return buy, weight
|
||||
|
||||
|
||||
@@ -547,7 +556,7 @@ class BuySellChecker:
|
||||
if data["upper"][i - 4] < data["high"][i - 4] and data["upper"][i - 3] < data["high"][i - 3] and \
|
||||
data["upper"][i - 2] < data["high"][i - 2] and data["upper"][i - 1] < data["high"][i - 1] and \
|
||||
data["upper"][i] < data["high"][i]:
|
||||
buy = (data["open"][i] + data["close"][i]) / 2
|
||||
buy = int((data["open"][i] + data["close"][i]) / 2)
|
||||
weight = 1
|
||||
return self.getBuyCheck(data, i, buy, weight)
|
||||
|
||||
@@ -621,6 +630,13 @@ class BuySellChecker:
|
||||
weight = 1
|
||||
return self.getBuyCheck(data, i, buy, weight)
|
||||
|
||||
if data.index[i].strftime("%Y-%m-%d %H:%M:%S") == "2022-07-22 09:02:00":
|
||||
print (1)
|
||||
if data['close'][i] - data['open'][i] >= 90 and data['close'][i] == data['high'][i]:
|
||||
buy = int((data["open"][i] + data["close"][i]) / 2)
|
||||
weight = 1
|
||||
return buy, weight
|
||||
|
||||
return buy, weight
|
||||
|
||||
def getSellPriceAndWeight_15000(self, data, i):
|
||||
|
||||
@@ -189,8 +189,12 @@ if __name__ == "__main__":
|
||||
# 252670
|
||||
# 122630
|
||||
"122630": [
|
||||
('20220714', '20220715'),
|
||||
('20220715', '20220718'),
|
||||
('20220718', '20220719')
|
||||
('20220718', '20220719'),
|
||||
('20220719', '20220720'),
|
||||
('20220720', '20220721'),
|
||||
('20220721', '20220722')
|
||||
],
|
||||
}
|
||||
path = './hts/data'
|
||||
|
||||
Reference in New Issue
Block a user