커뮤니티
예스스팟에서의 옵션 청산식
2013-01-10 01:25:33
303
글번호 57980
안녕하세요,
예스스팟으로,
진입은 선물챠트에서 나오는 시그널을 받아서,
옵션등가 콜 혹은 풋매수를 하고,
청산은 선물차트에서 나오는 시그널을 받지않고,
매수된 옵션가격에 0.2P 목표청산을 할려고 합니다.
진입식은 예스스팟 메뉴얼에 있는대로 하면 될것 같은데,
청산식이 좀 어렵네요.
상기 내용의 예스스팟 청산식을 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2013-01-10 13:18:56
안녕하세요
예스스탁입니다.
아래식 참고하시기 바랍니다.
var BuyOrderID;
var BuyOrderNum;
var ItemCode;
var Position;
var EntryPrice;
// 차트에서 매수신호 이벤트 발생하면
// 등가격콜 매수하고
//주문아이디를 BuyOrderID에 저장
function C1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
BuyOrderID = A1.OrderBuy(Option.GetATMCallRecent(0), 1, 0, 1);
}
}
// 주문응답 이벤트 발생하면
// 해당 주문응답아이디가 BuyOrderID와 같으면
// 해당주문응답의 주문번호를 BuyOrderNum에 저장
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == BuyOrderID)
BuyOrderNum = OrderResponse.orderNum;
}
//체결응답 이벤트 발생하면
//해당 체결응답의 주문번호가 BuyOrderNum와 같으면
// 타이머 작동(타이머아이디는 1, 1초간격)
// OrderCode에 종목코드 저장
// Position에 주문구분 저장
// EntryPrice에 체결가격 저장
function Main_OnNotifyFill(NotifyFill)
{
if (NotifyFill.orderNum == BuyOrderNum)
{
Main.SetTimer(1, 1000);
ItemCode = NotifyFill.code;
Position = NotifyFill.orderKind;
EntryPrice = NotifyFill.fillPrice;
}
}
// 타이머 이벤트 발생하고
// 타이머가 1번 아이디이면
// 저장한 ItemCode와 Position으로 잔고객체를 설정하고
// 해당 잔고객체의 현재가가 저장한 EntryPrice+0.2보다 크면
// 매도주문하고
// 1번 타이머는 해제
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
Account1.SetBalanceItem(ItemCode, Position);
if (Account1.Balance.current >= EntryPrice+0.2)
{
Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, 0, 1);
Main.KillTimer(1);
}
}
}
즐거운 하루되세요
> 2mak 님이 쓴 글입니다.
> 제목 : 예스스팟에서의 옵션 청산식
> 안녕하세요,
예스스팟으로,
진입은 선물챠트에서 나오는 시그널을 받아서,
옵션등가 콜 혹은 풋매수를 하고,
청산은 선물차트에서 나오는 시그널을 받지않고,
매수된 옵션가격에 0.2P 목표청산을 할려고 합니다.
진입식은 예스스팟 메뉴얼에 있는대로 하면 될것 같은데,
청산식이 좀 어렵네요.
상기 내용의 예스스팟 청산식을 부탁드립니다.
감사합니다.
다음글
이전글