커뮤니티

문의 드립니다.

프로필 이미지
해월정
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번 추가 부탁입니다. 수식에 문외한이라 작성하신수식의 의미를 알고싶습니다. 수식과 더불어 해설을 부탁드립니다.