This commit is contained in:
dsyoon
2023-12-15 13:34:25 +09:00
parent 347a7580f3
commit c995d5e3e2

View File

@@ -106,7 +106,7 @@ class BuySellChecker():
# 방법 1:
if max(data['volume_up'][i-180:i]) < data['volume_up'][i]:
if data_signal['slow_k'][si] < 70:
if ((BUY_LIST is None) or (BUY_LIST is not None and 0 < len(BUY_LIST['buy_list']) and BUY_LIST['buy_list'][-1]['buy_price'] < data['close'][i])):
if BUY_LIST is not None and 0 < len(BUY_LIST['buy_list']) and BUY_LIST['buy_list'][-1]['buy_price'] < data['close'][i]):
buy_price = data['close'][i]
buy_type = 'volume_up'
buy_ymd = data['ymd'][i]
@@ -117,12 +117,24 @@ class BuySellChecker():
else:
buy_count = MAX_BUY_PRICE / (2 * data['close'][i])
return buy_ymd, buy_price, buy_count, buy_cut, buy_type
if BUY_LIST is None:
buy_price = data['close'][i]
buy_type = 'golden'
buy_ymd = data['ymd'][i]
if data['slow_k'][si] < 30:
buy_count = MAX_BUY_PRICE / (1 * data['close'][i])
elif data['slow_k'][si] < 50:
buy_count = MAX_BUY_PRICE / (1.5 * data['close'][i])
else:
buy_count = MAX_BUY_PRICE / (2 * data['close'][i])
return buy_ymd, buy_price, buy_count, buy_cut, buy_type
"""
# 방법 2:
if data['avg480'][i] < data['avg120'][i] < data['avg60'][i] < data['avg20'][i] < data['avg5'][i] < data['close'][i]:
if data['avg240'][i] < min(data['avg5'][i], data['avg20'][i], data['avg60'][i], data['avg120'][i]):
if ((BUY_LIST is None) or (BUY_LIST is not None and 0 < len(BUY_LIST['buy_list']) and data['ymd'][i] < BUY_LIST['buy_list'][-1]['buy_ymd'] + timedelta(minutes=10))):
if BUY_LIST is not None and 0 < len(BUY_LIST['buy_list']) and data['ymd'][i] < BUY_LIST['buy_list'][-1]['buy_ymd'] + timedelta(minutes=10):
if BUY_LIST['buy_list'][-1]['buy_price'] < data['close'][i]:
buy_price = data['close'][i]
buy_type = 'golden'
@@ -135,10 +147,24 @@ class BuySellChecker():
buy_count = MAX_BUY_PRICE / (2 * data['close'][i])
return buy_ymd, buy_price, buy_count, buy_cut, buy_type
if BUY_LIST is None:
buy_price = data['close'][i]
buy_type = 'golden'
buy_ymd = data['ymd'][i]
if data['slow_k'][si] < 30:
buy_count = MAX_BUY_PRICE / (1 * data['close'][i])
elif data['slow_k'][si] < 50:
buy_count = MAX_BUY_PRICE / (1.5 * data['close'][i])
else:
buy_count = MAX_BUY_PRICE / (2 * data['close'][i])
return buy_ymd, buy_price, buy_count, buy_cut, buy_type
# 방법 3:
#if sum(data['avg480'][i - 5:i]) < data['avg480'][i] and sum(data['avg60'][i - 5:i]) < data['avg60'][i] and sum(data['avg20'][i - 5:i]) < data['avg20'][i] and sum(data['avg5'][i - 5:i]) < data['avg5'][i]:
if data['avg480'][i] < data['avg20'][i] < data['avg5'][i] and data['avg60'][i] < data['avg20'][i] < data['avg5'][i]:
if ((BUY_LIST is None) or (BUY_LIST is not None and 0 < len(BUY_LIST['buy_list']) and BUY_LIST['buy_list'][-1]['buy_price'] < data['close'][i])):
if BUY_LIST is not None and 0 < len(BUY_LIST['buy_list']) and BUY_LIST['buy_list'][-1]['buy_price'] < data['close'][i]:
buy_price = data['close'][i]
buy_type = 'trend_up'
buy_ymd = data['ymd'][i]
@@ -151,6 +177,18 @@ class BuySellChecker():
return buy_ymd, buy_price, buy_count, buy_cut, buy_type
if BUY_LIST is None:
buy_price = data['close'][i]
buy_type = 'golden'
buy_ymd = data['ymd'][i]
if data['slow_k'][si] < 30:
buy_count = MAX_BUY_PRICE / (1 * data['close'][i])
elif data['slow_k'][si] < 50:
buy_count = MAX_BUY_PRICE / (1.5 * data['close'][i])
else:
buy_count = MAX_BUY_PRICE / (2 * data['close'][i])
return buy_ymd, buy_price, buy_count, buy_cut, buy_type
return buy_ymd, buy_price, buy_count, buy_cut, buy_type
def getSellPriceAndWeight1(self, ticker, i, data, data_signal, BUY_LIST=None):