커뮤니티
한가지만 더 여쭤 볼께요 ^^
2013-08-08 17:14:48
152
글번호 66254
한가지만 더 여쭤 볼께요 ^^
if stime == 145900 Then
exitlong("bx1",AtMarket,def,"",int(MaxContracts*0.2),1);
MaxContracts*0.2 는 잔고의 20%를 청산한다는 뜻이죠?
그럼 잔고가 4개라고 하면 20% 인 0.8개가 아니라 올림하여
1개가 청산이 되나요?
답변 1
예스스탁 예스스탁 답변
2013-08-08 17:28:53
안녕하세요
예스스탁입니다.
int는 계산값 중 정수값만 취하게 됩니다.
0.8이므로 0입니다.
청산 수량이 0으로 셋팅이 되므로 해당 청산식 동작을 하지 않습니다.
만약 반올림하여 1로 만들어 1개를 청산하고자 하시면
int(MaxContracts*0.2) 대신에
round(MaxContracts*0.2,0)를 사용하셔야 합니다.
물론 반올림값이므로 0.5 미만은 0으로 처리되어
수량이 0이 되어 청산식 동작하지 않습니다.
즐거운 하루되세요
> jarlye 님이 쓴 글입니다.
> 제목 : 한가지만 더 여쭤 볼께요 ^^
> 한가지만 더 여쭤 볼께요 ^^
if stime == 145900 Then
exitlong("bx1",AtMarket,def,"",int(MaxContracts*0.2),1);
MaxContracts*0.2 는 잔고의 20%를 청산한다는 뜻이죠?
그럼 잔고가 4개라고 하면 20% 인 0.8개가 아니라 올림하여
1개가 청산이 되나요?