항상 감사합니다.
아래 수식은 현재가 기준으로 수익을 계산하였습니다. 하지만....
과도한 슬리피지 발생으로
매수호가 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;
}