커뮤니티
종목검색식 문의 드립니다.
2018-03-14 22:10:33
199
글번호 117396
먼저 일일이 답변 주심에 감사드립니다.
아래검색식을 제가 작성함에 있어 논리적으로 착각하거나 문제가 있는 것 같습니다.
그림과 같이 18.3.14일 장후에 기준봉을 1로 잡고 검색하면서
기준일 양봉( C > O )이라 설정하였는데 두산엔진 같은 경우 3.13일 음봉임에도 불구하고
검색되었습니다.
제가 생각 하기로 기준봉을 1로 잡으면 3.13일을 기준으로 검색되는 것으로 생각했는데
제가 착각하는지 무엇지 잘못인지 모르겠습니다.
1. 앞에 내용에서 제가 잘 못 생각한점이 있다면 알려 주시기 바라며
2. 식 뒷 부분(if CountIF(Condition1 == true, 검색기간) >= 검색회수 Then)에서 검색기간을 변경해도 검색되는 종목은 변함이 없는 것 같습니다.
3. 그리고 저의 의도되로 식을 수정해 주시면 고맙겠습니다
input : pe(20),per(20),이격1(90),이격2(110),거래량(1.4),몸통저(0.01),몸통대(100),검색기간(60),검색회수(1),N(10),n회(2);
var: Body(0),Highbody(0),Lowbody(0),value(0);
Body = Abs(c-o);
Highbody = MaxList(Open,Close);
Lowbody =MinList(Open,Close);
var1= Disparity(60);
var2=ma(c,5);
var3=ma(c,10);
var4=ma(c,20);
var5=ma(c,33);
var6=ma(c,60);
var7=ma(c,120);
var8=ma(v,60);
value2 = max(var2,var3,var4,var5,var6);
value3 = min(var2,var3,var4,var5,var6);
Value1 =0;
if CrossUp(c, var2) Then
Value1 = Value1 + 1;
if CrossUp(c, var3) Then
Value1 = Value1 + 1;
if CrossUp(c, var4) Then
Value1 = Value1 + 1;
if CrossUp(c, var5) Then
Value1 = Value1 + 1;
if CrossUp(c, var7) Then
Value1 = Value1 + 1;
if var1[1] >= 이격1 and var1[1] <= 이격2 and c > var2 and Value1 >= 1 and
body >= C[1] *몸통저 and body <= C[1]*몸통대 and
H-Highbody >= body *0.0 and H-Highbody <= body * 5 and
Lowbody-L >= body *0.0 and Lowbody-L <= body * 5 and
C > O and
V >= V[1]*거래량 and
var7[1] * (1+pe/100000) > var7[2] and
CountIF(Value2 <= Value3 * (1+ per/100),N) >= N회 Then
Condition1 =true ;
Else
Condition1 =False ;
if CountIF(Condition1 == true, 검색기간) >= 검색회수 Then
find(1);
- 1. 역망치양봉검색_질문.JPG (0.23 MB)
답변 1
예스스탁 예스스탁 답변
2018-03-15 14:47:44
안녕하세요
예스스탁입니다.
if CountIF(Condition1 == true, 검색기간) >= 검색회수 Then
find(1);
검색기간이 60, 검색회수가 1이므로
작성하신 수식은 현재일 기준 최근 60일 중 지정한 조건이 1회이상 만족한 종목을 찾는 수식입니다.
기준봉이 1이면 단순히 전일기준으로 이전 60일 중 1회이상 만족한 종목입니다.
조건 자체가 전일 만족한 것을 찾는 수식이 아닙니다.
문의하신 내용이면 이전60일중 1회이상이라는 조건이 필요없습니다.
최종 종목검색 수식 내용을 단순히 아래와 같이 지정하셔야 합니다.
if Condition1 == true Then
find(1);
즐거운 하루되세요
> 자아준 님이 쓴 글입니다.
> 제목 : 종목검색식 문의 드립니다.
> 먼저 일일이 답변 주심에 감사드립니다.
아래검색식을 제가 작성함에 있어 논리적으로 착각하거나 문제가 있는 것 같습니다.
그림과 같이 18.3.14일 장후에 기준봉을 1로 잡고 검색하면서
기준일 양봉( C > O )이라 설정하였는데 두산엔진 같은 경우 3.13일 음봉임에도 불구하고
검색되었습니다.
제가 생각 하기로 기준봉을 1로 잡으면 3.13일을 기준으로 검색되는 것으로 생각했는데
제가 착각하는지 무엇지 잘못인지 모르겠습니다.
1. 앞에 내용에서 제가 잘 못 생각한점이 있다면 알려 주시기 바라며
2. 식 뒷 부분(if CountIF(Condition1 == true, 검색기간) >= 검색회수 Then)에서 검색기간을 변경해도 검색되는 종목은 변함이 없는 것 같습니다.
3. 그리고 저의 의도되로 식을 수정해 주시면 고맙겠습니다
input : pe(20),per(20),이격1(90),이격2(110),거래량(1.4),몸통저(0.01),몸통대(100),검색기간(60),검색회수(1),N(10),n회(2);
var: Body(0),Highbody(0),Lowbody(0),value(0);
Body = Abs(c-o);
Highbody = MaxList(Open,Close);
Lowbody =MinList(Open,Close);
var1= Disparity(60);
var2=ma(c,5);
var3=ma(c,10);
var4=ma(c,20);
var5=ma(c,33);
var6=ma(c,60);
var7=ma(c,120);
var8=ma(v,60);
value2 = max(var2,var3,var4,var5,var6);
value3 = min(var2,var3,var4,var5,var6);
Value1 =0;
if CrossUp(c, var2) Then
Value1 = Value1 + 1;
if CrossUp(c, var3) Then
Value1 = Value1 + 1;
if CrossUp(c, var4) Then
Value1 = Value1 + 1;
if CrossUp(c, var5) Then
Value1 = Value1 + 1;
if CrossUp(c, var7) Then
Value1 = Value1 + 1;
if var1[1] >= 이격1 and var1[1] <= 이격2 and c > var2 and Value1 >= 1 and
body >= C[1] *몸통저 and body <= C[1]*몸통대 and
H-Highbody >= body *0.0 and H-Highbody <= body * 5 and
Lowbody-L >= body *0.0 and Lowbody-L <= body * 5 and
C > O and
V >= V[1]*거래량 and
var7[1] * (1+pe/100000) > var7[2] and
CountIF(Value2 <= Value3 * (1+ per/100),N) >= N회 Then
Condition1 =true ;
Else
Condition1 =False ;
if CountIF(Condition1 == true, 검색기간) >= 검색회수 Then
find(1);
다음글
이전글