커뮤니티

자동 매도 문의드립니다.

프로필 이미지
아미고
2026-06-01 19:07:13
29
글번호 232249
답변완료

예스스팟으로 자동매도를 만들어 놓고 예스트레이더에서 매수시 잘 작동 합니다.

그런데 IM증권 모바일앱으로 직접 매수한 종목은 예스트레이더에서 인식을 못하고 자동 매도 주문을 넣지 않습니다.


[1103] 계좌평가에 매수된 종목이 표시가 되지 않구요.

[1101] 체결, [1106] 주문체결, 화면에서는 모바일앱으로 매매한 내역은 잘 나오고

[1105] 거래내역 화면에서는 모바일과 예스트레이더에서 매매하지 않은 종목이 매도,매수 되었다고 뜹니다.




예스트레이더 (iM증권)
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-06-02 10:07:01

안녕하세요 예스스탁입니다. 예스스팟은 가원장을 사용하는데 가원장은 초기에 실제원장의 복사본을 만들고 수신되는 주문응답과 체결응답을 이용해 업데이트를 해서 실제원장과 같은 환경을 만들게 됩니다. 예스스팟과 같은 자동매매 프로그램에서 가원장을 사용하는 이유는 실제 원장은 조회시 응답속도가 빠르지 않고 조회제한 등이 있어 자동매매에서 빠르게 조회해서 사용하기 어렵기 때문입니다. 증권사에 따라 차이는 있지만 주문응답이나 체결응답을 주문한 매체에게만 주는 경우들이 많습니다. 모바일에서 주문한 경우 모바알쪽으로만 응답을 주어서 열어놓은 계좌평가등과 같은 계좌화면이나 가원장에 바로 반영되지 않게 됩니다. 그래서 다른 매체에서 주문시 계좌관련 화면에서 차이가 발생할 수 있습니다. 계좌관련 화면을 처음 열거나 조회버튼을 누르시면 실제 원장과 동기화가 되어 동일하게 보이게 되는데 타매체에서 주문시 계좌관련화면을 직접 조회를 매번 다시 할수 없으므로 예스스팟 계좌객체에 refresh 함수가 제공되고 있습니다. refresh함수는 가원장을 실제 원장과 다시 동기화할때 사용합니다. 그러므로 타매체에서 주문을 하시는 경우에는 먼저 Account1.Refresh();를 실행시켜 가원장을 동기화를 한번 하고 동기화가 완료되면 그 때 특정행위를 하게 작성해 주셔야 합니다. var RF; 특정 이벤트 { //원장 동기화 요청 Account1.Refresh(); RF = 1; } function Main_OnUpdateAccount(sAccntNum, sItemCode, lUpdateID) { //계좌동기화 완료 if (RF == 1 && lUpdateID == 30001) { RF = 0; /* 실행문 */ } } 즐거운 하루되세요