반응형

키움이 제공하는 ActiveX를 이용해서 시스템 트레이딩을 개발하면서,

이유 없이 프로그램이 중단되거나 에러가 나는 상황이 종종 발생하엿다.

메뉴얼을 아무리 찾아봐도 이유를 발견할 수 없는 경우가 많은데,

키움 OpenAPI관련 게시판을 찾아보면 도움되는 정보를 얻을 수 있다.


내가 경험한 개발시 유의점들은 다음과 같다.

  1. 중단 및 에러 발생 원인을 알 수 없을 때에는, 키움 OpenAPI게시판에 비슷한 증상으로 올라온 문의내용이 없는지 확인해 보는 것이 좋다.
  2. 키움이 제공한 ActiveX모듈이 가끔 버전 처리를 하는 경우가 있는데, 버전 처리 이후에는 꼭 Rebuild를 해 주는 것이 좋다.
  3. 메뉴얼에는 없지만, 게시판에 보면 1초 동안 서버에 보내는 request는 5회 이내로 제한하는 것이 좋다고 나와 있다. 따라서, 각 request 사이에는 적어도 200ms 이상의 Delay를 주는 것이 필요하다.
  4. 서버로부터 오는 메세지 처리시 이벤트 함수를 연결해서 처리하는데, 처리 시간이 오래 걸리면 Exception이 발생할 수 있다. 최대한 신속하게 처리해서 다음 메세지를 받아들일 준비를 해야 하며, 시간이 많이 필요한 처리는 일단 기본 정보만 저장해 두었다가 별도의 쓰레드에서 처리하던가 해야 한다.
  5. 이런 저런 주의사항들을 다 지키더라도, 때때로 제공 모듈 자체에서 오류가 발생하는 경우가 있다. 이런 경우 원인을 찾기가 어렵다. 그저 모듈이 좀더 개선되기를 기다리는 수밖에 없는 것 같다. 이런 경우의 대비책도 마련할 수 있으면 마련해 두는 것이 좋다.


반응형

+ Recent posts