안녕하세요
여러개의 주식객체를 가져와서 가격을 비교하려고 합니다. 그런데 ReqPowerSearch를 이용하여 검색해보니 조건에 부합하는 객체의 코드만(267850, 000650...)을 가져오는데, 이 가져온 코드들로 종목 객체 데이터들(시가, 종가, 등등)을 가져올 순 없을까요?
var ItemList= [];
function Main_OnStart()
{
Main.ReqPowerSearch("급등식1")
Main.MessageList("전일 종가대비 5% 이상 상승한 종목 가져오기");
}
function Main_OnRcvItemList(aItemList, nCount, aValues)
{
Main.MessageList("종목이 있습니다 ");
// 가져온 종목들 리스트
ItemList = aItemList
Main.MessageLog(ItemList.length)
}
답변 1
예스스탁
예스스탁 답변
2024-02-20 14:01:22.0
안녕하세요
예스스탁입니다.
시세를 사용하려면 종목검색 후 리턴된 종목코드로 모두 종목객체를 생성해서 사용하셔야 합니다.
스팟에서 종목의 시세는 종목객체만 리턴합니다.
종목객체는 요청하는 순서에 따라 MK배열변수에 종목객체가 저장됩니다
MK[0].code,MK[0].current,MK[0].high
MK[1].code,MK[1].current,MK[1].high
종목객체에 제공되는 프로퍼티나 함수는 도움말 참고하시기 바랍니다.
var ItemList= [];
var req;
var MK;
function Main_OnStart()
{
Main.ReqPowerSearch("급등식1")
Main.MessageList("전일 종가대비 5% 이상 상승한 종목 가져오기");
}
function Main_OnRcvItemList(aItemList, nCount, aValues)
{
if (nCount >= 1)
{
Main.MessageList("종목이 있습니다 ");
// 가져온 종목들 리스트
ItemList = aItemList
Main.MessageLog(ItemList.length)
if (ItemList.length > 0)
{
req = 0;
Main.ReqMarketData(ItemList[req]);
Main.MessageList(req,"종목객체요청 : ",ItemList[req]);
}
}
}
function Main_OnRcvMarketData(MarketData)
{
if (MarketData.code == ItemList[req])
{
MK.push(MarketData);
req = req+1;
if (req < ItemList.length)
{
var S = Main.ReqMarketData(ItemList[req]);
Main.MessageList(req,"종목객체요청 : ",ItemList[req]);
if (S == -1)
{
//1번 타이머 15초
Main.SetTimer(1,15000);
Main.MessageList(req,"종목객체 생성제한 :15초뒤 다시 요청 ");
}
}
else
{
Main.MessageList(req,"종목객체 생성완료");
}
}
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
Main.ReqMarketData(ItemList[req]);
Main.MessageList(req,"종목객체 재요청 : ",ItemList[req]);
}
}
즐거운 하루되세요
> 디미트레이더 님이 쓴 글입니다.
> 제목 : 여러개의 주식 객체 가져오는 방법
> 안녕하세요
여러개의 주식객체를 가져와서 가격을 비교하려고 합니다. 그런데 ReqPowerSearch를 이용하여 검색해보니 조건에 부합하는 객체의 코드만(267850, 000650...)을 가져오는데, 이 가져온 코드들로 종목 객체 데이터들(시가, 종가, 등등)을 가져올 순 없을까요?
var ItemList= [];
function Main_OnStart()
{
Main.ReqPowerSearch("급등식1")
Main.MessageList("전일 종가대비 5% 이상 상승한 종목 가져오기");
}
function Main_OnRcvItemList(aItemList, nCount, aValues)
{
Main.MessageList("종목이 있습니다 ");
// 가져온 종목들 리스트
ItemList = aItemList
Main.MessageLog(ItemList.length)
}