커뮤니티

재문의 드립니다.

프로필 이미지
오이도인
2020-02-21 13:00:41
327
글번호 136195
답변완료
수고하십니다. 원래 질문의 의도와 약간 다른 것 같습니다. 재확인 부탁드립니다. 아래 작성해 주신 수식은 아직 돌려보지 못했습니다..[밖에 있어서..] 1] 일정 기간내가 아닌 어느 특정일인 N일전에 월시가를 돌파하고 , 그 이후에 월시가 위에 있는 종목 검색을 하려고 합니다. [기본식] 2] N일전 월시가를 돌파하고 월시가 위에 계속 있는 종목 [식1] N-1일전 월시가를 돌파하고 월시가 위에 계속 있는 종목 [식2] ...... 어제 월시가를 돌파하고 월시가 위에 계속 있는 종목 [식N] 3] 그리고 N을 변수로 사용하고 싶습니다. 이런 종목들을 다 합하여 검색결과로 모든 종목이 동시에 표시되게 하고 싶습니다 위 내용으로 작성된게 맞는건지요..? 수식 옆에 간단한 설명을 달아 주시면 아주 고맙겠습니다만..ㅋ 자꾸 번거롭게 해드려서 미안합니다. 즐거운 주말 되세요... 수고하세요 > 예스스탁 님이 쓴 글입니다. 안녕하세요 예스스탁입니다. 월변경이 있었다는 것을 나타내기 위한 변수입니다. 수식이 잘못작성되어 일변경되어 있어 월변경으로 수정했습니다. 1 var : T(0); if sdate > sdate[1]+30 Then { Condition1 = true; var1 = O; T = 0; if C > var1 Then T = 1; if C < var1 Then T = 0; } if Condition1 == true then { if T <= 0 and C > var1 Then T = 1; if T >= 0 and C < var1 Then T = 1; if T == 1 Then find(1); } 2 아래와 같이 표현하시면 var2가 전월시가입니다. if sdate > sdate[1]+30 Then { var1 = O; var2 = var1[1] } 즐거운 하루되세요 > 오이도인 님이 쓴 글입니다. > 제목 : Re : Re : 종목검색식 부탁합니다.. > condition1은 뭔가요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 종목검색식 부탁합니다.. > 안녕하세요 예스스탁입니다. 1 월시가를 돌파하고 현재까지 그 위에서 유지되는 종목을 찾으시므로 아래식으로 검색하시면 됩니다. for문이나 배열변수는 필요가 없습니다. 일봉에서 검색에 필요한 최소기간을 30봉이상 지정하시고 검색하시면 됩니다. var : T(0); if sdate > sdate[1] Then { Condition1 = true; var1 = O; T = 0; if C > var1 Then T = 1; if C < var1 Then T = 0; } if Condition1 == true then { if T <= 0 and C > var1 Then T = 1; if T >= 0 and C < var1 Then T = 1; if T == 1 Then find(1); } 2 아래와 같이 표현하시면 var2가 전월시가입니다. if sdate > sdate[1] Then { var1 = O; var2 = var1[1] } 즐거운 하루되세요 > 오이도인 님이 쓴 글입니다. > 제목 : 종목검색식 부탁합니다.. > 수고하십니다. 아래와 같은 내용의 식을 for문이나 array를 사용하여 간단하게 식 하나로 바꾸어 주시면 고맙겠습니다.. [어떤 함수를 사용해야 하는지 잘 모름...사용자 메뉴얼이 어디 있는지 알려주세요...] Q1]일봉 종목검색에서 오늘 종가가 월시가를 돌파하고, 종가가 월시가 위에 [계속] 존재하고 있는 종목을 검색 or 1일전에 종가가 월시가를 돌파하고, 종가가 그후로 월시가 위에 계속 존재하고 있는 종목을 검색 or 2일전에 종가가 월시가를 돌파하고, 종가가 그후로 월시가 위에 계속 존재하고 있는 종목을 검색 or ........ N일전에 종가가 월시가를 돌파하고, 종가가 그후로 월시가 위에 계속 존재하고 있는 종목을 검색 N이 큰 경우 위의 각각의 경우에 검색되는 모든 종목을 한 식으로 검색하여 전부 볼 수 있게하는 검색식 부탁합니다.. var1 = monthopen(0) ; if (crossup(c,var1) and countif(c>var1,1)==1) or (crossup(c[1],var1) and countif(c>var1,2)==2) or (crossup(c[2],var1) and countif(c>var1,3)==3) or ...... (crossup(c[N],var1) and countif(c>var1,N)==N) then Find(1); Q2] 월이 바뀐 경우, 위 로직에 전 달 월시가 var1[1]을 적용하려면 식이 어떻게 수정되어야 하는지요? 수고하세요..
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-02-21 13:18:43

안녕하세요 예스스탁입니다. T값 할당에 문제가 있어 변경했습니다. 주석을 붙여드립니다. var : T(0); #월변경 if sdate > sdate[1]+30 Then { #전체 데이타에서 월변경 조건이 있었다는 것을 알기 위한 변수 Condition1 = true; #월시가 var1 = O; #초기값 0 T = 0; #첫봉종가가 월시가보다 크면 1 if C > var1 Then T = 1; #첫봉종가가 월시가보다 작으면 -1 if C < var1 Then T = -1; } #월변경이후 if Condition1 == true then { #T가 0이하일때 종가가 월시가보다 크게되면 T는 1로 변경 if T <= 0 and C > var1 Then T = 1; #T가 0이상일때 종가가 월시가보다 작게되면 T는 -1로 변경 if T >= 0 and C < var1 Then T = -1; if T == 1 Then find(1); } 즐거운 하루되세요 > 오이도인 님이 쓴 글입니다. > 제목 : 재문의 드립니다. > 수고하십니다. 원래 질문의 의도와 약간 다른 것 같습니다. 재확인 부탁드립니다. 아래 작성해 주신 수식은 아직 돌려보지 못했습니다..[밖에 있어서..] 1] 일정 기간내가 아닌 어느 특정일인 N일전에 월시가를 돌파하고 , 그 이후에 월시가 위에 있는 종목 검색을 하려고 합니다. [기본식] 2] N일전 월시가를 돌파하고 월시가 위에 계속 있는 종목 [식1] N-1일전 월시가를 돌파하고 월시가 위에 계속 있는 종목 [식2] ...... 어제 월시가를 돌파하고 월시가 위에 계속 있는 종목 [식N] 3] 그리고 N을 변수로 사용하고 싶습니다. 이런 종목들을 다 합하여 검색결과로 모든 종목이 동시에 표시되게 하고 싶습니다 위 내용으로 작성된게 맞는건지요..? 수식 옆에 간단한 설명을 달아 주시면 아주 고맙겠습니다만..ㅋ 자꾸 번거롭게 해드려서 미안합니다. 즐거운 주말 되세요... 수고하세요 > 예스스탁 님이 쓴 글입니다. 안녕하세요 예스스탁입니다. 월변경이 있었다는 것을 나타내기 위한 변수입니다. 수식이 잘못작성되어 일변경되어 있어 월변경으로 수정했습니다. 1 var : T(0); if sdate > sdate[1]+30 Then { Condition1 = true; var1 = O; T = 0; if C > var1 Then T = 1; if C < var1 Then T = 0; } if Condition1 == true then { if T <= 0 and C > var1 Then T = 1; if T >= 0 and C < var1 Then T = 1; if T == 1 Then find(1); } 2 아래와 같이 표현하시면 var2가 전월시가입니다. if sdate > sdate[1]+30 Then { var1 = O; var2 = var1[1] } 즐거운 하루되세요 > 오이도인 님이 쓴 글입니다. > 제목 : Re : Re : 종목검색식 부탁합니다.. > condition1은 뭔가요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 종목검색식 부탁합니다.. > 안녕하세요 예스스탁입니다. 1 월시가를 돌파하고 현재까지 그 위에서 유지되는 종목을 찾으시므로 아래식으로 검색하시면 됩니다. for문이나 배열변수는 필요가 없습니다. 일봉에서 검색에 필요한 최소기간을 30봉이상 지정하시고 검색하시면 됩니다. var : T(0); if sdate > sdate[1] Then { Condition1 = true; var1 = O; T = 0; if C > var1 Then T = 1; if C < var1 Then T = 0; } if Condition1 == true then { if T <= 0 and C > var1 Then T = 1; if T >= 0 and C < var1 Then T = 1; if T == 1 Then find(1); } 2 아래와 같이 표현하시면 var2가 전월시가입니다. if sdate > sdate[1] Then { var1 = O; var2 = var1[1] } 즐거운 하루되세요 > 오이도인 님이 쓴 글입니다. > 제목 : 종목검색식 부탁합니다.. > 수고하십니다. 아래와 같은 내용의 식을 for문이나 array를 사용하여 간단하게 식 하나로 바꾸어 주시면 고맙겠습니다.. [어떤 함수를 사용해야 하는지 잘 모름...사용자 메뉴얼이 어디 있는지 알려주세요...] Q1]일봉 종목검색에서 오늘 종가가 월시가를 돌파하고, 종가가 월시가 위에 [계속] 존재하고 있는 종목을 검색 or 1일전에 종가가 월시가를 돌파하고, 종가가 그후로 월시가 위에 계속 존재하고 있는 종목을 검색 or 2일전에 종가가 월시가를 돌파하고, 종가가 그후로 월시가 위에 계속 존재하고 있는 종목을 검색 or ........ N일전에 종가가 월시가를 돌파하고, 종가가 그후로 월시가 위에 계속 존재하고 있는 종목을 검색 N이 큰 경우 위의 각각의 경우에 검색되는 모든 종목을 한 식으로 검색하여 전부 볼 수 있게하는 검색식 부탁합니다.. var1 = monthopen(0) ; if (crossup(c,var1) and countif(c>var1,1)==1) or (crossup(c[1],var1) and countif(c>var1,2)==2) or (crossup(c[2],var1) and countif(c>var1,3)==3) or ...... (crossup(c[N],var1) and countif(c>var1,N)==N) then Find(1); Q2] 월이 바뀐 경우, 위 로직에 전 달 월시가 var1[1]을 적용하려면 식이 어떻게 수정되어야 하는지요? 수고하세요..