커뮤니티

종목검색에서 신호검색이 안되는 이유

프로필 이미지
해선쓰나미
2017-07-17 17:35:14
722
글번호 212724
답변완료
예스랭귀지에서 종목검색 아래의 파일을 작성하고, 저장, 검증을 끝낸 후 종목검색 > 신호검색 에서 작성한 종목검색 파일을 선택해서 검색을 하면, "데이터를 찾을 수 없습니다(10005)" 라는 에러가 계속 나타납니다. Q1) 검증을 통과했는데, 에러가 나는 원인이 뭔가요? Q2) 종목검색도 지표와 같이 봉 데이터를 사용하지 않나요? Q3) 내부변수는 value1~value99 외의 변수는 사용 못하게 되어 있나요? //-------------------------------------- /* 1. 로직명 : 120-200 MA 2. 작성자 : 해선쓰나미 3. 작성일자 : 2017/07/16 4. 설명 : 일봉차트에서 일봉이 누워있는 120, 200이평선 위에서 20일 이상 횡보한 후 거래량이 실린 양봉이 나타날때, 일봉 종가에 매수 진입, 손절은 일봉 종가가 해당 날짜의 일봉 저가를 깰때이고, 청산은 일봉종가가 두 이평선 중 하나를 아래로 깰때입니다. */ // var : sngMA120(0), sngMA200(0); // 120, 200이평선 값 // var : logCond1(False), logCond2(False); //var : sngAvgV(0); // value1, 거래량 11일전~1일전 평균 value12 = MA(C, 120); value20 = MA(C, 200); value10 = avg(V[1], V[2], V[3], V[4], V[5], V[6], V[7], V[8], V[9], V[10]); if (ABS(value12 - value20) <= 30 * pricescale) and ( C >= value12 and C >= value20) then { find(value12); }
예스트레이더 (iM증권)
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-07-18 18:11:23

안녕하세요? 예스스탁입니다. 문의하신 내용은 검색 기간 때문에 발생하는 내용인것 같습니다. 대부분의 식은 검색에 필요한 봉갯수를 자동으로 산정해서 계산을 하는데, 특정 식에서는 검색에 필요한 봉갯수를 정확히 계산하지 못하여 검색이 안되는 경우가 있습니다. 작성하신 식은 200이동평균선이 사용되므로 검색기간을 200 이상으로 입력하고 검색하시면 검색이 됩니다. 종목검색 화면의 '편집' 버튼을 클릭하셔서 '종목검색속성'창을 띄우시고 이 창의 '검색기간'탭에서 '사용자 설정 검색 기간 사용' 에 체크 하시고 입력박스에 200 으로 입력하신 후 '확인'버튼 클릭하셔서 저장하시고 검색하시면 검색됩니다. 감사합니다. > 해선쓰나미 님이 쓴 글입니다. > 제목 : 종목검색에서 신호검색이 안되는 이유 > 예스랭귀지에서 종목검색 아래의 파일을 작성하고, 저장, 검증을 끝낸 후 종목검색 > 신호검색 에서 작성한 종목검색 파일을 선택해서 검색을 하면, "데이터를 찾을 수 없습니다(10005)" 라는 에러가 계속 나타납니다. Q1) 검증을 통과했는데, 에러가 나는 원인이 뭔가요? Q2) 종목검색도 지표와 같이 봉 데이터를 사용하지 않나요? Q3) 내부변수는 value1~value99 외의 변수는 사용 못하게 되어 있나요? //-------------------------------------- /* 1. 로직명 : 120-200 MA 2. 작성자 : 해선쓰나미 3. 작성일자 : 2017/07/16 4. 설명 : 일봉차트에서 일봉이 누워있는 120, 200이평선 위에서 20일 이상 횡보한 후 거래량이 실린 양봉이 나타날때, 일봉 종가에 매수 진입, 손절은 일봉 종가가 해당 날짜의 일봉 저가를 깰때이고, 청산은 일봉종가가 두 이평선 중 하나를 아래로 깰때입니다. */ // var : sngMA120(0), sngMA200(0); // 120, 200이평선 값 // var : logCond1(False), logCond2(False); //var : sngAvgV(0); // value1, 거래량 11일전~1일전 평균 value12 = MA(C, 120); value20 = MA(C, 200); value10 = avg(V[1], V[2], V[3], V[4], V[5], V[6], V[7], V[8], V[9], V[10]); if (ABS(value12 - value20) <= 30 * pricescale) and ( C >= value12 and C >= value20) then { find(value12); }