개발(98)
-
[C#] 이벤트를 만들고 사용하기
C#은 이벤트를 생성하고 전달받는 처리가 아주 쉽게 잘 정의되어 있습니다. 1. 이벤트를 만드는 코드 EventHandler 를 멤버변수로 선언하고 this.이벤트() 함수를 실행하면 콜백 이벤트가 발생하는 식입니다. 1. 이벤트 정의 public event EventHandler OnOrderReply; 2. 이벤트 호출 this.OnOrderReply(this, arg); 3. 이벤트 호출 시 원하는 값을 전달하고자 한다면 EventArgs 를 상속받아 간단한 전달용 클래스를 하나 만들면 됩니다. public class OrderReplyEventArgs : EventArgs public class DoOrder { // 중략 // .... // 이벤트 콜백 public event EventHandl..
2021.01.17 -
[C#] User Control 을 툴박스에 표시하기
C# 은 화면 컨트롤을 손쉽게 만들고 화면에 가져다 쉽게 사용이 가능합니다. 우선 User Control 을 상속받아 새로운 클래스를 만들고 원하는대로 합성 컨트를을 만듭니다. (VS 는 영문 버전으로 쓰는게 컨트롤 생성하기가 편하네요. 어설픈 한글 번역으로는 원하는 컨트롤 타입을 찾기가 쉽지 않습니다.) 이제 내가 만든 컨트롤을 툴박스에서 넣는 방법입니다. 툴박스에 넣는 방법은 크게 2가지입니다. (1번 방법이 일반적) 1. Tools > Option 에서 아래처럼 찾아서 Automatically Poplate Toolbox 옵션을 True 로 변경해 줍니다. 설정을 변경 한 후에는 VS를 종료 후 재실행하고 다시 빌드해 봅니다. 2. 두번째 방법은 바이너리를 강제로 추가하는 방법입니다. 툴박스에서 아..
2020.11.04 -
[C#] HTS 차트 흉내내기
요즘 C# 을 조금씩 공부하는 중입니다. PLUS API 이용해서 시세 데이터를 가져와 간단하게 차트를 만들어 보는 데 역시 실시간 처리는 할 일이 상당히 많네요 C# 기본 제공 차트 클래스로 개발 중인데 워낙 방대한 API 를 제공하는 컨트롤이라 일일이 구글링하면서 요런 기능이 가능한지 검색하고, 잘 되는 지 코딩해 보고, 실시간 테스트하는게 생각보다 시간이 오래 걸리네요. 그래도 조금씩 조금씩 앞으로 나가는게 즐겁네요 역시 요즘같이 코로나로 할 일이 없을 땐 취미로 하는 코딩이 제일 좋습니다 ^^;
2020.10.15 -
[C#] 클릭(번개)주문 만들기 (CYBOS PLUS/CREON PLUS) #2
지난번 프로그램을 조금 더 개선 했습니다 아무래도 클릭 주문인데 드래그 & 드롭으로 정정 주문 정도는 있어야 겠기에 해당 기능을 추가하고, 하는 김에 매수 주문 가능/매도 주문 가능 수량도 추가 했네요 C# 을 배워가며 하는 작업이라 부족한 내용이 많습니다. 예제 코드에서 제공하는 주요 기능 현재가 조회 및 실시간 처리 미체결 조회 및 실시간 미체결 처리 매수/매도 주문 취소 주문 및 일괄 취소 주문 정정주문/일괄 정정 주문 - 드래그 & 드롭으로 이미 나간 주문을 이동처리 종목검색 매수 주문 가능 수량 조회 매도 주문 가능 수량 조회 소스코드는 기존처럼 아래 링크에 추가했습니다. 소스코드 내려받기 ※ 주의 사항 : 해당 예제는 C# 공부삼아 만든 예제 코드여서 오작동이나 기능이 완성되지 않은 부분이 많..
2020.09.23 -
[C#] 클릭(번개)주문 만들기 (CYBOS PLUS/CREON PLUS)
요즘 C# 언어를 공부중인데 책으로 배우는 건 한계가 있어서 간단하게 C#을 이용해서 주식 클릭주문(번개주문)을 만들어 봤습니다 예제 코드에서 제공하는 주요 기능 현재가 조회 및 실시간 처리 미체결 조회 및 실시간 미체결 처리 매수/매도 주문 - 그림에 "매수주문" "매도주문" 컬럼을 클릭하면 선택된 행의 가격으로 매수 또는 매도 주문이 나갑니다 취소 주문 - 위 그림에서 "X" 컬럼은 이미 나간 미체결건을 취소합니다. 해당 가격에 나간 주문이 있어야만 취소 주문이 나갑니다. 종목검색 기능 - 거래소와 코스닥 종목을 검색할 수 있습니다. 주문의 경우 원하는 가격을 더블클릭 시 주문 확인창을 통해 주문 확인 후 처리 합니다. 아래는 메인 기능의 소스코드입니다. 전체 코드는 하단의 소스 프로젝트로 내려받을 ..
2020.09.19 -
[LUA] 문자열 다루기 간단 예제 #2
루아에서 문자열 찾는 함수는 string.find 입니다. 얼마전에 문자열에서 '.' 을 찾을 일이 있어서 이 함수를 이용했는데 return 값이 좀 특이했습니다. local nStart, nEnd = string.find('123.23', '.') print(nStart, nEnd) -- result: 1 1 Lua 문서를 찾아 보니 Lua의 find 는 기본이 패턴이네요(패턴의 일부 기능만 지원) 그래서 '.' 을 찾을 때는 "%." 과 같이 lua 패턴 escape문자 %를 같이 처리하거나, Plain Text 검색임을 명시해야 합니다. local nStart, nEnd = string.find('123.23', '%.') print(nStart, nEnd) -- result: 4 4 local n..
2020.05.24 -
[CREON PLUS API 활용] 기본 활용 샘플 코드
플러스를 이용한 간단한 예제 코드입니다. 제공하는 예제는 아래 정도인데 시간이 나면 조금씩 추가 예정입니다 예제 제공 내역 100: 거래소/코스닥 구하기 101: 업종 구하기 102: ETF 구하기 103: 코스피200 종목 구하기 104: 선물종목 구하기 105: 옵션종목 구하기 106: ETN 종목 구하기 ------------------------------------------ 200: 일간차트 - 100일 201: 일간차트 - 5000일 202: 일간차트/기간 2020.1.2~2020.4.17 203: 일간차트/기간 1980.01.04~2020.4.17 204: 주간차트 - 100주 205: 월간차트 - 100개월 206: 1분차트 - 100개 207: 1분차트 - 5000개 ----------..
2020.04.18 -
[파이썬] 특정 버전 패키지 설치
오류 증상 아나콘다 최신 버전 설치 후 pyqt5 를 설치하는데 아래와 같이 오류가 생겼다. ERROR: spyder 3.3.6 has requirement pyqt5
2020.02.29 -
[파이썬] urllib 사용시 urlopen error unknown url type: https 오류 처리
오늘 새로운 PC에 아나콘다 64비트를 설치하고 작업하는데 아래와 같은 오류가 발생했다. raise URLError('unknown url type: %s' % type) urllib.error.URLError: 사용 코드는 urllib.request.urlopen(surl) 식으로 간단하게 url 호출하는 코드이고, 그동안 문제없이 잘 쓰던 코드 import urllib.request ... surl = "htts:/특정 url" res = urllib.request.urlopen(surl) ssl 문제라는 얘기가 있어서 아래 한 줄을 추가해 보니 import 할 수 없다는 오류가 발생했다. import ssl 해결 방법 아나콘다 최신 패키지에 문제가 있는 것으로 보인다. (이런 문제가 요새 자주 발생..
2020.02.29 -
[파이썬] 부동산 API로 아파트 매매 실거래가 구하기
부동산 API를 이용해서 데이터를 가져오는 간단한 예제입니다 우선 API를 사용하기 위해서는 공공데이터 포털 > 국토교통부 실거래가 정보 > '아파트 매매 실거래 상세자료' 활용 신청을 해야 합니다. https://www.data.go.kr/dataset/3050988/openapi.do 정상적으로 활용 신청이 되면 '인증키' 를 발급받게 됩니다. 서비스의 기본 호출 URL은 아래와 같습니다. http://openapi.molit.go.kr/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTradeDev 필수 입력항목은 지역코드, 계약월, 인증키 3가지네요 위 정보를 이용해 호출정보를 아래처럼 구성합니다. 여기서 서비스키는 각자 받..
2020.02.28