커뮤니티

미체결 주문 조회 및 취소

프로필 이미지
지순신
2020-04-06 12:12:37
3657
글번호 225192
답변완료
안녕하세요. 코스피200 선물 거래중 일정시간마다 미체결 내역을 조회후 해당 거래를 취소하는 스팟 코드를 작성중 질문드립니다. 일단 미체결 주문에 대한 조회를 하고 싶은데 아래와 같이 코드 작성후 수동으로 주문 이후 미체결 주문이 존재하는 상태에서 UnfillCnt가 계속 0으로 출력됩니다. 관련 내용 문의드립니다. function Main_OnStart() { Main.MessageLog("----- Start -----") Main.SetTimer(1, 10000); } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); Main.MessageLog(HHMMSS); if (nEventID == 1 && HHMMSS >= 110000) { Main.MessageLog("미체결 조회 시작") var UnfillCnt = A1.GetTheNumberOfUnfills(); Main.MessageLog("미체결 건수 :" + UnfillCnt); } }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-05-20 16:09:06

안녕하세요 예스스탁입니다. 1 올려주신 수식 코드에는 문제가 없습니다. 스팟에서는 실제원장이 조회속도나 조회제한등 여러 제한사항이 있어 원장과 동일내용의 복사본을 만들어(가원장) 사용하는데 가원장이 업데이트가 안된 부분일수 있으므로 아래와 같이 일정시간주기로 원장과 가원장의 동기화를 하고 동기화가 끝나면 미체결을 체크해 진행하도록 수식을 구현하시기 바랍니다. 2 수식에 영운 업데이트가 게시판 금칙어인 관계로 Up*Date와 같이 중간에 *이 추가되어 있습니다. *제거하시기 바랍니다. 3 function Main_OnStart() { Main.MessageLog("----- Start -----") Main.SetTimer(1, 10000); } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); Main.MessageList(HHMMSS); if (nEventID == 1 && HHMMSS >= 110000) { //재조회 A1.Refresh(); RF = true; } } function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID) //*제거 { if (sAccntNum == A1.number && RF == true && lUp*dateID == 30000)//*제거 { RF = false; Main.MessageList("미체결 조회 시작") var UnfillCnt = A1.GetTheNumberOfUnfills(); Main.MessageList("미체결 건수 :",UnfillCnt); } } 즐거운 하루되세요 > 지순신 님이 쓴 글입니다. > 제목 : 미체결 주문 조회 및 취소 > 안녕하세요. 코스피200 선물 거래중 일정시간마다 미체결 내역을 조회후 해당 거래를 취소하는 스팟 코드를 작성중 질문드립니다. 일단 미체결 주문에 대한 조회를 하고 싶은데 아래와 같이 코드 작성후 수동으로 주문 이후 미체결 주문이 존재하는 상태에서 UnfillCnt가 계속 0으로 출력됩니다. 관련 내용 문의드립니다. function Main_OnStart() { Main.MessageLog("----- Start -----") Main.SetTimer(1, 10000); } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); Main.MessageLog(HHMMSS); if (nEventID == 1 && HHMMSS >= 110000) { Main.MessageLog("미체결 조회 시작") var UnfillCnt = A1.GetTheNumberOfUnfills(); Main.MessageLog("미체결 건수 :" + UnfillCnt); } }