커뮤니티

청산식 문의요...

프로필 이미지
바다리
2015-03-17 17:43:22
1655
글번호 223352
답변완료
예스스팟으로... 수동으로 매수하던 전일 오버나잇한 계약수가 있던지 상관없이... 1. 현재 계좌에 보유한 옵션 평가 손실 총액이 50만원 이상이 되면 보유한 주식을 모두 손절처리(시장가) 할수 있는지요... 즉, 매수식은 없고, 다만 현계좌를 파악해서 청산식만 가동되도록 할수 있는지 수식예제좀 부탁합니다. 2. 반대로 현계좌에 보유중인 옵션 평가액 총액이 100만원이면 보유수량의 절반을 청산하고, 나머지는 14시 30분에 전량 시장가로 매도청산하는 수식도 부탁드립니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-03-20 09:42:48

안녕하세요 예스스탁입니다. 아래 내용 참고하시기 바랍니다. 잔고는 5초단위로 감시합니다. 스크립트 객체화면에 계좌객체 추가하시고 객체명은 Account1로 하시고 계좌번호 지정해 주시면 됩니다. 1. function Main_OnStart() { Main.SetTimer(1, 5000);//5초단위 } //5초간격으로 잔고 감시해 손실이 50만원 이상이면 모든 옵션종목 시장가로 청산 function Main_OnTimer(nEventID) { //계좌의 잔고수 var num = Account1.GetTheNumberOfBalances(); var PL = 0; //잔고를 하나씩 불러와 손익을 계산하고 합산해서 옵션 총 평가손익을 계산 for(var i = 0; i < num; i++) { //잔고셋팅 Account1.SetBalanceIndex(i); //옵션종목이면 if (Account1.Balance.code.substring(0,1) == "2" || Account1.Balance.code.substring(0,1) == "3") { //매도포지션이면 if (Account1.Balance.position == 1) { PL = PL+(Account1.Balance.avgUnitCost-Account1.Balance.current)*Account1.Balance.count*500000; } //매수포지션이면 if (Account1.Balance.position == 2) { PL = PL+(Account1.Balance.current-Account1.Balance.avgUnitCost)*Account1.Balance.count*500000; } } } Main.MessageList("손익",PL); //손익이 -50만원 이상이면 if (PL <= -500000) { //잔고를 하나씩 불러와 옵션종목이면 시장가로 청산 for(var i = 0; i < num; i++) { //잔고셋팅 Account1.SetBalanceIndex(i); //옵션종목이면 if (Account1.Balance.code.substring(0,1) == "2" || Account1.Balance.code.substring(0,1) == "3") { //매도포지션이면 시장가청산 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) } } } } } 2. var Exit1,Exit2; function Main_OnStart() { Main.SetTimer(1, 5000);//5초단위 Exit1 = false; Exit2 = false; } //5초간격으로 잔고 감시해 +100만원 이상이면 모든 옵션종목 시장가로 수량의 절반 청산 function Main_OnTimer(nEventID) { if (nEventID == 1 && Exit1 == false) { //계좌의 잔고수 var num = Account1.GetTheNumberOfBalances(); var PL = 0; //잔고를 하나씩 불러와 손익을 계산하고 합산해서 옵션 총 평가손익을 계산 for(var i = 0; i < num; i++) { //잔고셋팅 Account1.SetBalanceIndex(i); //옵션종목이면 if (Account1.Balance.code.substring(0,1) == "2" || Account1.Balance.code.substring(0,1) == "3") { //매도포지션이면 if (Account1.Balance.position == 1) { PL = PL+(Account1.Balance.avgUnitCost-Account1.Balance.current)*Account1.Balance.count*500000; } //매수포지션이면 if (Account1.Balance.position == 2) { PL = PL+(Account1.Balance.current-Account1.Balance.avgUnitCost)*Account1.Balance.count*500000; } } } Main.MessageList("손익",PL); //손익이 +100만원 이상이면 if (PL >= 1000000) { Exit1 = true;//Exit1을 true로 만들어 한번만 동작하게 함 //잔고를 하나씩 불러와 옵션종목이면 수량의 절반을 시장가로 청산(수량이 1계약이면 1계약 청산) for(var i = 0; i < num; i++) { //잔고셋팅 Account1.SetBalanceIndex(i); //옵션종목이면 if (Account1.Balance.code.substring(0,1) == "2" || Account1.Balance.code.substring(0,1) == "3") { //매도포지션이면 시장가청산 if (Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code,Math.max(Math.floor(Account1.Balance.count*0.5),1),0,1); } //매수포지션이면 시장가청산 if (Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code,Math.max(Math.floor(Account1.Balance.count*0.5),1),0,1) } } } } } if (nEventID == 1 && Exit2 == false) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (HHMMSS >= 143000) { Exit2 = true;//Exit2를 true로 만들어 한번만 동작하게 함 for(var i = 0; i < num; i++) { //잔고셋팅 Account1.SetBalanceIndex(i); //옵션종목 남은수량 전량 청산 if (Account1.Balance.code.substring(0,1) == "2" || Account1.Balance.code.substring(0,1) == "3") { //매도포지션이면 시장가청산 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) } } } } } } 즐거운 하루되세요 > 바다리 님이 쓴 글입니다. > 제목 : 청산식 문의요... > 예스스팟으로... 수동으로 매수하던 전일 오버나잇한 계약수가 있던지 상관없이... 1. 현재 계좌에 보유한 옵션 평가 손실 총액이 50만원 이상이 되면 보유한 주식을 모두 손절처리(시장가) 할수 있는지요... 즉, 매수식은 없고, 다만 현계좌를 파악해서 청산식만 가동되도록 할수 있는지 수식예제좀 부탁합니다. 2. 반대로 현계좌에 보유중인 옵션 평가액 총액이 100만원이면 보유수량의 절반을 청산하고, 나머지는 14시 30분에 전량 시장가로 매도청산하는 수식도 부탁드립니다.