본문 바로가기

Algorithm Trading/ComDon 프로그램 개발이야기10

10. 디스코드 알림 목차 디스코드 알림 메시지 보내기 https://github.com/kyb3r/dhooks 를 사용하였습니다. dhooks에는 비동기 코드도 구현되어져 있기 때문에 메시지를 보내는 동안의 프로그램이 멈추는 것을 방지해줄 수 있습니다. 디스코드 웹후크 URL 발급 과정 dhooks를 사용하기 위해서는 디스코드 채널의 webhook url이 필요합니다. webhook url 발급 과정 서버추가하기를 통해 알림 채널 생성 생성된 채팅 채널의 설정(채널 편집) 연동 클릭 후 웹후크 만들기 클릭 생성된 웹후크에서 웹후크 URL 복사를 통해 해당 URL을 가져올 수 있습니다. 동기 VS 비동기 동기 방식으로 코드를 작성할 경우, 메시지를 보내는 시간동안 잠깐동안 프로그램이 중지할 수 있습니다. 이 메시지를 보내는 .. 2024. 2. 4.
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.