커뮤니티
문의
2019-08-20 14:37:44
263
글번호 131280
a1=ma(c,3);
a2=ma(c,5);
a3=ma(c,10);
a4=ma(c,20);
min(a1,a2,a3,a4)
이평선 4개중에서 가장 값이 낮은것을 찾으려고합니다.
이때 오래된 종목은 상관없는데, 상장된지 20일이 안된종목들은 아직 20선이 없어서 그런지 인식이 안되네요.
이미 발생한 선들중에 가장 낮은값을 구하려면 어떻게해야하나요?
예를들어 보름된 종목이라면 3,5,10 이렇게 3선은 나왔을테니 그중에 가장 낮은것을 찾을수있는 방법 좀 알려주세요.
4개의 선이 다 나왔다면 4가지중에 찾고, 그렇지 않다면 현재 나와있는 선들중에서 가장 값이 낮은것을 찾는 수식요.
답변 1
예스스탁 예스스탁 답변
2019-08-21 13:28:45
안녕하세요
예스스탁입니다.
input : P1(3),P2(5),P3(10),P4(20);
var : a1(0),a2(0),a3(0),a4(0),minv(0);
a1=ma(c,P1);
a2=ma(c,P2);
a3=ma(c,P3);
a4=ma(c,P4);
minv = min(a1,a2,a3,a4);
plot1(minv);
MessageLog("index %.f minv %.2f",index,minv);
위 지표식을 적용해 보시면 minv가 지표로는 20번째 봉부터 그려지지만
디버깅창의 메세지로그는 3번째 부터 출력되는 것을 확인할수 있습니다.
plot자체가 수식계산에 필요한 최소봉수 이후부터 그리게 되어 있어 차이가 발생됩니다.
아래와 같이 작성하시면 최소봉수를 3으로 인식하게 해서
3번째 봉부터 표시되게 하실수 있습니다.
input : P1(3),P2(5),P3(10),P4(20);
var : a1(0),a2(0),a3(0),a4(0),minv(0);
a1=ma(c,P1);
a2=ma(c,P2);
a3=ma(c,P3);
a4=ma(c,P4);
minv = 0;
if a4 > 0 and (minv == 0 or (minv > 0 and a4 < minv)) Then
minv = a4;
if a3 > 0 and (minv == 0 or (minv > 0 and a3 < minv)) Then
minv = a3;
if a2 > 0 and (minv == 0 or (minv > 0 and a2 < minv)) Then
minv = a2;
if a1 > 0 and (minv == 0 or (minv > 0 and a1 < minv)) Then
minv = a1;
plot1(minv);
즐거운 하루되세요
> 한건 님이 쓴 글입니다.
> 제목 : 문의
> a1=ma(c,3);
a2=ma(c,5);
a3=ma(c,10);
a4=ma(c,20);
min(a1,a2,a3,a4)
이평선 4개중에서 가장 값이 낮은것을 찾으려고합니다.
이때 오래된 종목은 상관없는데, 상장된지 20일이 안된종목들은 아직 20선이 없어서 그런지 인식이 안되네요.
이미 발생한 선들중에 가장 낮은값을 구하려면 어떻게해야하나요?
예를들어 보름된 종목이라면 3,5,10 이렇게 3선은 나왔을테니 그중에 가장 낮은것을 찾을수있는 방법 좀 알려주세요.
4개의 선이 다 나왔다면 4가지중에 찾고, 그렇지 않다면 현재 나와있는 선들중에서 가장 값이 낮은것을 찾는 수식요.
이전글