수고 많으십니다.
옵션 매매 수식을 만드는 중인데요.
257.5 콜 옵션을 하나 매도 하고
255 콜 옵션을 하나 매도 했을 때
257.5는 1포인트 올랐을 때 손절하고
255는 0.5포인트 올랐을 때 손절하려고 합니다.
내 계좌의 옵션 종목별 평균단가를 구하려고 하는데요.
어떤 함수를 이용해야 하나요?
답변 1
예스스탁
예스스탁 답변
2013-05-03 18:22:44
안녕하세요
예스스탁입니다.
잔고객체에 평균단가가 제공되고 있습니다.
예스스팟에서 잔고는 계좌상 순번이나 종목코드로 지정하면
해당 종목의 잔고정보가 Balance객체에 세팅이 되고 사용자가 사용하게 되어 있습니다.
즉 특정종목의 잔고(Balance)를 셋팅하고 잔고에서 현재가나 평균단가 가져와서
사용하시면 됩니다.
계좌잔고상 위에서 아래순서대로 번호를 지정하거나(SetBalanceIndex(nIndex))
혹은 종목코드를 넣어 지정할수 있습니다. (SetBalanceItem(sItemCode, nPosition))
아래식 참고하시기 바랍니다.
스크립트 객체화면에서
Option객체와 계좌객체 추가하신 후 사용하셔야 합니다.
계좌객체 이름은 Account1입니다.
1초단위로 잔고를 체크해서 257.5 콜은 1포인트 올랐을 때 손절하고
255 콜은 0.5포인트 올랐을 때 손절하는 식입니다.
function Main_OnStart()
{
Main.SetTimer(1, 1000);
}
function Main_OnTimer(nEventID)
{
//계좌의 보유종목수
var num = A1.GetTheNumberOfBalances();
//계좌의 종목을 순서대로
for (var i = 0; i < num; i++)
{
//잔고 셋팅
Account1.SetBalanceIndex(i);
// 해당 종목의 행사가가 257.5이고
// 잔고 포지션이 매도포지션이고
// 현재가가 평균단가+1이상이면 청산
if (Option.GetExercisePriceByCode(Account1.Balance.code) == 257.5 &&
Account1.Balance.position == 1 &&
Account1.Balance.current >= Account1.Balance.avgUnitCost +1)
{
Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count, 0,1);
}
// 해당 종목의 행사가가 255이고
// 잔고 포지션이 매도포지션이고
// 현재가가 평균단가+0.5이상이면 청산
if (Option.GetExercisePriceByCode(Account1.Balance.code) == 255 &&
Account1.Balance.position == 1 &&
Account1.Balance.current >= Account1.Balance.avgUnitCost +0.5)
{
Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count, 0,1);
}
}
}
> 유기농옵션 님이 쓴 글입니다.
> 제목 : 계좌에서 옵션 종목별 평균 단가 구하기
> 수고 많으십니다.
옵션 매매 수식을 만드는 중인데요.
257.5 콜 옵션을 하나 매도 하고
255 콜 옵션을 하나 매도 했을 때
257.5는 1포인트 올랐을 때 손절하고
255는 0.5포인트 올랐을 때 손절하려고 합니다.
내 계좌의 옵션 종목별 평균단가를 구하려고 하는데요.
어떤 함수를 이용해야 하나요?