커뮤니티

프로그램 다운 문의 2

프로필 이미지
dbals
2026-08-10 18:43:44
10
글번호 233203

약간 다른 방식의 실행파일입니다. 마찬가지로 3개 정도는 잘 다운이 안되는데 4개부터는 30분정도 되면 다운됩니다.


방식 : 워밍업이 끝나면 최대 208개 차트객체를 세션 내내 동시 보유하고, Main_OnBarAppended로 실시간 봉을 받는 구조입니다. 여기에 3종목을 동시에 돌리면 최대 624개 객체가 동시에 떠 있게 됩니다. 뭐가 문제가 있는건지 확인 부탁드립니다.


// [2안 진단본 - 예스스팟 문의용 최소 구조]


function Main_OnStart()

{

// 타임프레임 목록(분봉110+틱봉98=208개) 순서대로 워밍업 요청 시작

processNext();

}


function processNext()

{

var ChartSet = new ReqChartItem(MARKET_DATA_CODE);

ChartSet.code = MARKET_DATA_CODE;

ChartSet.period = CHART_PERIOD_MINUTE; // 또는 CHART_PERIOD_TICK

ChartSet.cycle = 현재타임프레임;

ChartSet.count = 워밍업봉수; // 큰 창(최대 4000)

Main.ReqChartEx(ChartSet);

}


function Main_OnRcvChartEx(ChartEx)

{

// [1안과의 핵심 차이] 여기서 삭제하지 않고 계속 들고 있음

chartObjs[현재타임프레임라벨] = ChartEx;

processNext(); // 다음 타임프레임 워밍업으로. 208개 끝나면 워밍업 종료.

}


function Main_OnBarAppended(ChartEx, nData)

{

// [2안 핵심] 보유중인 208개 차트객체 중 하나에서 새 봉이 완성될 때마다

// 예스스팟이 자동으로 호출 - 별도 재요청/폴링 없이 실시간 감지

var 라벨 = ChartEx에 매칭되는 타임프레임 찾기;

var high = ChartEx.GetHigh(nData, 1);

var low = ChartEx.GetLow(nData, 1);

// (신호계산 없이 수신만 확인)

}


// [부가기능] 30분마다 "임시" 차트객체를 하나 더 받아서(원본은 안 건드림)

// 최신 데이터로 대조하고, 그 임시객체만 지연삭제 - 온/오프 가능

function attemptRefresh()

{

var TempChartSet = new ReqChartItem(MARKET_DATA_CODE);

TempChartSet.code = MARKET_DATA_CODE; TempChartSet.cycle = 대상타임프레임;

Main.ReqChartEx(TempChartSet); // 응답 오면 대조 후 임시객체만 RemoveObject

}

답변 0