커뮤니티

예스스팟 Q&A

답변완료

엑셀 객체 사용 방법 및 챠트 데이터, 옵션 객체 사용법 등 문의

앞의 답변에 이어서 질문 드립니다.예스스팟 자체에서 만들어낸 데이터를 data manager를 통해(입력하여) 그것을 챠트에 같이 보거나 겹치게 한다던가 하면서 로직상으론 분석을 해서 그것으로 챠트상에는 신호가 나오도록 하고 그러고 싶었는데, 그것이 쉽지 않다면 떠오르는 대안으로는 생성한 데이터들을 엑셀로 보내서 엑셀에 저장하여 챠팅을 하고, 복잡한 분석도 하고, 그 결과값을 다시 예스스팟에서 읽어와서 주문에 활용하는 등의 흐름과 같이 우회적인 걸 생각하게 됩니다.그래서, 다음과 같은 질문 을 추가적으로 드리면,1) 예스스팟에서 엑셀 객체로 엑셀에 데이타를 양방향으로 처리 가능한 것 같은데, 예스스팟과 엑셀 파일이 연결된 상태에서 데이타메니저와 이 엑셀 파일이 DDE로 연결되서 data manager로 데이터를 입력해 줄 수 있을까요?2) chartex나 reqchartitem으로 data1 ~ dataN을 코드상에서 추가 변경 삭제가 가능할까요?3) 추가 삭제 등이 가능하다면, 개별 패널이 아니라 같은 패널에 중첩해서 볼 수 있게 설정할 수 있을까요? (예: data2, data3 등 추가시에 data1과 가격 공유하는 형태로)4) doc로 된 스팟 메뉴얼 뒷 부분에는 엑셀 객체를 사용한 참고용 코드가 없던데, 스팟에서 엑셀에 읽고 쓰는 것을 하는 예제를 얻을 수 있을까요?5) 월간옵션, 주간옵션을 선택하고자 할 경우, 스팟 코드 내에서 상품을 임의로 지정할 수 있나요? 대략 훑어본 바로는 월간, 주간(월), 주간(목)을 모두 보려면 객체를 미리 3개를 다 열어놓고 데이타에 접근해야 하는 걸까요?6) 특정 종목(예:옵션 특정 종목)의 현재 시고저종은 MarketData 객체로 받을 수 있는데, 1분이나 초단위 타임프레임으로의 과거(당일) 시세(특정 시간부터 원하는 시간까지)를 받는 것은 어떤 방법으로 할 수 있을까요? 예를 들어, 예스랭귀지에서 Close[10]과 같이 가져오려면 어떻게 가능할지, 그리고 하나씩이 아니라 아예 배열로 한꺼번에 가져올 수도 있는 지요? 7) 시세 데이타가 아니라 변수의 과거 데이타도 예스랭귀지처럼 조회하는 방법(예: tprice = (h + l + c)/3; 에서 tprice[3]을 조회하는 것처럼)이 예스스팟에서는 어떻게 해야할까요?8) 여러 옵션 종목들의 직전 봉 종가대비 현재가의 차이를 구하기 위해서 data1(예:선물)에서 새로운 봉이 발생했을 때 해당 복수의 옵션 종목들의 데이타들을 조회하려면 어떻게 해야 하나요? 메리 크리스마스 되세요~
프로필 이미지
온고지신
2025-12-24
88
글번호 229320
답변완료

조건검색 문의

조건검색식에서 환기종목 거를 수 있는 시스템은 없을까요?
프로필 이미지
사공하늘
2025-12-22
82
글번호 229270
답변완료

[미처리 주문 조회 및 처리] 예스스팟 코드 작성 부탁드립니다.

감사합니다.
프로필 이미지
머신트레이더
2025-12-22
98
글번호 229241
답변완료

예스스팟에서 외부 exe화일 실행시 파라메터까지 전달해서 실행 가능할까요?

예스랭귀지쪽에선 신호 하나당 매수 매도 신호 하나당 하나의 사운드 화일 맵핑이 한계이다보니, 예스스팟으로 일괄적으로 TTS를 호출해서 모니터링해주는 기능을 구현해보고 싶은데, 기본적으로 외부 exe를 호출할 수 있는 지 궁금합니다. 만약 불가능하다면, 예스챠트 상에서의 지표값을 예스스팟이 인식을 할 수는 있을까요? 예스스팟으로 사용자 지표를 다시 구현하지 않고 챠트에 적용된 지표의 값이 변하는 순간에 인식하고 처리할 수 있는 지 궁금합니다.
프로필 이미지
온고지신
2025-12-22
81
글번호 229240
답변완료

예스스팟 편집기가 켜져있냐 꺼져있냐에 따라 실행결과가 다릅니다.

코딩을 몰라서 AI와 대화해서 겨우겨우 코드를 다 짰는데 프로그램이 될 때도 있고 안될때도 있어서 의아했습니다.코드는 아래와 같습니다.// =========================================================// [텍스트 버전] 연결 실패 경고 기능 추가// =========================================================var CHECK_INTERVAL = 1000;var last_count = -1; function Main_OnStart(){ Main.MessageList("시스템 시작 (DB 연결 시도중...)"); // 1. 초기 데이터 개수 파악 var sql = "COUNT(*) FROM trade_signals"; var cond = DataBase1.Select(sql, "TradingDB"); if (cond == true) { try { DataBase1.MoveFirst(); var cnt = DataBase1.GetFieldValue(0); if (!isNaN(cnt)) { last_count = Number(cnt); Main.MessageList("DB 연결 성공. 현재 데이터: " + last_count + "개"); Main.MessageList("실시간 감시를 시작합니다."); } } catch (e) { Main.MessageList("초기 데이터 읽기 오류 (0개로 설정)"); last_count = 0; } // 연결 성공 시에만 타이머 시작 Main.SetTimer(1, CHECK_INTERVAL); } else { // ★ 여기가 문제입니다. 이 메시지가 뜨면 ODBC 연결 설정 확인이 필요합니다. Main.MessageList("[오류] DB 연결 실패. DSN 이름(tradingdb)을 확인하세요."); Main.MessageList("타이머가 시작되지 않았습니다."); }}1번은 스팟편집기 실행 -> 전략 실행(성공) -> 편집기 종료 -> 연결 끊김(실패)2번은 스팟편집기 종료된 채로 전략 실행(실패)3번은 스팟편집기 실행 후 전략 실행(성공)스팟 편집기 유무에 따라 전략실행이 좌우되는게 맞는지 뭔가 잘못된건지 궁금해서 글을 올립니다.
프로필 이미지
오전만트레이딩
2025-12-20
88
글번호 229231

오전만트레이딩 님에 의해서 삭제되었습니다.

프로필 이미지
오전만트레이딩
2025-12-16
22
글번호 229081
답변완료

익절시 지정가 주문이 가능하도록 코드 수정부탁드립니다

업무에 수고가 많으신데.....먼저 감사합니다자동을 매매를 돌리면 익절에서 시장가 매도 주문으로 처리되고 다 팔렸는데도 다시 매도 주문이 계속해서 발생하는데 익절시지정가 매도 주문이 되도록 부탁드립니다.바쁘시더라도 잘 살펴보시고 꼭 부탁드리겠습니다if (nEventID == 1) { var num = Account1.GetTheNumberOfBalances(); // 장중 09:00 ~ 09:02 if (HHMMSS >= 090000 && HHMMSS < 090300) { if (num >= 1) { // 계좌 전체 +5% 수익 시 전량 매도 if (Account1.GetBalanceETCinfo(100) >= V1 * 1.05) { Main.KillTimer(1); for (var i = 0; i < num; i++) { Account1.SetBalance(i); if (Account1.Balance.count > 0) { // 시장가 매도 Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, 0, 1); } } } else { // 개별 종목 익절/손절 for (var i = 0; i < num; i++) { Account1.SetBalance(i); if (Account1.Balance.count > 0) { // 손절 조건 (손해일 때): 무조건 시장가 매도 if (Account1.Balance.current <= Account1.Balance.avgUnitCost * 손절) { Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, 0, 1); } // 익절 조건 (수익일 때): 시장가 또는 지정가 매도 가능 else if (Account1.Balance.current >= Account1.Balance.avgUnitCost * 익절) { // 시장가 매도 예시 //Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, 0, 1); // 지정가 매도 예시 (주석 해제 시 지정가 매도됨) Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, Account1.Balance.current, 1); } } } } } }
프로필 이미지
강자친구
2025-12-15
100
글번호 228995
답변완료

화면꺼짐

예스스팟 스튜디오 화면에서기존 4개파일이 있는 중 한 파일을 작성 후 검증하면 화면이 꺼져버립니다.그래서 먼저 저장해보니 전략 밑부분에 저장은 되어 있읍니다.다시 화면 켜서 저장된 걸 불러서 검증해봐도 화면이 또 꺼집니다.원인과 해결책 부탁합니다.
프로필 이미지
ksks
2025-12-14
94
글번호 228990
답변완료

참조데이터 지원 여부 및 확장 챠트 기능 문의

1. 전략실행챠트에서 참조종목으로 볼 수 있는 데이타를 예스스팟에서도 모두 다 조회 가능한 지 궁금합니다. 참조데이터 객체에서 nCategory 입력에 이것 저것 입력해 보면서 뽑아보면 될까요? 기존의 YesSpotHelp.doc에 있는 내용이랑 챠트에서의 메뉴랑 조금 차이가 있어서 어떤 값을 넣었을 때 원하는 값을 얻어올 수 있을 지 정확히 모르겠네요.2. 참조데이터들 중에 데이터 업데이트 기간이 10초 짜리도 있고 1분30초 짜리도 있고 다양하고 각각이 실제로 들어오는 시차도 몇 초 차이도 발생하기도 해서, 수동으로 1초 간격으로 조회하는게 아니라 이 데이터가 들어올 때 즉시 수신해서 변수나 데이타베이스 객체나 엑셀 객체를 통해 저장했다가 참조데이타 수신들이 모두 다 들어왔다고 판단될 때에 그들을 갖고 계산한 값들을 가상의 심볼 처럼 처리하는 개념으로 확장챠트 같은 거에 일정 시간에 한번씩 데이타를 넣어서 (또는 데이타 베이스에 넣어서 그것을 챠트가 읽게 하든가) 시각화 시키는 것을 하였으면 합니다. 일전에 종목 챠트들을 스팟에서 내부적으로 만들어서 전체 보기 눌러서 보았다가 숨겼다가 했던 적은 있었는데 기존에 있는 종목이 아닌 제가 계산한 값을 챠트화 시키고 그것을 원할 때 시각적으로 볼 수 있는 방법이 있을 지, 있다면 어떤 방법으로 할 수 있을 지 문의 드립니다. 3. 위 2번과 같이 자체 생성한 값을 스팟의 기능으로 궁극적으로 챠트에 표시가 가능하다면(data1에 해당되는 걸 만들 수 있다면 best이겠지만, 그게 안된다면 지표화 한 것처럼 표시가 되도 됩니다. 즉, 변수에서 직접이든 데이타베이스나 엑셀을 통해 저장했다가 그 값들을 조회해서 지표화 시키고 그 값들을 data1에서 지정된 타임프레임마다 조회만 되어도 좋습니다.) 그것을 통해서 시스템이 동작되도록 하거나, 아니면 수동 거래용으로 참조할 수 있게 챠팅만 되어도 좋겠습니다. 가능할까요? 예를 들어 스팟에서 엑셀이나 데이타베이스에 접근해서 불러온 데이타를 어떻게든 표시할 수 있는 방법만 있다면 가장 좋을 것 같습니다.4. 그리고, 참조데이타가 주기적으로 새로 들어올때 해당 데이타의 타임스탬프가 같이 들어올까요? 예를 들어 9시03분 데이터인데 실제 도착은 9시03분03초에 도착했지만 9시03분00초에 발생한 데이타라는 정보가 함께 조회가 가능한지 여쭤봅니다.5. GetInvestorInfoDate를 실행하면 결과값이 날짜만 나오나요? nIndex에 0을 넣으면 현재 조회한 데이터가 언제(분초 단위) 발생한 것인지 알 수 있을까요?6. GetInvestorInfoCount()를 실행하면 어떤 것에 대한 수신 개수 일까요? 7. datamanager라는 걸 통해서 사용자 종목을 만들어서 챠팅이 가능한 거 같던데, 데이타 입력부터 (데이타 포맷, 방법 등) 실시간 업데이트 방법(DDE로만 되는지, 예스스팟 로직에서도 데이타메니저에 바로 데이터 추가가 가능한지) 등 구체적인 내용에 대해 설명된 자료가 있을까요? 예스스탁 홈페이지의 주요기능에서는 소개 내용만 있어서 자세한 내용을 몰라 모든걸 맨땅에 헤딩으로 알아내기 보다는 도움말이나 메뉴얼 같은게 있으면 합니다. 그리고, 1분 타임프레임만 지원하는거 같던데 틱 이라고 종목 추가시 선택하고 분, 일 체크박스에 체크하면 초단위 챠트도 나올 수 있은 것인지, 아니면 틱이라고 해서 디테일한 데이터를 넣으면 분과 일 타임프레임도 자동으로 만들어 주신다는 건지 등도 궁금합니다. 물론 초챠트가 있으면 정말 좋겠습니다. 8. datamanager를 통해 만드는 사용자 종목을 data1에 적용할때, 매 정각(예:매 1분 마다)이 아니라, 예를 들어, 9시 1분 3초, 2분 3초 등으로 봉 완성 시점을 정각이 아닌 몇초 뒤로 완성이 되게 할 수는 있을까요? 예를 들어 실제 시각은 현재 9시 2분 03초지만 데이타 메니저에 시각 데이터를 9시 01분 59초 라고해서 계속 업데이트 하다가 원하는 시점에 9시 02분 00초라고 해서 넣으면 그떄가 봉의 종가 완성되는 시점으로 해서 그때서야 다음 봉 생성이 되도록 하게 할 수 있는 지와 같은 내용입니다.언제나 노고에 감사드립니다.
프로필 이미지
온고지신
2025-12-13
129
글번호 228974

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

프로필 이미지
빨간벽돌
2025-12-12
9
글번호 228925
0