커뮤니티

옵션 만기일 청산로직 부탁드립니다.

프로필 이미지
디코
2018-06-28 11:39:30
2047
글번호 224494
답변완료
옵션만기일에 계좌 잔고를 확인하여 취하고 있는 모든 포지션을 오후 15:18분에 모두 청산하는 스팟 수식 부탁드립니다. 감사합니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-07-13 16:12:40

안녕하세요 예스스탁입니다. 아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다. 스크립트 객체화면 설정 옵션객체 추가 --> 속성에서 객체명은 Option1, 주가지수옵션으로 설정 계좌객체 추가 --> 속성에서 객체명은 Account1, 주문낼 계좌번호 지정 var Xcond; function Main_OnStart() { Main.MessageList("잔존일 : ",Option1.GetRemainDays(0,0)); //잔존일이 1일이면 Xcond = false; if (Option1.GetRemainDays(0,0) == 1) { Xcond = true; //타이머 셋팅 아이디1, 인터벌 30초 Main.SetTimer(1, 30000); } } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //15시 18분 이후이면 if (Xcond == true && HHMMSS >= 151800 ) { //타이머 종료 Main.KillTimer(1); //보유종목수 var num = Account1.GetTheNumberOfBalances(); //루프를 돌려 for (var i = 0; i < num; i++) { //잔고객체를 차례대로 셋팅 Account1.SetBalance(i); //수량이 1이상이고 if (Account1.Balance.count > 0) { //매도포지션이면 시장가 매수주문으로 전량청산 if (Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } //매수포지션이면 시장가로 매도주문으로 전량청산 if (Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } } } } 즐거운 하루되세요 > 디코 님이 쓴 글입니다. > 제목 : 옵션 만기일 청산로직 부탁드립니다. > 옵션만기일에 계좌 잔고를 확인하여 취하고 있는 모든 포지션을 오후 15:18분에 모두 청산하는 스팟 수식 부탁드립니다. 감사합니다.