커뮤니티

문의드립니다.

프로필 이미지
하늘북
2019-03-08 16:51:19
3063
글번호 224757
답변완료
항상 감사합니다. 아래 수식은 현재가 기준으로 수익을 계산하였습니다. 하지만.... 과도한 슬리피지 발생으로 매수호가 1단계를 기준으로 수익을 계산하고 싶습니다. 수정부탁드립니다. if (step == 1) { var tick = 1;//1틱값 지정 //손익틱수 저장할 변수는 초기값 0 var sum = 0; var PL1 = 0; var PL2 = 0; Account1.SetBalanceItem(put, 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { PL1 = (Account1.Balance.current - Account1.Balance.avgUnitCost)/tick; } Account1.SetBalanceItem(put, 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { PL2 = (Account1.Balance.current - Account1.Balance.avgUnitCost)/tick; } sum = PL1+PL2; }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-04-11 18:21:53

안녕하세요 예스스탁입니다. 수식에 put이라는 변수라 잔고셋팅을 하므로 아마 옵션종목인것 같습니다. 옵션객체를 기존수식에서 사용하고 있으시면 Option.GetBid함수 이용해 간단히 현재가와 대체하시면 됩니다. Option.GetBid(종목코드,호가단계) //손익틱수 저장할 변수는 초기값 0 var sum = 0; var PL1 = 0; var PL2 = 0; Account1.SetBalanceItem(put, 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { PL1 = (Option.GetBid(put, 1) - Account1.Balance.avgUnitCost); } Account1.SetBalanceItem(put, 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { PL2 = (Option.GetBid(put, 1) - Account1.Balance.avgUnitCost); } sum = PL1+PL2; 즐거운 하루되세요 > 하늘북 님이 쓴 글입니다. > 제목 : 문의드립니다. > 항상 감사합니다. 아래 수식은 현재가 기준으로 수익을 계산하였습니다. 하지만.... 과도한 슬리피지 발생으로 매수호가 1단계를 기준으로 수익을 계산하고 싶습니다. 수정부탁드립니다. if (step == 1) { var tick = 1;//1틱값 지정 //손익틱수 저장할 변수는 초기값 0 var sum = 0; var PL1 = 0; var PL2 = 0; Account1.SetBalanceItem(put, 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { PL1 = (Account1.Balance.current - Account1.Balance.avgUnitCost)/tick; } Account1.SetBalanceItem(put, 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { PL2 = (Account1.Balance.current - Account1.Balance.avgUnitCost)/tick; } sum = PL1+PL2; }