커뮤니티

문의드립니다

프로필 이미지
라떼처럼
2018-01-13 11:01:33
2799
글번호 224306
답변완료
예스렝귀지를 이용하여 구동중입니다 이용중 신호발생 진입,청산이 이루어 지지 않았을때 백업으로 예스스팟을 이용하여 계좌를 모니터링하여 설정해 놓은 손실시 발생시 청산하는 것을 구현하고 싶습니다 스팟은 처음이라시상기와 같은 식이 있는지와 구현방법에 대해 알려주시면 감사하겠습니다
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-02-02 15:34:54

안녕하세요 예스스탁입니다. 스팟으로 계좌의 일정손실이면 청산하는 것은 가능합니다. 다만 스팟에서 청산이 발생한다고 차트에 적용된 시스템이 중단되는 것은 아닙니다. 시스템은 잔고여부를 따지지 않으므로 스팟에서 청산이후에 차트에 주문이 집행될수 있습니다. 이용에 참고하시기 바랍니다. 선물/옵션 계좌용과 주식계좌용 따로 작성해 드립니다. 예스스팟 수식답변은 단순 가이드 입니다. 아래 수식내용 참고하셔서 수정보완해 사용하시기 바랍니다. 1 주식 function Main_OnStart() { Main.SetTimer(1, 5000); } function Main_OnTimer(nEventID) { //계좌 보유 종목수 var num = Account1.GetTheNumberOfBalances(); //계좌종목의 총 손익 계산 var sumPL = 0; for (var i = 1; i <= 5; i++) { Account1.SetBalance(i); if (Account1.Balance.position == 2 && Account1.Balance.count > 0) { sumPL = (Account1.Balance.current - Account1.Balance.avgUnitCost) } } //총손익이 -백만원 이상이면 if (sumPL <= -1000000) { //전종목 시장가로 청산 for (var i = 1; i <= 5; i++) { Account1.SetBalance(i); if (Account1.Balance.position == 2 && Account1.Balance.count > 0) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } if (Account1.Balance.position == 1 && Account1.Balance.count > 0) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } } //타이머 종료 Main.KillTimer(1, 5000); } } 2 선물/옵션 function Main_OnStart() { Main.SetTimer(1, 5000); } function Main_OnTimer(nEventID) { //계좌 보유 종목수 var num = Account1.GetTheNumberOfBalances(); //계좌종목의 총 손익 계산 var sumPL = 0; for (var i = 1; i <= 5; i++) { Account1.SetBalance(i); if (Account1.Balance.position == 2 && Account1.Balance.count > 0) { sumPL = (Account1.Balance.current - Account1.Balance.avgUnitCost) } if (Account1.Balance.position == 1 && Account1.Balance.count > 0) { sumPL = (Account1.Balance.avgUnitCost - Account1.Balance.current) } } //총손익이 -백만원 이상이면 if (sumPL*250000 <= -1000000) { //전종목 시장가로 청산 for (var i = 1; i <= 5; i++) { Account1.SetBalance(i); if (Account1.Balance.position == 2 && Account1.Balance.count > 0) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } if (Account1.Balance.position == 1 && Account1.Balance.count > 0) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } } //타이머 종료 Main.KillTimer(1, 5000); } } 즐거운 하루되세요 > 라떼처럼 님이 쓴 글입니다. > 제목 : 문의드립니다 > 예스렝귀지를 이용하여 구동중입니다 이용중 신호발생 진입,청산이 이루어 지지 않았을때 백업으로 예스스팟을 이용하여 계좌를 모니터링하여 설정해 놓은 손실시 발생시 청산하는 것을 구현하고 싶습니다 스팟은 처음이라시상기와 같은 식이 있는지와 구현방법에 대해 알려주시면 감사하겠습니다