커뮤니티

다시 수정부탁드립니다.

프로필 이미지
해월정
2015-11-26 18:46:29
147
글번호 92826
답변완료
1.10월 16일 당일상전환 즉 지표1은 2로나와야하는데, 1로나옵니다. 10월 19일은 정상적으로나오네요. . 2. 10월30일 하전환경우도 동일한문제가 발생하네요 지표2가 2가돼어야하는데, 1로나옵니다. 그외 2ㅣ표3,4에선 문제가 없네요.. 위의것 수정부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-11-27 08:44:35

안녕하세요 예스스탁입니다. 첫상전환/첫하전환은 발생당일이 1, 다음날부터 2로 1씩 증가하게 수정했습니다. 기존식은 3번,4번지표와 같에 발생당일과 다음날까지 1로 작성된 식이었습니다. input : P(5); var : sum(0),Dayma(0),mav(0),cnt(0),T(0); var : 상전환(false),첫상전환(false),하전환(false),첫하전환(false); var : 상전환후일자수(0),하전환후일자수(0); var : 첫상전환후일자수(0),첫하전환후일자수(0); if date != date[1] Then{ 첫상전환 = false; 첫하전환 = false; 상전환 = false; 하전환 = false; #if T == 1 and 첫상전환[1] == true Then # 첫상전환후일자수 = 1; if T == 1 /*and 첫상전환[1] == false*/ Then 첫상전환후일자수 = 첫상전환후일자수+1; #if T == -1 and 첫하전환[1] == true Then # 첫하전환후일자수 = 1; if T == -1 /*and 첫하전환[1] == false*/ Then 첫하전환후일자수 = 첫하전환후일자수+1; if T == 1 and 상전환[1] == true Then 상전환후일자수 = 1; if T == 1 and 상전환[1] == false and 상전환후일자수 >= 1 Then 상전환후일자수 = 상전환후일자수+1; if T == -1 and 하전환[1] == true Then 하전환후일자수 = 1; if T == -1 and 하전환[1] == false and 하전환후일자수 >= 1 Then 하전환후일자수 = 하전환후일자수+1; } sum = 0; for cnt = 0 to P-1{ sum = sum+DayClose(cnt); } dayma = sum/P; mav = ma(c,P); var1 = mav-dayma; if crossup(var1,1) Then{ T = 1; 상전환 = true; 상전환후일자수 = 1; 하전환후일자수 = 0; 첫하전환후일자수 = 0; if T[1] != 1 Then{ 첫상전환 = true; 첫상전환후일자수 = 1; } } if CrossDown(var1,-1) Then{ T = -1; 하전환 = true; 하전환후일자수 = 1; 상전환후일자수 = 0; 첫상전환후일자수 = 0; if T[1] != -1 Then{ 첫하전환 = true; 첫하전환후일자수 = 1; } } if 첫상전환후일자수 >= 1 Then plot1(첫상전환후일자수); if 첫하전환후일자수 >= 1 Then plot2(첫하전환후일자수); if 상전환후일자수 >= 1 Then plot3(상전환후일자수); if 하전환후일자수 >= 1 Then plot4(하전환후일자수); 즐거운 하루되세요 > 해월정 님이 쓴 글입니다. > 제목 : 다시 수정부탁드립니다. > 1.10월 16일 당일상전환 즉 지표1은 2로나와야하는데, 1로나옵니다. 10월 19일은 정상적으로나오네요. . 2. 10월30일 하전환경우도 동일한문제가 발생하네요 지표2가 2가돼어야하는데, 1로나옵니다. 그외 2ㅣ표3,4에선 문제가 없네요.. 위의것 수정부탁드립니다.