This commit is contained in:
dsyoon
2023-02-19 22:38:37 +09:00
parent 501d874fdd
commit 9f1fce1a26

View File

@@ -582,7 +582,63 @@ class Bithumb_minute(HTS):
return data
def getCount(self, price):
def getSOLCount(self, price):
if 45000 < price: MAX_BUY_PRICE = 1000
elif 42000 <= price < 45000 : MAX_BUY_PRICE = 2000
elif 40000 <= price < 42000 : MAX_BUY_PRICE = 3000
elif 38000 <= price < 40000 : MAX_BUY_PRICE = 4000
elif 36000 <= price < 38000 : MAX_BUY_PRICE = 5000
elif 34000 <= price < 36000 : MAX_BUY_PRICE = 6000
elif 32000 <= price < 34000 : MAX_BUY_PRICE = 7000
elif 30000 <= price < 32000 : MAX_BUY_PRICE = 8000
elif 28000 <= price < 30000 : MAX_BUY_PRICE = 9000
elif 26000 <= price < 28000 : MAX_BUY_PRICE = 10000
elif 24000 <= price < 26000 : MAX_BUY_PRICE = 15000
elif 22000 <= price < 24000 : MAX_BUY_PRICE = 20000
elif 20000 <= price < 22000 : MAX_BUY_PRICE = 25000
elif 17000 <= price < 20000 : MAX_BUY_PRICE = 30000
elif 15000 <= price < 17000 : MAX_BUY_PRICE = 35000
elif 12000 <= price < 15000 : MAX_BUY_PRICE = 40000
elif 10000 <= price < 12000 : MAX_BUY_PRICE = 50000
elif 7000 <= price < 10000 : MAX_BUY_PRICE = 70000
elif 5000 <= price < 7000 : MAX_BUY_PRICE = 90000
elif 3000 <= price < 3000 : MAX_BUY_PRICE = 100000
else: MAX_BUY_PRICE = 100000
count = int(MAX_BUY_PRICE / price)
return count
def getEOSCount(self, price):
if 3000 < price: MAX_BUY_PRICE = 1000
elif 2500 <= price < 3000: MAX_BUY_PRICE = 3000
elif 2000 <= price < 2500: MAX_BUY_PRICE = 50000
elif 1800 <= price < 2000: MAX_BUY_PRICE = 7000
elif 1500 <= price < 1800: MAX_BUY_PRICE = 10000
elif 1200 <= price < 1500: MAX_BUY_PRICE = 30000
elif 800 <= price < 12000: MAX_BUY_PRICE = 50000
elif 500 <= price < 800: MAX_BUY_PRICE = 80000
else: MAX_BUY_PRICE = 100000
count = int(MAX_BUY_PRICE / price)
return count
def getTRXCount(self, price):
if 90 < price: MAX_BUY_PRICE = 3000
elif 80 <= price < 90: MAX_BUY_PRICE = 10000
elif 70 <= price < 80: MAX_BUY_PRICE = 20000
elif 60 <= price < 70: MAX_BUY_PRICE = 40000
elif 50 <= price < 60: MAX_BUY_PRICE = 60000
elif 40 <= price < 50: MAX_BUY_PRICE = 70000
elif 30 <= price < 40: MAX_BUY_PRICE = 80000
elif 20 <= price < 30: MAX_BUY_PRICE = 100000
else: MAX_BUY_PRICE = 100000
count = int(MAX_BUY_PRICE / price)
return count
def getXRPCount(self, price):
if 2000 < price: MAX_BUY_PRICE = 3000
elif 1900 <= price < 2000: MAX_BUY_PRICE = 4000
elif 1800 <= price < 1900: MAX_BUY_PRICE = 5000
@@ -667,7 +723,14 @@ class Bithumb_minute(HTS):
tmp = self.bithumb.get_balance(ticker)
balance = tmp[2]
#count = round((balance * (bsLine['buy_weight'][len(bsLine['buy_weight']) - 1] / 100)) / bsLine['buy'][len(bsLine['buy']) - 1], 2)
count = self.getCount(bsLine['buy'][len(bsLine['buy']) - 1])
if ticker == 'TRX':
count = self.getTRXCount(bsLine['buy'][len(bsLine['buy']) - 1])
elif ticker == 'SOL':
count = self.getSOLCount(bsLine['buy'][len(bsLine['buy']) - 1])
elif ticker == 'EOS':
count = self.getSOLCount(bsLine['buy'][len(bsLine['buy']) - 1])
else:
count = self.getXRPCount(bsLine['buy'][len(bsLine['buy']) - 1])
# 매수를 요청한다.
order = self.bithumb.buy_limit_order(ticker, bsLine['buy'][len(bsLine['buy']) - 1], count)
@@ -750,7 +813,7 @@ if __name__ == "__main__":
today = datetime.today().strftime('%Y%m%d')
bithumb = Bithumb_minute(RESOURCE_PATH, today)
tickers = ['XRP']
tickers = ['XRP', 'SOL', 'TRX', 'EOS']
analyzed_day = 120
isRealTime = True
if isRealTime: