프로그래밍 542

4. 파이썬 - 키움API 활용한 주문 체결 확인하기

1. TR 조회 응답 및 주문에 대한 메시지 수신하기 KOA > 개발 가이드 > 주문과 잔고 처리 > 관련 함수 - Kiwoom.py 파일에 send_order 함수 다음에 작성한 코드이다.def _on_receive_msg(self, screen_no, rqname, trcode, msg): print("[Kiwoom] _on_receive_msg is called {} / {} / {} / {}".format(screen_no, rqname, trcode, msg)) - 사실 내용을 뿌려주는 거라서 별 내용은 없다. 2. TR 접수/체결 결과를 처리하는 함수 가. sGubun - 하나의 주문이 접수되고 체결될 때까지 _onchejan_slot 함수는 3번 호출됨(접..

3. 파이썬 - 키움API 활용한 주문 접수하기

1. 주문 접수하기 사전 지식 주문접수하기는 KOA -> 개발가이드 > 주문과 잔고 처리 > 기본 설명에 가보면 [주문처리단계] 주문 처리 순서 SendOrder(주문발생) -> OnReceiveTRData(주문응답) -> OnReceiveMsg(주문메세지수신) -> OnReceiveChejan(주문접수/체결) ※ 주의(역전현상) : 주문건수가 폭증하는 경우 OnReceiveChejan 이벤트가 OnReceiveTRData 이벤트보다 앞서 수신될 수 있습니다. 각 단계 설명 SendOrder - 사용자가 호출. 리턴값 0인 경우 함수호출 정상 (주문성공이 아님) OnReceiveTRData - 주문발생..

2. 파이썬 - 키움API 활용한 예수금 얻어오기

1. 예수금 정보를 얻어오는 TR(opw00001) - 사실상 계좌번호만 전달하면됨 - 계좌번호는 아래 get_account_number를 통해서 def get_account_number(self, tag="ACCNO"): account_list = self.dynamicCall("GetLoginInfo(QString)", tag) account_number = account_list.split(';')[0] #계좌만 분리해서 가져옴 [1]은 공백임 print(account_number) return account_number - 생성자부분에서 self.account_number에 저장해둠class Kiwoom(QAxWidget): def __init__(self): ..

1. 파이썬 - 키움API 활용한 가격정보 불러오기

키움증권 API서버에 전달하는 요청 단위를 TR이라고 한다.1. 종목별 가격 정보 요청 함수def get_price_data(self, code): 이 TR을 호출하려면 CommRqData 함수를 사용해야 한다. - sTrCode에 조회하려는 TR 이름을 전달하면 API를 이용할 수 있다. - 변수명을 꼭 sTrCode로 만들어야 하는 것이 아니라 전달되는 매개변수의 순서가 중요하다. - TR을 호출하는 코드를 살펴보면 self.dynamicCall("CommRqData(QString, QString, int, QString", "opt10081_req", "opt10081", 0, "0001") - 첫번째 매개변수인 "CommRqData(QString, QString, int,..

안드로이드 2 - 다양한 언어 지원 앱 및 가로 화면 만들기 예제

1. 앱 실행화면   - 한국어 기반으로 되있는 태블릿에서는 한국어로 표시됨   - 영어기반으로 설정되어있는 태블릿에서는 영어로 표시됨   - 세로화면 일때는 아래와 같이 배치된다. 2. 프로젝트 구성  -  activity_main.xml 이 두개 임 하나는 가로화면일 때 또 하나는 세로화면일 때임.  -  strings.xml 파일도 2개인데 하나는 영어, 하나는 한국어로 구성할 때임  3. string.xml  파일  - 영어로 구성된 리소스  파일 ch9_resource Find your phone contacts on Messenger blah~blah~blah~blah~ Learn More TRUN ON NOT NOW ..

안드로이드 1 - 스톱워치 기능 만들기 예제

아래와 같은 스톱워치를 만들어보자   build.gradle.kts(Module)  - 원래 소스에 아래 문장을 추가해 준것 밖에 없음 .viewBinding.isEnabled = true   plugins { alias(libs.plugins.android.application) alias(libs.plugins.jetbrains.kotlin.android)}android { namespace = "com.example.ch8_3" compileSdk = 34 defaultConfig { applicationId = "com.example.ch8_3" minSdk = 34 targetSdk = 34 versionCode = 1..

안드로이드 - 10. 수강신청앱 강의 목록 데이터베이스 구축

예제 출처 : https://www.inflearn.com/course 예제 소스 : https://github.com/GaKaRi/gakari_android/tree/master/Proj_Manager_v10 이번 프로젝트 실행 화면 1. COURSE LIST로 간 뒤 COURSE SEARCH 를 누르면 2. 아래와 같이 현재 저장된 데이터들을 뿌려주게 된다. 1. 강의 목록 데이터베이스 구축을 위해 다음과 같이 쿼리문을 입력해줍니다. CREATE TABLE COURSE(courseID INT NOT NULL AUTO_INCREMENT,courseUniversity VARCHAR(50),courseYear INT,courceTerm VARCHAR(50),courseArea VARCHAR(50),cour..

Python - 1. 맥 Pycharm에서 VI 편집 모드 해제방법

맥 Pycharm에서 VI 편집 모드 해제방법 처음 Pycharm을 설치하면, 기본 편집기가 VI로 설정되어 있어 VI에 익숙하지 않는 사용자는 이를 해제하기 위해당황하는 모습을 종종 보게되어 해제하는 방법을 잊어 버리지 않도록 history 관리 차원에서 남겨 둡니다. 1. 경로: Preferences >Plugins 로 이동 2. Plugins 항목이 많기 때문에 검색 항목으로 vi로 검색하시면 나옵니다. 3. Installed 클릭 4. IdeaVim 을 찾은뒤 체크를 해제 시킴 꼭 체크 박스 해제하시고, 하단의 버튼 중 Apply 또는 OK 버튼을 눌러주셔야 합니다. 버튼을 누르면 Pycharm을 재시작하겠다는 메세지와 함께 재시작하시면 적용됩니다.

안드로이드 - 9. 수강신청앱 강의목록 검색화면 개발하기

예제 출처 : https://www.inflearn.com/course 예제 소스 : https://github.com/GaKaRi/gakari_android/commit/b4fd19f9500787b5735fe8fc55c3a9b090070caf 실행화면 1. 로그인을 합니다. 2. COURSE LIST 클릭 3. 다음과 같은 레이아웃을 구성하는 것이 이번 강의 목표 res/layout/fragment_course.xml COUSE LIST를 눌렀을 때 보여주는 xml 파일입니다. res/values/arrays.xml Spinner를 클릭했을때 넣어줄 데이터를 여기에 정의 해줍니다. 정보통신공학 기계공학 화학공학과 1학기 여름학기 2학기 계절학기 전공선택과목 교양과목 전공필수과목 전공필수과목 전공선택과목..

안드로이드 - 8. 수강신청앱 공지사항 데이터베이스 서버 구축

예제 출처 : https://www.inflearn.com/course예제 소스 : https://github.com/GaKaRi/gakari_android/tree/master/Registration_v8 실행화면 공지사항을 위한 테이블 생성CREATE TABLE NOTICE ( noticeContent VARCHAR(1000) NOT NULL, noticeName VARCHAR(50) NOT NULL, noticeDate DATE NOT NULL); 테스트용 문자열 삽입INSERT INTO NOTICE VALUES('NOTICE NUMBER1', 'GAKARI', '2017-01-01’); mysql 디비 확인 NoticeList.php res/layout/activity_main.xml layout..