cybos plus
-
코드 구현 목표모듈 별로 각기 다른 py 파일 내에 각기 다른 이름으로 클래스 생성하기생성한 클래스 사용해보기지난 게시글에서는 CpSysDib.py 파일을 생성한 후 해당 파일 내에서 CpSysDib 내에 있는 `StockChart` 모듈을 대상으로 하는 인스턴스(`self.stockchart`)를 생성해주었고, 그 인스턴스를 활용하여 대신증권 서버에 데이터를 입력하거나 입력한 데이터를 서버로 전송하고, 그 결과 데이터를 수신했다. 이번 게시글에서는 CpSysDib.StockChart 모듈 뿐만 아니라, 이외에도 대신증권에서 제공하는 여러 모듈을 모듈 별로 하나의 파일을 생성하고 그 안에 클래스를 생성해볼 예정이다. (1) 모듈 별로 각기 다른 py 파일 내에 각기 다른 이름의 클래스 생성하기현재 Bos..
대신증권 CYBOS PLUS 시작하기 (8) - 모듈별로 클래스 생성하기코드 구현 목표모듈 별로 각기 다른 py 파일 내에 각기 다른 이름으로 클래스 생성하기생성한 클래스 사용해보기지난 게시글에서는 CpSysDib.py 파일을 생성한 후 해당 파일 내에서 CpSysDib 내에 있는 `StockChart` 모듈을 대상으로 하는 인스턴스(`self.stockchart`)를 생성해주었고, 그 인스턴스를 활용하여 대신증권 서버에 데이터를 입력하거나 입력한 데이터를 서버로 전송하고, 그 결과 데이터를 수신했다. 이번 게시글에서는 CpSysDib.StockChart 모듈 뿐만 아니라, 이외에도 대신증권에서 제공하는 여러 모듈을 모듈 별로 하나의 파일을 생성하고 그 안에 클래스를 생성해볼 예정이다. (1) 모듈 별로 각기 다른 py 파일 내에 각기 다른 이름의 클래스 생성하기현재 Bos..
2024.08.08 -
코드 구축 목표기작업한 차트 조회 함수들을 별도의 클래스로 생성메인으로 작업할 클래스에서 해당 클래스 호출하여 차트 조회해보기지난 두 번의 게시글에서 일봉, 주봉, 월봉, 분봉 차트 데이터를 조회하는 방법에 대해 살펴보았다. 이제 슬슬 하나의 파일 안에서 모든 코드를 제작하다 보니 코드가 관리하기 어려워지는 게 와닿을 것이다. 그래서 이번에는 새로운 폴더를 만들어서 그 안에 새롭게 파일을 생성하고, 파일 별로 하나의 클래스를 만들어서 아예 분리된 캡슐화 작업을 할 예정이다.일단 우리가 작업하고 있는 trade_cybos 프로젝트(폴더) 안에 COM이라는 이름을 가진 폴더를 생성한 후, CpSysDib.py 파일을 생성해주도록 하자. 앞으로 COM과 관련된 내용들은 모두 COM이라는 폴더 안에 기능을 구현..
대신증권 CYBOS PLUS 시작하기 (7) - 차트조회 클래스 생성하기코드 구축 목표기작업한 차트 조회 함수들을 별도의 클래스로 생성메인으로 작업할 클래스에서 해당 클래스 호출하여 차트 조회해보기지난 두 번의 게시글에서 일봉, 주봉, 월봉, 분봉 차트 데이터를 조회하는 방법에 대해 살펴보았다. 이제 슬슬 하나의 파일 안에서 모든 코드를 제작하다 보니 코드가 관리하기 어려워지는 게 와닿을 것이다. 그래서 이번에는 새로운 폴더를 만들어서 그 안에 새롭게 파일을 생성하고, 파일 별로 하나의 클래스를 만들어서 아예 분리된 캡슐화 작업을 할 예정이다.일단 우리가 작업하고 있는 trade_cybos 프로젝트(폴더) 안에 COM이라는 이름을 가진 폴더를 생성한 후, CpSysDib.py 파일을 생성해주도록 하자. 앞으로 COM과 관련된 내용들은 모두 COM이라는 폴더 안에 기능을 구현..
2024.08.04 -
학습 목표차트를 조회하는 여러 가지 방법하나의 함수로 분봉부터 일봉 주봉 월봉까지 모두 다 해결할 수 있을까 ?분봉 차트 데이터 조회하기지난 게시글에서 일봉 차트 데이터를 조회하는 방법에 대하여 살펴봤었는데, 사실 분봉 차트 데이터를 조회하는 방법도 숙지하고 있어야 한다. 간단하게 결론부터 설명하자면 분봉 차트 데이터는 `SetInputValue(6, ord("D"))` 부분에 있는 "D"를 "m"으로 변경해주기만 하면 되고, 주봉은 "W"로, 월봉은 "M"으로 변경해주면 된다. 각각 Day, min, Week, Month의 약자이므로 이 부분은 크게 어렵지 않다. 다만 요청하고자 하는 데이터의 형태에 따라 각기 다른 형태의 데이터를 전달받아야 한다는 점이 문제이다. 즉, 분봉 차트 데이터를 요청할 경우..
대신증권 CYBOS PLUS 시작하기 (6) - 분봉차트 데이터 조회하기학습 목표차트를 조회하는 여러 가지 방법하나의 함수로 분봉부터 일봉 주봉 월봉까지 모두 다 해결할 수 있을까 ?분봉 차트 데이터 조회하기지난 게시글에서 일봉 차트 데이터를 조회하는 방법에 대하여 살펴봤었는데, 사실 분봉 차트 데이터를 조회하는 방법도 숙지하고 있어야 한다. 간단하게 결론부터 설명하자면 분봉 차트 데이터는 `SetInputValue(6, ord("D"))` 부분에 있는 "D"를 "m"으로 변경해주기만 하면 되고, 주봉은 "W"로, 월봉은 "M"으로 변경해주면 된다. 각각 Day, min, Week, Month의 약자이므로 이 부분은 크게 어렵지 않다. 다만 요청하고자 하는 데이터의 형태에 따라 각기 다른 형태의 데이터를 전달받아야 한다는 점이 문제이다. 즉, 분봉 차트 데이터를 요청할 경우..
2024.08.04 -
학습 목표차트 데이터 조회 시 전달해야 하는 인자 목록차트 데이터 조회 시 데이터 수신 방법차트 데이터 조회 함수 캡슐화앞전 게시글에서 현재가를 조회하는 모듈(`Dscbo1.StockMst`)을 살펴보았고, 그 사용 방법에 대해서도 간략하게 살펴보았다. 사실 이쯤 되면 대신증권 홈페이지에 있는 도움말만 보고도 스스로 해당 함수의 기능을 구현할 수 있을 정도로 간단한 방식으로 동작한다는 것을 알게 되었을 것이다. 다만 차트 데이터를 조회하는 모듈(`CpSysDib.StockChart`)의 경우에는 데이터를 요청한 후 반환받는 함수인 `GetHeaderValue()` 뿐만 아니라 `GetDataValue()` 함수를 사용해야 한다는 점에서 현재가를 조회하는 모듈과는 다소 다른 방법으로 동작하는 것처럼 보일 ..
대신증권 CYBOS PLUS 시작하기 (5) - 일봉차트 데이터 조회하기학습 목표차트 데이터 조회 시 전달해야 하는 인자 목록차트 데이터 조회 시 데이터 수신 방법차트 데이터 조회 함수 캡슐화앞전 게시글에서 현재가를 조회하는 모듈(`Dscbo1.StockMst`)을 살펴보았고, 그 사용 방법에 대해서도 간략하게 살펴보았다. 사실 이쯤 되면 대신증권 홈페이지에 있는 도움말만 보고도 스스로 해당 함수의 기능을 구현할 수 있을 정도로 간단한 방식으로 동작한다는 것을 알게 되었을 것이다. 다만 차트 데이터를 조회하는 모듈(`CpSysDib.StockChart`)의 경우에는 데이터를 요청한 후 반환받는 함수인 `GetHeaderValue()` 뿐만 아니라 `GetDataValue()` 함수를 사용해야 한다는 점에서 현재가를 조회하는 모듈과는 다소 다른 방법으로 동작하는 것처럼 보일 ..
2024.08.04 -
학습 목표현재가 조회 함수 사용해보기현재가 조회 함수 캡슐화대신증권의 홈페이지에 따르면, CYBOS PLUS에서 현재가를 조회할 수 있는 함수(=오브젝트)는 `StockMst()`이다. 이번 게시글에서는 `StockMst()` 오브젝트를 포함하는 함수를 구현하고, 더 나아가 우리가 해당 함수의 인자(=parameter)로 종목코드만 전달해주면 그 종목의 현재가를 반환해주도록 하나의 캡슐 함수를 제작할 예정이다. (1) 현재가 조회 모듈의 인스턴스 생성하기현재가를 조회하는 함수를 제작하기 전에 앞서, 이전 게시글에서 살펴봤던 것과 같이 현재가를 조회하는 모듈의 인스턴스를 생성해주어야 한다. 이 모듈의 이름은 아래의 이미지와 같이 대신증권 도움말을 보면 어렵지 않게 확인할 수 있다. 아래 이미지에서 주황색..
대신증권 CYBOS PLUS 시작하기 (4) - 특정종목 현재가 조회하기학습 목표현재가 조회 함수 사용해보기현재가 조회 함수 캡슐화대신증권의 홈페이지에 따르면, CYBOS PLUS에서 현재가를 조회할 수 있는 함수(=오브젝트)는 `StockMst()`이다. 이번 게시글에서는 `StockMst()` 오브젝트를 포함하는 함수를 구현하고, 더 나아가 우리가 해당 함수의 인자(=parameter)로 종목코드만 전달해주면 그 종목의 현재가를 반환해주도록 하나의 캡슐 함수를 제작할 예정이다. (1) 현재가 조회 모듈의 인스턴스 생성하기현재가를 조회하는 함수를 제작하기 전에 앞서, 이전 게시글에서 살펴봤던 것과 같이 현재가를 조회하는 모듈의 인스턴스를 생성해주어야 한다. 이 모듈의 이름은 아래의 이미지와 같이 대신증권 도움말을 보면 어렵지 않게 확인할 수 있다. 아래 이미지에서 주황색..
2024.08.03 -
학습 목표대신증권의 모듈과 메서드(=함수) 살펴보기지난 게시글에서는 `IsConnect()` 함수를 통해 대신증권 서버와 연결되어 있는지에 대해 살펴보고, 그 결과값이 몇인지에 따라 각기 다른 내용을 출력하도록 하는 기능까지 구현했다. 여기서 우리가 더 추가적인 기능을 구현하기 위해서는 대신증권 CYBOS PLUS에서 제공하는 모듈로는 어떠한 것들이 있는지 이해해야 한다. (1) 상태 확인용 모듈: CpUtil.CpCybos우리가 서버와의 연결 여부를 확인할 때 `self.cybos`로 정의해두었던 모듈인 `CpUtil.CpCybos`는 기본적으로 CYBOS PLUS의 상태를 확인할 수 있는 모듈이다. 즉, 우리가 서버와의 연결 여부를 확인할 때 사용했던 `IsConnect` 함수는 기본적으로 접속 상..
대신증권 CYBOS PLUS 시작하기 (3) - 대신증권 모듈 이해하기학습 목표대신증권의 모듈과 메서드(=함수) 살펴보기지난 게시글에서는 `IsConnect()` 함수를 통해 대신증권 서버와 연결되어 있는지에 대해 살펴보고, 그 결과값이 몇인지에 따라 각기 다른 내용을 출력하도록 하는 기능까지 구현했다. 여기서 우리가 더 추가적인 기능을 구현하기 위해서는 대신증권 CYBOS PLUS에서 제공하는 모듈로는 어떠한 것들이 있는지 이해해야 한다. (1) 상태 확인용 모듈: CpUtil.CpCybos우리가 서버와의 연결 여부를 확인할 때 `self.cybos`로 정의해두었던 모듈인 `CpUtil.CpCybos`는 기본적으로 CYBOS PLUS의 상태를 확인할 수 있는 모듈이다. 즉, 우리가 서버와의 연결 여부를 확인할 때 사용했던 `IsConnect` 함수는 기본적으로 접속 상..
2024.07.29 -
학습 목표캡슐화 이해하기IsConnect 함수 캡슐화하기캡슐화라는 것은 특정 함수를 어디서 호출하든지 간에 동일한 논리 구조에 따라 동작하는 함수를 생성하는 것이라 생각하면 된다. 이번 게시글에서는 `IsConnect()` 함수를 하나의 캡슐화를 통해 프로그램 실행과 동시에 연결 성공 여부를 판단하도록 하는 함수를 제작할 예정이다. (1) 캡슐화란기본적으로 A라는 값을 전달했을 때 A라는 숫자에 10을 더한 숫자를 반환해주는 기능을 구현하고 싶다고 가정해보자. 그렇다면 캡슐화라는 이름을 가진 함수(`capsulation()`)는 A와 같이 특정 값을 전달받아야 하는데, 이를 함수의 인자(parameter)라고 한다. 함수는 얼마든지 많은 인자를 전달받을 수 있고 인자를 전달받지 않고도 얼마든지 구현할 ..
대신증권 CYBOS PLUS 시작하기 (2) - 연결함수 캡슐화학습 목표캡슐화 이해하기IsConnect 함수 캡슐화하기캡슐화라는 것은 특정 함수를 어디서 호출하든지 간에 동일한 논리 구조에 따라 동작하는 함수를 생성하는 것이라 생각하면 된다. 이번 게시글에서는 `IsConnect()` 함수를 하나의 캡슐화를 통해 프로그램 실행과 동시에 연결 성공 여부를 판단하도록 하는 함수를 제작할 예정이다. (1) 캡슐화란기본적으로 A라는 값을 전달했을 때 A라는 숫자에 10을 더한 숫자를 반환해주는 기능을 구현하고 싶다고 가정해보자. 그렇다면 캡슐화라는 이름을 가진 함수(`capsulation()`)는 A와 같이 특정 값을 전달받아야 하는데, 이를 함수의 인자(parameter)라고 한다. 함수는 얼마든지 많은 인자를 전달받을 수 있고 인자를 전달받지 않고도 얼마든지 구현할 ..
2024.07.26 -
지난 게시글(클릭 시 이동)을 통해 대신증권의 CYBOS PLUS 내 통신 방식은 어떠한 방식으로 이루어지는지에 대해 알아보았다. 다시 한 번 정리하자면, 대신증권의 통신 방식은 크게 요청/응답 방식과 구독/생산 방식으로 구분할 수 있으나, 그 구분은 어디까지나 단발성 데이터 요청인지 아니면 실시간 주가 데이터 수신과 같은 지속성 데이터 요청인지에만 기준을 두면 되고, 근본적으로 데이터를 입력하는 방식은 `SetInputValue()`를 통해서 이루어지며 데이터 입력 후의 데이터 요청은 `Request()`나 `BlockRequest()` 또는 `Subscribe()` 함수를 통해 데이터를 요청하고 `GetHeaderValue()`나 `GetDataValue()` 함수를 통해 데이터를 불러온다. 이제 사..
대신증권 CYBOS PLUS 이해하기 (2) - 통신방식 이해하기지난 게시글(클릭 시 이동)을 통해 대신증권의 CYBOS PLUS 내 통신 방식은 어떠한 방식으로 이루어지는지에 대해 알아보았다. 다시 한 번 정리하자면, 대신증권의 통신 방식은 크게 요청/응답 방식과 구독/생산 방식으로 구분할 수 있으나, 그 구분은 어디까지나 단발성 데이터 요청인지 아니면 실시간 주가 데이터 수신과 같은 지속성 데이터 요청인지에만 기준을 두면 되고, 근본적으로 데이터를 입력하는 방식은 `SetInputValue()`를 통해서 이루어지며 데이터 입력 후의 데이터 요청은 `Request()`나 `BlockRequest()` 또는 `Subscribe()` 함수를 통해 데이터를 요청하고 `GetHeaderValue()`나 `GetDataValue()` 함수를 통해 데이터를 불러온다. 이제 사..
2024.07.21 -
지난 게시글에서 CYBOS 5와 CYBOS PLUS를 설치했는데, 이번 게시글에서 부터는 CYBOS PLUS는 어떠한 방식으로 동작하는지와 기본적으로 어떠한 함수들이 존재하는지에 대해 정리해보고자 한다. CYBOS PLUS, 데이터 요청과 수신 방식 알아보기대신증권 홈페이지(클릭 시 이동)에 따르면, 대신증권의 Open API 통신 방식은 크게 ① 요청/응답(Requect/Reply, RQ/RP) 방식과 ② 구독/생산(Subscribe/Publish, SB/PB) 방식으로 동작한다고 설명하고 있다. 대체로 키움증권 영웅문의 동작 방식과 거의 동일한데, ①번의 요청/응답 방식은 단순하게 1회 요청에 대한 1회 응답의 방식을 갖고 있으며 ②번의 구독/생산 방식은 1회 요청에 대한 다회 응답의 방식을 갖고 ..
대신증권 CYBOS PLUS 이해하기 (1) - 통신 방식 알아보기지난 게시글에서 CYBOS 5와 CYBOS PLUS를 설치했는데, 이번 게시글에서 부터는 CYBOS PLUS는 어떠한 방식으로 동작하는지와 기본적으로 어떠한 함수들이 존재하는지에 대해 정리해보고자 한다. CYBOS PLUS, 데이터 요청과 수신 방식 알아보기대신증권 홈페이지(클릭 시 이동)에 따르면, 대신증권의 Open API 통신 방식은 크게 ① 요청/응답(Requect/Reply, RQ/RP) 방식과 ② 구독/생산(Subscribe/Publish, SB/PB) 방식으로 동작한다고 설명하고 있다. 대체로 키움증권 영웅문의 동작 방식과 거의 동일한데, ①번의 요청/응답 방식은 단순하게 1회 요청에 대한 1회 응답의 방식을 갖고 있으며 ②번의 구독/생산 방식은 1회 요청에 대한 다회 응답의 방식을 갖고 ..
2024.07.21