안녕하세요.
특정 종목에 대하여 현재가나 잔고에 남아있는 계약수등을 읽어들이려고 하는데요.
단, 종목객체를 지정하지 않고서 그 종목코드를 엑셀로 부터 읽어들이려고 합니다.
예스스팟에서 구현 가능한지 알고 싶네요.
예를들어서, 엑셀에 종목코드를 넣어놓고서,
for (var i = 1 ; i < tot_st+1 ; i++)
{
code[i-1] = Excel1.GetData(1, "B"+i);
}
와 같이 받은 후에
필요할 때에
code[i].current
code[i].count
code[i].Bid(1)
와 같은 데이터를 받는 방법을 알고 싶습니다.
답변 1
예스스탁
예스스탁 답변
2016-09-09 15:24:34
안녕하세요
예스스탁입니다.
main객체의 함수중에
수식안에서 종목객체를 요청할수 있는 ReqMarketData란 함수가 있습니다.
아래 내용 참고하시기 바랍니다,
var ExcelCode = [];
var Code = [];
var rcv;
function Main_OnStart() //특정이벤트에서
{
//엑셀에서 종목코드를 가져와 ExcelCode에 저장
ExcelCode = [];
for (var i = 1 ; i < tot_st+1 ; i++)
{
ExcelCode[i-1] = Excel1.GetData(1, "B"+i);
}
//객체수신 횟수를 카운트할 변수
rcv = 0;
//객체수신하면 저장할 배열변수
Code = [];
//ExcelCode에 저장된 값이 1개이상이면
if (ExcelCode.length >= 1)
{
//ExcelCode[rcv]방의 종목요청
Main.ReqMarketData(ExcelCode[rcv]);
}
}
function Main_OnRcvMarketData(MarketData)
{
//직전 요청산 종목이 수신되면
if (MarketData.code == ExcelCode[rcv])
{
//Object의 rcv방에 해당종목객체 저장
Code[rcv] = MarketData;
//rcv는 1증가
rcv = rcv+1;
//배열변수가 0부터 존재하므로
//rcv가 종목코드갯수 이하일때만 요청
if (rcv < ExcelCode.length)
{
Main.ReqMarketData(ExcelCode[rcv]);
}
}
}
즐거운 하루되세요
> 서윤 님이 쓴 글입니다.
> 제목 : 엑셀에 종목코드를 넣고 읽는법
> 안녕하세요.
특정 종목에 대하여 현재가나 잔고에 남아있는 계약수등을 읽어들이려고 하는데요.
단, 종목객체를 지정하지 않고서 그 종목코드를 엑셀로 부터 읽어들이려고 합니다.
예스스팟에서 구현 가능한지 알고 싶네요.
예를들어서, 엑셀에 종목코드를 넣어놓고서,
for (var i = 1 ; i < tot_st+1 ; i++)
{
code[i-1] = Excel1.GetData(1, "B"+i);
}
와 같이 받은 후에
필요할 때에
code[i].current
code[i].count
code[i].Bid(1)
와 같은 데이터를 받는 방법을 알고 싶습니다.