init
This commit is contained in:
@@ -152,6 +152,8 @@ class BuySellChecker:
|
|||||||
def getBuyCheck(self, data, i, buy, weight):
|
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]:
|
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
|
buy, weight, sell = -1, -1, -1
|
||||||
|
if data['slow_k'][i]>40:
|
||||||
|
buy, weight, sell = -1, -1, -1
|
||||||
return buy, weight
|
return buy, weight
|
||||||
|
|
||||||
|
|
||||||
@@ -265,7 +267,14 @@ class BuySellChecker:
|
|||||||
|
|
||||||
# 장 초기 (시작 9분 이내), 볼린져 하단에서 시작하여 이병선을 모두 상승하여 마감한 경우 high 값에서 매수한다.
|
# 장 초기 (시작 9분 이내), 볼린져 하단에서 시작하여 이병선을 모두 상승하여 마감한 경우 high 값에서 매수한다.
|
||||||
# (2022-07-15 09:08 09:09)
|
# (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]):
|
if data["close"][i] > max(data["avg3"][i], data["avg5"][i], data["avg10"][i], data["avg20"][i], data["avg30"][i]):
|
||||||
c = 382
|
c = 382
|
||||||
# 장 시작 역배열 상태임
|
# 장 시작 역배열 상태임
|
||||||
@@ -275,27 +284,8 @@ class BuySellChecker:
|
|||||||
else:
|
else:
|
||||||
buy = data["high"][i]
|
buy = data["high"][i]
|
||||||
weight = 1
|
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분선을 넘어 서는 순간 매수
|
# 3분선과 10분선이 30분 이상 내려오다가 3분선이 10분선을 넘어 서는 순간 매수
|
||||||
# (2022-07-07 11:26) (2022-07-08 10:05)
|
# (2022-07-07 11:26) (2022-07-08 10:05)
|
||||||
@@ -355,7 +345,25 @@ class BuySellChecker:
|
|||||||
return self.getBuyCheck(data, i, buy, weight)
|
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원 이상 장대 양봉이 나온 경우, 다음이나 다다음 중간 값에서 매수를 한다.
|
# 만약 30원 이상 장대 양봉이 나온 경우, 다음이나 다다음 중간 값에서 매수를 한다.
|
||||||
if (data["close"][i] - data["low"][i]) >= 30:
|
if (data["close"][i] - data["low"][i]) >= 30:
|
||||||
middle = int((data["close"][i] + data["low"][i])/2)
|
middle = int((data["close"][i] + data["low"][i])/2)
|
||||||
@@ -364,6 +372,7 @@ class BuySellChecker:
|
|||||||
return self.getBuyCheck(data, i, buy, weight)
|
return self.getBuyCheck(data, i, buy, weight)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
return 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 \
|
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 - 2] < data["high"][i - 2] and data["upper"][i - 1] < data["high"][i - 1] and \
|
||||||
data["upper"][i] < data["high"][i]:
|
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
|
weight = 1
|
||||||
return self.getBuyCheck(data, i, buy, weight)
|
return self.getBuyCheck(data, i, buy, weight)
|
||||||
|
|
||||||
@@ -621,6 +630,13 @@ class BuySellChecker:
|
|||||||
weight = 1
|
weight = 1
|
||||||
return self.getBuyCheck(data, i, buy, weight)
|
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
|
return buy, weight
|
||||||
|
|
||||||
def getSellPriceAndWeight_15000(self, data, i):
|
def getSellPriceAndWeight_15000(self, data, i):
|
||||||
|
|||||||
@@ -189,8 +189,12 @@ if __name__ == "__main__":
|
|||||||
# 252670
|
# 252670
|
||||||
# 122630
|
# 122630
|
||||||
"122630": [
|
"122630": [
|
||||||
|
('20220714', '20220715'),
|
||||||
('20220715', '20220718'),
|
('20220715', '20220718'),
|
||||||
('20220718', '20220719')
|
('20220718', '20220719'),
|
||||||
|
('20220719', '20220720'),
|
||||||
|
('20220720', '20220721'),
|
||||||
|
('20220721', '20220722')
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
path = './hts/data'
|
path = './hts/data'
|
||||||
|
|||||||
Reference in New Issue
Block a user