커뮤니티

Accum(1)에 관하여

프로필 이미지
나무아래
2011-08-29 02:50:40
587
글번호 42266
답변완료
아래와 같이 두가지 경우를 디버깅해보았습니다 결과가 똑같이 나오던데요 예제 1 AA = Accum(1); MessageLog("%f ",AA); 에제 2 AA = Accum(1); AA = Accum(1); MessageLog("%f ",AA); 아래 내용은 예스랭귀지에서 제공하는 Accum의 사용자 함수입니다 Inputs : Price(NumericSeries); Var : Value_Accum(0); if CurrentBar > 1 then Value_Accum = Value_Accum + Price; else Value_Accum = Price; Accum = Value_Accum; 이 내용만 보면 단순히 카운터 하는 것 같은데 그럼 Accum(1)을 두번호출하면 두배의 값이 증가해야하는 거아닌가요? 답변 부탁드립니다^^
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-08-29 15:14:24

안녕하세요 예스스탁입니다. AA는 accum(1)에 의해 계산된 값을 할당만 받습니다. 직전봉에 AA값에 현재값을 더하는 것이 아니고 accum은 직전봉에서 계산된 값에 현재값을 더하는 것입니다. 즉 전봉에 accumn(1)값이 10이면 현재 1을 추가하여 11이 되고 이값을 AA에 저장해 주는 것이므로 AA = accum(1); 과 같은 식이 여러번 쓰여도 accum은 모두 독립적으로 계산되고 계산된 값을 AA값에 저장하므로 변동이 없습니다. 즐거운 하루되세요 > 나무아래 님이 쓴 글입니다. > 제목 : Accum(1)에 관하여 > 아래와 같이 두가지 경우를 디버깅해보았습니다 결과가 똑같이 나오던데요 예제 1 AA = Accum(1); MessageLog("%f ",AA); 에제 2 AA = Accum(1); AA = Accum(1); MessageLog("%f ",AA); 아래 내용은 예스랭귀지에서 제공하는 Accum의 사용자 함수입니다 Inputs : Price(NumericSeries); Var : Value_Accum(0); if CurrentBar > 1 then Value_Accum = Value_Accum + Price; else Value_Accum = Price; Accum = Value_Accum; 이 내용만 보면 단순히 카운터 하는 것 같은데 그럼 Accum(1)을 두번호출하면 두배의 값이 증가해야하는 거아닌가요? 답변 부탁드립니다^^