커뮤니티
문의 드립니다.
2015-11-23 15:39:30
145
글번호 92676
45130번 추가 부탁입니다.
수식에 문외한이라
작성하신수식의 의미를 알고싶습니다.
수식과 더불어 해설을 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2015-11-24 13:57:28
안녕하세요
예스스탁입니다.
input : P(5);
var : sum(0),Dayma(0),mav(0),cnt(0),Didx(0);
var : T(0),upv(0),dnv(0);
var : updiff(0),dndiff(0);
var : u1(0),u2(0),d1(0),d2(0);
//날짜변경(당일첫봉)
if date != date[1] Then{
//일자수 카운트
Didx = Didx+1;
Condition1 = false;
Condition2 = false;
}
#P일간 일간 이평계산
sum = 0;
for cnt = 0 to P-1{
sum = sum+DayClose(cnt);
}
dayma = sum/P;
#분봉의 이평
mav = ma(c,P);
#분봉과 일간이평 차이
var1 = mav-dayma;
#차이값이 1을 상향돌파하면
if crossup(var1,1) Then{
#T는 상향돌파 하향이탈을 파악하기 위한 변수
#상향돌파라는 의미로 1을 저장
if T <= 0 then
T = 1;
#상향돌파가 하루에 여러번 발생할수 있으므로
#초기값이 false인 Condition1을 true로 변경해서
#당일 첫 상향돌파시만 날짜수를 기록함
if Condition1 == false Then{
Condition1 = true;
u1 = didx;//당일 날짜수
u2 = u1[1];//직전 상향돌파의 날짜수
}
}
#차이값이 -1을 하향이탈하면
if CrossDown(var1,-1) Then{
#T는 상향돌파 하향이탈을 파악하기 위한 변수
#상향돌파라는 의미로 1을 저장
if T >= 0 Then
T = -1;
#하향이탈이 하루에 여러번 발생할수 있으므로
#초기값이 false인 Condition2를 true로 변경해서
#당일 첫 하향이탈시만 날짜수를 기록함
if Condition2 == false Then{
Condition2 = true;
d1 = didx; #당일 날짜수
d2 = d1[1];#직전 하향이탈의 날짜수
}
}
#T가 1일때(상향돌파 발생후)
if T == 1 Then{
#상향돌파 구간에서 하향이탈후 날짜수는 0
dndiff = 0;
#전봉은 하향이탈구간이었다가 상향돌파로 바뀐경우
#날짜수를 저장
if T[1] != 1 Then{
upv = didx;
}
#현재 날짜수에서 최근0 상향돌파 날짜수를 빼서 날짜차이룰 계산
#당일은 차이값이 0이므로 1을 더해 당일 1부터 시작하게 함
updiff = (didx-upv+1);
}
if T == -1 then{
#하향이탈 구간에서 상향돌파후 날짜수는 0
updiff = 0;
#전봉은 상향돌파구간이었다가 하향이탈로 바뀐경우
#날짜수를 저장
if T[1] != -1 Then{
dnv = didx;
}
#현재 날짜수에서 최근 하향이탈 날짜수를 빼서 날짜차이를 계산
#당일은 차이값이 0이므로 1을 더해 당일 1부터 시작하게 함
dndiff = (didx-dnv+1);
}
plot1(updiff);
plot2(dndiff);
plot3(u1-u2);
plot4(d1-d2);
즐거운 하루되세요
> 해월정 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 45130번 추가 부탁입니다.
수식에 문외한이라
작성하신수식의 의미를 알고싶습니다.
수식과 더불어 해설을 부탁드립니다.