커뮤니티

문의드립니다.

프로필 이미지
여세우
2018-04-28 20:44:51
3210
글번호 224389
답변완료
수고하십니다. 엑셀로 만든 분할 지정가표를 이용하여, 잔고를 확인한 후에 스팟에서 지정가로 3번 분할 매도 주문을 내는 방법이 궁금합니다. 매일 아침 8시에 (1)계좌의 전 종목 잔고를 확인한 후 (2)엑셀에 지정된 3 단계 금액대로 매도주문을 내고 싶습니다. 잘 부탁드립니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-09 16:23:53

안녕하세요 예스스탁입니다. 올리신 내용만으로는 판단이 되지 않습니다. 어떤 수식을 작성해 드려야 할지 알수 없습니다. 엑셀에 특정 가격 3개를 가져와 매도가격으로 사용하는 수식입니다. 참고하셔서 수정보완해 사용하시기 바랍니다 스크립트 객체설정 계좌객체 --> 속성에서 객체명은 Account1, 주문낼 계좌번호 지정 엑셀객체 --> 속성에서 객체명은 Excel1, 특정 엑셀파일로 지정 //스팟시작 function Main_OnStart() { //5초 타이머 Main.SetTimer(1, 5000); } function Main_OnTimer(nEventID) { //시간계산 var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //타이머 동작시 8시 이후이면 if (HHMMSS >= 80000) { //타이머 종료 Main.KillTimer(1) //연결된 엑셀의 sheet1의 A1셀에서 값을 가져와 P1에 저장 var P1 = Excel1.GetData(1,"A1"); //연결된 엑셀의 sheet1의 A2셀에서 값을 가져와 P1에 저장 var P2 = Excel1.GetData(1,"A2"); //연결된 엑셀의 sheet1의 A3셀에서 값을 가져와 P1에 저장 var P3 = Excel1.GetData(1,"A3"); //보유종목수 var num = Account1.GetTheNumberOfBalances(); //종목수 만큼 루프 for (var i = 0; i < num;i++) { //차례대로 각 종목에 대한 잔고셋팅 Account1.SetBalance(i); //잔고가 있으면 if (Account1.Balance.count > 0) { //수량 3분 var V1 = Math.floor(Account1.Balance.count*(1/3)); var V2 = Math.floor(Account1.Balance.count*(1/3)); var V3 = Account1.Balance.count-V1-V2; //엑셀에서 가져온 값으로 3분할 매도주문 Account1.OrderSell(Account1.Balance.code, V1, P1,0); Account1.OrderSell(Account1.Balance.code, V2, P2,0); Account1.OrderSell(Account1.Balance.code, V3, P3,0); } } } } 즐거운 하루되세요 > 여세우 님이 쓴 글입니다. > 제목 : 문의드립니다. > 수고하십니다. 엑셀로 만든 분할 지정가표를 이용하여, 잔고를 확인한 후에 스팟에서 지정가로 3번 분할 매도 주문을 내는 방법이 궁금합니다. 매일 아침 8시에 (1)계좌의 전 종목 잔고를 확인한 후 (2)엑셀에 지정된 3 단계 금액대로 매도주문을 내고 싶습니다. 잘 부탁드립니다.