커뮤니티

예스스팟 Q&A

답변완료

엑셀에 데이터를 매일 누적해서 쌓는 방법

엑셀에 데이터를 누적해서 쌓으려 하는데 아래 rayen님 께서 질문하신 내용을 참고하니까 킨 순간부터 끌때까지의 당일 데이터는 누적으로 받아지나, 매일 9시 이전에 키고, 장 마감할때 꺼서 데이터를 매일 누적하고 싶은데 어떤식으로 해야할까요. rayan님처럼 하면 매일 엑셀데이터가 초기화 되네요 일단 이를 해결하기위해 Excel1.GetRowCount함수를 사용해서 현제 엑셀파일의 row를 읽은 후 +1을 해줘서 누적을 하려했는데, 잘 안되는거같네요 var Time; var S; //기초자산(현재가) var r; //무위험이자율 var K; //행사가 var T; //잔존만기 var xlRow; //엑셀의 행 function Main_OnStart() { xlRow =Excel1.GetRowCount(1) + 1; //2번째 행부터 시작 Time = getHHMMSSS(); S = MarketData1.current; //연결선물지수 현재가 r = Option1.RiskFreeRate; K = Option1.GetExercisePrice(0, 0); T = Option1.GetRemainDays(0, 0)/252; Main.SetTimer(1, 5000) } function Main_OnTimer(nEventID) { Time = getHHMMSSS(); S = MarketData1.current; //연결선물지수 현재가 r = Option1.RiskFreeRate; K = Option1.GetExercisePrice(0, 0); T = Option1.GetRemainDays(0, 0)/252; Excel1.SetRowData(1, "A"+xlRow, Time); Excel1.SetRowData(1, "B"+xlRow, S); Excel1.SetRowData(1, "C"+xlRow, K); Excel1.SetRowData(1, "D"+xlRow, Option1.GetCurrent(0, 1)); Excel1.SetRowData(1, "E"+xlRow, Option1.GetCurrent(1, -1)); Excel1.SetRowData(1, "F"+xlRow, Option1.GetRemainDays(0,0)); Excel1.SetRowData(1, "G"+xlRow, Option1.RiskFreeRate); xlRow = xlRow + 1; 에러 메세지가 4개가 뜨는데 1. 엑셀을 정상적으로 호출할 수 없습니다 2. excel1:객체를 생성할 수 없습니다. 3. 엑셀파일에 연결되지 않았습니다. 4. 엑셀을 정상적으로 호출할 수 없습니다. 이렇게 뜨네요
프로필 이미지
퀀트드래곤
2019-05-07
3799
글번호 224852
답변완료

강제청산 로직 부탁드립니다

수고가 많으십니다. 저는 유진예스트레이더를 사용하는데, 손매매 비중도 높습니다. 투자대상은 해외선물입니다. 제가 원하는 수식은 예스트레이더를 이용한 자동매매든지, 손매매든지 상관없이 내 계좌의 당일 손실(청산손실+미청산손실)이 -1000달러에 도달하면 미체결주문은 모두 취소되고 현재 보유중인 계약은 시장가로 강제청산되도록 하고 싶습니다. 위의 "당일 손실"에서 "당일"이라함은 한국시간기준으로 당일이 아니라 해외거래소 거래일기준의 당일입니다. 예를들어 저는 크루드오일을 주로 매매하는데 썸머타임이 적용된 현재기준으로 07:00~익일06:00 까지의 손실을 계산합니다. 수고에 감사드리며, 로직 부탁드립니다.
프로필 이미지
기똥찬
2019-05-07
3254
글번호 224851
답변완료

수정요청드립니다.

안녕하세요. 연결선물 당일청산 차트 신호로 미니선물 진입 청산하는 아래스팟 시스템에서 연결선물 차트의 매수 매도 진입 신호가 여러번 발생하는 차트에서 당일 첫신호로 미니선물 1계약만 진입 나머지 진입신호는 진입 보류하고, 청산시호 발생시 첫신호로 진입한 미니선물 1계약 청산하고 당일 매매종료하는 스팟수식으로 수정 요청 드립니다. 연결선물 매수 첫신호로 미니선물 1계약만 매수진입(추가 매수 진입신호 진입보류) -> 연결선물 매수청산신호 또는 매수 스위칭 반대신호 발생시 첫신호로 청산하고 당일매매종료. 연결선물 매도 첫신호로 미니선물 1계약만 매도진입(추가 매도 진입신호 진입보류) -> 연결선물 매도청산신호 또는 매도 스위칭 반대신호 발생시 첫신호로 청산하고 당일매매종료. (당일 첫진입신호 발생시 진입하고, 진입신호의 첫 반대신호 발생시 청산하고 당일 매매종료) 감사합니다. function Chart1_OnRiseSignal(Signal) { if (Signal.signalKind == 1) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0); } if (Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0); } if (Signal.signalKind == 3) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0); } if (Signal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0); } }
프로필 이미지
dandy
2019-05-13
2920
글번호 224850
답변완료

문의드립니다.

제가 미니다우와 E미니S&P500 2지수을 실시간으로 엑셀로 받아서 괴리를 계산하고 싶은데요... 프로그램에 대해 전혀 몰라서... 설정하는 방법을 알 수 있을까요? 딴 값은 필요없고 저 2지수만 실시간을 받아 엑셀에서 연동만 되면 됩니다.
프로필 이미지
칠곡저격수
2019-05-02
2765
글번호 224849
답변완료

엑셀로 데이터 전송시 주소동적변경 문의

안녕하십니까? 예스스팟에서 엑셀로 데이터 전송시 주소 동적변경 문의 드립니다. var CallIV, PutIV; function Main_OnStart() { Main.MessageList(getYYYYMMDD(),getHHMMSSS(),"--시작--"); var D = new Date(); var hh = D.getHours(); var mm = D.getMinutes(); if (hh > 09 && mm > 01) { Main.SetTimer(1, 1000); Main.MessageList(getYYYYMMDD(),getHHMMSSS(),"--타이머셋--"); } } function Main_OnTimer(nEventID) { if (nEventID == 1) { CallIV = (O1.GetImpliedVolatility(0, 0)+O1.GetImpliedVolatility(0, 1)+O1.GetImpliedVolatility(0, 2))/3; PutIV = (O1.GetImpliedVolatility(1, 0)+O1.GetImpliedVolatility(1, 1)+O1.GetImpliedVolatility(1, 2))/3; E1.SetRowData(1, "A1", CallIV); E1.SetRowData(1, "B1", PutIV); Main.MessageList(getYYYYMMDD(),getHHMMSSS(),"CallIV:",CallIV," /PutIV:",PutIV); var D = new Date(); var hh = D.getHours(); var mm = D.getMinutes(); if (hh>15 && mm>30) Main.KillTimer(1); E1.Save(); } } 위와 같은 수식에서 CallIV와 PutIV를 엑셀파일의 "A1"과 "B1"으로 전송하게 되는데 저렇게 하게되면 데이터가 전송될때마다 동일한 엑셀의 셀에 데이터가 중첩되는 문제가 발생합니다. 이런 문제를 해결하기 위해서 데이터전송 주소를 전송시마다 변경하는 방식이나 엑셀파일에서 VBA로 처리하는 방안을 생각했는데 우선 예스스팟과 연동되는 파일은 매크로엑셀파일(.xlsm)이 아니라 일반엑셀파일(.xlsx)이기 때문에 데이터를 자동연결할 수가 없는 문제가 있습니다. 일반 파일과 매크로 파일을 수식으로 연결한다고 하더라도 자동으로 값이 수정되지 않고 작동시에만 수정하는 문제로 데이터가 따라오지 않았습니다. 그래서 예스스팟에서 데이터 전송 엑셀주소를 1회차 전송시, A1 2회차 전송시, A2 ... n회차 전송시, An 으로 변경하는 동적변경을 할 수 있지 않을까 하는 의문이 들었는데, ""안에 들어가는 값은 텍스트 값으로 수정이 안되는 문제점이 있어서 해결을 못했습니다. 이를 해결할 수 있는 방법이나 새로운 방법에 대해서 알려주시면 감사하겠습니다. 수고하십시오.
프로필 이미지
rayen
2019-04-30
2818
글번호 224846
답변완료

ReqPowerSearch 사용 질문있습니다.

안녕하세요. Spot 초보입니다. 파워종목검색을 통해서 실시간 편입되는 종목을 매수하고 싶은데 YesLanguage나 파워종목검색식에서는 '시가총액' 필터링을 지원하지 않는 것으로 알고 있습니다. 이전 게시글을 보니까 파워종목검색 환경설정에서 시가총액 부분을 설정해야 한다고 하셨는데 궁금한점은 '시가총액' 부분을 파워종목검색 환경설정에서 설정해도 Spot에서 ReqPowerSearch 함수를 이용해서 조건 검색된 종목을 불러올 때 시가총액 부분이 필터링 된 종목들이 불려지는지 입니다. 환경설정 부분에서 설정된 값은 사용자 검색식과 상관 없이 모두 동일하게 적용되는 것 같아 질문드립니다.
프로필 이미지
nollae
2019-04-28
2812
글번호 224845

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

프로필 이미지
머니머니
2019-04-27
5
글번호 224844

지스카드 님에 의해서 삭제되었습니다.

프로필 이미지
지스카드
2019-04-30
13
글번호 224843

스팟에서 다른exe프로그램 실행되나요?

안녕하세요! 스팟에서 예를 들어 스팟시작시에 메모장을 실행하라는 명령을 스팟으로 짤수 있나요? 제 생각에는 가능할꺼같은데 가능한지 알려주세요
프로필 이미지
수다리
2019-04-23
3063
글번호 224838

아래와 같은 작업이 가능한지요??

코스피의 어떤 종목의 가격이 업데이트가 되면 전일봉의 데이터를 기준으로 매수 또는 매도 명령을 내리는 것... 이런 식이 작성이 가능한지요?? 물론 시간 제한에 걸려 100% 실시간 처리할 수 없는 부분은 알고 있습니다. 여기서 중점 내용은 실시간 보다는 모든 종목이 관건이 되겠네요... 즉, 시간 제한에 걸리는 부분은 코드로 제어한다는 가정하에 묻습니다. 질문이 모호하다면 다시 질문하겠습니다. 고수분들 답변 기다리겠습니다.
프로필 이미지
왕경태
2019-04-22
2905
글번호 224835