서브 요청 및 마수걸이하기1. open api 서브 요청2. 모의방자 요청 (테스트용)3. open api 모듈 및 관계 곡목 아웃로드 및 가설4.
가이드 서류 확인https://download. kiwoom. com/web/openapi/kiwoom_openapi_plus_devguide_ver_1. 5.
pdf ocx 가설하면 윈도우 레지스트리에 등부됨open api 선용인가 곡목 로그인시 업데이트 됨메서드1LONGCommConnect로그인 윈도우를 단행한다. 2voidCommTerminate더 앞 뒷바라지하지 않는 함수 3LONGCommRqData보도 데이터를 발신한다. 4BSTRGetLoginInfo로그인 첩보를 반환한다. 5LONGSendOrder주권맞춤 Tran을 발신한다.
6LONGSendOrderCredit주권 믿음성맞춤 Tran을 발신한다. 7voidSetInputValue 8LONGSetOutputFID 9BSTRCommGetData이 함수갈음 쓰임새에 맞는 전용 함수를 선용할 것 10voidDisconnectRealData리얼 거리를 끊는다. 11LONGGetRepeatCnt리시브 받은 데이터의 되풀이 수를 반환한다. 12LONGCommKwRqData구미종목을 조사 한다.
13BSTRGetAPIModulePathOpenApi 모듈이 가설되어 있는 디렉토리를 반환한다. 14BSTRGetCodeListByMarket장구분별 종목코드 리스트를 반환한다. 15LONGGetConnectState보도 인접 사정를 반환한다. 16BSTRGetMasterCodeName종목코드의 종목명을 반환한다.
17LONGGetMasterListedStockCnt종목코드의 상장주권수를 반환한다. 18BSTRGetMasterConstruction종목코드의 감독구분을 반환한다. 19BSTRGetMasterListedStockDate종목코드의 상장일을 반환한다. 20BSTRGetMasterLastPrice종목코드의 어제가를 반환한다.
21BSTRGetMasterStockState종목코드의 종목사정를 반환한다. 22LONGGetDataCount녹음의 되풀이수를 반환한다. 23BSTRGetOutputValue리시브 데이터를 반환한다. 24BSTRGetCommData리시브 데이터를 반환한다.
25BSTRGetCommRealData실때 데이터를 반환한다. 26BSTRGetChejanData조인잔고 데이터를 반환한다. 27BSTRGetThemeGroupList논제 코드와 집단의 리스트를 반환한다. 28BSTRGetThemeGroupCode논제코드에 당해하는 종목코드를 반환한다.
29BSTRGetFutureList지수사례 코드 리스트를 반환한다. 30BSTRGetFutureCodeByIndex지수사례 코드를 반환한다. 31BSTRGetActPriceList지수옵션 성교가 리스트를 반환한다. 32BSTRGetMonthList지수옵션 월물 리스트를 반환한다.
33BSTRGetOptionCode지수옵션 종목코드를 반환한다. 34BSTRGetOptionCodeByMonth같은 성교가 딴 월문제 종목코드를 반환한다. 35BSTRGetOptionCodeByActPrice같은 월물 딴 성교가의 종목코드를 반환한다. 36BSTRGetSFutureList주권사례 코드 리스트를 반환한다.
37BSTRGetSFutureCodeByIndex주권사례 코드를 반환한다. 38BSTRGetSActPriceList주권옵션 성교가를 반환한다. 39BSTRGetSMonthList주권옵션 월물을 반환한다. 40BSTRGetSOptionCode주권옵션 코드를 반환한다.
41BSTRGetSOptionCodeByMonth주권옵션 월물만 개변된 코드를 반환한다. 42BSTRGetSOptionCodeByActPrice주권옵션 성교가만 개변된 코드를 반환한다. 43BSTRGetSFOBasisAssetList주권선옵 기초자산코드와 명목을 반환한다. 44BSTRGetOptionATM지수옵션 ATM을 반환한다.
45BSTRGetSOptionATM주권옵션 ATM을 반환한다. 46BSTRGetBranchCodeName성원사 코드와 명목을 반환한다. 47BSTRCommInvestRqData뒷바라지하지 않는 함수. 48LONGSetInfoData아이디별 자동로그인이 인접이 나위할 때 선용한다.
49LONGSetRealReg실때 등부을 한다. 50VoidSetRealRemove종목별 실때 면제(SetRealReg로 등부한 종목만 면제 가능) 51longGetConditionLoad서버에 갈강제된 선용인 요소식을 가져온다. 52BSTRGetConditionNameList요소검출에 긴하다 요소명 리스트를 받아온다. 53voidSendCondition요소검출 조사TR을 발신한다.
54voidSendConditionStop실때 요소검출을 중지한다. 55VariantGetCommDataEx그림 조사한 데이터 십분를 열거로 받아온다. 이벤트1VoidOnReceiveTrDataTran 리시브시 이벤트 2VoidOnReceiveRealData실때 거리 이벤트 3VoidOnReceiveMsg리시브 통고 이벤트 4VoidOnReceiveChejanData맞춤 리시브/확인 리시브시 이벤트 5VoidOnEventConnect보도 결합 사정 개변시 이벤트 6voidOnReceiveRealCondition요소검출 실때 편입,탈퇴종목 이벤트 7voidOnReceiveTrCondition요소검출 조사응대 이벤트 8VoidOnReceiveConditionVer로컬에 선용인요소식 갈강제 성취가부 응대 “이벤트 “별도 세부내역은 매뉴얼 서류 참호매뉴얼 긴요조항 open api 는 별도의 로그인 창을 공급함(겹 신열 불가)버전감당 나위- 개척한 곡목 또는 koa studio 에서 계정첩보 인풋. 버전감당 통지 팝업.
팝업 사정에서 온갖 관계 곡목 끝막음. 사정에서 버전감당 가능. 후 재단행 KOA studio 내에도 메뉴얼이 있음요망 및 결실에 대한 긴요 리듬 on the koa ver. 2.
20 로그인CommConnect(선용인 초출) -> 로그인창 아웃풋 -> OnEventConnect(이벤트 생성)로그인은 CommConnect()함수를 초출로그인끝막음시 OnEventConnect 이벤트가 생성OnEventConnect 이벤트의 요소값으로 로그인 성취가부 감정( 0 : success , other : failed ) 예금계좌 비밀넘버OpenAPI는 로그인 후 일차 예금계좌비밀넘버를 인풋/등부 나위예금계좌비밀넘버 제정은 예금계좌비밀넘버 인풋창을 통해서만 가능이 인풋창을 아웃풋하는 노하우은 2아지로 공급1. 메뉴선용 – 로그목 윈도우의 공작표시줄상에 껌벅이는 트레이아이콘의 마우스바른편 메뉴(모니터 바른편 아래)에서 “예금계좌비밀넘버 갈강제” 발췌2. 함수선용 – 로그목 OpenAPI. KOA_Functions(_T(“ShowAccountWindow”), _T(“”)) 초출 ※ 예금계좌비밀넘버 인풋시 경고하다 점 : OpenAPI는 예금계좌비밀넘버를 실증하지 않고 인풋된 값을 그냥 사인화하여 서버로 탁송예금계좌비밀넘버 과실가 나오다 않도록 오타 등 인풋에 귀띔 자동 로그인로그인 후에 예금계좌비밀넘버 인풋창을 통해 자동로그인을 제정가능예금계좌비밀넘버 인풋창에서 예금계좌비밀넘버를 인풋하고 “등부” 또는 “총체등부” 버튼을 눌러서 비밀넘버를 갈강제한 나중 아래쪽에 있는 “AUTO” 옵션을 물표하면 자동 로그인을 위한 제정이 송두리째 끝납니다.
나중번 단행부터 로그인시 로그인창에 계정 인풋하는 과정 없이 로그인과정이 자동으로 단행됩니다. 자동로그인시에는 버전감당(최신기억철 업데이트) 과정을 생략합니다. 단 경제행위소로부터 리시브되는 Daily안배 기억철인 종목첩보 기억철은 자동로그인시에도 아웃받습니다. ※ 자동로그인 선용시 경고하다 점 : 정기적으로 일주일에 일차 앞 자동로그인 해지 후 피동로그인으로 버전감당를 받아주시길 장려드립니다.
버전감당 없이 자동로그인을 내리 선용시에 예기치 않은 오동정당 성립성이 있습니다. 장끝막음 후 혹은 주말에도 버전감당는 고개 이행됩니다. 버전 감당(최신기억철 아웃로드)OpenAPI의 업데이트가 있는 경우 로그말미암다때 버전감당 알림창이 아웃풋 됩니다. 이 알림창이 표시되면 단행한 OpenAPI곡목(KOA스튜디오함유)을 미리 송두리째 끝막음한나중 알림창에 있는 확인버튼을 눌러야 합니다.
그렇지 않으면 버전감당가 고개적으로 끝나지 않아서 로그말미암다때마다 버전감당 알림창이 되풀이됩니다. 이렇게 OpenAPI곡목을 송두리째 끝막음한 나중 알림창을 닫아주면 버전감당가 자동으로 사회/끝막음 되고 끝막음했던 곡목을 재단행 해주면 됩니다. 버전감당가 고개적으로 끝막음된 이래에는 나중번 버전감당가 있을때까지 인접시 당해 알림창이 단행되지 않습니다. 불가무 버전감당 (자동로그인 강압해지)OpenAPI 경영시 선용인가 불가무적으로 버전감당를 받아야 하는 업데이트가 있는 경우, 버전감당를 가해 자동로그인이 강압 해지되는 작용이 움직임할 수 있습니다.
(이때 버전감당끝막음 후 인접하여 자동로그인을 재제정하실 수 있습니다. )자동로그인이 강압해지되는 업데이트는 선용인의 거북하다을 경감하다 수 있도록 최소화하여 경영됩니다. 모의방자로그인 창에서 모의방자인접에 물표하면 모의방자로 인접하며 이 물표를 풀면 실경제행위 서버로 인접합니다. (KOA Studio 곡목은 모의방자로만 인접가능합니다.
그러므로 모의방자인접 물표 해지가 되지 않습니다. )모의방자 인접은 (평상시)모의방자 요청 이래에 가능하며 요청가부는 영웅문4 HTS의 모의방자 요청가부와 공유됩니다. 모의방자 예금계좌넘버, 맞춤 가능종목, 사례등 협약은 실경제행위 법제과 차별가 있으며 아래쪽 거주지에서 확인 가능합니다. https://www.
kiwoom. co. kr/nkw. templateFrameSet.
do?m=m1101020000 겹로그인OpenAPI는 보안정략으로 인해 동등ID에대한 겹로그인을 허용하지 않습니다. 동등한ID로 겹로그인시에 끝판 로그인한 인접만 유지되고 옛날에 로그인한 인접은 절단됩니다. 모의방자서버 로그인 짐짓 겹로그인을 허용하지 않습니다. (동등한 ID로 실경제행위서버 로그인과 모의방자로 겹로그인은 가능합니다.
)동등한ID로 OpenAPI, 영웅문 HTS, MTS 의 겹로그인이 가능합니다. 동등개개인용컴퓨터에서 각자딴 ID로 복수단행이 가능합니다. 겨우 OpenAPI 단행에 긴하다 기억철에동일시에 접근하면서 오동정을 일으킬 수 있습니다. 낱의 개개인용컴퓨터에서 낱의 단행을 장려합니다.
LONG CommConnect()피동 로그인제정인 경우 로그인창을 아웃풋. 자동로그인 제정인 경우 로그인창에서 자동으로 로그인을 시도합니다. void CommTerminate()곡목 끝막음없이 서버와의 인접만 절단명령하다 함수입니다. ※ 함수 선용 후 선용인의 옥생각보유생 생기는 까닭로 더 앞 선용할 수 없는 함수입니다.
LONG GetConnectState()서버와 목하 인접 사정를 알려줍니다. 리턴값 1:결합, 0:결합안됨 LONG GetLoginInfo()로그인 후 선용할 수 있으며 요소값에 대응하는 첩보를 얻을 수 있습니다. 요소는 나중값을 선용할 수 있습니다. “ACCOUNT_CNT” : 보관예금계좌 갯수를 반환합니다.
“ACCLIST” 또는 “ACCNO” : 구분자 ‘;’로 결합된 보관예금계좌 리스트을 반환합니다. “USER_ID” : 선용인 ID를 반환합니다. “USER_NAME” : 선용인 명목을 반환합니다. “GetServerGubun” : 인접서버 구분을 반환합니다.
(1 : 모의방자, 거스름 : 실경제행위서버)”KEY_BSECGB” : 키보드 보안 해지가부를 반환합니다. (0 : 고개, 1 : 해지)”FIREW_SECGB” : 방화벽 제정가부를 반환합니다. (0 : 미제정, 1 : 제정, 2 : 해지) 리턴값요소값에 대응하는 첩보를 얻을 수 있습니다. ————————————————————————————————————————————[보관예금계좌 리스트 예시]CString strAcctList = GetLoginInfo(“ACCLIST”);이곳서 strAcctList는 ‘;’로 구분한 보관예금계좌 리스트임예) “3040525910;5678905510;3040526010”———————————————————————————————————————————— OnEventConnect()이벤트OnEventConnect(long nErrCode // 로그인 사정를 시달하는데 꼼꼼하다 내역은 아래쪽 명세내역 감안)로그인 감당 이벤트입니다.
성취뒷면 요소값 nErrCode가 0이며 과실는 나중과 같은 값이 시달됩니다. nErrCode별 명세내역-100 선용인 첩보교역 낭패-101 서버인접 낭패-102 버전감당 낭패 OnReceiveMsg()이벤트OnReceiveMsg(BSTR sScrNo, // 비디오넘버BSTR sRQName, // 선용인 구분명BSTR sTrCode, // TR명목BSTR sMsg // 서버에서 시달하는 통고)데이터 요망 또는 맞춤탁송 후에 서버가 보낸 통고를 리시브합니다. 예) “조사가 끝막음되었습니다” 예) “예금계좌넘버 인풋을 확인해주세요” 예) “조사할 바탕가 없습니다. ” 예) “증빙금 결여으로 맞춤이 사절되었습니다.
“※ 경고하다 점 : 통고에 함유된 6터전 코드넘버는 개변될 수 있으니, 이곳에 리시브된 코드넘버(sTrCode)를 특정 쓰임새로 선용하지 들이켜다 바랍니다. 조사감당(조사요망)OpenAPI가 공급하는 데이터중에서 간청하다 데이터를 서버에 요망해서 리시브 받는 것을 말합니다. 이는 낱의 TR(Transaction)단원로 감당됩니다. 각 TR은 서버와 데이터를 주고받을때 가약된 협약입니다.
각자의 TR은 인풋국부(Input)과 아웃풋국부(Output)을 아지고 있습니다. Input은 선용하는 TR에따라 조항이 달라지며 선용인(거래자)가 인풋해야 하는 국부이고, Output은 요망에대한 서버의 응대으로 리시브되는 데이터 입니다. Output은 제조항으로 공급되며 긴하다 조항의 값만을 골라서 얻을 수 있습니다. 아웃풋국부은 조항이 낱로 가다 싱글데이터와 복수의 건수로 가다 멀티데이터가 있습니다.
TR에 따라 싱글데이터(또는 멀티데이터)만 있거나 둘다 있는 경우도 있습니다. OPT10070 : 그날긴요경제행위원요망- 싱글데이터OPT10081 : 주권일봉그림조사요망 – 싱글 + 멀티데이터 OpenAPI가 공급하는 TR들은 KOA Studio의 “TR리스트” 탭에서 찾아볼 수 있습니다. 더블 긴하다 TR을 발췌하여 가약된 Input값을 인풋 후 서버에 요망하면 당해 TR에 정당되어 있는 Output 조항들의 값을 구할 수 있습니다. ※ 경고하다 점 : 조사시 인풋값 조항들은 SetInputValue 함수로 기어이 계제에 맞게 인풋해야 합니다.
예금계좌비밀넘버는 별도의 인풋창으로 인풋/등부담고 조사시에는 공란으로 인풋합니다. ex) SetInputValue(“비밀넘버” , “”); 조사요망/리시브 선용법조사요망하고자 하는 TR의 인풋값(input)을 배후 조사요망을 합니다. 서버는 요망에대한 결실를 보내주고 이벤트를 생성시켜 데이터를 리시브합니다. 리시브한 데이터중 긴하다 조항에 당해하는 값을 구합니다.
SetInputValue(선용인 초출) -> CommRqData(선용인 초출) -> OnReceiveTrData(이벤트 생성) 지속조사TR별로 일차에 시달할 수 있는 데이터 갯수가 정해져 있습니다. 이 갯수보다 조사할 데이터가 많을때는 지속조사로 온갖 데이터를 조사할 수 있습니다. 지속조사는 CommRqData()에서 요소값만 바꿔서 또다시 요망합니다. CommRqData(“일별데이터조사”, “OPT10086” , 0, “0001”); 위처럼 요망한 데이터가 일차에 리시브된 데이터보다 더 많이 위치하다면 OnReceiveTRData()이벤트에서 5번째 요소값(sPrevNext)에 “2”가 시달됩니다.
이때 더 많은 데이터를 요망하고자 할때는 CommRqData(“일별데이터조사”, “OPT10086” , 2, “0001”); 위처럼 3번째 요소값을 2로 제정해서 조사하시면 됩니다. 정돈하면 나중과 같습니다. OpenAPI. CommRqData(“일별데이터조사”, “OPT10086” , 0, “0001”); // 난생처음조사시 혹은 지속데이터가 없을때OpenAPI.
CommRqData(“일별데이터조사”, “OPT10086” , 2, “0001”); // 지속조사시 (나위에따라 요망)※ 경고하다 점 : 한복판에 딴 TR 요망이 있는 경우 지속조사가 되지 않습니다. 실때 데이터거리조사요망이 성취하면 당해종목의 실때거리 데이터가 서버에 자동으로 등부됩니다. 이래 당해종목의 실때 거리데이터는 OnReceiveRealData() 이벤트로 리시브됩니다. 또는 거리조사가 나위없고 실때거리만 긴하다 경우는 SetRealReg 함수를 선용하여 특정종목(복수종목 가능)의 실때거리를 서버에 등부할 수 있습니다.
※ SetRealReg() 함수는 요소검출 조항에서 선용법을 서설하고 있습니다. KOA Studio의 실때 탭을 여시면 Real 생김새 (실때생김새) 리스트을 확말미암다 수 있습니다. 이들 낱낱를 실때 생김새이라고 합니다. 각 실때생김새에 함유되는 데이터조항들의 FID(Feild ID)들이 집단핑되어 있습니다.
예를들어 실때 생김새 “주권거리”는 FID 10 목하가 ~ FID 568 하한가생성때까지 FID로 구도되며 한꺼번에 시달됩니다. 또 실때 생김새 “주권조인”는 FID 20 조인때 ~ FID 1313 곁다리 Item까지 FID가 일차에 시달됩니다. 실때거리 선용법거리관계 TR서브를 요망하는 경우 자동으로 서버에 당해 종목의 실때거리가 등부 됩니다. 거리관계 TR서브 조사요망이 불긴하다 경우 SetRealReg 함수를 통해 조사없이 실때거리 등부이 가능합니다.
노하우1. 조사 서브 선용SetInputValue(선용인 초출) -> CommRqData(선용인 초출) -> OnReceiveTrData(이벤트 생성) ->OnReceiveRealData(이벤트 생성)노하우2. SetRealReg 함수 선용SetRealReg(선용인 초출) -> OnReceiveRealData(이벤트 생성) 맞춤관계 실때 데이터실때 생김새 “맞춤조인”, “잔고”, “가지잔고”는 맞춤관계 실때 데이터를 시달합니다. 데이터요망이나 서버등부 나위없이 맞춤생성시 리시브되는 실때생김새 입니다.
실때거리와는 다르게 조사요망이나 SetRealReg() 함수로 등부해서 선용할 수 없습니다. 리시브 이벤트는 OnReceiveChejanData() 입니다. 영웅문4 HTS, 영웅문S MTS 를 한탄 맞춤들도 동등ID로 인접한 경우 OpenAPI로 리시브됩니다. 아래쪽 실때 생김새은 법제 안용으로, 선용인가 선용할수 없는 실때 생김새입니다.
1. 수의길이첩보2. 때외종목첩보3. 주권경제행위원4.
삽시조인량5. 사례옵션가산6. 방자자별매수 CommRqData() 함수CommRqData(BSTR sRQName, // 선용인 구분명 (수의로 선정, 암글뒷바라지)BSTR sTrCode, // 조사하려는 TR명목long nPrevNext, // 지속조사가부BSTR sScreenNo // 비디오넘버 (4터전 수 수의로 선정)) 조사요망 함수입니다. 리턴값 0뒷면 조사요망 고개 거스름는 과실 예)-200 거리과부담-201 조사전임작성 과실 SetInputValue() 함수SetInputValue(BSTR sID, // TR에 명시된 Input명목BSTR sValue // Input명목으로 선정한 값) 조사요망시 TR의 Input값을 선정하는 함수입니다.
CommRqData 초출 전에 인풋값들을 셋팅합니다. 각 TR마다 Input 조항이 다릅니다. 계제에 맞게 Input 값들을 셋팅해야 합니다. ————————————————————————————————————————————예)[OPT10081 : 주권일봉그림조사요망예시]SetInputValue(“종목코드” , “039490”); // 첫번째 인풋값 제정SetInputValue(“규격날짜” , “20160101”);// 두번째 인풋값 제정SetInputValue(“수정주가구분” , “1”); // 세번째 인풋값 제정LONG lRet = CommRqData( “RQName”,”OPT10081″, “0”,”0600″);// 조사요망———————————————————————————————————————————— CommGetData() 함수국부 TR에서 선용상 구속이 있음므로 이 함수 갈음 GetCommData()함수를 선용하시기 바랍니다.
CommKwRqData() 함수CommKwRqData(BSTR sArrCode, // 조사하려는 종목코드 리스트BOOL bNext, // 지속조사 가부 0:본값, 1:지속조사(뒷바라지안함)int nCodeCount, // 종목코드 갯수int n생김새Flag, // 0:주권 종목, 3:사례옵션 종목BSTR sRQName, // 선용인 구분명BSTR sScreenNo // 비디오넘버) 일차에 100종목까지 조사할 수 있는 복수종목 조사함수 입니다. 함수요소로 선용하는 종목코드 리스트는 조사하려는 종목코드 여가에 구분자’;’를 별도해서 만들면 됩니다. 리시브되는 데이터는 TR리스트에서 복수종목첩보요망(OPTKWFID) Output을 감안하시면 됩니다. ※ OPTKWFID TR은 CommKwRqData()함수 전용으로, CommRqData 로는 선용할 수 없습니다.
※ OPTKWFID TR은 영웅문4 HTS의 구미종목과는 별개합니다. GetCommData() 함수GetCommData(BSTR strTrCode, // TR 명목BSTR strRecordName, // 녹음명목long nIndex, // nIndex번째BSTR strItemName) // TR에서 내다오려는 아웃풋조항명목 OnReceiveTRData()이벤트가 생성될때 리시브한 데이터를 내다오는 함수입니다. 이 함수는 OnReceiveTRData()이벤트가 생성될때 그 안에서 선용해야 합니다. ————————————————————————————————————————————예)[OPT10081 : 주권일봉그림조사요망예시]OnReceiveTrData(.
){if(strRQName == _T(“주권일봉그림”)){int nCnt = OpenAPI. GetRepeatCnt(sTrcode, strRQName);for (int nIdx = 0; nIdx < nCnt; nIdx++){strData = OpenAPI.
GetCommData(sTrcode, strRQName, nIdx, _T(“경제행위량”));strData. Trim(); // nIdx번째의 경제행위량 데이터 구함strData = OpenAPI. GetCommData(sTrcode, strRQName, nIdx, _T(“거리”)); strData. Trim();strData = OpenAPI.
GetCommData(sTrcode, strRQName, nIdx, _T(“고가”)); strData. Trim();strData = OpenAPI. GetCommData(sTrcode, strRQName, nIdx, _T(“싼값”)); strData. Trim();strData = OpenAPI.
GetCommData(sTrcode, strRQName, nIdx, _T(“목하가”)); strData. Trim();}}}———————————————————————————————————————————— GetCommRealData() 함수GetCommRealData(BSTR strCode, // 종목코드long nFid // 실때 생김새에 함유된FID (Feild ID)) 실때거리 데이터 리시브 이벤트인 OnReceiveRealData() 가 생성될때 실때데이터를 내다오는 함수입니다. 이 함수는 OnReceiveRealData()이벤트가 생성될때 그 안에서 선용해야 합니다. FID 값은 “실때리스트”에서 확말미암다 수 있습니다.
————————————————————————————————————————————예)[주권조인 실때 데이터 예시]if(strReal생김새 == _T(“주권조인”)) // OnReceiveRealData 이벤트로 리시브된 실때생김새이 “주권조인” 뒷면{strRealData = OpenAPI. GetCommRealData(strCode, 10); // 목하가strRealData = OpenAPI. GetCommRealData(strCode, 13); // 누증경제행위량strRealData = OpenAPI. GetCommRealData(strCode, 228); // 조인간당strRealData = OpenAPI.
GetCommRealData(strCode, 20); // 조인때}———————————————————————————————————————————— GetCommDataEx() 함수GetCommDataEx(BSTR strTrCode, // TR 명목BSTR strRecordName // 녹음명목)조사 리시브데이터 면적가 큰 그림데이터를 일차에 가져올 목표으로 만든 그림조사 전용함수입니다. ————————————————————————————————————————————예)[그림일봉데이터 예시]OnReceiveTrDataKhopenapictrl(.
){if(strRQName == _T(“주권일봉그림”)){VARIANT vTemp = OpenAPI. GetCommDataEx(strTrCode, strRQName);long lURows, lUCols;long nIndex[2]COleSafeArray saMatrix(vTemp);VARIANT vDummy;VariantInit(&vDummy);saMatrix. GetUBound(1, &lURows); // 데이터 총체갯수(데이터 되풀이횟수)saMatrix. GetUBound(2, &lUCols); // 아웃풋조항갯수 for(int nRow = 0; nRow <= lURows; nRow ++){for(int nCol = 0; nCol <= lUCols; nCol ++){nIndex[0] = lURows;nIndex[1] = lUCols;saMatrix.
GetElement(nIndex, &vDummy);::SysFreeString(vDummy. bstrVal);}}saMatrix. Clear();VariantClear(&vTemp);}}———————————————————————————————————————————— OnReceiveTrData() 이벤트void OnReceiveTrData(BSTR sScrNo, // 비디오넘버BSTR sRQName, // 선용인 구분명BSTR sTrCode, // TR명목BSTR sRecordName, // 녹음 명목BSTR sPrevNext, // 지속조사 유무를 판단하는 값 0: 지속(별도조사)데이터 없음, 2:지속(별도조사) 데이터 있음LONG nDataLength, // 선용안함. BSTR sErrorCode, // 선용안함.
BSTR sMessage, // 선용안함. BSTR sSplmMsg // 선용안함. ) 요망했던 조사데이터를 리시브했을때 생성됩니다. 리시브된 데이터는 이 이벤트안에서 GetCommData()함수를 선용해서 내다올 수 있습니다.
OnReceiveRealData() 이벤트OnReceiveRealData(BSTR sCode, // 종목코드BSTR sReal생김새, // 실때생김새BSTR sRealData // 실때 데이터 전임 (선용불가)) 실때거리 데이터가 리시브될때마다 종목단원로 생성됩니다. SetRealReg()함수로 등부한 실때 데이터도 이 이벤트로 시달됩니다. GetCommRealData()함수를 선용해서 리시브된 데이터를 얻을수 있습니다. OnReceiveMsg() 이벤트OnReceiveMsg(BSTR sScrNo, // 비디오넘버BSTR sRQName, // 선용인 구분명BSTR sTrCode, // TR명목BSTR sMsg // 서버에서 시달하는 통고) 맞춤탁송 또는 데이터 조사요망 후 서버 통고가 리시브됩니다.
※ 통고에 함유된 6터전 코드넘버는 개변될 수 있으니, 이곳에 리시브된 코드넘버를 특정 쓰임새로 선용하지 들이켜다 바랍니다. 예) “조사가 끝막음되었습니다. “”증빙금 결여으로 맞춤이 사절되었습니다. “”정정할 원맞춤 내역이 없습니다.
“”비밀넘버 인풋을 확인해주시기 바랍니다. “[골자]OpenAPI를 선용하면 내국주권과 코스피200 지수사례/옵션을 경제행위할 수 있습니다. 매출품별로 전용 맞춤함수가 있으며 SendOrderCredit()함수를 선용해서 대주를 제외한 믿음성맞춤을 뒷바라지합니다. ※ 정정맞춤은 원맞춤에 대한 가액정정만 가능하며 경제행위구분을 개변하는 정정맞춤은 뒷바라지하지 않습니다.
[예금계좌비밀넘버 제정]OpenAPI는 로그인 후 일차 예금계좌비밀넘버를 인풋/등부 해야 합니다. 예금계좌비밀넘버 제정은 예금계좌비밀넘버 인풋창에서만 가능합니다. 이 인풋창을 아웃풋하는 노하우은 2아지로 공급됩니다. 1.
메뉴선용 – 로그목 윈도우의 공작표시줄상에 껌벅이는 트레이아이콘의 마우스바른편 메뉴(모니터 바른편 아래)에서 “예금계좌비밀넘버 갈강제” 발췌2. 함수선용 – 로그목 OpenAPI. KOA_Functions(_T(“ShowAccountWindow”), _T(“”)) 초출※ 예금계좌비밀넘버 인풋시 경고하다 점 : OpenAPI는 예금계좌비밀넘버를 실증하지 않고 인풋된 값을 그냥 사인화하여 서버로 탁송합니다. 예금계좌비밀넘버 과실가 나오다 않도록 오타 등 인풋에 귀띔하시기 바랍니다.
[맞춤감당과정]맞춤 감당 계제SendOrder(맞춤생성) -> OnReceiveTRData(맞춤응대) -> OnReceiveMsg(맞춤메세지리시브) -> OnReceiveChejan(맞춤리시브/조인)※ 귀띔(역회전색) : 맞춤건수가 폭증하는 경우 OnReceiveChejan 이벤트가 OnReceiveTRData 이벤트보다 미리 리시브될 수 있습니다. 각 과정 서설SendOrder – 선용인가 초출. 리턴값 0인 경우 고개OnReceiveTRData – 맞춤생성시 첫번째 서버응대. 맞춤넘버 습득 (맞춤넘버가 불가능하다면 맞춤사절 등 비고개맞춤)OnReceiveMsg – 맞춤사절 사색를 함유한 서버메세지 리시브OnReceiveChejan – 맞춤 사정에따른 실때리시브 (맞춤리시브, 맞춤조인, 잔고개변 각 과정별로 리시브됨) OnReceiveTRData()이벤트는 주로 조사요망후 데이터리시브 이벤트지만 맞춤시에도 생성됩니다.
맞춤이 고개개인 경우 이 이벤트안에서 맞춤넘버를 얻을 수 있습니다. 비고개맞춤인 경우 맞춤넘버는 공란(“”)으로 시달됩니다. 각 맞춤함수의 리턴값이 0(성취)이여도 장 마수걸이전 맞춤, 상가가 맞춤가액인풋, 호가폭를 벗어난 맞춤등 다양한 동기으로 맞춤은 낭패할수 있습니다. [맞춤 유념조항]※ 맞춤은 1초가집 5귀정 구속 됩니다.
(조사횟수와는 별개로 연산 됩니다. )※ 맞춤가능수량 앞으로 맞춤하는 경우 미수맞춤으로 감당될 수 있습니다. 영웅문4 [0398] 비디오등에서 예금계좌증빙금 개변등부으로 100% 맞돈 맞춤만 가능하도록 제정할 수 있습니다. ※ 상가가맞춤시 극도맞춤가능수량은 상한가를 규격으로 연산됩니다.
※ 상가가맞춤시 맞춤가액은 0으로 인풋합니다. ※ OpenAPI에서는 경제행위구분 정정맞춤은 뒷바라지되지 않습니다. 예) 선정가 매도 -> 상가가 매도로 정정 (불가. 원맞춤 파기 후 신규맞춤으로 사회하시기 바랍니다.
)※ 맞춤내역은 영웅문HTS, MTS 등 매개체간 공유됩니다. 타매개체에서 생성명령하다 맞춤조인도 OnReceiveChejan 이벤트로 실때 리시브됩니다. ※ 모의방자 서버에서는 맞춤 불가 종목이 존재합니다. 모의방자 협약을 확인해주시기 바랍니다.
https://www. kiwoom. co. kr/nkw.
templateFrameSet. do?m=m1101020000 [맞춤조인, 잔고 리시브]OnReceiveChejan()이벤트는 맞춤리시브, 조인, 잔고개변시 생성됩니다. 이 이벤트를 통해 대국부의 맞춤관계 첩보를 얻을 수 있습니다. 맞춤요망에 대한 응대은 맞춤리시브, 맞춤조인, 잔고리시브 계제로 사회됩니다.
(정정/파기 맞춤의 경우 맞춤리시브 후에 맞춤확인 사인가 일차 더 리시브됩니다. )낱의 맞춤에창해 국부조인되는 경우 아래쪽와 같은 계제로 OnReceiveChejan 이벤트가 생성됩니다. 맞춤 —> 리시브 —> 조인1 —> 잔고1 —> 조인2 —> 잔고2.
—> 조인n —> 잔고n 맞춤 응대의 구분은 OnReceiveChejanData()이벤트가 생성될때 가다 sGubun값을 선용합니다. sGubun값은 리시브와 조인시 ‘0’값, 잔고개변은 ‘1’값을 아지게 됩니다. 이값에 따라 실때생김새 “맞춤조인” 또는 “잔고” 생김새이 선용됩니다.
[OnReceiveChejan()이벤트로 가다 FID리스트정돈]”9201″ : “예금계좌넘버” “9203” : “맞춤넘버” “9001” : “종목코드” “913” : “맞춤사정” “302” : “종목명” “900” : “맞춤수량” “901” : “맞춤가액” “902” : “미조인수량” “903” : “조인누계금원” “904” : “원맞춤넘버” “905” : “맞춤구분” “906” : “매수구분” “907” : “매도수구분” “908” : “맞춤/조인때” “909” : “조인넘버” “910” : “조인가” “911” : “조인량” “10” : “목하가” “27” : “(최그럭저럭)매도호가” “28” : “(최그럭저럭)구매호가” “914” : “단원조인가” “915” : “단원조인량” “919” : “사절사색” “920” : “비디오넘버” “917” : “믿음성구분” “916” : “융통일” “930” : “보관수량” “931” : “구매단가” “932” : “총구매가” “933” : “맞춤가능수량” “945” : “그날순구매수량” “946” : “매도/구매구분” “950” : “그날총매도손일” “951” : “예수금” (뒷바라지안함)”307″ : “규격가” “8019” : “이해율” “957” : “믿음성금원” “958” : “믿음성금리” “918” : “만기” “990” : “그날성립이해(유생)” “991” : “그날성립이해률(유생)” “992” : “그날성립이해(믿음성)” “993” : “그날성립이해률(믿음성)” “397” : “가지매출품경제행위단원” “305” : “상한가” “306” : “하한가”[요소검출 골자]OpenAPI에서 공급하는 요소검출 작용은 영웅문4 HTS에서 작성/갈강제된 요소식을 불러와 선용하는 법칙입니다. 요소검출 윤색작성이나 요소식 찬집 및 갈강제은 OpenAPI에서 뒷바라지하지 않습니다. 영웅문4 HTS를 통해 찬집/갈강제된 선용인 요소식만 선용 가능합니다. 요소검출 전용 함수와 이벤트가 공급됩니다.
이를 선용해서 요소검출과 실때 요소검출을 선용할 수 있습니다. ※ 요소검출 요망을 되풀이하는 노하우이 아닌, 실때 요소검출 선용을 장려합니다. ※ 서버에서 실때요소검출 각오가 끝막음되는 시각은 07:30 입니다. SendCondition 요소검출 요망은 07:30 이래에 선용해주시기 바랍니다.
※ 실때으로 편입되는 종목이 삽시적으로 편입/탈퇴을 되풀이하는 경우, 서버에따라 결실가 일시적으로 HTS 등과 다를 수 있습니다. [요소검출 선용법]인접(로그인) 후 GetConditionLoad() 함수를 초출하여 영웅문4를 통해 서버에 갈강제되어 있는 ‘내요소식’ 들을 요망합니다. 이에대한 응대으로 OnReceiveConditionVer() 이벤트가 생성합니다. OnReceiveConditionVer() 이벤트 안에서 GetConditionNameList() 함수를 선용하여’내요소식’ 리스트를 얻습니다.
더블 간청하다 요소식으로 요소검출 요망 함수 SendCondition() 를 초출합니다. 이에대한 서버의 응대은 OnReceiveTrCondition() 이벤트로 리시브됩니다. 실때 옵션으로 요망한 경우 당해 요소식에 실때으로 편입/탈퇴 되는 종목은OnReceiveRealCondition() 이벤트로 리시브됩니다. ※ GetConditionNameList 로 구한 요소식 명목과 요소식의 천성 넘버를 SendCondition 함수 선용시 정확하게 인풋해야 합니다.
GetConditionLoad (선용인 초출) -> OnReceiveConditionVer (이벤트 생성) -> GetConditionNameList (선용인 초출)-> SendCondition (선용인 초출) -> OnReceiveTrCondition (이벤트 생성) -> OnReceiveRealCondition (이벤트 생성) [요소검출 구속]요소검출 요망은 1초가집 5회 조사횟수 구속에 함유됩니다. 동등 요소식에 대한 요소검출 요망은 1분에 1귀정 구속됩니다. 요소검출 결실가 100종목을 넘게 되면 당해요소은 실때 요소검출 사인를 리시브할 수 없습니다. 실때 요소검출은 극도 10개까지 선용 가능합니다.
※ 요소검출 구속에대한 꼼꼼하다 내역은 아래에 별도합니다. 10개 요소검출식을 일차에 송두리째 조사하는 곡목이 있으며 요소검출만 요망한다고 여염집해서 서설하면 나중과 같습니다. ————————————————————————————————————————————첫번째 구속요소 : 1초에 5회만 조사가능두번째 구속요소 : 요소별 1분당 1귀정 구속(실때 요소검출 리시브에는 공명없음) 09:00:00 조사 마수걸이1번부터 5번 요소식은 조사성취(첫번째 구속요소, 두번째 구속요소 송두리째 충족)6번부터 10번 요소식은 조사낭패(첫번째 구속요소) 09:00:01 조사 재마수걸이(1초후 재조사)1번부터 5번 요소식은 조사낭패(두번째 구속요소)6번부터 10번 요소식은 조사성취(첫번째 구속요소, 두번째 구속요소 송두리째 충족).
09:01:00 조사마수걸이 (첫조사 1분후)1번부터 5번 요소식은 조사성취(첫번째 구속요소, 두번째 구속요소 송두리째 충족)6번부터 10번 요소식은 조사낭패(첫번째 구속요소) 09:00:01 조사 재마수걸이(1분 1초후 재조사)1번부터 5번 요소식은 조사낭패(두번째 구속요소)6번부터 10번 요소식은 조사성취(첫번째 구속요소, 두번째 구속요소 송두리째 충족)———————————————————————————————————————————— [GetConditionLoad() 함수]서버에 갈강제된 선용인 요소검출 리스트을 요망합니다.
요소검출 리스트을 송두리째 리시브하면 OnReceiveConditionVer()이벤트가 생성됩니다. 요소검출 리스트 요망을 성취하면 1, 아니면 0을 리턴합니다. [GetConditionNameList() 함수]서버에서 리시브한 선용인 요소식을 요소식의 천성넘버와 요소식 명목을 한 쌍으로 하는 문자열들로 시달합니다. 요소식 낱는 요소식의 천성넘버와 요소식 명목이 구분자 ‘^’로 나뉘어져 있으며 각 요소식은 ‘;’로 나뉘어져 있습니다.
이 함수는 OnReceiveConditionVer()이벤트에서 선용해야 합니다. 예) “1^내요소식1;2^내요소식2;5^내요소식3;,,,,,,,,,,” [SendCondition() 함수]SendCondition(BSTR strScrNo, // 비디오넘버BSTR strConditionName, // 요소식 명목int nIndex, // 요소식 천성넘버int nSearch // 실때옵션. 0:요소검출만, 1:요소검출+실때 요소검출) 서버에 요소검출을 요망하는 함수입니다. 끝판 요소값으로 요소검출만 할것의식 실때 요소검출도 리시브할 것의식를 선정할 수 있습니다.
GetConditionNameList()함수로 얻은 요소식 명목과 천성넘버의 쌍을 맞춰서 선용해야 합니다. 리턴값 1뒷면 성취이며, 0뒷면 낭패입니다. 요망한 요소식이 없거나 요소 천성넘버와 요소명이 각자 안맞거나 조사횟수를 초과하는 경우 낭패하게 됩니다. ————————————————————————————————————————————[요소검출 선용예시]GetConditionNameList()함수로 얻은 요소식 리스트이 “0^요소식1;3^요소식1;8^요소식3;23^요소식5″일때 요소식3을 검출long lRet = SendCondition(“0156”, “요소식3”, 8, 1);———————————————————————————————————————————— [SendConditionStop() 함수]SendConditionStop(BSTR strScrNo, // 비디오넘버BSTR strConditionName, // 요소식 명목 int nIndex // 요소식 천성넘버) 실때 요소검출을 중지할 때 선용하는 함수입니다.
요소식 조사할때 내다 요소식 명목과 천성넘버의 쌍을 맞춰서 선용해야 합니다. [SetRealReg() 함수] SetRealReg(BSTR strScreenNo, // 비디오넘버BSTR strCodeList, // 종목코드 리스트BSTR strFidList, // 실때 FID리스트BSTR strOpt생김새 // 실때 등부 생김새, 0또는 1) 종목코드와 FID 리스트를 선용해서 실때 거리를 등부담는 함수입니다. 일차에 등부되다 종목과 FID갯수는 100종목, 100개 입니다. 실때 등부생김새을 0으로 제정하면 등부한 종목들은 실때 해지되고 등부한 종목만 실때 거리가 등부됩니다.
실때 등부생김새을 1로 제정하면 미리 등부한 종목들과 함께 실때 거리가 등부됩니다————————————————————————————————————————————[실때 거리등부 예시]OpenAPI. SetRealReg(_T(“0150”), _T(“039490”), _T(“9001;302;10;11;25;12;13”), “0”); // 039490종목만 실때 등부OpenAPI. SetRealReg(_T(“0150”), _T(“000660”), _T(“9001;302;10;11;25;12;13”), “1”); // 000660 종목을 실때 별도등부———————————————————————————————————————————— [SetRealRemove() 함수]SetRealRemove(BSTR strScrNo, // 비디오넘버 또는 ALLBSTR strDelCode // 종목코드 또는 ALL) 실때거리 해지 함수이며 비디오넘버와 종목코드를 선용해서 명세하게 제정할 수 있습니다. ※ A종목에 대한 실때이 제비디오넘버로 겹등부되어 있는 경우 특정비디오넘버를 선용한 SetRealRemove() 함수초출시 A종목의 실때거리는 해지되지 않습니다.
————————————————————————————————————————————[실때 거리해지 예시]OpenAPI. SetRealRemove(“0150”, “039490”); // “0150”비디오에서 “039490”종목 실때 해지OpenAPI. SetRealRemove(“ALL”, “ALL”); // 온갖 비디오에서 온갖종목 실때 해지OpenAPI. SetRealRemove(“0150”, “ALL”); // “0150”비디오에서 온갖종목 실때 해지OpenAPI.
SetRealRemove(“ALL”, “039490”); // 온갖 비디오에서 “039490”종목 실때 해지———————————————————————————————————————————— [OnReceiveConditionVer() 이벤트]OnReceiveConditionVer(LONG lRet, // 초출 성취가부, 1: 성취, 거스름 낭패BSTR sMsg // 초출결실 통고) 갈강제된 선용인 요소식 불러오기 요망에 대한 응대 리시브시 생성되는 이벤트입니다. ————————————————————————————————————————————[선용인 요소식 초출결실 리시브예시]OnReceiveConditionVer(long lRet, L개개인용컴퓨터TSTR sMsg){if(lRet != 0) return; CString strCondList(m_KOA. GetConditionNameList());CString strOneCond, strItemID, strCondName;while(Afx곁다리ctSubString(strOneCond, strCondList, nIndex++, _T(‘;’))) // 요소식을 낱씩 구분한다. {if(strOneCond.
IsEmpty()) continue;Afx곁다리ctSubString(strItemID , strOneCond, 0, _T(‘^’)); // 천성넘버를 구분한다. Afx곁다리ctSubString(strCondName , strOneCond, 1, _T(‘^’)); // 요소식 명목을 구분한다. }}———————————————————————————————————————————— [OnReceiveTrCondition() 이벤트]OnReceiveTrCondition(BSTR sScrNo, // 비디오넘버BSTR strCodeList, // 종목코드 리스트BSTR strConditionName, // 요소식 명목int nIndex, // 요소 천성넘버int nNext // 지속조사 가부) 요소검출 요망에대한 서버 응대 리시브시 생성하는 이벤트입니다. 종목코드 리스트는 각 종목코드가 ‘;’로 구분되서 시달됩니다.
————————————————————————————————————————————[요소검출 결실 리시브예시]OnReceiveTrCondition(L개개인용컴퓨터TSTR sScrNo,L개개인용컴퓨터TSTR strCodeList, L개개인용컴퓨터TSTR strConditionName, int nIndex, int nNext){if(strCodeList == “”) return;CString strCode, strCodeName;int nIdx = 0;while(Afx곁다리ctSubString(strCode, strCodeList, nIdx++, _T(‘;’)))// 낱씩 종목코드를 구분{if(strCode == _T(“”)) continue;strCodeName = OpenAPI. GetMasterCodeName(strCode); // 종목명을 가져온다. }}———————————————————————————————————————————— [OnReceiveRealCondition() 이벤트]OnReceiveRealCondition(BSTR strCode, // 종목코드BSTR str생김새, // 이벤트 가지, “I”:종목편입, “D”, 종목탈퇴BSTR strConditionName, // 요소식 명목 BSTR strConditionIndex // 요소식 천성넘버) 실때 요소검출 요망으로 신규종목이 편입되거나 기존 종목이 탈퇴될때 마다 생성됩니다. ※ 편입되었다가 삽시적으로 또다시 탈퇴되는 종목에대한 사인는 요소검출 서버마다 차별가 생성할 수 있습니다.
————————————————————————————————————————————[실때 요소검출 리시브예시]OnReceiveRealCondition(L개개인용컴퓨터TSTR sCode, L개개인용컴퓨터TSTR s생김새, L개개인용컴퓨터TSTR strConditionName, L개개인용컴퓨터TSTR strConditionIndex){CString strCode(sCode), strCodeName;int nIdx = 0;CString str생김새(s생김새);if(str생김새 == _T(“I”))// 종목편입{strCodeName = OpenAPI. GetMasterCodeName(strCode); // 종목명을 가져온다. long lRet = OpenAPI. SetRealReg(strSavedScreenNo, strCode, _T(“9001;302;10;11;25;12;13”), “1”);// 실때 거리등부}else if(str생김새 == _T(“D”)) // 종목탈퇴{OpenAPI.
SetRealRemove(strSavedScreenNo, strCode);// 실때 거리해지}}————————————————————————————————————————————종목첩보관계 함수들 [GetCodeListByMarket() 함수]GetCodeListByMarket(BSTR sMarket // 상가구분값) 주권 상가별 종목코드 리스트를 ‘;’로 구분해서 시달합니다. 상가구분값을 “”공란으로하면 총체상가 코드리스트를 시달합니다. 로그인 한 후에 선용할 수 있는 함수입니다. [상가구분값]0 : 코스피10 : 코스닥3 : ELW8 : ETF50 : KONEX4 : 뮤추얼펀드5 : 신주인수권6 : 리츠9 : 하이얼펀드30 : K-OTC [GetMasterCodeName() 함수]GetMasterCodeName(BSTR strCode // 종목코드)종목코드에 당해하는 종목명을 시달합니다.
로그인 한 후에 선용할 수 있는 함수입니다. [GetMasterListedStockCnt() 함수]GetMasterListedStockCnt(BSTR strCode // 종목코드)인풋한 종목코드에 당해하는 종목 상장주권수를 시달합니다. 로그인 한 후에 선용할 수 있는 함수입니다. [GetMasterConstruction() 함수]GetMasterConstruction(BSTR strCode // 종목코드}인풋한 종목코드에 당해하는 종목의 감독구분을 시달합니다.
(고개, 방자귀띔, 방자계고, 방자간두지세, 방자귀띔환기종목)로그인 한 후에 선용할 수 있는 함수입니다. [GetMasterListedStockDate() 함수]GetMasterListedStockDate(BSTR strCode // 종목코드)인풋한 종목의 상장일을 시달합니다. 로그인 한 후에 선용할 수 있는 함수입니다. [GetMasterLastPrice() 함수]GetMasterLastPrice(BSTR strCode // 종목코드)인풋한 종목의 어제큰집를 시달합니다.
로그인 한 후에 선용할 수 있는 함수입니다. [GetMasterStockState() 함수]GetMasterStockState(BSTR strCode // 종목코드)인풋한 종목의 증빙금 비, 경제행위중지, 관리종목, 감독종목, 방자융의종목, 담통융통, 액면구분, 믿음성가능 가부를 시달합니다. 로그인 한 후에 선용할 수 있는 함수입니다. [GetBranchCodeName() 함수]특정TR 조사에 긴하다 성원사 첩보를 성원사 코드와 성원사 명목으로 구도해서 시달합니다.
각 성원사 첩보는 구분자 ‘;’로 구분되어 있으며 한 성원사 첩보에는 구분자 ‘|’로 성원사 코드와 성원사 명목을 구분합니다. 총체적인 성원사 구도과 함수에서 시달받은 성원사 첩보는 나중과 같습니다. “성원사코드0|성원사명목0;성원사코드1|성원사명목1;.
성원사코드n|성원사명목n;”예) 001|교 보;002|신한금융방자;003|근역방자증서;.
;827|모아증서다리;829|오리엔트오리온 로그인 한 후에 선용할 수 있는 함수입니다. [GetFutureList() 함수]지수사례 종목코드 리스트를 ‘;’로 구분해서 시달합니다. 로그인 한 후에 선용할 수 있는 함수입니다. [GetActPriceList() 함수]지수옵션 성교가에 100을 곱해서 포인트이 없는 값을 ‘;’로 구분해서 시달합니다.
로그인 한 후에 선용할 수 있는 함수입니다. ————————————————————————————————————————————[지수옵션 성교가 선용예시]CString strActPriceList(OpenAPI. GetActPriceList());”19000;19250;19500;19750;20000;20250;20500;20750;21000;21250;21500;21750;.
“———————————————————————————————————————————— [GetMonthList() 함수]지수옵션 월물첩보를 ‘;’로 구분해서 시달하는데 계제는 콜 11월물 ~ 콜 근래월물 풋 근래월물 ~ 풋 근래월가액 됩니다. 로그인 한 후에 선용할 수 있는 함수입니다. ————————————————————————————————————————————[지수옵션 월물조사 선용예시]CString strMonthList(OpenAPI.
GetMonthList());”201812;201806;201712;201706;201703;201612;201611;201610;201609;201608;201607;. “———————————————————————————————————————————— [GetOptionCode() 함수]GetOptionCode(BSTR strActPrice, // 포인트을 함유한 성교가int nCp, // 콜풋구분값, 콜:2, 풋:3BSTR strMonth // 6터전 월물) 요소로 선정한 지수옵션 코드를 시달합니다.
로그인 한 후에 선용할 수 있는 함수입니다. ————————————————————————————————————————————[지수옵션 코드 선용예시]CString strOptCode = OpenAPI. GetOptionCode(_T(“247. 50”), 2, _T(“201607”));———————————————————————————————————————————— [GetOptionATM() 함수]지수옵션 포인트을 제거한 ATM값을 시달합니다.
예를들어 ATM값이 247. 50 인 경우 24750이 시달됩니다. 로그인 한 후에 선용할 수 있는 함수입니다. [GetSFutureList() 함수]GetSFutureList(BSTR strBaseAssetGb, // 기초자산 구분값) 기초자산 구분값을 요소로 받아서 주권사례 종목코드, 종목명, 기초자산명목을 구할수 있습니다.
인풋값을 공란으로 하면 주권사례 총체 종목코드를 얻을 수 있습니다. 가다 데이터 법칙은 나중과 같습니다. “종목코드1^종목명1^기초자산명목1;종목코드2^종목명2^기초자산명목2;.
;종목코드n^종목명n^기초자산명목n;”로그인 한 후에 선용할 수 있는 함수입니다. [KOA_Functions() 함수]KOA_Functions(BSTR sFunctionName, // 함수명목 혹은 작용명목BSTR sParam // 함수 모수)) KOA_Function() 함수는 OpenAPI본 작용외에 작용을 선용하기 쉽도록 만든 함수입니다. 두 개의 요소값을 선용합니다.
————————————————————————————————————————————[KOA_Functions() 함수 선용예시]1. 예금계좌비밀넘버 인풋창 아웃풋OpenAPI. KOA_Functions(_T(“ShowAccountWindow”), _T(“”));// 예금계좌비밀넘버 인풋창을 아웃풋한다. 2.
인접서버확인OpenAPI. KOA_Functions(_T(“GetServerGubun”), _T(“”));// 인접서버 구분을 알려준다. 1 : 모의방자 인접, 거스름 : 실서버 인접 3. 주권종목 상가구분, 종목구분등 첩보공급 OpenAPI.
KOA_Functions(_T(“GetMasterStockInfo”), _T(“039490”));초출결실는 인풋한 종목에 대한 대구분, 중구분, 업종구분값을 구분자로 결합한 문자열입니다. 구분자는 ‘|’와 ‘;’입니다. 예)OpenAPI. KOA_Functions(“GetMasterStockInfo”, “039490”)을 초출하면 상가구분0|경제행위소;상가구분1|중형주;업종구분|금융업; 이렇게 결실를 얻을 수 있습니다.
4. 요소검출 종목코드와 목하가 리시브(실때 요소검출은 선용할수 없음)요소검출결실에 종목코드와 그 종목의 목하가를 함께 리시브하는 노하우이며 실때 요소검출에서는 선용할 수 없고 단지 요소검출에만 선용할수 있습니다. OpenAPI. KOA_Functions(_T(“SetConditionSearchFlag”), _T(“AddPrice”)); // 목하가 함유하도록 제정 목하가 함유으로 제정시 OnReceiveTrCondition()이벤트에 “종목코드1^목하가1;종목코드2^목하가2;.
종목코드n^목하가n”법칙으로 시달됨 OpenAPI. KOA_Functions(_T(“SetConditionSearchFlag”), _T(“DelPrice”)); // 목하가 미함유 (원체사정로 전환)목하가 미함유시 기존처럼 “종목코드1^종목코드2.
종목코드n” 법칙으로 시달므로 제정에 따라 리시브데이터 감당노하우이 달라져야 하므로 귀띔하셔야 합니다이 노하우은 실때 요소검출에서는 선용할 수 없고 리시브데이터에 목하가가 함유되므로 데이터감당노하우을 달리해야 합니다 5. 업종코드리스트 획득OpenAPI.
KOA_Functions(_T(“GetUpjongCode”), _T(“0”)); // 업종코드요망두 번째 요소로 선용할 수 있는 값은 0,1,2,4,7 입니다. 0:코스피, 1: 코스닥, 2:KOSPI200, 4:KOSPI100(KOSPI50), 7:KRX100함수반환값은 “상가구분값,업종코드,업종명|상가구분값,업종코드,업종명|.
|상가구분값,업종코드,업종명” 법칙입니다. 즉 낱의 업종코드는 인풋한 상가구분값과 업종코드 그리고 그 업종명이 쉼표(,)로 구분되며 각 업종코드는 ‘|’로 구분됩니다. 6. 업종명목 획득OpenAPI.
KOA_Functions(_T(“GetUpjongNameByCode”), _T(“업종코드인풋”)); 7. ETF 방자유념 종목 가부 (2020/9/17 사용)경제행위소 법제개량으로 ETF/ETN 종목 중 방자유념 종목을 구매맞춤하는 경우 계고 메세지 창이 아웃풋되도록 작용이 별도 되었습니다. (계고 창 아웃풋 시 맞춤을 중지/탁송 발췌 가능합니다. )맞춤 함수를 초출하기 전에 특정 종목이 방자유념종목의식 아래쪽와 같은 노하우으로 확말미암다 수 있습니다.
KOA_Functions(“IsOrderWarningETF”, “종목코드(6터전)”)방자유념 종목인 경우 “1” 값이 리턴, 그렇지 않은 경우 “0” 값 리턴. (ETF가 아닌 종목을 인풋시 “0” 값 리턴. ) 8. 주권 전종목대상물 방자유념 종목 가부 (2020/11/26 사용)경제행위소 법제개량으로 주권 종목 중 정돈매수/단기과열/방자간두지세/방자계고 종목을 구매맞춤하는 경우계고 메세지 창이 아웃풋되도록 작용이 별도 되었습니다.
(계고 창 아웃풋 시 맞춤을 중지/탁송 발췌 가능합니다. )맞춤 함수를 초출하기 전에 특정 종목이 방자유념종목의식 아래쪽와 같은 노하우으로 확말미암다 수 있습니다. KOA_Functions(“IsOrderWarningStock”, “종목코드(6터전)”)리턴 값 – “0”:당해없음, “2”:정돈매수, “3”:단기과열, “4”:방자간두지세, “5”:방자계고 ———————————————————————————————————————————— ————————————————————————————————————————————OpenAPI는 안정적인 서브 경영을 가해 몇아지 구속을 두고 있습니다. 이는 과도하게 되풀이적으로 데이터를 요망하는 등 특정 선용인에의해 서버가 독차지되면서, 그렇지 않은 무수의 선용인가 이에 악공명을 받을 수 있는 점을 방비하기 위함입니다.
곡목 구현시에 귀띔해주시기 바랍니다. ———————————————————————————————————————————— [단행분위기]OpenAPI는 서버급 OS를 뒷바라지하지 않습니다. 또, 암글외 타말씀 OS에서 구동일시 고개적으로 동정하지 않을 수 있습니다. [개척분위기]OpenAPI는 64비트용으로 공급되지 않습니다.
64비트 MS Office 군의 엑셀에서는 OpenAPI 관리 선용이 불가 합니다. [인접구속]서버점사때은 만날 05:00 에 마수걸이되며 일반 1분, 길어지면 5분가량 소요됩니다. 이 때에는 인접자신가 불가하며 옛날에 인접되어 있는 경우 인접이 절단됩니다. 요소검출 조사는 07:30 부터 가능합니다.
그러므로 07:30 이래에 OpenAPI 인접하시길 장려 드립니다. 주말 법제 공작시 인접이 불가한 경우가 있습니다. 주말 인접이 되지 않는 경우 OpenAPI고지판 공지 또는 거래자고지판 공지를 확인해보시기 바랍니다. [조사횟수 구속]데이터 조사는 1초가집 5귀정 구속됩니다.
CommRqData(데이터 조사요망), SendCondition(요소검출 조사요망), CommKwRqData(복수종목 조사요망) 들이 당해됩니다. 1초가집 5회를 초과하는 데이터요망에창해서는 과실코드가 리턴됩니다. 재단행/재인접 없이 1초 후 자동으로 면제됩니다. [서버부담방비 구속]기존 1초가집 5회 조사횟수 구속과 별개로 “서버부담방비 구속”이 별도되었습니다.
(2017년 4월 6일)특정 거래자에의해 서버부담 색이 되풀이되면서 보다 안정적인 OpenAPI 서브 공급을 위한 별도정략입니다. CommRqData(데이터 조사요망), SendCondition(요소검출 조사요망), CommKwRqData(복수종목 조사요망) 들이 당해됩니다. 서버의 경우에따라 유동적일 수 있어서 초가집 5회와 같이 명약관화하다 규격을 알려드리기 딱하다 점 양허 부탁드립니다. 서버부담방비 구속에 사용되는 경우에는 메세지갑가 아웃풋되며 데이터요망이 불가해집니다.
곡목 끝막음 후 재인접으로 해지할 수 있습니다. (OpenAPI 고지판 조사구속 관계 공지내역 감안. ) [맞춤횟수 구속]OpenAPI를 한탄 맞춤은 1초가집 5귀정 구속됩니다. SendOrder(주권맞춤), SendOrderFO(가지맞춤), SendOrderCredit(믿음성맞춤) 들이 당해됩니다.
1초가집 5회를 초과하는 맞춤탁송에창해서는 과실코드가 리턴됩니다. ※ 위 조사횟수 구속과 맞춤횟수 구속은 별개로 각자 연산 됩니다. [실때 데이터 구속]낱의 비디오넘버에 실때거리를 등부할 수 있는 극도 종목수는 100종목 입니다. 밖 실때 데이터를 리시브하는데에는 구속이 없습니다.
※ 과히 많은 종목의 거리를 리시브하는 것은 선용인개개인용컴퓨터(CPU, 기억력, 망)의 부담를 일으킬 수 있습니다. 이때 선용인개개인용컴퓨터상 거리 데이터감당에 연체색이 일어날 수 있습니다. 또 리시브되는 실때거리를 송두리째 기억철에 기억하는 감당 로직은 개개인용컴퓨터부담를 일으키는 까닭이 됩니다. (특히, 엑셀로 구현하는 경우 부담 색이 격렬하다 수 있습니다.
)이는 선용인의 개개인용컴퓨터분위기에따라, 실때 감당 로직에따라 다르므로 공작관리자창을 띄워서 개개인용컴퓨터부담가량를 모니터링 하는 등 테스트 하여 선용에 강제가 없는 가량의 종목 수를 구현, 경영하시기 바랍니다. [공급되지 않는 서브]- OpenAPI에서는 요소식 찬집 및 갈강제이 불가 합니다. 영웅문4를 통해 찬집/갈강제 하시기 바랍니다. – 그림데이터 조사시 옛날평균치을 함유한 바로미터데이터는 공급되지 않습니다.
– OpenAPI는 교체등 증서사무를 공급하지 않습니다. – OpenAPI는 윈도우 서버군 OS를 뒷바라지하지 않습니다. – OpenAPI는 암글 외 말씀 OS를 뒷바라지하지 않습니다. – OpenAPI는 HTS, MTS등 딴 매개체에서 선용되는 구미종목 연동을 뒷바라지하지 않습니다.
– OpenAPI는 64비트용 관리로 공급되지 않습니다. [백신 곡목에 의한 단행 차지]개개인용컴퓨터에 가설된 avast, 네이버백신, 나중클리너 등의 백신 곡목이 OpenAPI로 개척된 거래자님의 곡목 단행을 차지할 수 있습니다. 차지으로 인해 단행이 안되는 경우 개개인용컴퓨터에 가설된 백신곡목의 분위기제정 및 차지된 곡목 리스트을 감안해보시기 바랍니다. avast 백신에의한 단행차지의 경우 아래쪽와 같은 노하우으로 해결하시기 바랍니다.
1. 법제 트레이 영역의 avast 아이콘 위에서 마우스 바른편버튼을 클릭하고, “avast! 신열”를 단행2. 바른편 상단 “분위기 제정” 클릭3. 왼편 “제대 격외” 탭 발췌 -> 기억철과정 “검출”버튼 클릭 -> c:\OpenApi 발췌 -> “별도”버튼 클릭 -> “확인” 버튼 클릭————————————————————————————————————————————OpenAPI는 각 함수에서 리턴값으로 함수성취가부를 판단할 수 있습니다.
함수에따라 리턴값이 0 또는 1일때 함수 고개초출 이며, 0보다 작은 값은 과실를 나타냅니다. 긴요 과실코드는 -200번(거리과부담), -308번(맞춤탁송 과부담)입니다. ※ 함수초출이 0 또는 1로 고개초출인 경우에도 서버에서 과실감당가 될 수 있습니다. 이 경우 OnReceiveMsg() 이벤트에서 서버의 과실메세지를 확말미암다 수 있습니다.
————————————————————————————————————————————1 // 고개감당 0 // 고개감당 -10 // 낭패-11 // 요소넘버 불가능하다 -12 // 요소넘버와 요소식 불하모니 -13 // 요소검출 조사요망 초과 -100 // 선용인첩보교역 낭패 -101 // 서버 인접 낭패 -102 // 버전감당 낭패 -103 // 개개인방화벽 낭패 -104 // 기억력 방위낭패 -105 // 함수인풋값 과실 -106 // 보도결합 끝막음 -107 // 보안모듈 과실 -108 // 공인인증 로그인 나위 -200 // 거리조사 과부담 -201 // 전임작성 초엽화 낭패. -202 // 전임작성 인풋값 과실. -203 // 데이터 없음. -204 // 조사되다 종목수 초과.
일차에 조사 되다 종목수는 극도 100종목. -205 // 데이터 리시브 낭패 -206 // 조사되다 FID수 초과. 일차에 조사 되다 FID수는 극도 100개. -207 // 실때 면제과실 -209 // 거리조사구속 -300 // 인풋값 과실 -301 // 예금계좌비밀넘버 없음.
-302 // 타예금계좌 선용과실. -303 // 맞춤가액이 맞춤실수 금원규격 초과. -304 // 맞춤가액이 맞춤실수 금원규격 초과. -305 // 맞춤수량이 총간행주수의 1% 초과과실.
-306 // 맞춤수량은 총간행주수의 3% 초과과실. -307 // 맞춤탁송 낭패 -308 // 맞춤탁송 과부담 -309 // 맞춤수량 300공약 초과. -310 // 맞춤수량 500공약 초과. -311 // 맞춤탁송구속 과부담-340 // 예금계좌첩보 없음.
-500 // 종목코드 없음.