커뮤니티

매수종목에 대한 정보 저장 문의

프로필 이미지
훈sys
2016-05-10 15:37:53
1628
글번호 223900
답변완료
파워종목검색 후 검색결과로 나온 종목을 매수하는 스팟식을 작성중입니다 종목별 진입시간과 진입이후 최고가를 저장해놓고 스팟식을 시작할 때마다 보유종목리스트 조회해서 각 보유종목별 진입시간, 진입이후 최고가를 불러내서 사용하고 싶습니다 답변 주시면 감사하겠습니다
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-06-02 19:14:00

안녕하세요 예스스탁입니다. 스팟의 변수는 휘발성입니다. 프로그램이 종료되면 사라지므로 Main.SetUserValue(sName, sValue)라는 함수를 이용해 해당 값들을 내부파일에 저장하셔야 합니다. 아래 내용 참고하시기 바랍니다. var MK = []; var rcv; //스팟 시작시 function Main_OnStart() { rev = 0; //잔고보유종목 종목객체 모두 요청 var num = Account1.GetTheNumberOfBalances(); for (var i = 0; i < num; i++) { Account1.SetBalance(i); if (Account1.Balance.count > 0) { //종목객체 요청 Main.ReqMarketData(Account1.Balance.code); } } } //계좌에 변동발생 function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID) { //계좌에 새로운 종목 추가 if (sAccntNum == Account1.number && lUp*dateID == 30001) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); var YYYYMMDD = d.getFullYear()*10000+(d.getMonth()+1)*100+d.getDate(); //진입날짜를 내부파일에 date종목코드를 이름으로 저장 //예를 들어 삼성전자이면 D035930 과 같이 변수명을 만들어 값을 저장 Main.SetUserValue("D"+sItemCode,YYYYMMDD); //진입시간을 내부파일에 date종목코드를 이름으로 저장 //예를 들어 삼성전자이면 T035930 과 같이 변수명을 만들어 값을 저장 Main.SetUserValue("T"+sItemCode,HHMMSS); //진입시간을 내부파일에 HH종목코드를 이름으로 저장 //예를 들어 삼성전자이면 H035930 과 같이 변수명을 만들어 값을 저장 Main.SetUserValue("H"+sItemCode,0); //종목객체 요청 Main.ReqMarketData(sItemCode); } //계좌에 종목이 삭제(매도되어 잔고에서 빠짐) 추가 if (sAccntNum == Account1.number && lUp*dateID == 30001) { //내부저장변수의 이름자체를 제거할수는 없으므로 모두 0으로 셋팅 //진입날짜를 내부파일에 date종목코드를 이름으로 저장 Main.SetUserValue("D"+sItemCode,0); //진입시간을 내부파일에 date종목코드를 이름으로 저장 Main.SetUserValue("T"+sItemCode,0); //진입시간을 내부파일에 HH종목코드를 이름으로 저장 Main.SetUserValue("H"+sItemCode,0); } } function Main_OnRcvMarketData(MarketData) { //수신되는 순서로 0번방 부터 종목객체 저장 MK[rcv] = MarketData; rcv = rcv+1; } //종목객체 중 변동발생 function Main_OnUp*dateMarket(sItemCode, lUp*dateID) { //체결시세가 들어오고 수신된 종목객체가 있을때 if (lUp*dateID == 20001 && MK.length >= 1 ) { //해당종목의 최고가 불러와 HH에 저장 var HH = Main.GetUserValue("H"+sItemCode); for (var i = 0; i < MK.length; i++) { //종목객체 중 현재 변동이 발생한 종목을 찾고 현재가가 HH보다 크면 //내부저장변수에 현재가로 값을 변경 if (MK[i].code == sItemCode && MK[i].current > HH) Main.SetUserValue("H"+sItemCode,MK[i].current); } } } 즐거운 하루되세요 > 훈sys 님이 쓴 글입니다. > 제목 : 매수종목에 대한 정보 저장 문의 > 파워종목검색 후 검색결과로 나온 종목을 매수하는 스팟식을 작성중입니다 종목별 진입시간과 진입이후 최고가를 저장해놓고 스팟식을 시작할 때마다 보유종목리스트 조회해서 각 보유종목별 진입시간, 진입이후 최고가를 불러내서 사용하고 싶습니다 답변 주시면 감사하겠습니다