커뮤니티

예스스팟 OrderBuy() 함수 관련해서 문의

프로필 이미지
김태희
2015-04-17 11:02:59
1984
글번호 223427
답변완료
제가 예스트레이더(하이투자증권) 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 만 뜨고 다른 키입력이 안됩니다. 숫자키는 제대로 되구요. 한글 키입력이 되다가 안되다가 그럽니다. 예스트레이더를 실행하면 키보드보안 프로그램도 같이 실행되던데, 이것 때문에 문제가 생기는 건지..
답변 4
프로필 이미지

예스스탁 예스스탁 답변

2015-04-17 16:58:56

안녕하세요 예스스탁입니다. 1. Main.OrderBuy(A1.number, Option.GetATMCallRecent(0), 1, 0, 1); 주문함수의 3번째 매개변수가 주문가격, 4번째가 가격구분입니다. 예제의 식은 시장가 주문으로 되어 있습니다. 모의투자는 시장가 주문은 허용이 되지 않아 주문이 되지 않습니다. 모의투자에 적용해 보시기 위해서는 지정가로 주문이 집행되게 수정하셔야 합니다. //ATM콜 종목을 매도5호가에 주문 Main.OrderBuy(A1.number, Option.GetATMCallRecent(0), 1, Option.GetAsk(Option.GetATMCallRecent(0), 5), 0); 위와 같이 옵션종목에 주문을 내신다면 옵션객체의 함수를 이용해 처리하시면 됩니다. 옵션 종목이 아니면 종목객체를 추가하시고 속성에서 주문낼 종목으로 지정하신 다음 아래와 같이 작성하시면 됩니다. 기준에 종목객체가 설정되어 있다면 해당 종목객체에서 매수호가나 매도호가 지정하는 함수 가져와 지정하시면 됩니다. Main.OrderBuy(A1.number,MaiMain.GetOrderCode( MarketData1.code), 1,MarketData1.Ask(5), 0); 2. 입력 부분은 프로그램 담당자와 통화를 해보셔야 할것 같습니다. 다음주 편하신 시간에 02-3453-1060으로 전화주시기 바랍니다. 즐거운 하루되세요 > 김태희 님이 쓴 글입니다. > 제목 : 예스스팟 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-20 09:51:15

김태희 님에 의해 삭제된 답변입니다.
프로필 이미지

김태희

2015-04-20 12:43:22

OrderBuy()가 자꾸 실패한다고 문의드렸던 것에 대해서 답변주신 대로 시장가가 아닌 지정가로 바꿔서도 해봤는데, 주문이 제대로 안나가더군요. 이상해서 옵션객체의 다른 정보들도 읽어와서 MessageList() 로 표시해볼려고 하는데 아예 못읽어오네요. 예스스팟에서 Option 객체의 정보를 읽어오는데 계속 실패하는데 이유를 모르겠습니다. 그냥 예스스팟 공부와 테스트 차원에서 아래와 같이 코딩한게 다입니다. 예스스팟 스튜디오에서는 옵션객체(Option)와 계좌객체(A1)만 추가하였습니다. 모의투자로 접속하여 스팟전략설정시에 시험적용, 자동주문 둘다 해봤는데, 다 마찬가집니다. 모의투자 아닌 실제 계좌로도 접속하여 시험적용, 자동주문 둘다 해봤는데도 마찬가지구요. 옵션객체의 정보들을 못읽어 오고 다 0 이나 공백으로 표시되는데 원인을 모르겠네요 ㅠㅠ var aa; var bb; var ID; function Main_OnStart() { aa = Option.uppersATM; Main.MessageList("uppersATM:", aa); Main.MessageList("lowersATM:", Option.lowersATM); bb = Option.GetATMCallRecent(0, 0) Main.MessageList("kkk:", bb); ID = Main.OrderBuy(Account1.number, Option.GetATMCallRecent(0), 1, Option.GetAsk(Option.GetATMCallRecent(0), 5), 0); Main.MessageLog("OnStart: "+ID); } 디버깅 창에 출력된 내용: uppersATM: 0 lowersATM: 0 kkk: OnStart: 0
프로필 이미지

예스스탁 예스스탁 답변

2015-04-20 16:10:12

안녕하세요 예스스탁입니다. 죄송합니다.옵션객체에 대한 설명이 미흡했습니다. 옵션객체는 스크립트 객체화면세 추가하기 전에 예스트레이더 상단메뉴중에 관리 --> 종합환경설정 --> 예스스팟에 가셔서 [예스스팟 옵션데이터(옵션객체) 사용여부]에 사용으로 설정하셔야 데이터를 받게 됩니다. 사용을 설정하실때 민감도 수치를 저희 예스스탁에서 제공하는 값을 받으실때는 사용(로컬민감도)를 선택하시면 되며 거래서에서 제공하는 민감도를 사용하신 다면 사용(거래소민감도)로 지정해 주시면 됩니다. 예스스팟을 사용하지 않는 사용자분들이 불필요한 데이터를 내부적으로 받는 것을 막기위해 초기에는 미사용으로 되어 있습니다. 위 내용만 설정하시고 주문가격만 지정가로 해주시면 정상적으로 신호가 발생하게 됩니다. 즐거운 하루되세요 > 김태희 님이 쓴 글입니다. > 제목 : Re : Re : 예스스팟 OrderBuy() 함수 관련해서 문의 > OrderBuy()가 자꾸 실패한다고 문의드렸던 것에 대해서 답변주신 대로 시장가가 아닌 지정가로 바꿔서도 해봤는데, 주문이 제대로 안나가더군요. 이상해서 옵션객체의 다른 정보들도 읽어와서 MessageList() 로 표시해볼려고 하는데 아예 못읽어오네요. 예스스팟에서 Option 객체의 정보를 읽어오는데 계속 실패하는데 이유를 모르겠습니다. 그냥 예스스팟 공부와 테스트 차원에서 아래와 같이 코딩한게 다입니다. 예스스팟 스튜디오에서는 옵션객체(Option)와 계좌객체(A1)만 추가하였습니다. 모의투자로 접속하여 스팟전략설정시에 시험적용, 자동주문 둘다 해봤는데, 다 마찬가집니다. 모의투자 아닌 실제 계좌로도 접속하여 시험적용, 자동주문 둘다 해봤는데도 마찬가지구요. 옵션객체의 정보들을 못읽어 오고 다 0 이나 공백으로 표시되는데 원인을 모르겠네요 ㅠㅠ var aa; var bb; var ID; function Main_OnStart() { aa = Option.uppersATM; Main.MessageList("uppersATM:", aa); Main.MessageList("lowersATM:", Option.lowersATM); bb = Option.GetATMCallRecent(0, 0) Main.MessageList("kkk:", bb); ID = Main.OrderBuy(Account1.number, Option.GetATMCallRecent(0), 1, Option.GetAsk(Option.GetATMCallRecent(0), 5), 0); Main.MessageLog("OnStart: "+ID); } 디버깅 창에 출력된 내용: uppersATM: 0 lowersATM: 0 kkk: OnStart: 0