커뮤니티

예스스팟 Q&A

답변완료

문의 드립니다.

항상 친절하신 답변에 깊이 감사드립니다. "스팟으로 이동평균값을 구해서 이용할 수 있는 방법"을 공부하고 있습니다. 제가 알고자 하는 것은, 굳이 차트에서의 이평선 값을 이용하는 것이 아니라, "스팟 자체에서 이평선 값을 구해서 이용하려면 어떻게 하면 되는가" 하는 것입니다. 아래의 3가지 질문을 올리오니, 알려 주시면 대단히 감사하겠습니다. 1. 현재, 차트에서 본다면, 200 이평선 위에 가격이 존재하는데, 이럴 때는 매수포지션만 보유하고, 매도포지션은 생성이 안 되게 하고 싶습니다. 만일 "현재 가격이 200 이평선 위" 수준인데, 잔고에 롱포지션도 없는데 미체결 매도주문이 있다면 그 것이 몇 개든 다 취소하고 싶고, 잔고에 롱포지션이 가령 두 계약이 있다 그러면, 그 것을 매수청산할 수 있도록, 두 계약 매도할 수 있는 미체결 매도주문만 남기고 나머지 미체결 매도주문은 다 취소해 버리고 싶습니다. 가능한 대로 "차트 쪽의 신세를 지지 않고 최대한 스팥 소스를 이용해서, 가격이 200 이동평균값 이상일 때는 미체결 매도주문을 취소"하려면 어떻게 소스를 짜는 것이 좋을지요? 2. 차트에서 매수진입신호가 왔을 때에, "스팟 식으로만 100 이평 값을 구해서 신호가격과 스팟에서의 이평가격을 비교해서 신호가격이 이평가격보다 높아야 스팟으로 매수주문"을 내고, 차트에서 매도진입신호가 왔을 때, "스팟에서 계산한 100 이평값보다 그 매도진입신호가격이 낮아야 스팟으로 매도주문"을 내는 식으로 하려면 어떻게 하면 좋을지요? ((예를 들자면, 차트에서 Buy신호가 발생했을 때에, 그 때 진입신호가격이 가령 245 라고 했을 때, 그 값이 100 이평선 값 위에 있으면, 가령 100 이평 값이 238이라면, 이 때는 실제로 매수주문을 내고, 만일 100 이평선이 그 진입신호가격보다 위라면, 가령 100 이평 값이 251이라면, 이 때는 매수신호를 무시하고 하는 것과 같은 식을, 최대한 차트에서 보내 주는 신호[정보]보다는, 스팥 자체로 해결하는 방법을 알고 싶습니다)) 3. 가급적이면 차트에의 의존을 줄이고 스팟으로 처리하는 비중을 높여 보려고 하는데, 아주 간단한 예로, 차트를 이용하지 않고, "스팟으로만, 가령 50 이평선과 200 이평 골든크로스에 매수, 데드크로스에 매도" 하는 수식을 부탁드리고 싶습니다. 대단히 감사합니다.
프로필 이미지
즐겁게
2013-08-15
1177
글번호 222507
답변완료

예스스탁을 통해 데이터를 불러오고 있는데 문제가 있습니다.

먼저 MarketData 객체의 시가를 불러오는 MarketData.open 값이 시가가 0으로 출력됩니다. 사용된 종목은 kospi200 종합과 연결선물지수 입니다. 또 Option 객체에서 GetOpenByCode()를 통해 시가를 불러오는 데 같은 증상입니다. 테스트는 9시00분 부터 0.1초 주기로 갱신 프로세스를 돌렸지만 0이란 값만 계속 리턴되었습니다. 연결선물지수는 시가를 제대로 받아왔습니다. kospi200 종합과 옵션 최근월물 전체가 다 받지 못하였습니다. 수정 부탁드립니다.
프로필 이미지
절대시스템
2013-08-13
1097
글번호 222504
답변완료

부탁드립니다

수고 많습니다. 1.시초가 돌파하면 옵션2.0의 양매도가 될 수있게 해 주세요. 2.시초가 도라하면 옵션 2.0의 양매수가 될 수잇게 해주세요. 감사합니다
프로필 이미지
먼지의추억
2013-08-12
1054
글번호 222500
답변완료

수동 주문한 미체결 주문 취소

수동으로 주문을 내고 체결이 되면 즉, 계좌에 종목이 추가되면 청산 로직이 동작하도록 하는 스팟 로직을 사용하고 있습니다. 계약을 추가해서 진입시켜도 스팟이 계좌를 체크하여 평균단가를 기준으로 청산이 진행되도록 동작하고 있습니다. 추가로 주문을 넣었는데 추가 주문은 체결되지 않고 목표 청산 가격에 도달하여 청산을 시작하게 되었을 때 현재 미체결 추가 주문은 취소되도록 하고 싶습니다. 예를 들어,아래와 같은 상황이 순차적으로 일어난다고 가정해보겠습니다. 1) 수동으로 1계약 250에 매수 진입 후 1계약을 251에 추가 매수 체결 (스팟에서 첫번째 체결이 들어오면서 동작 시작했고 현재 평균단가 250.5를 기준으로 2p 도달하면 청산합니다.) 2) 스팟이 동작을 시작한 상태에서 수동으로 250에 1계약 그리고 250.5에 1계약을 추가로 주문을 넣습니다. 3) 추가로 주문 넣은 2계약은 체결되지 못하고 2p 청산 기준에 도달하여 청산 로직 동작 위의 경우에 3)번 상황에 왔을 때 수동으로 추가 주문한 2계약의 미체결 주문을 스팟에서 확인하고 취소할 수 있는지요?
프로필 이미지
곰탈
2013-08-09
1091
글번호 222498
답변완료

차트 띄우기

예스스팟으로 옵션 종목을 매매하는 과정에서 해당 옵션 차트를 띄우는 방법을 알고 싶습니다. 두 가지 질문입니다. 1) 옵션 매수 진입 시에 해당 옵션 종목 차트 띄우기 2) 차트를 띄운 후 차트 상에 스팟의 매수와 청산 신호를 표시할 수도 있나요?
프로필 이미지
곰탈
2013-08-09
1068
글번호 222497
답변완료

문의 드립니다.

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

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

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

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

프로필 이미지
logos
2013-08-06
32
글번호 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
586
글번호 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
634
글번호 222486