답변완료
예스스팟 OrderBuy() 함수 관련해서 문의
제가 예스트레이더(하이투자증권) hts를 깔아서 예스스팟에 대해 살펴보고 있는데요.
예스스팟 매뉴얼에 나와있는 수식들을 예스트레이더 모의투자로 접속해서 실행해 보고 있는데, 한가지 궁금한 점이 있어 문의드립니다.
예스스팟 매뉴얼에 나와있는 예제들을 일일이 예스스팟 편집기에서 쳐보고 있는데, OrderBuy() 메서드가 항상 실행에 실패하더군요.
제가 다음과 같이 OrderBuy()의 결과값을 ID로 받아와서 MessageLog() 메서드로 디버깅 창에 찍어보면 항상 0 으로 찍힙니다.
이게 매뉴얼의 모든 예제들에 대해서 다 그래요.
var ID;
function Main_OnStart()
{
ID = Main.OrderBuy(A1.number, Option.GetATMCallRecent(0), 1, 0, 1);
Main.MessageLog(ID);
}
이게 HTS를 모의투자로 접속해서 그런 건가요? 모의투자로 접속하면 항상 OrderBuy() 메서드는 실패하나요?
아니면 제가 뭘 잘못해서 그런 것인지...
매뉴얼에 나와있는 예제들을 그대로 따라서 입력했을 뿐인데. OrderBuy()에서 항상 걸려서 다음 루틴으로 넘어가질 않네요.
그리고, 한가지더....
예스트레이더를 깔고 나니깐 한글 프로그램에서 키입력이 제대로 안되던데, 혹시 왜 그런지 아세요?
한글 자판을 두드리면 ㅁ 만 표시되고 먹통이 되더군요. 영타를 치면 a 만 뜨고 다른 키입력이 안됩니다.
숫자키는 제대로 되구요.
한글 키입력이 되다가 안되다가 그럽니다.
예스트레이더를 실행하면 키보드보안 프로그램도 같이 실행되던데, 이것 때문에 문제가 생기는 건지..
2015-04-17
1993
글번호 223427
답변완료
예스스팟 수식문의
안녕하세요 언제나 훌륭한 답변해 주셔서 감사합니다.
예스스팟 메뉴얼에 있는 예제5번 합성선물에 관한 사항인데요
예제.선물차트에서 매수신호가 발생하면 ATM 콜매수+풋매도
선물차트에서 매수청산신호가 발생하면 매수신호시 주문종목 청산
선물차트에서 매도신호가 발생하면 ATM 콜매도+풋매수
선물차트에서 매도청산신호가 발생하면 매도신호시 주문종목 청산
상기 예제를 ATM 등가격이 아닌 프리미엄 2.0 에 가장 가까운 옵션 종목으로 진입청산하고
싶습니다. 진입가격은 +-5호가 입니다.
초보라 하나하나 따라서 하는데 쉽지가 않네요 아래는 메뉴얼에 있는 로직입니다.
========================= 예제로직 ===============================
/*스크립트시작-----------------------------------------------------*/
var Start;
var BuyCallCode;
var BuyPutCode;
var SellCallCode;
var SellPutCode;
function Main_OnStart()
{
Main.MessageLog("시작");
Start = 0;
}
function C1_OnRiseSignal(Signal)
{
Main.MessageLog("신호완성/"+Signal.signalKind);
if (Signal.signalKind == 1 )
{
Start = 1;
BuyCallCode = Option.GetATMCallRecent(0);
BuyPutCode = Option.GetATMPutRecent(0);
var BuyCallPrice = Option.GetAskByCode(BuyCallCode,2);
var BuyPutPrice = Option.GetBidByCode(BuyPutCode,2);
A1.OrderBuy(BuyCallCode, Vol, BuyCallPrice, 0);
A1.OrderSell(BuyPutCode, Vol, BuyPutPrice, 0);
Main.MessageLog("합성선물매수");
}
if (Start == 1 && Signal.signalKind == 2 )
{
var BxCallPrice = Option.GetBidByCode(BuyCallCode, 2);
var BxPutPrice = Option.GetAskByCode(BuyPutCode, 2);
A1.OrderSell(BuyCallCode, Vol, BxCallPrice, 0);
A1.OrderBuy(BuyPutCode, Vol, BxPutPrice, 0);
Main.MessageLog("합성선물매수청산");
}
if (Signal.signalKind == 3 )
{
Start = 1;
SellCallCode = Option.GetATMCallRecent(0);
SellPutCode = Option.GetATMPutRecent(0);
var SellCallPrice = Option.GetBidByCode(SellCallCode,2);
var SellPutPrice = Option.GetAskByCode(SellPutCode,2);
A1.OrderSell(SellCallCode, Vol, SellCallPrice , 0);
A1.OrderBuy(SellPutCode, Vol, SellPutPrice, 0);
Main.MessageLog("합성선물매도");
}
if (Start == 1 && Signal.signalKind == 4 )
{
var SxCallPrice = Option.GetAskByCode(SellCallCode, 2);
var SxPutPrice = Option.GetBidByCode(SellPutCode, 2);
A1.OrderBuy(SellCallCode, Vol, SxCallPrice, 0);
A1.OrderSell(SellPutCode, Vol, SxPutPrice, 0);
Main.MessageLog("합성선물매도청산");
}
}
/*스크립트끝-------------------------------------------------------*/
========================= 로 직 끝 ===============================
소중한 답변 기다리겠습니다. 수고하세요
2015-04-10
1811
글번호 223418
답변완료
예스스팟 사용자 모듈 작성방법 예제는 ?
안녕하세요.
예스스팟 사용자객체, 사용자함수를 만들려고 하니,
어떻게 해야하는지 설명된 곳을 찾을 수가 없네요.
그리고 제공되는 객체들처럼 사용자객체 또는 함수에도
리턴 받는 값을 여러가지로 나누어 받을 수 있는지요 ?
우선.. 사용자 모듈 작성방법에 관련되어
참고할 수 있는 서적이나 메뉴얼, 파일, 링크 등이 있으시면
알려주시면 감사하겠습니다.
혼자공부하는데.. 너무 답답하네요.
8개 파일로 나누어 실전에 돌리는데,
사용자함수만 있으면 간략히 1개로 줄여서 사용 가능할꺼 같은데...
실전 돌리고는 있지만 많이 답답합니다.
혹시 관련 상세한 메뉴얼 있으면 알려주세요.
홈페이지에 있는 예스스팟 매뉴얼은 출력해서 보고 있는데
해당부분은 한,두페이지로 간략히 기능이 있다는 정도 설명이네요.
이곳 게시글 답변도 한개 있던데,
그정도는 시행착오 거치면서 벌써 해봤구요.
사용자객체, 함수를 제대로 만들고 싶은데.
조금 복잡한 예제나 설명서를 보내주시면 감사하겠습니다.
제 메일 주소는 anyhelp@naver.com 입니다.
2015-04-09
1660
글번호 223413