잔고에서 가장 가격이 높은 콜옵션의 종목코드를 찾고싶습니다. 어떻게 하는게 가장 간결하게 짤수있을까요?
(선물, 콜옵션, 풋옵션이 혼재된 잔고입니다)
답변 1
예스스탁
예스스탁 답변
2023-12-28 16:33:45.0
안녕하세요
예스스탁입니다.
이벤트는 임의로 지정했습니다.
이벤트 안의 내용을 참고하시기 바랍니다.
//이벤트
function Main_OnTimer(nEventID)
{
//계좌의 종목수
var num = Account1.GetTheNumberOfBalances();
//보유종목이 하나이상
if (num > 0)
{
//최고값 저장변수
var hv = 0;
//최고값 콜옵션 종목코드 저장변수
var hc = "";
//계좌리스트 첫번째부터 마지막종목 순으로
for (i = 0; i < num; i++)
{
//잔고셋팅
Account1.SetBalance(i);
//보유수량이 있고 잔고종목코드로 옵션객체에서 현재가가 리턴되고(0보다 큰값이 리턴안되면 옵션종목이 아님)
if (Account1.Balance.count > 0 && Option1.GetCurrent(Account1.Balance.code) > 0)
{
//잔고종목코드로 행사가 리턴
var S = Option1.GetExercisePrice(Account1.Balance.code);
//위 행사가로 해당 행사가의 콜코드 리턴
var call = Option1.GetCodeByExercisePrice(0,S);
//call에 저장된 코드와 잔고종목코드가 같으면 콜옵션이므로
if (call == Account1.Balance.code)
{
//hv에 저장된 값보다 현재값이 크면 hv값 갱신하고 hc에 종목코드 저장
if (hv == 0 || (hv > 0 && Option1.GetCurrent(Account1.Balance.code) > hv))
{
hv = Option1.GetCurrent(Account1.Balance.code);
hc = Account1.Balance.code;
}
}
}
}
}
}
새해 복 많이 받으세요
> JTH 님이 쓴 글입니다.
> 제목 : 간단한 가이드 부탁드립니다
> 잔고에서 가장 가격이 높은 콜옵션의 종목코드를 찾고싶습니다. 어떻게 하는게 가장 간결하게 짤수있을까요?
(선물, 콜옵션, 풋옵션이 혼재된 잔고입니다)