본문 바로가기

전체 글152

9. 비동기 프로그래밍 목차 비동기 프로그래밍 자동매매 프로젝트의 경우 정확도가 중요합니다. 비동기적으로 처리하면서도, 로직이 꼬이지 않기 위해서 많은 시행착오를 겪었습니다. 그 과정 속에서 배워나갔던 점들을 하나하나 정리해보도록하겠습니다. asyncio.create_task() vs asyncio.gather() asyncio.create_task()와 asyncio.gather()은 async로 작성된 비동기함수를 실행할때 사용합니다. 깊게 들어가면 더 많은 차이점이 있지만, 우선은 큼직한 틀에서 차이점을 살펴보도록하겠습니다. asyncio.create_task() vs asyncio.gather() asyncio.create_task()와 asyncio.gather()는 모두 async로 작성된 비동기 함수를 실행할 때 .. 2024. 1. 28.
8. pyautogui 목차 pyautogui의 필요성 여러개의 종목을 백테스팅을 진행하다 보면은 일일이 종목마다 하나하나 pinescript 코드를 실행해야 하는 번거로움이 존재합니다. 이처럼 마우스나 키보드로 단순하게 하던 작업을 pyautogui를 이용하면 직접 클릭이나 키보드 입력을 하지 않아도 자동으로 처리되게 할 수 있습니다. 기본 코드 확실한 제어를 위해서 코드를 실행할때 관리자 권한으로 실행하는 것이 좋습니다. 마우스 클릭 마우스 클릭을 위해서는 해당 마우스 포인터 위치를 알아야합니다. 다음 코드를 통해 마우스 포인터 위치를 파악할 수 있습니다. (클릭하고 싶은 위치로 마우스 포인터를 먼저 이동시켜주어야 합니다.) import pyautogui current_position = pyautogui.position(.. 2024. 1. 27.
7. 이베스트투자증권 OPEN API 목차 이베스트투자증권 OPEN API 공식 홈페이지 https://openapi.ebestsec.co.kr/intro 윈도우 COM, OCX, DLL 기반의 API를 제공하는 다른 증권사와 달리 이베스트투자증권이나 한국투자증권은 REST API를 제공합니다. 따라서 윈도우 환경이 아니더라도 개발할 수 있고, 보다 쉽게 진행할 수 있습니다. 이베스트투자증권은 최근 2024년 1월 15일(월) OPEN API 내 조건검색 서비스를 추가하였습니다. 조건검색이 필요하기때문에 이베스트투자증권 OPEN API를 이용하기로 했습니다. 해당 내용을 참고하여 손쉽게 OPEN API 신청할 수 있습니다. (APP KEY와 SECRET KEY 발급) https://openapi.ebestsec.co.kr/howto-use .. 2024. 1. 22.
6. .env 파일 작성 목차 .env 파일 필요한 이유 우리는 보통 코드를 작성하면 깃허브에 올리거나 어디에 공유합니다. 이럴 경우 보안상 매번 API key 값을 지우고 올리고 이런 작업을 반복해야 합니다. 이러한 작업을 방지하기 위해 .env 파일을 생성한 뒤 API key 등 보안적인 값들을 작성하고 .gitignore에 .env파일을 작성해 주면 됩니다. 또한 여러 가지 세팅 정보들이 존재할 수 있습니다. 자동매매를 예시로 들면 몇 개의 종목을 매수할지 제한사항이나 몇 번 분할 매수를 진행할지 몇 프로 익절을 할지 등 여러 세팅값들이 존재합니다. 이러한 값들을 .env 파일에 작성해두면 추후에 .env 파일만 변경해주면 해당 값을 손쉽게 변경해줄 수 있습니다. .env 파일 예시 .env 파일 예시 BINANCE_KEY.. 2024. 1. 21.