커뮤니티

예스스팟 Q&A

답변완료

문의 드립니다.

항상 상세하시고 친절하신 답변에 감사드립니다. 예스스팟에서 손절 익절 추적스탑 등을 구현하는 방법을 공부하려고 하는데, 예스스팟의 "객체정보" 화면에서 보면, StopLoss, StopPrifitTarget, StopTrailing이라는 객체들이 보입니다. YesLanguage의 SetStopLoss, SetStopPrifitTarget, SetStopTrailing이라는 강제청산함수들과 기능이 매우 유사할 것으로 짐작이 되는데, 이 객체들의 실제 적용례를 부탁드립니다. 1. StopLoss, StopPrifitTarget, StopTrailing 객체들의 실제 사용례를, 아주 간단하게라도 예문을 각각 보여 주시면 대단히 감사하겠습니다. 2. 특히, 이 객체들의 properties 중에 보면 "color"라고 하는 프라퍼티가 있어서, 화면상에 손절선, 익절선, 추적스탑선 등을 색깔로 표시해 주는 좋은 기능일 것으로 짐작이 되는데, 시뮬레이션 등을 할 수 없는 예스스팟에서 색깔로라도 그 것들을 볼 수 있으면 크게 도움이 될 거 같습니다. 이 color의 사용례도 (소스 코드 문장 중에) 보여 주시면 대단히 감사하겠습니다. (3. 더불어서, StopEndOfDay, StopInactivity 객체들의 예문도 짧게라도 보여 주시면 감사하겠습니다) 감사합니다.
프로필 이미지
즐겁게
2013-08-09
1022
글번호 222496
답변완료

예스스팟을 이용한 종목검색

안녕하세요 예스스팟을 이용해보고싶은데 전혀 감이 잡히지 않아서 문의 드립니다. 예스스팟에 종목을 검색하고 검색중 상위 5개의 종목을 예탁금 1/n 해서 매매가 가능한가요? 가능하다면 간략한 수식 부탁드립니다. ㅠㅠ
프로필 이미지
HI_welife
2013-08-06
1127
글번호 222491

logos 님에 의해서 삭제되었습니다.

프로필 이미지
logos
2013-08-06
31
글번호 222490
답변완료

옵션데이타 데이타베이스 저장

옵션 데이타를 개인데이타 베이스에 저장하려 합니다. 아래와 같이 수식을 만들었는데 장시작시 부터 장 종료시까지만 데이타를 등록하고자 하려면 무엇을 추가해야 할까요 ? var CCode = new Array(101); var PCode = new Array(101); var CPrice = new Array(101); var PPrice = new Array(101); var SQL_C; var SQL_P; function Main_OnStart() { for(var i = -50; i <= 50; i++) { CCode[50+i] = Option.GetATMCallRecent(i); PCode[50+i] = Option.GetATMPutRecent(i); Main.ReqMarketData(CCode[50+i], 1,0); Main.ReqMarketData(PCode[50+i], 1,0); } Main.SetTimer(1, 60 * 1000); } function Main_OnTimer(nEventID) { if (nEventID == 1) { for(var i = 0; i <= 100; i++) { CPrice[i] = Option.GetCurrentByCode(CCode[i]); PPrice[i] = Option.GetCurrentByCode(PCode[i]); SQL_C = "OPTION_DATA (O_CODE, O_VALUE, O_TIME) VALUES ('" + CCode[i] + "' , " + CPrice[i] + ", SYSTIMESTAMP )"; SQL_P = "OPTION_DATA (O_CODE, O_VALUE, O_TIME) VALUES ('" + PCode[i] + "' , " + PPrice[i] + ", SYSTIMESTAMP )"; DataBase1.In$ert(SQL_C); DataBase1.In$ert(SQL_P); } } }
프로필 이미지
inko
2013-08-05
497
글번호 222489
답변완료

ReqMarketData - 옵션 종목 시세 업데이트

아래 코드는 다른 분의 문의 내용에 답변 주신 내용입니다. 차트 신호 발생 시 현재 진입한 옵션 종목의 시세를 확인하고 주문하는 내용이었습니다. 한 가지 추가로 질문 드릴 내용은 차트 신호와 관계 없이 현재 진입 중인 옵션 종목의 현재 시세를 계속 업데이트하면서 확인하려면 어떻게 해야하는지요? ============================================== var BuyCallCode; var Sig; var Request; function Chart1_OnRiseSignal(Signal) { //발생된 신호종류 저장 Sig = Signal.signalKind; //buy신호 발생하면 if (Sig == 1 ) { //ATM 콜옵션 종목코드 저장 BuyCallCode = Option.GetATMCallRecent(0); //BuyCallCode 종목객체 요청 //(종목코드는 BuyCallCode, 일봉갯수는 1개(전일것만), 수급데이터는 0개) Main.ReqMarketData(BuyCallCode, 1,0); //Request는 true(매수신호 발생 후 한번만 요청하기 위한 변수) Request = true; } } //요청한 종목객체 생성완료 function Main_OnRcvMarketData(MarketData) { //item에 수신받은 종목객체 저장 var item = MarketData; //최근 buy신호 발생되었고 //Request는 true이고 //생성된 종목객체의 종목코드가 BuyCallCode와 같으면 if (Sig == 1 && Request == true && item.code == BuyCallCode) { //Request는 false Request = false; //현재가가 전일종가보다 크면 if (item.current > item.GetPrevClose(1)); { //BuyCallPrice에 매도2호가 저장 var BuyCallPrice = item.Ask(2); //BuyCallCode종목을 BuyCallPrice에 지정가 매수주문 Account1.OrderBuy(BuyCallCode, 1, BuyCallPrice, 0); //주문 후 종목객체 삭제 Main.RemoveMarketData(item); } } }
프로필 이미지
곰탈
2013-08-05
526
글번호 222486

logos 님에 의해서 삭제되었습니다.

프로필 이미지
logos
2013-08-05
17
글번호 222485
답변완료

엑셀 개체 관련 문의

var nSheetIndex = 1; // 엑셀 시트에서 해당 구역 행을 삭제하면서 RowCount = 0 이 되기를 기대 // 행 전체를 삭제하려면 ? XLSInventory.Clear(nSheetIndex, "A1", "Z65536"); for ( var i=0; i<10; i++) { // RowCount = 1 부터 10 에 데이터가 추가되기를 기대 XLSInventory.SetRowData(nSheetIndex, "A"+( XLSInventory.GetRowCount(nSheetIndex) + 1 ), i,i*2,i*3,i*4); Main.MessageList(XLSInventory.GetRowCount(nSheetIndex)); } 위 코드가 기대한대로 동작을 하지 않는데, 어떻게 해결해야 할런지요 ?
프로필 이미지
루씰
2013-08-02
651
글번호 222484

루씰 님에 의해서 삭제되었습니다.

프로필 이미지
루씰
2013-08-02
0
글번호 222483
답변완료

문의 드립니다.

안녕하세요. 질문 1. 예스스팟을 이용해서, 가령 코스피200선물을 거래하는 경우, 주간장에서는 10분봉 차트를 이용하고 야간장에서는 5분봉 차트를 이용하는 것이, 예스스팟에 의해 자동으로 선택되게 하는 것이 가능한지요? 가능하다면 소스를 어떻게 짜야 할지 알려 주시면 대단히 감사하겠습니다. (좀더 일반적으로 표현한다면, 예스스팟을 이용하여, 지정한 시간대에, 지정한 분봉차트 내지 지정한 틱 차트를 바탕으로 매매되게하는 방법) 질문 2. 미체결 주문의 주문번호를 알아 내는 방법 부탁드립니다. 미체결 주문을 취소하기 위해서 주문번호가 필요한데, SetUnfillIndex를 써서, 루프를 돌려서 // A. Buy 신호 발생. if (Signal.signalKind == 1) { // 전체 미체결 객체 중에 차트 주종목과 같은 종목으로 주문낸 미체결 매수 주문, 미체결 매도 주문이 있는지를 찾음 A_Unfill_Buy_Cond = false; // 미체결 매수 주문이 있으면 true, 없으면 false A_Unfill_Sell_Cond = false;// 미체결 매도 주문이 있으면 true, 없으면 false // 사실 이 부분을 위해선, Unfill.count를 이용하는 것도 가능할 텐데... var NumberOfUnfills = Account1.GetTheNumberOfUnfills(); for (var i=1; i<=NumberOfUnfills; i++) { Account1.SetUnfillIndex(i); var ChartCode = Main.GetOrderCode(Chart1.GetCode(1)); if (Account1.Unfill.code == ChartCode && Account1.Unfill.orderKind == 2) // 여기에서의 Unfill은 미체결 매수주문을 의미. { A_Unfill_Buy_Cond = true; // 이 때의 i번째 Unfill은 차트 주종목(과 같은 종목)이고, 또 매수 미체결이다. A_Unfill_Buy_OrderNumber = Account1.Unfill.orderNum } if (Account1.Unfill.code == ChartCode && Account1.Unfill.orderKind == 1) // 여기에서의 Unfill은 미체결 매도 주문을 의미. { A_Unfill_Sell_Cond = true; // 이 때의 i번째 Unfill은 차트 주종목(과 같은 종목)이고, 또 매도 미체결이다. A_Unfill_Sell_OrderNumber = Account1.Unfill.orderNum } 이렇게 해 보고 있는데, 실제 적용을 해 보면, ReferenceError: A_Unfill_Buy_Cond is not defined ReferenceError: C_Unfill_Buy_OrderNumber is not defined 이런 오류보고가 계속 나옵니다. (위의 A는 Buy 신호 발생의 경우이고, C는 Sell 신호 발생의 경우입니다). 오타는 최대한 검토해서 없는 것으로 보이는데, 논리적인 문제가 있는 것 같습니다. 위 소스의 문제점을 지적해 주시고 수정해 주셔도 대단히 감사하겠고, 위 소스를 완전히 무시하시고, 미체결 주문의 주문번호를 알아 내는 다른 방법을 알려 주셔도 대단히 감사하겠습니다. 질문 3. 특히, 2번 질문에 대해, Unfill.count를 이용해서 하는 방법이 가능하다면 코드를 알려 주시면 대단히 감사하겠습니다. 감사합니다.
프로필 이미지
즐겁게
2013-07-31
611
글번호 222478
답변완료

reqchartex 에 대한 문의

안녕하세요 운영자님 항상 성의 있는 답변을 주셔서 감사합니다. 이번에는 reqchartex 로 차트를 요청하는 과정에 문제가 있어 질문을 드립니다. 제가 약 50~60개의 종목의 chart를 불러 오고 싶는데 5개까지만 가능하다고 예스스팟에서 컴파일에서 이야기 해주네요 ;; 혹시 차트 추가 개수를 늘려 주실 수 있는지에 대해서 문의를 드립니다. 그리고 또한 이게 불가능하다면 과거의 분봉데이터를 제공하는 함수나 메서드를 만들어 주실 수 있으신가요? (대신에 그 객체를 추가가능 개수 제한이 가능한 크면 좋을 것 같습니다.)
프로필 이미지
here9931
2013-07-30
587
글번호 222476