답변완료
질문드립니다
수고가 많어십니다..
예스스팟을 점검하다가 다음과 같은 오류를 발견하였습니다.
주문을 할때,
Option.GetBidByCode(PutBuyExitlongOrderCode, 5) ;
상기와 같이 상대5호가를 주문가격으로 설정하여 사용하는데, 주문가격 설정시 현제가격이 0.04 이하인경우, 즉, 상대5호가가 0.01 보다 작아지는 경우;; [check_order_ok]가격 제한폭 초과[0.010000][17.250000]; sqlnum 20003 오류발생하여 매수청산주문이 실행되지 않았습니다..
주문가격이 0.01 혹은 상//하한가 범위를 벗어나는 경우,, 예스스팟 프로그램상에서 defalut로 주문가격을 0.01 혹은 상하한가로 수정하여 정상적인 주문이 수행될 수 있도록 만들어주시기를 부탁드립니다..
예스스팟에서 default 수정주문이 불가능하다면, 주문가격을 체크하여 주문오류를 방지할 수 있는 수식을 부탁드립니다..
옵션매도가 있는 경우, 급격한 가격상승으로 청산가격이 상한가인 경우,, 상기와 같은 상대5호가를 사용할 경우, 발생할 수 있는 청산오류를 방지할 수 있는 수식부탁드립니다..
2014-02-19
1340
글번호 222820
답변완료
프로그램 문의
안녕 하세요.
현재 옵션매매를 하고 있는데
옵션은 행사가가 여러개가 있어 손매매로 하기에는 시간차가 생겨 동시에 여러개의 행사가로 진입을 못하고 있는데 동시에 여러개의 행사가로 진입을 할수 있게 프로그램을 짤수 있나요?
프로그램이 알아서 진입 청산이 아니고 미리 설정한 행사가를 선택한후 프로그램을 클릭하면 여러개의 행사가에 동시에 진입/청산을 하면 됩니다.
예로써, 콜이면 255.00, 257.50, 260.00의 옵션 매수(매도)를 클릭하면 한번 클릭에 동시에 현재가(바로 진입가)로 진입을 하고 청산도 클릭 한번에 다 청산을 하고 싶습니다.
또한 각 행사가 마다 진입 갯수를 정하면 더 좋고요.
어떻게 프로그램을 짜야 하는지 알려 주시면 감사 하겠습니다.
다시 정리하면
미리 지정변수를 정하면
1. 행사가 선택(3개 이상)=> 콜 255.00, 257.50, 260.00 아니면 풋 250.00, 247.50, 245.00
2. 모든 행사가의 매수만 아니면 매도만 선택.
3. 행사가 마다 갯수 지정.
4. 일괄 청산 가능.
하이투자증권에 물어보니 예스스팟으로 가능하다고 하는데 가능 한가요?
꼭 답변 부탁 드립니다.
2014-02-19
1332
글번호 222819
답변완료
수식 문의 드립니다
1.아래 수식을 사용하여 예스트레이더 차트에서 매수신호 발생시 진입수량만큼 옵션등가 양매수 진입, 차트에서 매도 신호 발생시 진입수량만큼 옵션등가 양매도 진입... 청산 신호 발생시 진입한 수량만큼 옵션 청산되게 수정 부탁드립니다.
2. 아래 수식을 수정하여 선물매수신호발생시 선물진입수량만큼 콜등가매수 / +2단계콜외가매도 / +4단계콜외가매도 진입하고 선물매도신호발생시 선물진입수량만큼 풋등가매수 / -2단계풋외가매도 / -4단계풋외가매도 진입되도록 예스스팟식 부탁드립니다. 선물청산신호발생하면 진입된 옵션전부 청산되고, 반전신호가 발생하면 진입된 옵션청산하고 반전신호대로 옵션진입되도록 부탁드립니다.
var Start = 0;
var SelCallCode;
var SelCallPrice;
var SelCallVol;
var SellPutCode;
var SellPutPrice;
var SellPutVol;
function Main_OnStart()
{
Start = 0;
Main.MessageList("시작",Start);
}
function Chart1_OnRiseSignal(Signal)
{
//차트에서 매수신호 발생하면 콜 매도
if (Signal.signalKind ==1)
{
Start = 1;
SellCallCode = Option.GetATMCallRecent(0);//주문종목 : ATM콜 종목코드
SellCallPrice = Option.GetBidByCode(SellCallCode, 2);//주문가격 매수2호가
SelCallVol = Signal.count;//주문수량 : 차트신호의 수량
Account1.OrderSell(SellCallCode,SelCallVol, SellCallPrice, 0);
Main.MessageList("등가콜매도 : "+SellCallCode);
}
//차트에서 매수청산신호 발생하면 콜매도 청산
if (Start == 1 && Signal.signalKind == 2)
{
//매도2호가로 청산
Account1.OrderBuy(SellCallCode, SelCallVol, Option.GetAskByCode(SellCallCode, 2), 0);
Main.MessageList("콜청산 : ",SellCallCode);
}
//선물차트에서 매도신호 발생하면 풋 매도
if (Signal.signalKind ==3)
{
Start =1;
SellPutCode = Option.GetATMPutRecent(0);//주문종목 : ATM풋 종목코드
SellPutPrice = Option.GetBidByCode(SellPutCode, 2);//주문가격 : 매수 2호가
SellPutVol = Signal.count; //수량 : 차트신호의 수량
Account1.OrderSell(SellPutCode, Signal.count, SellPutPrice, 0);
Main.MessageList("등가풋매도 : "+SellPutCode);
}
//차트에서 매도청산신호 발생하면 풋매도 청산
if (Start == 1 && Signal.signalKind == 4)
{
Account1.OrderBuy(SellPutCode, SellPutVol, Option.GetAskByCode(SellPutCode, 2), 0);
Main.MessageList("풋청산 : ",SellPutCode);
}
}
2014-02-15
1522
글번호 222811