커뮤니티

작년 결산일(12/31) 주가의 종가 가져오기

프로필 이미지
클릭한번
2014-11-05 18:23:44
228
글번호 80139
답변완료
var Data = []; var Current = []; var i = 0, Rcv = 0; function Main_OnStart() { Main.MessageLog("작년 결산 주가 데이터 불러오기"); Start = 0; Main.SetTimer(1, 500);//0.5초단위 i = 1; Rcv = 1; } function Main_OnTimer(nEventID) { if (nEventID == 1 && i < 70) { i = i+1; Data[i-1] = Excel.GetData(5, "G"+i); Main.ReqMarketData(Data[i-1], 0,0); } } function Main_OnRcvMarketData(MarketData) { Rcv = Rcv +1; var dt = new Date(); var ThisYear = dt.getFullYear(); var LastYear = ThisYear - 1; var month = 12; var day = 31; Current[Rcv-1] = MarketData.current; Excel.SetData(8,"B"+Rcv,Current[Rcv-1]); } 엑셀의 종목코드(Gi줄)를 읽어와서 작년 결산일의 주가를 Bi줄에 입력하고 싶은데 어떻게 해야 될까요??ㅠㅠ 그리고 getFullYear()은 자바 스크립트의 기본 함수로 있는걸로 아는데 왜 아무것도 안뜨죠?
사용자 함수
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2014-11-06 13:28:29

> 김현석 님이 쓴 글입니다. > 제목 : 작년 결산일(12/31) 주가의 종가 가져오기 > var Data = []; var Current = []; var i = 0, Rcv = 0; function Main_OnStart() { Main.MessageLog("작년 결산 주가 데이터 불러오기"); Start = 0; Main.SetTimer(1, 500);//0.5초단위 i = 1; Rcv = 1; } function Main_OnTimer(nEventID) { if (nEventID == 1 && i < 70) { i = i+1; Data[i-1] = Excel.GetData(5, "G"+i); Main.ReqMarketData(Data[i-1], 0,0); } } function Main_OnRcvMarketData(MarketData) { Rcv = Rcv +1; var dt = new Date(); var ThisYear = dt.getFullYear(); var LastYear = ThisYear - 1; var month = 12; var day = 31; Current[Rcv-1] = MarketData.current; Excel.SetData(8,"B"+Rcv,Current[Rcv-1]); } 엑셀의 종목코드(Gi줄)를 읽어와서 작년 결산일의 주가를 Bi줄에 입력하고 싶은데 어떻게 해야 될까요??ㅠㅠ 그리고 getFullYear()은 자바 스크립트의 기본 함수로 있는걸로 아는데 왜 아무것도 안뜨죠?
프로필 이미지

예스스탁 예스스탁 답변

2014-11-06 17:41:28

안녕하세요 예스스탁입니다. var Data = []; var Current = []; var i = 0, Rcv = 0; function Main_OnStart() { Main.MessageLog("작년 결산 주가 데이터 불러오기"); Start = 0; Main.SetTimer(1, 500);//0.5초단위 i = 1; Rcv = 1; } function Main_OnTimer(nEventID) { if (nEventID == 1 && i < 70) { i = i+1; Data[i-1] = Excel.GetData(5, "G"+i); Main.ReqMarketData(Data[i-1], 300,0);//과거일봉 최대 300개도 같이 요청 } } function Main_OnRcvMarketData(MarketData) { Rcv = Rcv +1; //해당 종목의 일봉갯수를 bars에 저장(상장되지 얼마안된 종목은 일봉이 300개 미만일수 있음) var bars = MarketData.GetPrevCount(); //전년도종가를 기록할 변수 for 문에서 값을 찾기 전까지는 -1 var PreYearClose = -1; //조회된 일봉전체 데이터를 뒤져서 for (var i = 1; i <= bars ; i++) { //2개의 일봉의 날짜가 1000이상 차이나는 봉을 찾음 //2개봉의 날짜가 1000이상 차이나는 것은 연도가 변했음을 나타냄 if (MarketData.GetPrevDate(i+1) < MarketData.GetPrevDate(i)-1000) { //찾으면 해당봉의 종가를 저장하고 PreYearClose = MarketData1.GetPrevClose(i+1); //루프에서 빠져나감 break; } } Current[Rcv-1] = PreYearClose; Excel.SetData(8,"B"+Rcv,Current[Rcv-1]); } 즐거운 하루되세요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 전화주시기 바랍니다(02-3453-1060) > > 김현석 님이 쓴 글입니다. > 제목 : 작년 결산일(12/31) 주가의 종가 가져오기 > var Data = []; var Current = []; var i = 0, Rcv = 0; function Main_OnStart() { Main.MessageLog("작년 결산 주가 데이터 불러오기"); Start = 0; Main.SetTimer(1, 500);//0.5초단위 i = 1; Rcv = 1; } function Main_OnTimer(nEventID) { if (nEventID == 1 && i < 70) { i = i+1; Data[i-1] = Excel.GetData(5, "G"+i); Main.ReqMarketData(Data[i-1], 0,0); } } function Main_OnRcvMarketData(MarketData) { Rcv = Rcv +1; var dt = new Date(); var ThisYear = dt.getFullYear(); var LastYear = ThisYear - 1; var month = 12; var day = 31; Current[Rcv-1] = MarketData.current; Excel.SetData(8,"B"+Rcv,Current[Rcv-1]); } 엑셀의 종목코드(Gi줄)를 읽어와서 작년 결산일의 주가를 Bi줄에 입력하고 싶은데 어떻게 해야 될까요??ㅠㅠ 그리고 getFullYear()은 자바 스크립트의 기본 함수로 있는걸로 아는데 왜 아무것도 안뜨죠?