커뮤니티

수식 문의 드립니다

프로필 이미지
파트라
2021-06-29 15:59:08
1137
글번호 150405
답변완료
이전 문의사항은 게시글 73077로 해결되었습니다만 추가적으로 여쭤보고 싶은 점이 존재합니다 제가 DayIndex가 0번부터 시작하니까 최종 봉 설정을 다시 해서 작성한 수식은 이런 방식입니다 If DayIndex == 6 Then Calculation = ABS(Open[7] - Close[0]); Else Calculation = Calculation[1]; Plot1(Calculation); 근데 답변을 주신 수식은 이런 식으로 작성되어 있습니다 if DayIndex+1 == 7 Then { var1 = O; Var2 = var1[1]; if var2 > 0 Then Calculation_HI = abs(Var2-C); } if Calculation_HI > 0 Then Plot2(Calculation_HI); 이 두 수식의 차이를 왜 하필 밑의 방식을 선호하시는지에 대해 답변 부탁드립니다 시뮬레이션 차트상에서 두 지표를 출력해 보았더니 계산되는 시점부터 산출되는 값까지 정확하게 일치하더라고요 그래서 더더욱 의문이 생겼습니다 제 짧은 생각으로는 밑의 방식을 사용하는 이유는 결측값을 처리하기 위한 방법인 것 같고 var1을 Open으로 시작하는 이유가 Calculation을 위해 있어야 되는 가장 시간상으로 처음 등장하는 것이 Open이어서 그런것 같기는 한데.. 그렇다면 제가 작성한 위의 방식대로 코드를 작성하면 오류가 나와야 하는 것이 아닌가.. 하는 생각이 드네요 늘 많은 도움 받고 있습니다 감사합니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-06-29 16:19:44

안녕하세요 예스스탁입니다. 큰 차이는 없습니다.작성하신 방식으로도 오류는 없습니다. 사용자분이 작성하신 수식은 당일 7번째봉에서 7봉전(전일마지막봉)의 시가를 가져와 현재가와 비교를 하고 작성해 드린 수식은 매 7번째 봉마다 시가를 저장해서 내일쓸값을 미리 저장해 놓고 사용하는 것일뿐입니다. 위와 같이 작성한 이유는 차트주기 변경을 염두에 두었기 때문입니다. 30분 차트로 변경한시면 작성해 드린 수식은 if DayIndex+1 == 7 Then에서 봉번호만 변경하면 되지만 작성하신 수식에서는 if DayIndex == 6와 ABS(Open[7] - Close[0]);에서 모두 변경하셔야 합니다. 즐거운 하루되세요 > 파트라 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다 > 이전 문의사항은 게시글 73077로 해결되었습니다만 추가적으로 여쭤보고 싶은 점이 존재합니다 제가 DayIndex가 0번부터 시작하니까 최종 봉 설정을 다시 해서 작성한 수식은 이런 방식입니다 If DayIndex == 6 Then Calculation = ABS(Open[7] - Close[0]); Else Calculation = Calculation[1]; Plot1(Calculation); 근데 답변을 주신 수식은 이런 식으로 작성되어 있습니다 if DayIndex+1 == 7 Then { var1 = O; Var2 = var1[1]; if var2 > 0 Then Calculation_HI = abs(Var2-C); } if Calculation_HI > 0 Then Plot2(Calculation_HI); 이 두 수식의 차이를 왜 하필 밑의 방식을 선호하시는지에 대해 답변 부탁드립니다 시뮬레이션 차트상에서 두 지표를 출력해 보았더니 계산되는 시점부터 산출되는 값까지 정확하게 일치하더라고요 그래서 더더욱 의문이 생겼습니다 제 짧은 생각으로는 밑의 방식을 사용하는 이유는 결측값을 처리하기 위한 방법인 것 같고 var1을 Open으로 시작하는 이유가 Calculation을 위해 있어야 되는 가장 시간상으로 처음 등장하는 것이 Open이어서 그런것 같기는 한데.. 그렇다면 제가 작성한 위의 방식대로 코드를 작성하면 오류가 나와야 하는 것이 아닌가.. 하는 생각이 드네요 늘 많은 도움 받고 있습니다 감사합니다