커뮤니티

예스스팟 Q&A

답변완료

수식문의드립니다.

예스스팟으로 주문하고 있는데 예스스팟은 예트에서 신호받은 그 가격으로 주문이 나가는 것이 맞는지요? 현재는 현재가에서 주문이 나가고 있습니다. 그리고 현재 매도 +-5호가로 주문이 세팅 되어서 슬리피지가 너무 많아서 슬리피지를 없이 주문하려고 문의를 드립니다. 그래서 신호가대로 주문을 하고 싶은데 리버스 신호의 경우에는 증거금 문제로 이전 주문이 청산이 되었을때까지 기다렸다가 청산이 되고 난 후에 주문을 하고 싶습니다. 그리고 주문은 1계약씩 나눠서 나가게 해서 증거금을 풀로 차게 주문하고 싶습니다. 예를 들어서 하나 수식을 만들어 주시면 감사하겠습니다. 예) 예트에서 5-20 이평선 매도 매수전략이라고 가정할때 1. 주문은 예트에서 발생한 신호가로 청산도 신호가(리버스진입가)로- 미체결 리스크가 있어도 슬리피지 없게 하려구요. 2. 리버스 신호가 나왔을때, 청산을 지정가(예트 신호가)로 하기때문에 만약 지연될 경우, 청산이 되고 난후에 신호가로 진입할수 있는 수식 4. 모든 주문은 1계약씩 반복해서 증거금이 다 찰때까지 주문이 되도록, 다만 청산주문은 보유잔고 일괄 청산 5. 동시호가에 보유잔고가 있으면 시장가로 청산 부탁드립니다. 감사합니다.
프로필 이미지
궁금궁금123
2016-09-19
1908
글번호 223989
답변완료

문의 드립니다.

수고 하십니다. 계좌잔고를 청산하기 위하여 다음과 같은 프로그램을 사용하고 있습니다. 이상없이 사용하고 있었는데 오류가 발생할 때가 있습니다. 잔고 일부가 청산이 안될때가 있습니다. 이런 오류가 발생했을때는 반복해서 본 프로그램을 가동해도 남은 잔고가 청산되지 않습니다. 조치방법 부탁드립니다. function Main_OnStart() { Account1.Refresh(); var num = Account1.GetTheNumberOfBalances(); for (var i = 0; i < num; i++) { Account1.SetBalanceIndex(i); if (Account1.Balance.position == 1) Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); else if (Account1.Balance.position == 2) Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } Account1.Refresh(); }
프로필 이미지
고가행진
2016-09-08
1832
글번호 223988
답변완료

문의 드립니다.

수고하십니다. SOPT가동 중 SPOT폴더에 *.ysdb 확장자명의 파일이 많이 생성되는데 피할수 있는 방법은 없을까요?
프로필 이미지
고가행진
2016-09-08
1801
글번호 223987
답변완료

스팟 수식문의

KODEX레버리지와 KODEX인버스를 보유하고 있고, 두 종목에서의 수익률 차이가 + 1% 일 때 모두 매도하는 수식을 알고싶습니다...
프로필 이미지
상현
2016-09-07
1920
글번호 223986

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

프로필 이미지
kwon0718
2016-09-05
21
글번호 223984
답변완료

데이터베이스 질문드립니다

항상수고 많으십니다. MS SQL 데이터 베이스를 배열로 가져오는 방법을 알고 싶습니다. 금칙어 셀렉트 는 Selec*t로 표시했습니다. 예스스팟 데이터베이스 객체 항목의 Selec*t를 보면 Selec*t(sQuery, sTabTitle) 이렇게 나와있고 sTabTitle 에 대해 " sTabTitle &#8211; 문자열, YesSpot Studio의 실행결과창에서 추가/수정할 탭의 이름을 입력합니다. " 라고 나와 있는 데 잘 이해가 되지 않습니다. 실례로 MS SQL 데이터베이스를 스팟과 ODBC로 올바르게 연동하고, 다음의 스팟 구문을 실행해 보면 var sTabTitle = new Array(6); function Main_OnStart() { Table = DB.Selec*t(" * FROM [dbo].[ENTRY] ", sTabTitle ); } 실행결과 창에 아래와 같이 사전에 만들어 놓았던, MS SQL "ENTRY" 테이블이 출력되 있는 걸 볼수 있습니다. " 그림1 " Main.MessageList(sTabTitle); 로 확인해보면 결과가 쉼표 다섯개로 , , , , , 나오는 걸로 보아 제대로 선언된거 같지 않습니다. 8월 5일 진입한 코드를 보고자 var sTabTitle = new Array(6); function Main_OnStart() { Table = DB.Selec*t(" code FROM [dbo].[ENTRY] WHERE EntryDay = 20160805 ", sTabTitle ); } 로 하면 실행결과창이 "그림2" 로 되고 8월 7일 진입한 코드를 보고자 var sTabTitle = new Array(6); function Main_OnStart() { Table = DB.Selec*t(" code FROM [dbo].[ENTRY] WHERE EntryDay = 20160807 ", sTabTitle ); } 로 하면 데이터베이스에 자료가 없는지 스팟에러가 발생합니다. 에러 메세지는 "TypeError : 데이터의 끝 또는 시작 부분을 지나서 스크롤하려고 했습니다." 그래서 제가 하고자 하는 것은 SQL 데이터를 가져오는 것인데요, 1. sTabTitle 혹은 Table 을 올바르게 선언하는 법을 알고 싶습니다. 2. 원하는 날짜에 진입된 종목코드를 배열로 가져오는 방법을 알고 싶습니다. 3. 데이터가 없는 부분을 지정하였을 때 스팟 에러가 발생하지 않게 하는 방법을 알고 싶습니다.
프로필 이미지
재령
2016-09-04
2285
글번호 223983
답변완료

onRiseSignal에서 주문 취소 방법

예스 랭귀지에서 주문 신호가 발생하면 차트에 랭귀지 신호가 표시되고나서 onRiseSignal 함수로 들어오는데, 만약 이 상태에서 전략적으로 필터링하여 OrderBuy/sell 을 하지 않고 return; 을 할 경우에 그려진 신호 마크는 남아서 매도/매수 상태가 유지되는데... 이거 때문에 다음번 신호에 자꾸 빈 신호나 잘못된 신호가 들어옵니다. 그래가지고 피라미딩을 이용하려고 하는데 잘 안되네요 차트에 주문 신호가 취소되었다고 알리려면 어떻게 해야하나요 ?
프로필 이미지
dwlgt
2016-09-01
1727
글번호 223982
답변완료

예스스팟을 통해 엑셀에 차트데이터를 뽑고 싶습니다.

어제 예스트레이더를 설치하여 하루종일 예스트레이더,예스랭귀지,예스스팟에 대한 가이드를 읽었습니다. 예스스팟과 엑셀을 연결하려고 하는데 ReFerenceError:엑셀파일에 연결되지 않았습니다. 라는 에러가 계속 발생합니다. 이런 저런 방법으로 시도해 보고는 있는데 기초가 너무 부족해서 그런지 도저히 방법을 찾을 수가 없습니다. 또한 예스스팟 가이드에 엑셀데이터 객체에 대한 설명이 너무 빈약합니다. 목표는 예스스팟과 엑셀을 연동하여 여러종목에 대한 이평선, 스토케스틱 등등 차트데이터를 실시간으로 수신받아 자료를 저장하는 것입니다. 시작부터 막히네요. 도와주시면 감사하겠습니다.
프로필 이미지
마루몽
2016-08-31
1825
글번호 223980
답변완료

같은 종목의 분봉시간이 다른 차트에서 시그널이 나올때 구분하는 방법에 문의

같은 종목의 분봉시간이 다른 각각의 차트에서 신호 발생시, OnRiseSignal 함수에서, 차트를 구분할수 있는 구분자나 구분 방법 OnRiseSignal 함수에서, 신호가 나온 차트에 따라, 처리 루틴을 만들고자 하는데, 이때, 신호가 나온 차트를 어떻게 구분할수 있을까 하는 것입니다. 예를 들자면, 위2번 그림의 연결 선물 2분 차트에서 신호가 나올때, 해당 신호가 2분 차트에서 나오는 신호인지, 10분, 혹은 60분 차트에서 나오는 신호인지 신호를 발생한 차트를 구분할수 있는 방법을 알고 싶습니다.
프로필 이미지
라바울
2016-08-31
1775
글번호 223977
답변완료

엑셀에 종목코드를 넣고 읽는법

안녕하세요. 특정 종목에 대하여 현재가나 잔고에 남아있는 계약수등을 읽어들이려고 하는데요. 단, 종목객체를 지정하지 않고서 그 종목코드를 엑셀로 부터 읽어들이려고 합니다. 예스스팟에서 구현 가능한지 알고 싶네요. 예를들어서, 엑셀에 종목코드를 넣어놓고서, for (var i = 1 ; i < tot_st+1 ; i++) { code[i-1] = Excel1.GetData(1, "B"+i); } 와 같이 받은 후에 필요할 때에 code[i].current code[i].count code[i].Bid(1) 와 같은 데이터를 받는 방법을 알고 싶습니다.
프로필 이미지
서윤
2016-08-30
1852
글번호 223976