첨부 이미지
그림1
그림2
현재 시각 토요일 03시50분입니다.
한두 시간 전 부터 첨부한 화면과 같은 에러 팝업이 뜨면서 예스가 계속 죽고 있는데, 다른 회사의 해외선물 예스나 코인예스는 잘 들어가지고 있습니다.
주말이라 한시적인 증상인지 몰라서 우선 글 올립니다.
어제까지는 로그인이 잘 되고 예스스팟 코딩도 잘 되었는데 오늘 갑자기 이러네요.
어떻게 해결하면 좋을까요? 기다려 보면 될 지...
일단 내일 잠 자고 일어나서 다시 시도해 보겠습니다....ㅠ
참고로, windows 10 64bit 환경입니다.
ps : 덤프 파일을 첨부합니다.
그리고, 이게 예스스크립트 코드를 작성하던 중에 자동실행되면서 혹시나 잠재적인 버그가 실제 문제를 일으킨게 아닌가 싶습니다.
ps2 : 조금 전에 통화로 조치한 방법으로 finish 폴더 밑의 것을 지워서 정상 로그인이 되었는데, 다시 개발중이던 예스스크립트를 실행시키니 bad module info 에러 팝업이 뜨네요. 원인은 예스스크립트에서 일어난게 맞는 것 같습니다. 에러가 나지 않는 버전과 에러가 나는 버젼의 소스 코드가 모두 있어서 우선은 둘의 차이를 비교하면 어떤 것에 의해서 영향을 받은 건지는 찾을 수 있을 것 같습니다. 분석 후에 다시 추가 문의글 올리겠습니다.
ps3 : 에러가 아래 코드 중에서 발생하는 것을 확인하였습니다.
function Main_OnRcvItemList(aItemList, nCount) {
Main.MessageList("검색된 종목 수: " + nCount);
for (var i = 0; i < nCount; i++) {
firstBuySignalReceived[aItemList[i]] = false; // 각 종목별 첫 매수 신호 추적을 위한 초기화
// 차트 설정
var chartSettings = new ReqChartItem(aItemList[i], 5, CHART_PERIOD_MINUTE, 1000, CHART_REQCOUNT_BAR, false, false);
// 시스템 설정 (MACD 전략이나 적용하려는 전략의 이름, 종류 및 파라미터 설정 필요)
var inputSet = new Array(new YLInputVar("shortPeriod", 12), new YLInputVar("longPeriod", 26)); // MACD 전략 파라미터
var systemSettings = new SystemInfo("MACD 기준선", YL_TYPE_NORMAL, inputSet, null, StopSet);
// 청산 시간 설정: 오후 3시 30분에 청산되도록 설정
var StopSet = new SystemStopInfo(new StopEndOfDay(153000));
// ReqChartEx 호출 및 결과 확인
var result = Main.ReqChartEx(chartSettings, systemSettings, null, null);
Main.MessageList(aItemList[i] + " 차트 생성 요청" + result);
}
}
검색된 종목 수 까지는 로그가 나왔는데 그 후에 OnRcvChartEx에 도달하기 전에 죽는 것을 보아 for문 안에서의 처리상에 문제가 발생한 것 같습니다. 제가 어떤 부분을 잘못한 건지 검토 부탁드립니다. 참고로, 기억에는 SystemStopInfo 함수를 추가하기 전에는 문제가 없었는데 이걸 넣은 다음 부터 에러가 난 것 같은데요, ......... 아... 지금 보니까 StopSet변수를 먼저 설정해야 하는데 SystemInfo함수 부른 후에 해당 문장을, 즉 순서가 바뀌어서 없는 변수값으로 뭔가 설정되는 과정에서 죽은 거 같습니다. 그래서 방금 문장 순서를 바꿔주니 이제 OnRcvChartEx까지 도달하고 정상적으로 챠트 생성되었다고 로그 나오고 있습니다.
우선 문제의 원인은 확인했고 해결도 되었는데, 이런 상황에서 에러 메시지가 뜨면서 스크립트의 동작만 멈추는게 아니라 예스 자체가 죽어버리는 건 나중에 수정을 해주시면 플랫폼이 좀 더 안전할 것 같습니다~
해결은 다 되었으나 그래도 참고하시라고 글 남겨놓겠습니다~
답변 1
예스스탁
예스스탁 답변
2024-03-18 16:06:22
안녕하세요
예스스탁입니다.
해결이 되셨다니 다행입니다.
각 함수는 매개변수 자리에 맞는 값으로 지정이 되어야 합니다.
생략하고자 하시면 null로 지정해 주시면 됩니다.
올려주신 내용은 참고하도록 하겠습니다.
즐거운 하루되세요
> 온고지신 님이 쓴 글입니다.
> 제목 : 에러 팝업 뜨면서 예스트레이더 죽음.
> 현재 시각 토요일 03시50분입니다.
한두 시간 전 부터 첨부한 화면과 같은 에러 팝업이 뜨면서 예스가 계속 죽고 있는데, 다른 회사의 해외선물 예스나 코인예스는 잘 들어가지고 있습니다.
주말이라 한시적인 증상인지 몰라서 우선 글 올립니다.
어제까지는 로그인이 잘 되고 예스스팟 코딩도 잘 되었는데 오늘 갑자기 이러네요.
어떻게 해결하면 좋을까요? 기다려 보면 될 지...
일단 내일 잠 자고 일어나서 다시 시도해 보겠습니다....ㅠ
참고로, windows 10 64bit 환경입니다.
ps : 덤프 파일을 첨부합니다.
그리고, 이게 예스스크립트 코드를 작성하던 중에 자동실행되면서 혹시나 잠재적인 버그가 실제 문제를 일으킨게 아닌가 싶습니다.
ps2 : 조금 전에 통화로 조치한 방법으로 finish 폴더 밑의 것을 지워서 정상 로그인이 되었는데, 다시 개발중이던 예스스크립트를 실행시키니 bad module info 에러 팝업이 뜨네요. 원인은 예스스크립트에서 일어난게 맞는 것 같습니다. 에러가 나지 않는 버전과 에러가 나는 버젼의 소스 코드가 모두 있어서 우선은 둘의 차이를 비교하면 어떤 것에 의해서 영향을 받은 건지는 찾을 수 있을 것 같습니다. 분석 후에 다시 추가 문의글 올리겠습니다.
ps3 : 에러가 아래 코드 중에서 발생하는 것을 확인하였습니다.
function Main_OnRcvItemList(aItemList, nCount) {
Main.MessageList("검색된 종목 수: " + nCount);
for (var i = 0; i < nCount; i++) {
firstBuySignalReceived[aItemList[i]] = false; // 각 종목별 첫 매수 신호 추적을 위한 초기화
// 차트 설정
var chartSettings = new ReqChartItem(aItemList[i], 5, CHART_PERIOD_MINUTE, 1000, CHART_REQCOUNT_BAR, false, false);
// 시스템 설정 (MACD 전략이나 적용하려는 전략의 이름, 종류 및 파라미터 설정 필요)
var inputSet = new Array(new YLInputVar("shortPeriod", 12), new YLInputVar("longPeriod", 26)); // MACD 전략 파라미터
var systemSettings = new SystemInfo("MACD 기준선", YL_TYPE_NORMAL, inputSet, null, StopSet);
// 청산 시간 설정: 오후 3시 30분에 청산되도록 설정
var StopSet = new SystemStopInfo(new StopEndOfDay(153000));
// ReqChartEx 호출 및 결과 확인
var result = Main.ReqChartEx(chartSettings, systemSettings, null, null);
Main.MessageList(aItemList[i] + " 차트 생성 요청" + result);
}
}
검색된 종목 수 까지는 로그가 나왔는데 그 후에 OnRcvChartEx에 도달하기 전에 죽는 것을 보아 for문 안에서의 처리상에 문제가 발생한 것 같습니다. 제가 어떤 부분을 잘못한 건지 검토 부탁드립니다. 참고로, 기억에는 SystemStopInfo 함수를 추가하기 전에는 문제가 없었는데 이걸 넣은 다음 부터 에러가 난 것 같은데요, ......... 아... 지금 보니까 StopSet변수를 먼저 설정해야 하는데 SystemInfo함수 부른 후에 해당 문장을, 즉 순서가 바뀌어서 없는 변수값으로 뭔가 설정되는 과정에서 죽은 거 같습니다. 그래서 방금 문장 순서를 바꿔주니 이제 OnRcvChartEx까지 도달하고 정상적으로 챠트 생성되었다고 로그 나오고 있습니다.
우선 문제의 원인은 확인했고 해결도 되었는데, 이런 상황에서 에러 메시지가 뜨면서 스크립트의 동작만 멈추는게 아니라 예스 자체가 죽어버리는 건 나중에 수정을 해주시면 플랫폼이 좀 더 안전할 것 같습니다~
해결은 다 되었으나 그래도 참고하시라고 글 남겨놓겠습니다~