예스스탁
예스스탁 답변
2015-12-04 16:49:15
안녕하세요
예스스탁입니다.
아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다.
스크립트 객체화면에서
옵션객체 추가 --> 속성에서 객체명은 Option1, 주가지수옵션으로 지정
계좌객체 추가 --> 속서에서 주문낼 계좌지정
var CallOrderCode,PutOrderCode;
var Entry, Exit;
//스팟 시작
function Main_OnStart()
{
//타이머 동작(1번타이머, 5초)
Main.SetTimer(1, 5000);
Entry = false;
Exit = false;
}
function Main_OnTimer(nEventID)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();//달력날짜
//9시 10분이되면
if (nEventID == 1 && HHMMSS >= 91000 && Entry == false)
{
Entry = true;
//콜매도종목 선정(ATM콜)
CallOrderCode = Option1.GetATMCallRecent(0,0);
CallOrderPrice = Option1.GetCurrent(CallOrderCode);
//풋매도종목 선정
var UNum = Option1.uppersATM;
var LNum = Option1.lowersATM;
var PutCode = [];
var PutPrice = [];
//배열변수에 콜종목의 종목코드와 콜종목 현재가와의 차이를 절대값으로 저장
for (var i = -UNum; i <= LNum; i++)
{
PutCode[i+UNum] = Option1.GetATMPutRecent(i);
PutPrice[i+UNum] = Math.abs(Option1.GetCurrent(1, i)-CallOrderPrice);
}
//배열변수에 저장된 절대값 중 가장 작은 값을 찾고 해당 종목코드를 PutOrderCode에 저장
var PP = 99999999;
PutOrderCode = "";
for (var i = -UNum; i <= LNum; i++)
{
if (PutPrice[i+UNum] < PP)
{
PP = PutPrice[i+UNum];
PutOrderCode = PutCode[i+UNum]
}
}
// 모두 종목코드가 들어가 있으면
if (CallOrderCode != "" && PutOrderCode != "")
{
Account1.OrderSell(CallOrderCode, 1, Option1.GetBid(CallOrderCode, 3), 0);
Account1.OrderSell(PutOrderCode, 1, Option1.GetBid(PutOrderCode, 3), 0);
}
}
//4시가 되면
if (nEventID == 1 && HHMMSS >= 140000 && Exit == false)
{
Exit = true;
//CallOrderCode 잔고셋팅
Account1.SetBalance(CallOrderCode, 0);
//잔고에 매도수량이 있으면
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
//청산
Account1.OrderBuy(Account1.Balance.code,1,Option1.GetAsk(Account1.Balance.code, 5), 0);
}
//PutOrderCode 잔고셋팅
Account1.SetBalance(PutOrderCode, 0);
//잔고에 수량이 있으면
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
//청산
Account1.OrderBuy(Account1.Balance.code,1,Option1.GetAsk(Account1.Balance.code, 5), 0);
}
}
}
즐거운 하루되세요
> 고진감래 님이 쓴 글입니다.
> 제목 : 양매도 문의
>
예스트레이더로 매매를 하면서 많이 배우고 매번 많은 도움을 받아갑니다.
제가 구현하려고하는 식이 예스트레이더언어로는 안되는거 같아서 이제부터 예스스팟을 공부하려합니다.
이와 관련해서 도움을 주셨으면 해서 문의 드립니다.
제가 원하는 식은 양매도 식으로
09:10분에 현재 코스피 200의 지수 call 옵션을 매도하고 call 옵션의 현재가와 가장차이가 없는 put 옵션을 검색하여 풋옵션도 매도하여 14:00시에 둘다 청산하는 식입니다.
예를 들면 오늘 09:10 코스피200지수가 140.1이고 이때 콜 140 가격이 3.2이고 풋 140의 가격이 2.5 풋 142,5의 가격이 3.0이라면 콜 140을 매도하고 콜 140이랑 가격이 가장 비슷한 풋 142.5를 매도하게 하는 식입니다. 가능할까요?
바쁘시더라도 자세한 설명 부탁드립니다.