답변완료
옵션 종목 중 3.0이하에서 가장 근접한 종목을 주문내려면?
안녕하세요,
예스스팟 주문을 테스트 중인데요,
일단 선물신호시, ATM 옵션 주문내는 것은 예제로 충분히 가능하겠더군요.(오늘 테스트 해보니 잘 되는 것 같습니다.)
근데, ATM이 아니라 특정 가격(3.0)보다 "작은" 옵션가격 중에 "제일 3.0에 가까운 종목" 주문내려면 어떻게 해야 하나요?
추가)
1. Signal.Kind 와 signal.Kind는 다른 것인가요? (대소문자 구별하면 뒤의 것도 Signal.Kind로 해야 하지 않을지)
2012-07-07
3342
글번호 221131
답변완료
예스 스팟 관련문의
다음 식을 수정 부탁드립니다.
한다고 해보는데....
에러가 나고 안되내요
미리 감사드립니다
================
/*선물 매수신호시 등가옵션 콜매수
선물 매도 신호시 등가옵션 풋 매수
청산신호시 해당옵션 청산*/
var Start;
var BuyC_Code;
var BuyP_Code;
var SellC_Code;
var SellP_Code;
function Main::OnStart()
{
Main.MessageLog("시작");
Start = 0;
}
function c1::OnRiseSignal(Signal)
{
Main.MessageLog("신호완성/"+Signal.signalKind);
}
if (Signal.signalKind == 1)//선물챠트에서 매수신호발생하면 콜 매수
{
Start = 1;
BuyC_code = Option.GetATMCallRecent(0);
var BuyC_price = Option.GetBidByCode(BuyC_Code, 2);
A1.OrderBuy(BuyC_Code, vol, BuyC_price, 1);
Main.MessageLog("등가콜매수");
}
if (Signal.signalKind == 3)//선물챠트에서 매도신호발생하면 풋 매수
{
Start = 1;
BuyP_code = Option.GetATMPutRecent(0);
var BuyP_price = Option.GetBidByCode(BuyP_Code, 2);
A1.OrderSell(BuyP_Code, vol, BuyP_price, 1);
Main.MessageLog("등가풋매수");
}
if (Start = 1 && Signal.signalKind == 2) //선물챠트 매수 청산신호발생하면 콜 매수 청산
{
var BxC_price = Option.GetBidByCode(BuyC_Code, 2);
A1.OrderSell(BuyC_Code, vol, BxC_price, 1);
Main.MessageLog("등가콜청산");
}
if (Start = 1 && Signal.signalKind == 4) //선물챠트 매도청산신호발생하면 풋 매수 청산
{
var BxP_price = Option.GetBidByCode(BuyP_Code, 2);
A1.OrderSell(BuyP_Code, vol, BxP_price, 1);
Main.MessageLog("등가풋청산");
}
/*장중 청산 없을시 3시 15분 동시호가 청산*/
function getTime4Ending()
{
var d = new Date();
if ((d.getHours() == 15) && (d.getMinutes() > 11)) return true; else return false;
}
if ((getTime4Ending() == true) && (A1.Balance.count > 0) && (Signal.signalKind == 1))
{
Main.OrderSell(A1.number, Option.GetATMCallRecent(0), 1, 0, 1)
}
if ((getTime4Ending() == true) && (A1.Balance.count > 0) && (Signal.signalKind == 3))
{
Main.OrderSell(A1.number, Option.GetATMPutRecent(0), 1, 0, 1)
}
2012-07-06
3374
글번호 221125
답변완료
체결강도 재문의 드립니다.
똑같은 300틱으로 세팅해서 체결강도지표를 선물에 적용했는데,
3.1과 4.0의 강도가 다르게 나타납니다.,
위의 경우는 예스의 버전 외에는 모든 조건이 같은 상태이구요.,
사용 수식은 다음과 같습니다.,
var1 = accumn(upvol,DayIndex+1);,
var2 = accumn(DownVol,DayIndex+1);,
var3 = var1/var2 * 100; ,
그리고 이상한 것은 1분봉 차트와의 강도도 또 다르게 나타납니다.,
이것은 3.1 때도 그랬습니다.,
그리고 타사의 hts에서 DDE로 제공되는 체결강도하고도 다른데요. 이건 왜 그런지요?,
분단위로 했는지 틱단위로 하느냐에 따라 달라지는 것인지요?,
그렇다 하더라도 제일 첫번째의 경우는 오류인 거 같습니다.,
확인부탁드립니다.,
감사합니다.
2012-07-06
3477
글번호 221124
답변완료
예스스팟 문의
안녕하세요?
먼저 감사드리며 예스스팟 제대로 작성된것인지 확인부탁드립니다.
1.c1 선물차트에서 매수신호나오면 등가 풋 매도 1계약, 매도신호나오면 등가콜 1계약 매도
2.청산신호나오면 청산하는 로직입니다.
3.시험적용 해봐도 되는것인지 알수가 없어서요(시험적용하면 예스스팟 모니터에 검정색 네모 아이콘상태임다)
=================
function c1::OnRiseSignal(Signal)
{
if (Signal.signalKind == 1) then
{
Main.OrderSell(A1.number, Option.GetATMPutRecent(0), 1, 0, 1);
}
}
function c1::OnRiseSignal(Signal)
{
if (Signal.signalKind == 3) then
{
Main.OrderBuy(A1.number, Option.GetATMCallRecent(0), 1, 0, 1)
}
}
function c1::OnRiseSignal(Signal)
{
if (Signal.signalKind == 2) then
{
Main.OrderBuy(A1.number, Option.GetATMPutRecent(0), 1, 0, 1)
}
}
function c1::OnRiseSignal(Signal)
{
if (Signal.signalKind == 4) then
{
Main.OrderSell(A1.number, Option.GetATMCallRecent(0), 1, 0, 1)
}
}
==============================
2012-07-06
3468
글번호 221118