커뮤니티

500봉 검색기간에서 480이평슬때의 문제

프로필 이미지
날으는여우
2020-07-04 12:34:06
2737
글번호 140396
답변완료

첨부 이미지

총 2200개 주식 종목중 아래수식사용시 72종목만 검색되는데 그이유는? 2200개 모두 검색 되어야 하는게 아닌지요? 시간상 모든 종목이 검색 괴에 했으니 480개 봉이 나온이후(480이평 형성)에 데이타 있ㄷ으면 모두 만족 할텐데(저유동성 종목 제외) 왜 72개만 만족 할까요? 특히 덴티스가 검색 안되는 이유가 궁금합니다 input: VVSlowLen(480); input : ndate(20200703), ntime(93400); Var5 = MA(c,VVSlowLen); //480 if sdate[1] <> sdate then { Condition1 = false; var28 = var6; } if Condition1 == false and ndate == sDate and stime >= ntime Then { var7 = Var5; condition1 = true; } if Condition1 == true then find(var7);
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-07-06 11:03:14

안녕하세요 예스스탁입니다. 데이타가 최근 500봉이면 480이평은 최근 20개봉에서만 값이 존재합니다. if Condition1 == false and ndate == sDate and stime >= ntime Then { var7 = Var5; condition1 = true; } 만약 과거 200봉전에 만족했다면 그시점에서는 과거봉이 300개만 존재하므로 480이평을 계산할수 없어 var7값이 0이 되고 find(var7) --> find(0)이 됩니다. find은 조건이 만족하지 않는 종목에 대해서 0을 할당해 배제하므로 find함수안에 지정하는 값은 0이 나올수 없는 값이어야 합니다. 지금 종목검색된 종목은 거래가 별로 없어 지정한 날짜시간이후가 최근 20개봉 이내인 종목입니다. 아래와 같이 수정해서 이평값이 있으면 var7에 이평값을 저장하고 없으면 0이 아닌 0.1을 저장해서 if문이 만족해도 이평값이 없어 제외되지 않게 처리하시면 됩니다, input: VVSlowLen(480); input : ndate(20200703), ntime(93400); Var5 = MA(c,VVSlowLen); //480 if sdate[1] <> sdate then { Condition1 = false; var28 = var6;} if Condition1 == false and ndate == sDate and stime >= ntime Then { #이평값이 있으면 이평값저장 없으면 0.1저장 if var5 > 0 then var7 = Var5; Else var7 = 0.1; condition1 = true; } if Condition2 == true then find(var77); 즐거운 하루되세요 > 날으는여우 님이 쓴 글입니다. > 제목 : 500봉 검색기간에서 480이평슬때의 문제 > 총 2200개 주식 종목중 아래수식사용시 72종목만 검색되는데 그이유는? 2200개 모두 검색 되어야 하는게 아닌지요? 시간상 모든 종목이 검색 괴에 했으니 480개 봉이 나온이후(480이평 형성)에 데이타 있ㄷ으면 모두 만족 할텐데(저유동성 종목 제외) 왜 72개만 만족 할까요? 특히 덴티스가 검색 안되는 이유가 궁금합니다 input: VVSlowLen(480); input : ndate(20200703), ntime(93400); Var5 = MA(c,VVSlowLen); //480 if sdate[1] <> sdate then { Condition1 = false; var28 = var6; } if Condition1 == false and ndate == sDate and stime >= ntime Then { var7 = Var5; condition1 = true; } if Condition1 == true then find(var7);