AUTO TRADE
좌측 카테고리를 눌러서 주제를 선택하시기 바랍니다.
-
프로그램 구현 목표최대로 회신 가능한 데이터 확인하기분봉 차트 조회 함수 제작하기연속 조회 기능 구현하기15분봉 말고 다른 분봉도 조회해보죠 ① GUI로 기능 구현하기15분봉 말고 다른 분봉도 조회해보죠 ② 함수의 인자로 전달받기 최대로 회신 가능한 데이터 확인하기여기서 살펴볼 회신 가능한 데이터라는 개념은 일봉 차트를 구현할 때 확인했던 2,856개(분봉은 2,499개임)라는 개념과는 달리, 분봉 차트 데이터의 경우에만 적용되는 조회 가능한 범위의 한계가 있다. 대신증권 운영진 측의 답변에 따르면 아래와 같이 정리된다.1분봉: 2년5분봉: 5년틱봉: 20일 분봉 차트 조회 함수 제작하기분봉 차트는 기존에 살펴봤던 내용과 같이 데이터의 개수로만 조회가 가능하다. 그 전에 앞서 이전에 제작해두었던 일봉·..
대신증권 CYBOS PLUS 프로그램 구현 (12) - 분봉 차트 조회하기프로그램 구현 목표최대로 회신 가능한 데이터 확인하기분봉 차트 조회 함수 제작하기연속 조회 기능 구현하기15분봉 말고 다른 분봉도 조회해보죠 ① GUI로 기능 구현하기15분봉 말고 다른 분봉도 조회해보죠 ② 함수의 인자로 전달받기 최대로 회신 가능한 데이터 확인하기여기서 살펴볼 회신 가능한 데이터라는 개념은 일봉 차트를 구현할 때 확인했던 2,856개(분봉은 2,499개임)라는 개념과는 달리, 분봉 차트 데이터의 경우에만 적용되는 조회 가능한 범위의 한계가 있다. 대신증권 운영진 측의 답변에 따르면 아래와 같이 정리된다.1분봉: 2년5분봉: 5년틱봉: 20일 분봉 차트 조회 함수 제작하기분봉 차트는 기존에 살펴봤던 내용과 같이 데이터의 개수로만 조회가 가능하다. 그 전에 앞서 이전에 제작해두었던 일봉·..
2024.09.06 -
프로그램 구현 목표두 번보다도 많은 횟수의 데이터를 요청해보자요청한 데이터 개수만큼만 결과값을 전달받아보자 두 번보다도 많은 횟수의 데이터를 요청해보자현재까지 구현한 코드는 단순하게 2,856개의 데이터를 두 번 요청하는 기능밖에 수행하지 못한다. 왜냐하면 동일한 작업을 계속해서 처리하도록 하는 기능이 구현되어 있지 않기 때문이다. 이해가 가지 않는다면, 3번을 요청해야만 회신받을 수 있는 데이터 개수인 6,000개를 요청해보면 된다. 아래의 결과값만 봐도 어렵지 않게 이해할 수 있는데, 정확히 5712개의 데이터만 반환되고 있다. 이는 10,000개를 요청하나 13,000개를 요청하나 똑같은 결과값만을 반환해줄 뿐이다.□ 6,000개를 요청했을 때의 결과값더보기더보기self.object:CpCybos ..
대신증권 CYBOS PLUS 프로그램 구현 (11) - 일봉 차트 조회 : 연속 조회 사용하기 ②프로그램 구현 목표두 번보다도 많은 횟수의 데이터를 요청해보자요청한 데이터 개수만큼만 결과값을 전달받아보자 두 번보다도 많은 횟수의 데이터를 요청해보자현재까지 구현한 코드는 단순하게 2,856개의 데이터를 두 번 요청하는 기능밖에 수행하지 못한다. 왜냐하면 동일한 작업을 계속해서 처리하도록 하는 기능이 구현되어 있지 않기 때문이다. 이해가 가지 않는다면, 3번을 요청해야만 회신받을 수 있는 데이터 개수인 6,000개를 요청해보면 된다. 아래의 결과값만 봐도 어렵지 않게 이해할 수 있는데, 정확히 5712개의 데이터만 반환되고 있다. 이는 10,000개를 요청하나 13,000개를 요청하나 똑같은 결과값만을 반환해줄 뿐이다.□ 6,000개를 요청했을 때의 결과값더보기더보기self.object:CpCybos ..
2024.09.06 -
프로그램 구현 목표조회 횟수당 최대로 조회할 수 있는 데이터 확인해보기Continue 속성 활용하여 이해하기개수 비교 로직 추가하기연속 조회 구현하기 조회 횟수당 최대로 조회할 수 있는 데이터 확인해보기이전에 만들어둔 프로그램을 실행시켜서 조회 개수 란에 3,000을 입력한 후 데이터를 조회해보면, 서버로부터 회신되는 데이터의 개수는 2,856개밖에 되지 않는다는 사실을 확인할 수 있다. 그렇다면 요청하고자 하는 차트 데이터의 유형에 따라 각각의 유형에 대하여 각기 다른 제한된 데이터 개수가 지정되어 있을까 ? 결론부터 이야기하자면, 일봉이든 주봉이든 분봉이든 틱봉이든 간에 2,856개의 데이터를 한도로 하여 데이터를 회신해준다. 그렇다면 결국에는 2,856개의 데이터가 회신된 후에 우리가 요청하고도 돌..
대신증권 CYBOS PLUS 프로그램 구현 (10) - 일봉 차트 조회 : 연속 조회 사용하기 ①프로그램 구현 목표조회 횟수당 최대로 조회할 수 있는 데이터 확인해보기Continue 속성 활용하여 이해하기개수 비교 로직 추가하기연속 조회 구현하기 조회 횟수당 최대로 조회할 수 있는 데이터 확인해보기이전에 만들어둔 프로그램을 실행시켜서 조회 개수 란에 3,000을 입력한 후 데이터를 조회해보면, 서버로부터 회신되는 데이터의 개수는 2,856개밖에 되지 않는다는 사실을 확인할 수 있다. 그렇다면 요청하고자 하는 차트 데이터의 유형에 따라 각각의 유형에 대하여 각기 다른 제한된 데이터 개수가 지정되어 있을까 ? 결론부터 이야기하자면, 일봉이든 주봉이든 분봉이든 틱봉이든 간에 2,856개의 데이터를 한도로 하여 데이터를 회신해준다. 그렇다면 결국에는 2,856개의 데이터가 회신된 후에 우리가 요청하고도 돌..
2024.09.02 -
프로그램 구현 목표오류 내용 확인하기오류 개선하기일봉 차트 데이터프레임화하기 오류 내용 확인하기지난 두 개의 게시글에서 일봉 차트를 조회할 때 일자 범위를 대상으로 조회하는 함수와 조회하고자 하는 데이터 개수를 기준으로 조회하는 함수를 구현하고 두 함수 모두를 GUI와 연결하여 차트 데이터를 조회할 수 있도록 하는 기능을 모두 구현했다. 하지만 차트 데이터를 조회하는 순서에 있어서, `def _day_range()` 함수를 먼저 사용하게 되면 이전에 데이터를 조회할 때 입력해두었던 일자 범위 데이터가 남아서 `def _len_chart()` 함수에도 영향을 미친다는 오류가 확인됐다. 아래의 데이터를 살펴보자.▶ 개수로 조회한 후에 일자 범위로 조회한 경우의 결과 데이터더보기self.object:CpCyb..
대신증권 CYBOS PLUS 프로그램 구현 (9) - 일봉 차트 조회 : 오류 개선프로그램 구현 목표오류 내용 확인하기오류 개선하기일봉 차트 데이터프레임화하기 오류 내용 확인하기지난 두 개의 게시글에서 일봉 차트를 조회할 때 일자 범위를 대상으로 조회하는 함수와 조회하고자 하는 데이터 개수를 기준으로 조회하는 함수를 구현하고 두 함수 모두를 GUI와 연결하여 차트 데이터를 조회할 수 있도록 하는 기능을 모두 구현했다. 하지만 차트 데이터를 조회하는 순서에 있어서, `def _day_range()` 함수를 먼저 사용하게 되면 이전에 데이터를 조회할 때 입력해두었던 일자 범위 데이터가 남아서 `def _len_chart()` 함수에도 영향을 미친다는 오류가 확인됐다. 아래의 데이터를 살펴보자.▶ 개수로 조회한 후에 일자 범위로 조회한 경우의 결과 데이터더보기self.object:CpCyb..
2024.09.01 -
프로그램 구현 목표데이터 개수를 가지고 차트 데이터 조회하기GUI의 pushButton과 연결하기 데이터 개수를 가지고 차트 데이터 조회하기지난 게시글에서는 일봉 차트 데이터를 조회하는 함수의 동작 방식을 알아보는 동시에 일자 범위를 가지고 일봉 차트 데이터를 조회하는 함수를 구현해보았다. 이번 게시글에서는 "요청 구분"이 2(개수)인 경우에 차트 데이터를 어떻게 수신받을 수 있는지에 대해 살펴보고 그에 대응하는 차트 데이터 조회 함수를 구현해보고자 한다. 이전 게시글에서 살펴보았듯이 "요청 구분"이 1(기간)인 경우에는 일봉 차트 데이터만 조회할 수 있었는데, "요청 구분"이 2(개수)인 경우에는 일봉을 포함하여 분봉, 주봉, 월봉, 틱봉 모두 조회가 가능하다.하지만 본격적으로 코드를 제작하기 전에 ..
대신증권 CYBOS PLUS 프로그램 구현 (8) - 일봉 차트 조회 : 데이터 개수프로그램 구현 목표데이터 개수를 가지고 차트 데이터 조회하기GUI의 pushButton과 연결하기 데이터 개수를 가지고 차트 데이터 조회하기지난 게시글에서는 일봉 차트 데이터를 조회하는 함수의 동작 방식을 알아보는 동시에 일자 범위를 가지고 일봉 차트 데이터를 조회하는 함수를 구현해보았다. 이번 게시글에서는 "요청 구분"이 2(개수)인 경우에 차트 데이터를 어떻게 수신받을 수 있는지에 대해 살펴보고 그에 대응하는 차트 데이터 조회 함수를 구현해보고자 한다. 이전 게시글에서 살펴보았듯이 "요청 구분"이 1(기간)인 경우에는 일봉 차트 데이터만 조회할 수 있었는데, "요청 구분"이 2(개수)인 경우에는 일봉을 포함하여 분봉, 주봉, 월봉, 틱봉 모두 조회가 가능하다.하지만 본격적으로 코드를 제작하기 전에 ..
2024.09.01 -
프로그램 구현 목표일봉 차트 데이터 조회 함수 생성하기일자 범위를 가지고 차트 데이터 조회하기 일봉 차트 데이터 조회 함수 생성하기함수를 구현하기 전에 앞서 우리는 캡슐화된 일봉 차트 데이터 조회 함수를 구현해야 한다. 다시 말해, 전체 종목에 대한 일봉 차트 데이터를 조회하는 함수를 생성하기 전에 특정 종목의 종목코드를 인자로 받아서 그 종목에 대한 일봉 차트 데이터를 조회하는 함수를 생성해주어야 한다. 왜냐하면 종목코드를 조회하는 함수는 이미 `def _GetStockListByMarket(self):` 함수를 통해서 구현해두었기 때문에, 이 함수에서 종목코드를 얻어다가 종목코드를 한개씩 인자로 전달하면서 그 종목에 대한 차트 데이터를 조회해야 하기 때문이다. 그렇다면 차트 데이터를 조회하는 모듈은 ..
대신증권 CYBOS PLUS 프로그램 구현 (7) - 일봉 차트 조회 : 일자 범위프로그램 구현 목표일봉 차트 데이터 조회 함수 생성하기일자 범위를 가지고 차트 데이터 조회하기 일봉 차트 데이터 조회 함수 생성하기함수를 구현하기 전에 앞서 우리는 캡슐화된 일봉 차트 데이터 조회 함수를 구현해야 한다. 다시 말해, 전체 종목에 대한 일봉 차트 데이터를 조회하는 함수를 생성하기 전에 특정 종목의 종목코드를 인자로 받아서 그 종목에 대한 일봉 차트 데이터를 조회하는 함수를 생성해주어야 한다. 왜냐하면 종목코드를 조회하는 함수는 이미 `def _GetStockListByMarket(self):` 함수를 통해서 구현해두었기 때문에, 이 함수에서 종목코드를 얻어다가 종목코드를 한개씩 인자로 전달하면서 그 종목에 대한 차트 데이터를 조회해야 하기 때문이다. 그렇다면 차트 데이터를 조회하는 모듈은 ..
2024.08.27 -
프로그램 구현 목표프로그램 로직 생각해보기전체 종목코드 조회 함수 캡슐화 완성하기 (1) : LineEdit 클래스 활용전체 종목코드 조회 함수 캡슐화 완성하기 (2) : ComboBox 클래스 활용 프로그램 로직 생각해보기이전 게시글에서 구현했던 `def _GetStockListByMarket(self)` 함수를 통해 데이터를 요청하는 구조에 있어서 우리는 물론 여러 가지 구조의 코드를 구현할 수 있긴 하겠지만, 대략적으로 요약해보자면 기본적으로 그 구조는 해당 함수에 전달할 시장 구분 데이터를 어떠한 방식으로 얻어올 것인지에 따라 아래와 같이 요약할 수 있을 것이다. 시장 구분 데이터를 별도로 전달받지 않고 함수 내부에서 직접 입력하여 데이터를 조회하고 종목코드 함수를 반환시장 구분 데이터를 Line..
대신증권 CYBOS PLUS 프로그램 구현 (6) - 전종목 종목코드 조회하기 ②프로그램 구현 목표프로그램 로직 생각해보기전체 종목코드 조회 함수 캡슐화 완성하기 (1) : LineEdit 클래스 활용전체 종목코드 조회 함수 캡슐화 완성하기 (2) : ComboBox 클래스 활용 프로그램 로직 생각해보기이전 게시글에서 구현했던 `def _GetStockListByMarket(self)` 함수를 통해 데이터를 요청하는 구조에 있어서 우리는 물론 여러 가지 구조의 코드를 구현할 수 있긴 하겠지만, 대략적으로 요약해보자면 기본적으로 그 구조는 해당 함수에 전달할 시장 구분 데이터를 어떠한 방식으로 얻어올 것인지에 따라 아래와 같이 요약할 수 있을 것이다. 시장 구분 데이터를 별도로 전달받지 않고 함수 내부에서 직접 입력하여 데이터를 조회하고 종목코드 함수를 반환시장 구분 데이터를 Line..
2024.08.26 -
프로그램 구현 목표종목코드 조회 함수 제작하기GUI 내부에서 종목코드 조회 버튼 생성하기파이썬 내부에서 종목코드 조회 버튼과 함수 연결하기종목코드 조회 함수 캡슐화 종목코드 조회 함수 제작하기대신증권 CYBOS PLUS에서 종목코드를 조회하는 함수는 `CpUtil.CpCodeMgr` 모듈의 `GetStockListByMarket` 함수를 통해 제공되고 있다. 이 함수는 아래의 사진에서 확인할 수 있듯이, 전달된 시장 구분 값에 따라 해당 시장에 소속된 주식 종목코드들을 반환하는 기능을 갖고 있다.1: 거래소(코스피)2: 코스닥3: K-OTC (금투협에서 운영하는 장외주식시장)4: KRX5: KONEX그렇다면 이제 해당 함수에 각각의 데이터를 전달하고 그 결과 데이터를 반환받아보도록 하자.## CpUtil..
대신증권 CYBOS PLUS 프로그램 구현 (5) - 전종목 종목코드 조회하기 ①프로그램 구현 목표종목코드 조회 함수 제작하기GUI 내부에서 종목코드 조회 버튼 생성하기파이썬 내부에서 종목코드 조회 버튼과 함수 연결하기종목코드 조회 함수 캡슐화 종목코드 조회 함수 제작하기대신증권 CYBOS PLUS에서 종목코드를 조회하는 함수는 `CpUtil.CpCodeMgr` 모듈의 `GetStockListByMarket` 함수를 통해 제공되고 있다. 이 함수는 아래의 사진에서 확인할 수 있듯이, 전달된 시장 구분 값에 따라 해당 시장에 소속된 주식 종목코드들을 반환하는 기능을 갖고 있다.1: 거래소(코스피)2: 코스닥3: K-OTC (금투협에서 운영하는 장외주식시장)4: KRX5: KONEX그렇다면 이제 해당 함수에 각각의 데이터를 전달하고 그 결과 데이터를 반환받아보도록 하자.## CpUtil..
2024.08.25 -
프로그램 구현 목표로그인 함수 이벤트 처리기 생성하기이벤트 처리 함수 보완하기지난 게시글에서 GUI와 파이썬 코드를 연결하는 기능을 구현하였기 때문에 이번 게시글에서부터는 여러 모듈을 활용하여 다양한 기능을 사용하는 코드를 구현해보고자 했으나 이벤트 처리에 있어서 다소 보완해야 할 부분들이 있어서 코드 구현을 잠깐 멈추고 이벤트 처리기를 보완하는 코드를 구현해보고자 한다. 이전에 `win32com` 모듈에서 제공하는 `WithEvents` 함수를 사용하여 이벤트를 처리하는 방법에 대해 살펴보았는데, 동일한 방식에 따라 로그인 함수에 대한 이벤트 처리기도 구현해보고 그 안에서 보완해야 할 부분에 대해서도 함께 구축하도록 하자. 로그인 함수 이벤트 처리기 생성하기우리가 Boss.py 파일 내에서 제작한 로그..
대신증권 CYBOS PLUS 프로그램 구현 (4) - 이벤트 처리 함수 보완하기프로그램 구현 목표로그인 함수 이벤트 처리기 생성하기이벤트 처리 함수 보완하기지난 게시글에서 GUI와 파이썬 코드를 연결하는 기능을 구현하였기 때문에 이번 게시글에서부터는 여러 모듈을 활용하여 다양한 기능을 사용하는 코드를 구현해보고자 했으나 이벤트 처리에 있어서 다소 보완해야 할 부분들이 있어서 코드 구현을 잠깐 멈추고 이벤트 처리기를 보완하는 코드를 구현해보고자 한다. 이전에 `win32com` 모듈에서 제공하는 `WithEvents` 함수를 사용하여 이벤트를 처리하는 방법에 대해 살펴보았는데, 동일한 방식에 따라 로그인 함수에 대한 이벤트 처리기도 구현해보고 그 안에서 보완해야 할 부분에 대해서도 함께 구축하도록 하자. 로그인 함수 이벤트 처리기 생성하기우리가 Boss.py 파일 내에서 제작한 로그..
2024.08.25 -
프로그램 구현 목표PyQt5 Qt Designer를 통해 코드와 연결하기버튼 하나 동작해보기지난 게시글까지는 로그인을 자동적으로 처리하는 방법에 대해 살펴보았고, 로그인 기능 자체도 정상적으로 동작하고 있음을 잘 확인하고 넘어왔다. 사실 여태까지 언급하지는 않았지만 우리가 제작했던 코드는 기본적으로 코드를 실행시킨 이후, 우리가 동작시키고자 하는 코드가 모두 돌아간 후에 Process finished with exit code 0이라는 문구와 함께 프로그램이 종료되는 문제점이 있었다. 즉, 프로그램을 실행시킨 후에 특정 코드에 대해서도 테스트해보고 싶어도 특정 구문만 모두 돌아간 후에는 프로그램이 종료되는 바람에 다른 코드를 확인해볼 수 없었다. 따라서 이번 게시글에서는 특정 구문이 모두 돌아간 후에도 ..
대신증권 CYBOS PLUS 프로그램 구현 (3) - GUI와 연결하기프로그램 구현 목표PyQt5 Qt Designer를 통해 코드와 연결하기버튼 하나 동작해보기지난 게시글까지는 로그인을 자동적으로 처리하는 방법에 대해 살펴보았고, 로그인 기능 자체도 정상적으로 동작하고 있음을 잘 확인하고 넘어왔다. 사실 여태까지 언급하지는 않았지만 우리가 제작했던 코드는 기본적으로 코드를 실행시킨 이후, 우리가 동작시키고자 하는 코드가 모두 돌아간 후에 Process finished with exit code 0이라는 문구와 함께 프로그램이 종료되는 문제점이 있었다. 즉, 프로그램을 실행시킨 후에 특정 코드에 대해서도 테스트해보고 싶어도 특정 구문만 모두 돌아간 후에는 프로그램이 종료되는 바람에 다른 코드를 확인해볼 수 없었다. 따라서 이번 게시글에서는 특정 구문이 모두 돌아간 후에도 ..
2024.08.18 -
프로그램 구현 목표CYBOS PLUS 자동 로그인 기능 구현하기 (바로가기 링크)접속을 시도하기 전에 접속 여부 구분하기 (현재 게시글)로그인 결과 확인하기 (현재 게시글)지난 게시글에서는 프로그램이 실행되는 동시에 Cybos Plus를 실행시켜 서버에 접속하도록 하는 클래스인 `class login:`을 생성해주고 해당 클래스가 호출되면 자동적으로 접속이 이루어지는지에 대해 살펴보았다. 이번 게시글에서는 이미 접속이 되어 있는 경우에는 해당 클래스를 호출하지 않도록 하고, 접속 요청 후에는 접속이 성공했는지 그 여부를 판단하도록 하는 코드를 구현해보고자 한다. (2) 접속을 시도하기 전에 접속 여부 구분하기접속 여부를 확인할 수 있는 함수는 `class cybos:` 클래스 내부의 `self.cybos..
대신증권 CYBOS PLUS 프로그램 구현 (2) - 자동로그인 구현하기 ②프로그램 구현 목표CYBOS PLUS 자동 로그인 기능 구현하기 (바로가기 링크)접속을 시도하기 전에 접속 여부 구분하기 (현재 게시글)로그인 결과 확인하기 (현재 게시글)지난 게시글에서는 프로그램이 실행되는 동시에 Cybos Plus를 실행시켜 서버에 접속하도록 하는 클래스인 `class login:`을 생성해주고 해당 클래스가 호출되면 자동적으로 접속이 이루어지는지에 대해 살펴보았다. 이번 게시글에서는 이미 접속이 되어 있는 경우에는 해당 클래스를 호출하지 않도록 하고, 접속 요청 후에는 접속이 성공했는지 그 여부를 판단하도록 하는 코드를 구현해보고자 한다. (2) 접속을 시도하기 전에 접속 여부 구분하기접속 여부를 확인할 수 있는 함수는 `class cybos:` 클래스 내부의 `self.cybos..
2024.08.18 -
프로그램 구현 목표CYBOS PLUS 자동 로그인 기능 구현하기접속을 시도하기 전에 접속 여부 구분하기 (바로가기 링크)로그인 결과 확인하기 (위 게시글과 동일한 링크)대신증권의 경우에는 기본적으로 CYBOS PLUS에 로그인을 해야 하는데, 대강 보면 매번 직접 눌러서 로그인을 해야만 하는 것 같지만 자동 로그인 기능을 구현하는 방법이 있다. 사실 Open API를 활용해서 자동 매매 프로그램을 구현하는데도 불구하고 매번 로그인을 직접 눌러서 진행해야 한다는 건 증권사에 있어서 가장 큰 오점이자 단점으로 작용할 수 있다. 본인만 하더라도 대신증권 CYBOS PLUS를 활용한 프로그램 코드를 구현할 때에는 코드를 실행했을 때 자동으로 로그인되는 기능이 없다는 걸 몰랐을 정도로 당연한 기능에 속한다. ..
대신증권 CYBOS PLUS 프로그램 구현 (1) - 자동 로그인 기능 구현하기 ①프로그램 구현 목표CYBOS PLUS 자동 로그인 기능 구현하기접속을 시도하기 전에 접속 여부 구분하기 (바로가기 링크)로그인 결과 확인하기 (위 게시글과 동일한 링크)대신증권의 경우에는 기본적으로 CYBOS PLUS에 로그인을 해야 하는데, 대강 보면 매번 직접 눌러서 로그인을 해야만 하는 것 같지만 자동 로그인 기능을 구현하는 방법이 있다. 사실 Open API를 활용해서 자동 매매 프로그램을 구현하는데도 불구하고 매번 로그인을 직접 눌러서 진행해야 한다는 건 증권사에 있어서 가장 큰 오점이자 단점으로 작용할 수 있다. 본인만 하더라도 대신증권 CYBOS PLUS를 활용한 프로그램 코드를 구현할 때에는 코드를 실행했을 때 자동으로 로그인되는 기능이 없다는 걸 몰랐을 정도로 당연한 기능에 속한다. ..
2024.08.18