AAT_Phase 2. add stock of interest

'졸업작품 (AAT)' 시리즈AAT_Phase 2. add stock of interest

mildsalmon

흔치않고, 진귀하다.

Sign in to view email

kiwoom 작업 진행 상황

20.04.29

추가된 기능

관심종목
  • OPT_KW_FID TR 추가
    • 관심종목 추가시 최초 1회는 OPT_KW_FID TR로 처리되고 그 이후부터는 실시간 데이터로 처리됨
  • comm_kw_rq_data 추가
    • 관심종목 전용 조회 메소드
    • CommKwRqData 메소드를 dynamicCall함
    • 동작은 CommKwRqData 호출 → 데이터 수신 대기 → OPT_KW_FID TR 호출
    • 그 다음은 실시간 데이터와 동일
  • GetCommData 메소드 추가
    • kiwoom 권고대로 CommGetData를 GetCommData로 변경해야함
  • SetRealRemove 메소드 추가
    • 실시간 데이터를 제거해주는 메소드
    • 모든 TR은 화면번호로 구분하지만, 불필요한 실시간 데이터를 제거해주기 위해 사용

버그 수정내역

앞으로 해야할 것

  • kiwoom 권고대로 comm_get_data 삭제하고 get_comm_data로 수정해야함 (전체적으로)

add interest stock · mildsalmon/AAT@f3820a7


trading tab 작업 진행 상황

20.04.29

추가된 기능

관심종목
  • 최상단 주석 _doc_에 화면 번호별 구분
  • 관심종목 코드 입력후 엔터를 누르면 바로 입력되게 설정
  • 모든 종목 코드 부분을 6자로 제한함
  • timer_2 추가해서 관심종목에 대한 실시간 데이터 처리
  • 호가에서 추가된 실시간 데이터를 삭제하는 remove_real_data 메서드 추가
    • 이 메서드는 종목 1개를 지우는 메서드
    • 실시간 데이터 초기화 버튼이랑 connect
  • stacked를 변경할 때마다 모든 실시간 checkBox를 False 상태로 바꾸고 모든 실시간 데이터를 삭제함
    • set_real_remove("ALL", "ALL")
  • 관심 종목 추가 메서드를 추가함
    • 기존 관심 종목이 없을 때, 기존 관심 종목이 있을 때로 구분함
    • 기존 관심 종목이 있을 경우 중복 검사
  • 관심 종목 삭제 메서드를 추가함
    • 관심 종목이 있는지 확인하고 없으면 pass
    • 있으면 삭제후 관심 종목 실시간 데이터 갱신
  • 관심 종목의 실시간 데이터를 확인하는 메서드를 추가함
    • 관심 종목이 비었으면 pass
    • 아니면 comm_kw_rq_data 메소드 호출해서 실시간 데이터로 등록
  • 관심 종목 실시간 처리 부분 table cell별로 상한가, 하한가 색깔 처리

버그 수정내역

  • 관심 종목 실시간 데이터 부분이 관심 종목과 매칭(정렬)되지 않고 중구난방으로 표시되는 버그

    • info_interest_stock 메소드에서 code 부분을 초기값으로 0행 0열 데이터를 고정적으로 주고 그 다음 부터 ; (구분자)를 붙이고 1행부터 추가함.
  • 관심 종목의 글자가 4행부터 누락되면서 출력되는 버그

    • 누락된 종목을 다시 추가하려고 하자 이미 있다는 메세지가 뜨는 것으로 보아 리스트에는 값이 잘 전달되는 것으로 확인
    • 디버깅을 했으나 정확한 원인은 잘 모르겠음
      • 일단 tableWidget의 cellChange 시그널을 삭제하고 add_interest_stock과 del_interest_stock의 마지막 부분에서 info_interest_stock을 호출하는 것으로 해결
  • 장 마감시 관심 종목 stacked에서 실시간 처리 체크할 시 발생하는 에러 수정

    • stacked_2_timeout은 1초마다 실행되는데. 장 마감시 kiwoom 모듈에서 interest_data가 생성되지 않음.
    • 그래서 try, except 문으로 처리함.

앞으로 해야할 것

  • 사용자 로그 볼 수 있게 기능 추가할 것
    • backend에서 데이터 처리되는 것 말고, 사용자 클릭 로그나, 매매, 조회 로그로
  • 버그도 스샷을 다 찍어서 보관할 것

add interest stock · mildsalmon/AAT@f3820a7

add color to stock of interest · mildsalmon/AAT@4e6b04c

Python examples - Program Talk


trading tab - qt

한줄평

'참 많은 것을 알고 있어야 하구나', 'hts부터 만들길 잘했구나'라는 생각이 들었다. 처음부터 자동매매로 들어갔으면, 난 kiwoom open api의 10%도 사용하지 못했을 것이다. 그만큼 kiwoom api의 이벤트와 메소드 하나 하나의 연결을 파악하기 위해 다른 메소드들도 많이 알아야 한다는 것을 느꼈다. 일단은 순조롭게 진행되고 있다. 개발을 하면서 이런 버그는 없을까?, 저런 버그는 없을까? 하며 테스트 하다보니, 버그가 꼬리에 꼬리를 물고 계속 나와서 참.. 답답했다. 그렇지만 보이는 모든 것은 수정하고 넘어왔다. 이런 방식으로 개발하는 것이 올바른 것이겠지?. 사용자가 발견한 버그는 개발자가 놓치고 넘어간 것일테니까.
놀면 뭐하니. 개발이나 해야지.


'졸업작품 (AAT)' 시리즈
실시간 작업 진행 상황을 Notion page를 통해 확인하실 수 있습니다. (https://www.notion.so/mildsalmon/AAT-34c0c21f8f0a474faf2bbc499dd6d0b3)
작성된 댓글이 없습니다!
로그인된 사용자만 댓글을 작성할 수 있습니다.