커뮤니티

가격 호가 데이터를 엑셀로 내려받고 싶습니다

프로필 이미지
퀀트드래곤
2020-07-23 17:06:31
2641
글번호 225287
답변완료
엑셀로 틱 데이터를 보내는 방법이 궁금합니다. 삼성전자선물 매수 1호가, 매수1호가의 거래량, 매도 1호가, 매도1호가의 거래량, 현재가, 삼성전자주식 매수 1호가, 매수1호가의 거래량, 매도 1호가, 매도 1호가의 거래량, 현재가, 이렇게 a2셀~j2셀 부터 아래로 쭉 엑셀로 다운받는 코딩을 부탁드립니다. 첫번째 틱 발생 시(틱으로 구현이 안되면 분으로 구현해도 됩니다) A2 셀 : 삼성전자선물 매수1호가의 가격 B2 셀 : 삼성전자선물 매수1호가의 거래량 C2 셀 : 삼성전자선물 매도1호가의 가격 D2 셀 : 삼성전자선물 매도1호가의 거래량 E2 셀 : 삼성전자선물 현재가 (이게 없다면 E2셀은 그냥 넘어가셔도 됩니다) F2 셀 : 삼성전자주식 매수1호가의 가격 G2 셀 : 삼성전자주식 매수1호가의 거래량 H2 셀 : 삼성전자주식 매도1호가의 가격 I2 셀 : 삼성전자주식 매도1호가의 거래량 J2 셀 : 삼성전자주식 현재가 (이게 없다면 J2셀은 그냥 넘어가셔도 됩니다) 두번째 틱 발생 시 A3 B3 C3 D3 E3 ... 세번째 틱 발생 시 A4 B4 C4 D4 E4 ...
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-08-07 15:19:29

안녕하세요 예스스탁입니다. 스크립트 객체화면 설정 엑셀객체추가 --> 객체명 Excel1, 엑셀파일 지정 종목객체추가 --> 객체명 MarketData1, 삼성전자선물로 지정 종목객체추가 --> 객체명 MarketData2, 삼성전자로 지정 2개식 올려드립니다. 1번식은 각 종목의 시세가 들어올때마다 Excel1.SetData함수로 개별값 1개씩을 지정한 셀에 출력하게 됩니다. 2번식은 출력할 값을 배열에 저장하고 한번에 배열에 지정한 값을 여러개의 셀에 출력하게 됩니다. 여러개의 값을 출력할 때는 배열에 값을 저장하고 기준되는 셀번호 하나만 지정하시면 해당 셀번호를 기준으로 row,colume으로 여러개의 값을 한번에 출력할수 있어 좀더 부하가 덜 걸리게 됩니다. 이용에 참고하시기 바랍니다. 영문 업데이트가 게시판 금칙얼라 Up*date와 같이 중간에 *이 추가되어 있습니다. *을 제거하시기 바랍니다. 1번 var aa = 2; var bb = 2; function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거 { if (lUp*dateID == 20001)//*제거 { if (sItemCode == MarketData1.code) { aa = aa+1; Excel1.SetData(1, "A"+aa,MarketData1.Bid(1)); Excel1.SetData(1, "B"+aa,MarketData1.AskAmount(1)); Excel1.SetData(1, "C"+aa,MarketData1.Ask(1)); Excel1.SetData(1, "D"+aa,MarketData1.AskAmount(1)); Excel1.SetData(1, "E"+aa,MarketData1.current); } if (sItemCode == MarketData2.code) { bb = bb+1; Excel1.SetData(1, "F"+bb,MarketData2.Bid(1)); Excel1.SetData(1, "G"+bb,MarketData2.AskAmount(1)); Excel1.SetData(1, "H"+bb,MarketData2.Ask(1)); Excel1.SetData(1, "I"+bb,MarketData2.AskAmount(1)); Excel1.SetData(1, "J"+bb,MarketData2.current); } } } 2번 var aa = 2; var bb = 2; function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거 { if (lUp*dateID == 20001)//*제거 { if (sItemCode == MarketData1.code) { var M1 = [MarketData1.Bid(1),MarketData1.AskAmount(1),MarketData1.Ask(1),MarketData1.AskAmount(1),MarketData1.current]; aa = aa+1; Excel1.SetArrayToRow(1, "A"+aa,M1); } if (sItemCode == MarketData2.code) { bb = bb+1; var M2 = [MarketData2.Bid(1),MarketData2.AskAmount(1),MarketData2.Ask(1),MarketData2.AskAmount(1),MarketData2.current]; Excel1.SetArrayToRow(1, "F"+bb,M2); } } } 즐거운 하루되세요 > 퀀트드래곤 님이 쓴 글입니다. > 제목 : 가격 호가 데이터를 엑셀로 내려받고 싶습니다 > 엑셀로 틱 데이터를 보내는 방법이 궁금합니다. 삼성전자선물 매수 1호가, 매수1호가의 거래량, 매도 1호가, 매도1호가의 거래량, 현재가, 삼성전자주식 매수 1호가, 매수1호가의 거래량, 매도 1호가, 매도 1호가의 거래량, 현재가, 이렇게 a2셀~j2셀 부터 아래로 쭉 엑셀로 다운받는 코딩을 부탁드립니다. 첫번째 틱 발생 시(틱으로 구현이 안되면 분으로 구현해도 됩니다) A2 셀 : 삼성전자선물 매수1호가의 가격 B2 셀 : 삼성전자선물 매수1호가의 거래량 C2 셀 : 삼성전자선물 매도1호가의 가격 D2 셀 : 삼성전자선물 매도1호가의 거래량 E2 셀 : 삼성전자선물 현재가 (이게 없다면 E2셀은 그냥 넘어가셔도 됩니다) F2 셀 : 삼성전자주식 매수1호가의 가격 G2 셀 : 삼성전자주식 매수1호가의 거래량 H2 셀 : 삼성전자주식 매도1호가의 가격 I2 셀 : 삼성전자주식 매도1호가의 거래량 J2 셀 : 삼성전자주식 현재가 (이게 없다면 J2셀은 그냥 넘어가셔도 됩니다) 두번째 틱 발생 시 A3 B3 C3 D3 E3 ... 세번째 틱 발생 시 A4 B4 C4 D4 E4 ...