커뮤니티

청산식 부탁합니다

프로필 이미지
구다이전설
2019-01-30 17:31:39
2883
글번호 224719
답변완료
합성전략 ( 선물, 옵션) - 주로 옵션 양매수// 총 수익 금액이 얼마 ( 원 , 포인트, 프로,) 이상이면 절반( 또는 1/3 ,,등 변수) 을 각각에서 같은 수로 청산하고 또 얼마 ( , 원, 포인트, 프로 ) 이상이면 절반 ( 변수 ) 각각에서 같은 수로 청산 하시오 손절은 총 수익금액이 얼마 ( 원, 포인트 , 프로 ) 일때 청산 하시오
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-02-20 16:21:21

안녕하세요 예스스탁입니다. 손익은 원단위로 환산해서 체크하게 했습니다. 아래 수식과 주석 참고하셔서 수정보완해 사용하시기 바랍니다. 스크립트 객체화면에서 계좌객체만 Account1로 추가하고 계좌번호 설정하시면 됩니다. var step; function Main_OnStart() { //5초 간격 타이머 Main.SetTimer(1,5000); //스팟 시작시 초기값 0 step = 0; } function Main_OnTimer(nEventID) { //계좌 전종목 손익 합산(원단위 환산) //보유종목수 var num = Account1.GetTheNumberOfBalances(); //보유종목수 만큼 루프를 돌며 잔고셋팅하고 총손익 합산 sumPL = 0; for (var i = 0; i < num; i++) { Account1.SetBalance(i); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { sumPL = sumPL - (Account1.Balance.avgUnitCost-Account1.Balance.current)*250000; } if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { sumPL = sumPL - (Account1.Balance.current-Account1.Balance.avgUnitCost)*250000; } } //손익 총합이 1백만원 이상이면 if (step == 0 && sumPL >= 1000000) { //step은 1 step = 1; //전종목 수량의 50% 시장가청산 for (var i = 0; i < num; i++) { Account1.SetBalance(i); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code,Math.floor(Account1.Balance.count*0.5),0,1); } if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code,Math.floor(Account1.Balance.count*0.5),0,1); } } } //부분청산 이후에 수익총합이 1백만원 이상이면 if (step == 1 && sumPL >= 1000000) { //step은 2 step = 2; //전종목 수량의 남은 수량 전량청산 for (var i = 0; i < num; i++) { Account1.SetBalance(i); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } } //수익총합이 -1백만원 이상이면 if (sumPL <= -1000000) { //step은 -1 step = -1; //전종목 수량의 남은 수량 전량청산 for (var i = 0; i < num; i++) { Account1.SetBalance(i); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } } } 즐거운 하루되세요 > 구다이전설 님이 쓴 글입니다. > 제목 : 청산식 부탁합니다 > 합성전략 ( 선물, 옵션) - 주로 옵션 양매수// 총 수익 금액이 얼마 ( 원 , 포인트, 프로,) 이상이면 절반( 또는 1/3 ,,등 변수) 을 각각에서 같은 수로 청산하고 또 얼마 ( , 원, 포인트, 프로 ) 이상이면 절반 ( 변수 ) 각각에서 같은 수로 청산 하시오 손절은 총 수익금액이 얼마 ( 원, 포인트 , 프로 ) 일때 청산 하시오