From d79f3b2ecd88f911866bff0910d47e5b123238be Mon Sep 17 00:00:00 2001 From: dsyoon Date: Fri, 3 Feb 2023 20:34:35 +0900 Subject: [PATCH] init --- Bithumb_minute.py | 46 +++++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/Bithumb_minute.py b/Bithumb_minute.py index e398bc6..717f181 100644 --- a/Bithumb_minute.py +++ b/Bithumb_minute.py @@ -26,7 +26,6 @@ class Bithumb_minute(HTS): bithumb = None binance = None TODAY = None - MAX_BUY_PRICE = None slackBot = None stock_code = None @@ -47,7 +46,7 @@ class Bithumb_minute(HTS): self.bithumb = pybithumb.Bithumb(con_key, sec_key) self.binance = ccxt.binance() self.TODAY = today - self.MAX_BUY_PRICE = 10000 + return def bull_market(self, df, ticker): @@ -579,20 +578,31 @@ class Bithumb_minute(HTS): return data - def getMaxPrice(self, price): - price = self.MAX_BUY_PRICE - first_digit = int(price / 100) - if first_digit < 3: - price = 70000 - elif 3 <= first_digit < 4: - price = 50000 - elif 4 <= first_digit < 5: - price = 20000 - elif 5 <= first_digit < 6: - price = 10000 - elif 6 <= first_digit: - price = 3000 - return price + def getCount(self, price): + if 2000 < price: MAX_BUY_PRICE = 2500 + elif 1900 <= price < 2000: MAX_BUY_PRICE = 3500 + elif 1800 <= price < 1900: MAX_BUY_PRICE = 5000 + elif 1700 <= price < 1800: MAX_BUY_PRICE = 6500 + elif 1600 <= price < 1700: MAX_BUY_PRICE = 8000 + elif 1700 <= price < 1600: MAX_BUY_PRICE = 10000 + elif 1400 <= price < 1500: MAX_BUY_PRICE = 12000 + elif 1300 <= price < 1400: MAX_BUY_PRICE = 14000 + elif 1200 <= price < 1300: MAX_BUY_PRICE = 16000 + elif 1100 <= price < 1200: MAX_BUY_PRICE = 18500 + elif 1000 <= price < 1100: MAX_BUY_PRICE = 21000 + elif 900 <= price < 1000: MAX_BUY_PRICE = 23500 + elif 800 <= price < 900: MAX_BUY_PRICE = 26500 + elif 700 <= price < 800: MAX_BUY_PRICE = 30500 + elif 600 <= price < 700: MAX_BUY_PRICE = 34000 + elif 500 <= price < 600: MAX_BUY_PRICE = 37500 + elif 400 <= price < 500: MAX_BUY_PRICE = 40000 + elif 300 <= price < 400: MAX_BUY_PRICE = 45000 + elif 200 <= price < 300: MAX_BUY_PRICE = 47500 + elif 100 <= price < 200: MAX_BUY_PRICE = 50000 + else: MAX_BUY_PRICE = 70000 + + count = int(MAX_BUY_PRICE / price) + return count def buyRealTime(self, ticker, analyzed_day=120, isRealTime=False): @@ -637,13 +647,11 @@ class Bithumb_minute(HTS): if isRealTime and not check_buy_history: # 매수 조건 if max(bsLine['buy'][len(bsLine['buy']) - 2:]) > 100: - self.MAX_BUY_PRICE = self.getMaxPrice(bsLine['buy'][len(bsLine['buy']) - 1]) - 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 = int(self.MAX_BUY_PRICE / bsLine['buy'][len(bsLine['buy']) - 1]) + count = self.getCount(bsLine['buy'][len(bsLine['buy']) - 1]) # 매수를 요청한다. order = self.bithumb.buy_limit_order(ticker, bsLine['buy'][len(bsLine['buy']) - 1], count)