옵션만기일에
계좌 잔고를 확인하여 취하고 있는 모든 포지션을
오후 15:18분에 모두 청산하는 스팟 수식 부탁드립니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2018-07-13 16:12:40
안녕하세요
예스스탁입니다.
아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다.
스크립트 객체화면 설정
옵션객체 추가 --> 속성에서 객체명은 Option1, 주가지수옵션으로 설정
계좌객체 추가 --> 속성에서 객체명은 Account1, 주문낼 계좌번호 지정
var Xcond;
function Main_OnStart()
{
Main.MessageList("잔존일 : ",Option1.GetRemainDays(0,0));
//잔존일이 1일이면
Xcond = false;
if (Option1.GetRemainDays(0,0) == 1)
{
Xcond = true;
//타이머 셋팅 아이디1, 인터벌 30초
Main.SetTimer(1, 30000);
}
}
function Main_OnTimer(nEventID)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
//15시 18분 이후이면
if (Xcond == true && HHMMSS >= 151800 )
{
//타이머 종료
Main.KillTimer(1);
//보유종목수
var num = Account1.GetTheNumberOfBalances();
//루프를 돌려
for (var i = 0; i < num; i++)
{
//잔고객체를 차례대로 셋팅
Account1.SetBalance(i);
//수량이 1이상이고
if (Account1.Balance.count > 0)
{
//매도포지션이면 시장가 매수주문으로 전량청산
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);
}
}
}
}
}
즐거운 하루되세요
> 디코 님이 쓴 글입니다.
> 제목 : 옵션 만기일 청산로직 부탁드립니다.
> 옵션만기일에
계좌 잔고를 확인하여 취하고 있는 모든 포지션을
오후 15:18분에 모두 청산하는 스팟 수식 부탁드립니다.
감사합니다.