본문 바로가기

CyFinAPI   ( 8 )


마켓 데이터 처리시 주요 시각, 시간. 개요 거래소에서 발생하는 체결 및 호가 틱 데이터 실시간 수신 및 처리과정에서의 주요 시각, 시간 정보. 거래소에서 제공하는 마켓 데이터를 컴퓨터에서 수신하고 프로그램에서 데이터 처리하는 전체과정에서 시각, 시간 정보의 명확한 정의. 주요시각, 시간들. 데이터 흐름 1. 거래소에서의 매매과정에서의 체결 혹은 호가변동정보 전송시 거래소 서버에서 해당 정보의 발생시각을 같이 전송해준다.2. 상기1은 네트웍을 통하여 전송되므로 시간지연이 발생하며, 내 컴퓨터에서 수신하는 시점은 1의 시각과는 달리 지연될 수 밖에 없다.3. 컴퓨터에서 수신한 데이터 처리과정에서도 역시 시간지연이 발생한다. 4. 최종적으로 프로그램에서 매매주문 신호 만들어진 시점에는 상기 1,2,3 과정 전체 누적된 지연시간이 있다. 아래 항목.. 2016. 2. 20.
CyOrderModify/Cancel 의 타겟이 되는 CyOrderNew개체 관리사항.수정가능상태, 타겟선점 Lock 기능등. 개요. 문제정의. CyFinAPI 체계에서, CyOrderModify 와 CyOrderCancel 의 타겟이 되는 CyOrderNew 에는 아래와 같은 2가지 관리기능이 필수요구된다. 1. CyOrderModify/Cancel 명령 적용 가능여부를 CyOrderNew에서 제공해야한다.2. 1개의 CyOrderNew 에 1개 이상의 CyOrderModify/Cancel 프로세스 중복 불허하는 수단이 CyOrderNew에서 제공되어야 한다. 즉, CyOrderModify/Cancel (모두 CyOrderNew를 수정하는 기능임) 은 1개의 CyOrderNew 개체에 1개의 수정프로세스만 진행가능하며, 진행중인 수정프로세스가 종료된 이후에만 추가의 수정프로세스가 CyOrderNew에 접근가능하다. 상기의 수단.. 2016. 1. 12.
VC++ 프로젝트에 MFC CObject 파생클래스 추가하기.예: CyFinAPI프로젝트에 CCyItem 클래스 추가. 개요. VC++ 프로젝트에 MFC CObject 를 베이스로 하는 클래스 추가하기. 예 : CyFinAPI(MFC regular DLL) 프로젝트에 CCyItem 이라는 클래스를 CObject 를 베이스로 하여 생성. CObject 를 베이스 클래스로 하는 이유. CObject 에서 제공하는 기능활용하기 위함. 특히 파일저장 강력한 함수인 Serialize 등 활용. serialize 적용위한 클래스 필수 필수 요건. - 베이스 클래스 CObject 포함.- 디폴트 생성자 필수 - 클래스 선언에 DECLARE_SERIAL(클래스명) 매크로 기록. 동시에 클래스 정의파일에 IMPLEMENT_SERIAL(,,,) 기록.- CObject 의 virtual 함수인 Serialize() 오버라이드 하고 구현. 방.. 2015. 12. 26.
CyDevice 아이디 정의 및 대응하는 증권사 API 리스트. 정의. CyDevice 아이디. CyDevice 는 매매용 API 와 1:1대응한다. 예. xingAPI 를 CyFinAPI에서 사용한다면 xingAPI는 고유의 CyDevice ID를 갖는다. 용도 : 본 아이디는 코드작업 등에서 클래스 이름, 외부 노출함수에서 식별용도로 활용. CyDeviceID vs. Trading API 대응리스트. 한국 증권사 제공 API기반. CyDeviceID API 발급일. 비고 1 xingAPI DLL 버전. 2015년 12월 15일. 이트레이드 증권. 2 OpenAPI-W 2016년 9월 19일. 키움증권 해외선옵 전용. ocx 3 동부증권 해선 API 2016년 12월 26일. 동부증권. 해외선옵 전용. ocx AlphaComm.ocx 와 통신 - 체결틱이 충분하지 .. 2015. 12. 15.
VC++, 이미 프로젝트에 포함된 클래스이름변경, 파일명 변경. 예 : CyFinAPI 프로젝트의 클래스 CDlgMain->CCyFinAPIMainDlg 개요. VC++ 프로젝트에 이미 생성되어있는 클래스 이름변경을 간단히 수행할 수 있는 Visual Studio 툴사용법. 동시에 파일명 변경법. VS 버전 : Visual Studio 2015. 예 : CyFinAPI 프로젝트의 클래스 CDlgMain->CCyFinAPIMainDlg 클래스 이름변경 방법. 클래스 뷰에서 변경하고자 하는 클래스 마우스 우클릭. 새 이름에 새 클래스 이름을 기록하고, 미리보기 클릭한다. CCyFinAPIMainDlg 본 글이 포함된 상위 정리 장소. Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11 ///495. 2015. 12. 15.
VC++. 사용자정의메시지 수신처리기 추가. 예: CyFinAPI의 클래스 CDlgMain에 추가함. 상세. 클래스마법사 실행하여(아래 그림) 사용자 정의 메시지 수신 처리기를 추가할 클래스를 지정하고, 파랑박스에서 클래스 선택. 위 그림에, 탭 "메시지" 을 선택하고 버튼 "사용자 지정 메시지.." 클릭하면 메시지아이디, 메시지 처리기 함수명을 지정하는 창이 뜬다. 아래. 메시지 아이디부분에 기록하면 처리기 함수명은 자동으로 만들어진다. 이 함수명 그대로 사용해도 되고 임의로 변경가능. 메시지 아이디는 메시지를 송신하는 측에서 지정된 것을 기록하면된다. 통상 #define WM_MESSAG_ID WM_USER+번호 식으로 선정의 해두고 사용하게 된다. 위 그림의 확인버튼 클릭하면, 메시지 처리 함수가 코드속에 들어오게 되며, 이 함수에 메시지 수신시 처리할 사항을 코드 추가한다. 끝. - VC++. 사.. 2015. 12. 13.
VC++ 프로젝트 리소스에 아이콘 추가. 예:CyFinAPI 프로젝트에 아이콘 추가. 상세. 아이콘의 아이디를 설정하고(아래 붉박), 사이즈, 색상표현비트수 별로 아이콘들이 준비되어있다. 각각의 이미지를 원하는것으로 수정하면된다. 아이콘 이미지가 간단한 경우에는 본 편집기에서 직접 수정해도 되고, 이미지가 복잡한 경우 아래와 같은 과정으로 이미지 처리 작업 수행해도 된다. 1. 별도의 이미지 편집툴(포토샾 , 혹은 온라인 편집툴 http://igotit.tistory.com/491 ) 등에서 아이콘중 가장 큰 사이즈인 256x256 32비트 규격으로 이미지 작업하여 고품질 원본 1개 만들고 2. 상기 1의 원본을 48x48, 32x32, 16x16등의 축소판 만들고, 각 이미지들을 png로 저장하고, 3. 상기 2의 png를 그림판에서 열고, 이미지를 복사하여 아래 VC++ 그림부분에 복.. 2015. 12. 13.
VC++ 프로젝트 리소스에 메뉴 추가. 예:CyFinAPI 프로젝트에 트레이아이콘용 메뉴 추가. 상세. 본 글이 포함된 상위 정리 장소. Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11 ///489. 2015. 12. 13.

   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT