커뮤니티

예스스팟 Q&A

답변완료

수식 문의 드립니다.

안녕하세요 새해 복많이 받으세요 질문 드립니다. 1. 차트객체를 불러오지 않고 1분선물차트와 동일한 시간 간격으로 종목 데이타를 불러와 차트와 동일한 효과를 볼 수 있나요? 2. 1분 선물 종목의 ATR(30) 및 Baseline = 0.5를 spot식으로 작성하려면 어떤 코딩을 해야되나요? 빠른 답변 부탁드립니다. 감사합니다.
프로필 이미지
삼룡이
2018-01-07
2603
글번호 224301
답변완료

질문드립니다.

제가 틱차트를 보고있고 100틱차트입니다. 틱은 1거래로 계산하여 화면에 띄워지는데, 그렇다면 현재 시스템이 적용되어있는 100틱 차트에서 100틱 캔들이 완성되기 바로직전 99틱을 카운트하여 99틱째 매수,매도 신호가 나오게 할 수 있나요? 시스템 예스랭귀지의 경우 현재캔들이 완성되었을때지만 그것보다 1틱정도 빠르게 하는것이죠
프로필 이미지
stockric
2018-01-04
2641
글번호 224297
답변완료

문의드립니다.

1. 예스트레이더 연결선물신호(이평선 매수매도)로 가장 거래대금이 많은 ELW사는 것(매수진입이면 KOSPI200콜, 매도진입이면 KOSPI200 풋) 예제 부탁드립니다. 아래는 선물 매수신호로 등가옵션 콜매수하는 예제인데요. 이거랑 많이 차이가 나나요? /*선물 매수신호시 등가옵션 콜매수 선물 매도 신호시 등가옵션 풋 매수 청산신호시 해당옵션 청산*/ //실행해야 할 모든 내용은 이벤트 안에 입력하셔야 합니다. //추가로 시그널종류(Signal.signalKind)는 이벤트 발생시 인지가 되고 휘발성입니다. //그러므로 OnRiseSignal시그널 발생시에 처리되는 내용이 아니라면 //변수에 최근 발생한 시그널종류를 저장하고 이용하셔야 합니다. var Start; var BuyC_Code; var BuyP_Code; var SellC_Code; var SellP_Code; var kind; function Main::[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnStart() { Main.MessageLog("시작"); Start = 0; } function C1::OnRiseSignal(Signal) { Kind = Signal.signalKind Main.MessageLog("신호완성/"+Signal.signalKind); if (Signal.signalKind == 1)//선물챠트에서 매수신호발생하면 콜 매수 { Start = 1; BuyC_code = Option.GetATMCallRecent(0); var BuyC_price = Option.GetBidByCode(BuyC_Code, 2); A1.OrderBuy(BuyC_Code, vol, BuyC_price, 1); Main.MessageLog("등가콜매수"); } if (Signal.signalKind == 3)//선물챠트에서 매도신호발생하면 풋 매수 { Start = 1; BuyP_code = Option.GetATMPutRecent(0); var BuyP_price = Option.GetBidByCode(BuyP_Code, 2); A1.OrderSell(BuyP_Code, vol, BuyP_price, 1); Main.MessageLog("등가풋매수"); } if (Start = 1 && Signal.signalKind == 2) //선물챠트 매수 청산신호발생하면 콜 매수 청산 { var BxC_price = Option.GetBidByCode(BuyC_Code, 2); A1.OrderSell(BuyC_Code, vol, BxC_price, 1); Main.MessageLog("등가콜청산"); } if (Start = 1 && Signal.signalKind == 4) //선물챠트 매도청산신호발생하면 풋 매수 청산 { var BxP_price = Option.GetBidByCode(BuyP_Code, 2); A1.OrderSell(BuyP_Code, vol, BxP_price, 1); Main.MessageLog("등가풋청산"); } } [출처] [예스스팟] 선물차트참조 옵션매수 (시스메틱 트레이더) |작성자 시스메틱
프로필 이미지
잡다백수
2017-12-29
2646
글번호 224294
답변완료

예스신호도 이용할 수 있습니까?

예스스팟에서 예스신호를 받아 이용할 수 있나요?
프로필 이미지
다니엘87
2017-12-28
2590
글번호 224293
답변완료

예스트레이더 연결 끊어졌을 때 예스스팟에서 알 수 있는 방법

안녕하세요. 인터넷이 일시적으로 끊어졌다가 연결되더라도 예스트레이더는 연결이 끊어져서 "재접속"이 뜨는 것으로 알고 있습니다. 재접속해야 하는 상황을 예스스팟에서 알 수 있나요? 실제 재접속이 떠있는 상황에서도 예스스팟은 여전히 MarketData.current를 인식하고 있고, 대부분의 함수가 정상 동작합니다. 질문: 재접속이 뜨면 예스스팟에서 이를 알 수 있는 방법은 무엇인가요? 예를 들어, 시세 데이터를 가져올 때 MarketData.current 값이 null이 되거나 그런 것이 있는지요?
프로필 이미지
곰탈
2017-12-26
2725
글번호 224292

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
퀀텀프로
2017-12-24
18
글번호 224291
0

에쓰엠씨 님에 의해서 삭제되었습니다.

프로필 이미지
에쓰엠씨
2017-12-22
0
글번호 224290

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

프로필 이미지
상현
2017-12-21
5
글번호 224283
답변완료

추가질문에 답변

[1606]번글 추가질문에 답변 좀 부탁드립니다.
프로필 이미지
이심전심
2017-12-19
2696
글번호 224282
답변완료

다음날 청산 되는 수식

아래 수식은 전일 15시 10분에 매도하여 다음날 15시 5분에 청산하는 수식입니다. 그런데 실전에서는 당일 15시 10분에 주문(매도)이 되나 다음날 15시 05분에 청산이 안되는데 뭐가 잘못되었는지 수정 부탁합니다. var CallOrderCode,PutOrderCode; var Entry, Exit; function Main_OnStart() { Entry = false; Exit = false; Main.SetTimer(1, 5000); } function Main_OnTimer(nEventID) { if (nEventID <= 1) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //15시 10분 if (Entry == false && HHMMSS >= 151000 ) { Entry = true; //차트가 무포지션 if (Chart1.GetOpenContracts() == 0) { Main.SetUserValue("CallOrderCode", ""); Main.SetUserValue("PutOrderCode", ""); } //차트가 매수유지봉 if (Chart1.GetOpenContracts() > 0) { Main.MessageList("--------------------------------------------"); Main.MessageList("매수신호유지"); var UNum = Option.uppersATM; var LNum = Option.lowersATM; ================================ 중략 ======================================== //종목을 찾았으면 if (CC < 99999999 && PP < 99999999) { Account1.OrderSell(CallOrderCode, 1, 0, 1); Account1.OrderSell(PutOrderCode, 1, 0, 1); Main.SetUserValue("CallOrderCode", CallOrderCode); Main.SetUserValue("PutOrderCode", PutOrderCode); } } } //15시 5분 if (Exit == false && HHMMSS >= 150500 ) { Exit = true; //내부파일의 값을 가져와 변수에 저장 var PreDayCall = Main.GetUserValue("CallOrderCode"); var PreDayPut = Main.GetUserValue("PutOrderCode"); //PreDayCall에 값이 있으면 if (PreDayCall != "") { //잔고셋팅후 매도포지션이면 청산하고 //내부파일의 값을 빈공간으로 만듬 Account1.SetBalanceItem(PreDayCall,0) if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count, 0, 1); Main.SetUserValue("CallOrderCode", ""); } } //PreDayPutl에 값이 있으면 if (PreDayPut != "") { //잔고셋팅후 매도포지션이면 청산하고 //내부파일의 값을 빈공간으로 만듬 Account1.SetBalanceItem(PreDayPut,0) if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count, 0, 1); Main.SetUserValue("PutOrderCode", ""); } } //모두 수행후 값을 빈공간으로 만듬 Main.SetUserValue("CallOrderCode", ""); Main.SetUserValue("PutOrderCode", ""); } //콜매도, 풋매도 금액의 합으로 +500000원 익절, -500000원 손절 if (HHMMSS < 150500) { // 옵션매도포지션 전체 손익계산 var num = Account1.GetTheNumberOfBalances(); var PLsum = 0; for(var i = 0; i < num; i++) { //잔고셋팅 Account1.SetBalanceIndex(i); //매도포지션이고 옵션종목이고 if (Account1.Balance.position == 1 && (Account1.Balance.code.substring(0,1) == "2" || Account1.Balance.code.substring(0,1) == "3")) { //각 옵션매도종목의 (평균단가-현재가)*수량*50만원을 누적 PLsum = PLsum + ((Account1.Balance.avgUnitCost - Account1.Balance.current)*Account1.Balance.count)*500000; } } //손익이 +50만원이상이거나 -50만원 이하이면 if (PLsum >= 500000 || Plsum <= -500000) { for(var i = 0; i < num; i++) { //잔고셋팅 Account1.SetBalanceIndex(i); //매도포지션이고 옵션종목이고 if (Account1.Balance.position == 1 && (Account1.Balance.code.substring(0,1) == "2" || Account1.Balance.code.substring(0,1) == "3")) { Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count, 0,1); } } } } } }
프로필 이미지
팡팡
2017-12-14
2699
글번호 224278