커뮤니티
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)을 두번호출하면 두배의 값이 증가해야하는 거아닌가요?
답변 부탁드립니다^^