커뮤니티
예스스팟 Q&A
답변완료
IV 참조
옵션 지표(예스스팟) 작성 시, 해당 종목의 실시간 내재변동성(IV) 값을 Data 변수로 참조할 수 있나요?
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 님에 의해서 삭제되었습니다.
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 님에 의해서 삭제되었습니다.
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 외에 다른 콜백 함수명이나 수신 조건을 사용해야 하는 경우가 있는지 답변 바랍니다
2026-06-19
364
글번호 232507