커뮤니티

예스스팟 Q&A

답변완료

IV 참조

옵션 지표(예스스팟) 작성 시, 해당 종목의 실시간 내재변동성(IV) 값을 Data 변수로 참조할 수 있나요?
프로필 이미지
lala
2026-07-07
42
글번호 232722
답변완료

외가격 풋옵션 매수

아래 내용이 처리될 수 있도록 수식 부탁드립니다.데이트레이딩외가격 PUT 옵션 매수 플레이 순서1. 사전조건 : 코스피200지수선물 고점에서 50포인트 하락 발생2. 140000 이후 PUT옵션 0.02 체결 발생한 행사가에 0.03(1틱 높은 주문 ) 1개 매수 (141459까지 체결 없으면 주문 취소)3. 141500 이후 PUT옵션 0.03 체결 발생한 행사가에 0.04(1틱 높은 주문 ) 1개 매수(142959까지 체결 없으면 주문 취소)4. 143000 이후 PUT옵션 0.05 체결 발생한 행사가에 0.06(1틱 높은 주문 ) 1개 매수(144459까지 체결 없으면 주문 취소)5. 144500 이후 PUT옵션 0.07 체결 발생한 행사가에 0.08(1틱 높은 주문 ) 1개 매수(145959까지 체결 없으면 주문 취소)6. 익절 140000~141459 체결 건 : 8.90 141500~142959 체결 건 : 7.90 143000~144459 체결 건 : 6.90 144500~145959 체결 건 : 5.907. end of day : 151800 (익절이 없을 경우 미결제 모두 청산)항상 고맙습니다.
프로필 이미지
좌오비우오비
2026-07-02
122
글번호 232662
답변완료

외가격 콜옵션 매수

아래 내용이 처리될 수 있도록 수식 부탁드립니다.데이트레이딩외가격 call 옵션 매수 플레이 순서1. 사전조건 : 코스피200지수선물 저점에서 50포인트 상승 발생2. 140000 이후 call옵션 0.02 체결 발생한 행사가에 0.03(1틱 높은 주문 ) 1개 매수 (141459까지 체결 없으면 주문 취소)3. 141500 이후 call옵션 0.03 체결 발생한 행사가에 0.04(1틱 높은 주문 ) 1개 매수(142959까지 체결 없으면 주문 취소)4. 143000 이후 call옵션 0.05 체결 발생한 행사가에 0.06(1틱 높은 주문 ) 1개 매수(144459까지 체결 없으면 주문 취소)5. 144500 이후 call옵션 0.07 체결 발생한 행사가에 0.08(1틱 높은 주문 ) 1개 매수(145959까지 체결 없으면 주문 취소)6. 익절 140000~141459 체결 건 : 8.90 141500~142959 체결 건 : 7.90 143000~144459 체결 건 : 6.90 144500~145959 체결 건 : 5.907. end of day : 151800 (익절이 없을 경우 미결제 모두 청산)항상 고맙습니다.
프로필 이미지
좌오비우오비
2026-07-02
95
글번호 232660
답변완료

관심종목만 검색

장전 08:50에 관심그룹을 한번 검색하고 그룹안에 있는 종목만 예스랭귀지에서 만들어 놓은 조건에 맞으면 매수하는 조건식 부탁드립니다.감사합니다.
프로필 이미지
아미고
2026-07-01
136
글번호 232637

이형지 님에 의해서 삭제되었습니다.

프로필 이미지
이형지
2026-06-30
74
글번호 232620

유로파54 님에 의해서 삭제되었습니다.

프로필 이미지
유로파54
2026-06-30
57
글번호 232619
답변완료

문의

아래는 콜옵션 매수 코드입니다.첫째, 로직요약 및 설명대로 수행되는 코드인지 검토해주십시요.둘째, 풋옵션 매수 코드로 변경한 전체 수식을 작성하여 주십시요.풋옵션 매수코드는 콜옵션 매수 코드와 마찬가지로트리거 가격 0.05 발생하면 1행사가 위 내가격으로 매수하는 내용입니다.항상 고맙습니다.*******************************************************************************************************************************// ■ 1. 핵심 로직 요약 및 설명//// 1) 진입 조건 (10:00 ~ 15:15)// - 하루 중 콜옵션 종목의 현재가가 0.05가 되는 순간, 그보다 1단계 아래 행사가 종목(x-1)인 내가격 종목을 매도 5호가로 1계약 즉시 매수 진입합니다. (당일 단 1회 수행)//// 2) 장중 청산 (익절)// - 보유 중인 옵션 종목이 진입 단가 대비 +2.5 포인트 이상 상승하면 장중에 매수 5호가로 즉시 익절 청산하고 시스템을 종료합니다.//// 3) 장마감 청산// - 오후 3시 15분이 되면 기존에 있던 수익률 제한(+2.5) 조건과 상관없이 현재 남아 있는 보유 잔고를 전량 매도 청산하여 위험한 야간 오버나잇을 완벽히 방지합니다.//// 4) Main.SetTimer / KillTimer// - SetTimer(1, 1000)로 1초마다 시세를 감시하는 타이머를 작동시키고, 청산 완료 시 KillTimer(1)을 통해 시스템을 안전하게 중지합니다.//// 5) Account1.SetBalance// - 주문 연산이나 조건 비교 전, 가상 계좌의 잔고 상태(수량, 포지션 방향, 평단가 등)를 실시간 최신 정보로 갱신·동기화해주는 필수 함수입니다.//// ------------------------------------------------------------------------------------------------------------------------// ■ 2. 소스코드var Order = false, OC; // 주문 여부를 저장하는 Order 변수(초기값 거짓)와 주문 종목 코드를 저장할 OC 변수 선언function Main_OnStart() // 시스템이 시작될 때 최초 1회 실행되는 이벤트 함수{ // Main_OnStart 함수 시작Main.SetTimer(1, 1000); // 1번 타이머를 생성하여 1000밀리초(1초) 간격으로 무한 반복 실행하도록 설정Order = false // 시작 시 주문 여부 변수를 false(주문 없음)로 초기화} // Main_OnStart 함수 종료function Main_OnTimer(nEventID) // 설정한 타이머가 동작할 때마다 호출되는 이벤트 함수 (매초 실행){ // Main_OnTimer 함수 시작var d = new Date(); // 현재 날짜와 시간 정보를 가진 Date 객체 생성HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); // 현재 시간을 시분초 형태의 6자리 정수(예: 15시 15분 00초 -> 151500)로 변환//타이머 100000 이후if (nEventID == 1 && HHMMSS >= 100000) // 작동한 타이머가 1번이고 현재 시간이 오전 10시 정각(100000) 이후일 때 실행{ // 10시 이후 조건문 시작//151500 이전if (HHMMSS < 151500) // 현재 시간이 오후 3시 15분(151500) 이전일 때 실행 (정규장 마감 전 매매 구간){ // 15시 15분 이전 조건문 시작if (Order == false) // 아직 당일 매수 주문이 들어가지 않은 상태라면 실행{ // 매수 탐색 조건문 시작//전체 콜종목 대상for(var x = -Option1.lowersATM; x <= Option1.uppersATM; x++) // 행사가 하한부터 상한까지 모든 콜옵션 종목을 순회하는 반복문{ // 반복문 시작//현재가 0.05 발생if (Option1.GetCurrent(0,x) == 0.05 && Order == false) // 현재 순회 중인 콜옵션의 현재가가 정확히 0.05이고 주문 전이라면 실행{ // 매수 조건 일치문 시작//1내가격종목 매도5호가로 매수주문OC = Option1.GetATMCallRecent(x-1); // 조건이 만족된 행사가보다 1단계 아래 종목(내가격)의 코드를 가져와 OC에 저장Account1.OrderBuy(OC, 1, Option1.GetAsk(OC,5),0); // 해당 종목(OC)을 매도 5호가 가격으로 1계약 매수 주문 전송Order = true; // 주문이 완료되었으므로 주문 완료 상태(true)로 변경break; // 매수가 완료되었으므로 콜옵션 순회 반복문을 즉시 빠져나감} // 매수 조건 일치문 종료} // 반복문 종료} // 매수 탐색 조건문 종료// 매수후 2.5이상 수익이면 청산if (Order == true) // 이미 매수 주문이 완료된 상태(보유 중)라면 실행{ // 장중 청산 조건문 시작Account1.SetBalance(OC,0); // 현재 주문된 종목(OC)의 잔고 정보를 업데이트하여 Account1.Balance에 동기화if (Account1.Balance.count > 0 && Account1.Balance.position == 2 &&Account1.Balance.current >= Account1.Balance.avgUnitCost+2.5) // 잔고 수량이 있고, 매수 포지션(2)이며, 현재가가 매수단가보다 2.5포인트 이상 상승했을 때{ // 익절 실행 조건문 시작Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,Option1.GetBid(Account1.Balance.code, 5),0); // 보유 종목을 매수 5호가 가격으로 전량 매도 주문(익절 청산)Main.KillTimer(1); // 청산이 완료되었으므로 매매를 종료하기 위해 1번 타이머를 제거} // 익절 실행 조건문 종료} // 장중 청산 조건문 종료} // 15시 15분 이전 조건문 종료else //151500 이후 (오후 3시 15분 정각 또는 그 이후 시점){ // 오후 3시 15분 이후 조건문 시작//청산if (Order == true) // 아직 청산되지 않은 당일 매수 포지션이 존재한다면 실행{ // 장마감 동시청산 시작Account1.SetBalance(OC,0); // 현재 보유 종목(OC)의 잔고 데이터를 최신으로 업데이트if (Account1.Balance.count > 0 && Account1.Balance.position == 2) // 수익률 조건 체크를 제거하고, 매수 잔고가 존재하기만 하면 실행{ // 장마감 강제청산 실행Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,Option1.GetBid(Account1.Balance.code, 5),0); // 보유 종목을 매수 5호가 가격으로 전량 매도하여 당일 포지션 오버나잇 방지} // 장마감 강제청산 종료} // 장마감 동시청산 종료Main.KillTimer(1); // 당일 매매 일과가 완전히 종료되었으므로 1번 타이머를 해제하여 시스템을 최종 정지} // 오후 3시 15분 이후 조건문 종료} // 10시 이후 조건문 종료} // Main_OnTimer 함수 종료
프로필 이미지
좌오비우오비
2026-06-29
467
글번호 232599
답변완료

입문자 - 예스 스팟,트레이딩 기능 구현 질문

안녕하세요.처음으로 예스 스탁(트레이딩,스팟)을 알아보고 있습니다질문은 예스 스팟으로1. 선물 데이터를 참조로 주식 실시간 자동매매 기능 구현 가능한가요?2. 만약 1번이 가능하다면 백테스팅(선물 참조 주식매매)기능도 가능할까요?3. 혹시 1~2가 예스스팟으로 안된다면 가능 방법은 있을까요?
프로필 이미지
쭈니 서울
2026-06-28
367
글번호 232595

유로파54 님에 의해서 삭제되었습니다.

프로필 이미지
유로파54
2026-06-26
8
글번호 232588
답변완료

ReqMarketData -> OnRcvMarketData 0틱 현상 문의

​안녕하세요. 예스스팟을 이용 중인 사용자입니다.​장중에 스크립트에서 Main.ReqMarketData(종목코드)로 실시간 시세를 등록하면, **리턴값은 정상(양수, -1 아님)**으로 나옵니다.​하지만 그 이후 **Main_OnRcvMarketData 이벤트가 단 한 번도 발생하지 않는 현상(0틱)**이 지속되고 있습니다.​동일한 시점에 일반 HTS 내장 주문창이나 관심종목 창에서는 해당 종목의 현재가가 실시간으로 정상 변동하는 것을 확인했습니다. 스크립트에서 30초마다 ReqMarketData를 재등록하도록 유도해도 마찬가지로 0틱 상태가 유지됩니다.​이와 관련하여 기술적 답변을 요청드립니다.​1. 추가적인 권한이나 설정이 필요한지:스크립트 영역에서 OnRcvMarketData로 실시간 시세를 받으려면, 일반 HTS 시세 외에 추가로 필요한 요건이 있습니까? (예: ① 실시간 시세 수신 권한/레벨 별도 신청, ② 계좌/시세 사용 설정에서 별도로 활성화해야 할 항목 등)​2. 종목 객체 보관(참조) 관련:ReqMarketData로 받아온 시세 객체(MarketData)를 전역 변수나 배열(예: MK.push(MarketData))에 명시적으로 보관해야만 이벤트가 유지되는 구조입니까? 전역 배열 보관 처리가 빠진 채 코드만 쓰면 가비지 컬렉션 등으로 인해 예스스팟 엔진이 콜백을 주지 않을 수도 있는지 확인 부탁드립니다.3. ​기타 원인:OnRcvMarketData 외에 다른 콜백 함수명이나 수신 조건을 사용해야 하는 경우가 있는지 답변 바랍니다
프로필 이미지
megapro
2026-06-19
364
글번호 232507