hyeon9698 / upbit_bot

비트코인, 알트코인 자동 매매 프로그램 (업비트용), 변동성 돌파 전략을 이용한 가상화폐, 업비트 자동 매매 프로그램
MIT License
42 stars 25 forks source link

pythonanywhere bash 콘솔 에서 실행했는데... #10

Closed presio2 closed 3 years ago

presio2 commented 3 years ago

(upbit) 10:13 ~/upbit_bot (main)$ python main.py Traceback (most recent call last): File "main.py", line 108, in bot = telegram.Bot(token) File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/telegram/bot.py", line 171, in init self.token = self._validate_token(token) File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/telegram/bot.py", line 310, in _validate_token if any(x.isspace() for x in token): TypeError: 'NoneType' object is not iterable

이런 식으로 뜨는데 어떻게 해결해야 할까요 업비트 api로 엑세스키, 시크릿키는 알겠는데 밑에 텔레그램 봇은 api 숫자+영어 긴 것 그 밑에 mc는 챗 아이디 숫자 넣고... 이렇게 끝내고 실행 시켰습니다만.

hyeon9698 commented 3 years ago

KEY를 제대로 못 읽어오는 듯 싶습니다. .env 파일에 KEY 저장하셨나요? UPBIT_API_ACCESS_KEY=~~~ UPBIT_API_SECRET_KEY=~~~ TELEGRAM_API_TOKEN_KEY=~:~ TELEGRAM_API_MC=~~~ 이런 포멧으로 되어있는지 확인해 주실 수 있나요? 제대로된 가이드라인을 아직 못 만들어 죄송합니다ㅠ

presio2 commented 3 years ago

제가 코딩 경험이 전무해서... 처음에 pythonanywhere 들어가서 bash로 창열고 설명에 적힌대로 붙여넣고 , vim main.py에서 UPBIT_API_ACCESS_KEY UPBIT_API_SECRET_KEY TELEGRAM_API_TOKEN_KEY TELEGRAM_API_MC 지우고 '439842904...' 키 집어넣고.. python main.py 했을 때 위에 오류가 뜬거거든요. 딱 이대로만 했는데, env.는 어떻게 만들고 DB정보 입력하죠/ 저도 죄송해요, 그냥 코인에 관심이 생겨서 찾아 온 거거든요. 쉽게 설명해 주셔도 제가 잘 못 알아 먹을까봐 걱정입니다 0

hyeon9698 commented 3 years ago

아 그러면 .env 파일 만드시지 마시고

load_dotenv()
access = os.getenv('UPBIT_API_ACCESS_KEY')
secret = os.getenv('UPBIT_API_SECRET_KEY')
upbit = pyupbit.Upbit(access, secret)
token = os.getenv('TELEGRAM_API_TOKEN_KEY')
mc = os.getenv('TELEGRAM_API_MC')
bot = telegram.Bot(token)

여기 코드에서

load_dotenv()
access = "여기에ACCESSKEY"
secret = "여기에SECRETKEY"
upbit = pyupbit.Upbit(access, secret)
token = "여기에TELEGRAM_API_TOKEN_KEY"
mc = "여기에 TELEGRAM_API_ID KEY"
bot = telegram.Bot(token)

이렇게 직접 값을 넣으면 될 겁니다! 따옴표까지 해주세요 혹시 또 안된다면 질문 계속 주세요~

presio2 commented 3 years ago

이번엔 이런 오류가 뜨네요 Traceback (most recent call last): File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 3080, in get_loc return self._engine.get_loc(casted_key) File "pandas/_libs/index.pyx", line 70, in pandas._libs.index.IndexEngine.get_loc File "pandas/_libs/index.pyx", line 101, in pandas._libs.index.IndexEngine.get_loc File "pandas/_libs/hashtable_class_helper.pxi", line 4554, in pandas._libs.hashtable.PyObjectHashTable.get_item File "pandas/_libs/hashtable_class_helper.pxi", line 4562, in pandas._libs.hashtable.PyObjectHashTable.get_item KeyError: 'yesterday_ma15' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "main.py", line 191, in yesterday_ma15[i] = df.loc[i,'yesterday_ma15'] File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/pandas/core/indexing.py", line 889, in getitem return self._getitem_tuple(key) File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/pandas/core/indexing.py", line 1060, in _getitem_tuple return self._getitem_lowerdim(tup) File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/pandas/core/indexing.py", line 831, in _getitem_lowerdim return getattr(section, self.name)[new_key] File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/pandas/core/indexing.py", line 895, in getitem return self._getitem_axis(maybe_callable, axis=axis) File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/pandas/core/indexing.py", line 1124, in _getitem_axis return self._get_label(key, axis=axis) File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/pandas/core/indexing.py", line 1073, in _get_label return self.obj.xs(label, axis=axis) File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/pandas/core/generic.py", line 3739, in xs loc = index.get_loc(key) File "/home/presio2/upbit_bot/upbit/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 3082, in get_loc raise KeyError(key) from err KeyError: 'yesterday_ma15'

허허 엄청 기네요 ... 코인 보느라 정신도 없네요 @.@ 아무래도 오래 귀찮게 해드릴지도..,.

hyeon9698 commented 3 years ago

아 제가 중간에 수정하다가 오타가 있었네요 지금 다시 코드 수정했습니다.

python main.py 입력하는 창에서

git pull
python main.py

라고 하면 진행 될 겁니다! 참고로 k값은 0.4로 ma는 10으로 설정되어있으니 실행하기 전에 코드 한번 보셔야 합니다.

presio2 commented 3 years ago

말씀해 주신 대로 실행 되는 것 확인했습니다 ^-^/ 잘 되면 좋겠네요. 감사합니다. 도중에 궁금한게 생기면 또 질문해도 되겠죠? @.@

hyeon9698 commented 3 years ago

옙! 질문 계속해 주세요! 좋습니다 더 추가하고 싶은 것들 알려주시면 보고 만들어 드릴게요! 투자의 책임은 투자자 본인에게 있다는 거 한번 말씀드리고 이슈 close 하겠습니다.