trading api

  • ls증권 api는 유니코드가 아니라 앤시로 구현되어 있다

    현재 윈도우즈 프로그래밍은 유니코드를 기본으로 한다. 하지만 ls증권의 api는 비주얼 스투디오 6를 기반으로 하므로 ansi로 구현되어 있다. 버전 6이 나온 1998년에는 앤시가 기본이었다. 2000년 지나 unicode가 널리 쓰이기 시작했다. 윈도우즈 api들도 앤시가 기본이다. 과거 프로그램들과의 호환을 위해서 그렇다. 따로 unicode로 캐릭터 셋을 설정하지 않으면 앤시로 처리된다. 그럼에도 불구하고 윈도우즈 api를 임포트하면 비주얼 스투디오가 유니코드로 설정하라고…

  • 사실상 거래가 제한되는 ptp 미국 종목 – publicly traded partnership

    In the United States, a master limited partnership (MLP) or publicly traded partnership (PTP) is a publicly traded entity taxed as a partnership.wikipedia 우리 법에는 존재하지 않는 개념이다. 굳이 번역하자면 ‘상장 합명/합자 회사’라 할 수 있다. 미국에는 partnership이라는 사업체의 법적 형태가 있다. 법인격을 인정하지 않고 법인세도 부과하지 않는다. 우리 공동체의 합명/합자 회사와 비슷하지만 회사는 아니다….

  • 미국 주식 대이터 – 키움증권과 ls증권 비교

    미국 주식 자동 매매 애플리캐이션을 만들고 있다. 나스닥과 nyse 5천 개 넘는 종목들의 실시간 체결 대이터와 호가 대이터를 수신하여 처리한다. 키움증권 api는 com이라 가능하지 않을 거 같아 ls증권의 api를 이용하고 있다. 매수를 할 때 매수 호가 위의 한 틱 가격으로 들어가게 했다. 그런데 더 낮은 가격으로 체결되는 경우들이 예상보다 많다. 일반적이지 않은 상황이라 호가 대이터를…

  • ls증권 api 아웃블록 처리 요령 – occurs

    ls증권 api로 대이터를 리퀘스트하면 구조체로 온다. 이 api는 이 struct를 OutBlock이라 한다. 아웃블록의 종류 – 일체형과 분리형 아웃블록은 하나가 올 수 있고 둘 이상이 올 수도 있다. 후자의 경우 각 아웃블록이 따로 수신될 수 있고 여러 아웃블록들이 연결된 채로 한 번에 수신될 수도 있다. 다시 전자를 분리형이라 하고 후자는 일체형이라 한다. 아웃블록이 어떤 형태인지는 레퍼런스를…

  • 주식 api를 멀티 뜨레드로 이용할 때 데드록이 생기는 경우

    멀티 뜨레드로 작동하지 않는 ls증권의 api를 이용하고 있다. 3천 개 정도 종목의 체결과 호가 대이터를 실시간으로 받는다. 수신되는 빈도와 대이터의 양이 너무 많아서 이들을 매인 뜨레드에서 모두 처리하면 하나의 코어에서만 부하가 커져서 멈추게 된다. 패킷을 받은 때 바로 새로운 객체를 만들어 새로운 뜨레드로 보내 연산하면 cpu의 모든 코어들로 부하를 나눌 수 있다. 연산을 한다는 건…

  • c#으로 키움증권 영웅문 글로벌 제어하기 – 종목 변경

    영웅문 글로벌은 4와 비슷해 보이지만 다르게 작동한다. wm_settext와 wm_keydown을 연달아 보내면 전자만 작동하고 후자는 작동하지 않는다. 4와 달리 종목 코드를 입력하는 edit에 wm_settext로 문자열을 보내 입력하는 거로는 충분하지 않다. 이 에디트는 표준 윈도우즈 컨트롤이 아니다. 키를 하나씩 눌러 입력해 보면 각 동작에 드롭 다운 리스트가 작동하는 걸 확인할 수 있다. 이렇게 드롭 다운 리스트가 작동하는…

  • c#으로 키움증권 영웅문 4 제어하기 – 종목 변경

    영웅문 4의 0101 현재 가격창을 띄워 놓고 이 창의 종목 코드 입력 에디트에 종목 코드를 입력한 뒤 엔터를 누른 거처럼 작동하게 하는 방법이다. 이 창에서 종목을 바꾸면 다른 창들도 바뀐다. 현재 가격창을 띄워만 놓으면 되고 눈에 보이지는 않아도 된다. 핸들에 대한 기본적인 지식은 있어야 한다.

  • 미국 주식 거래 대금 – vwap * 거래량 = ?

    미국의 거래소들은 주식의 거래 대금dollar volume 대이터를 만들지 않는 거 같다. 가능한 모든 거래소들과 api들을 확인해 봤지만 하나도 찾을 수 없었다. 그런데 ls증권 차트를 보면 거래 대금이 나온다. 어떻게 구하는 건지 물어 봤다. 미국의 거래소에서 보내 주는 대이터는 아니고 체결 대이터를 수신하여 가격과 체결량을 곱하여 누적한다고 했다. 이렇게 계산하는 게 맞다. 미국 유료 api들 가운데…