커뮤니티

예스스팟에서의 옵션 청산식

프로필 이미지
2mak
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 목표청산을 할려고 합니다. 진입식은 예스스팟 메뉴얼에 있는대로 하면 될것 같은데, 청산식이 좀 어렵네요. 상기 내용의 예스스팟 청산식을 부탁드립니다. 감사합니다.