커뮤니티

시그날라인의 이전값 변경

프로필 이미지
inko
2013-06-25 18:41:53
218
글번호 64697
답변완료
<상단 생략> atr = ATR(10); band_upper = (High+Low)/2 + 2 * atr; band_lower = (High+Low)/2 - 2 * atr; if(status==0) { buffer_line_up = (High[1]+Low[1])/2; buffer_line_down = (High[1]+Low[1])/2; } // 종가가 이전 라인다운보다 크면, 라인업 그리기 if(status!=1 and Close>Signal_Line[1]) Then { status = 1; Signal_Line[0] = band_lower; Signal_Line[1] = Signal_Line[1]; } Plot21(Signal_Line , "신호", 1); 의 형태로 구성하고자 하는데 Signal_Line[1] = Signal_Line[1]; 에서 오류가 발생하네요 기본적인 변수값이 배열형태 아닌가요 ? if조건에 따라서 시그날라인의 현재값 뿐만 아니라 하나 이전값을 변경하고자 할땐 어떻게 해야 하는지요 ?
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-06-25 19:04:42

안녕하세요 예스스탁입니다. 1. 변수들이 기본적으로 배열형태로 이전봉의 값을 이용하게 되어 있지만 변경은 불가능하게 되어 있습니다.이전봉의 값은 이미 전봉이 현재봉일때 값의 할당이 완료되어 넘어간 값이므로 이전 봉의 값은 변경은 할 수 없습니다. 해당 부분은 랭귀지체계이므로 따로 방법이 없습니다. 2 일반변수에서 변수에 값을 할당할때는 변수뒤에 [0]을 사용하지 않습니다. if(status!=1 and Close>Signal_Line[1]) Then { status = 1; Signal_Line = band_lower; } 즐거운 하루되세요 > inko 님이 쓴 글입니다. > 제목 : 시그날라인의 이전값 변경 > <상단 생략> atr = ATR(10); band_upper = (High+Low)/2 + 2 * atr; band_lower = (High+Low)/2 - 2 * atr; if(status==0) { buffer_line_up = (High[1]+Low[1])/2; buffer_line_down = (High[1]+Low[1])/2; } // 종가가 이전 라인다운보다 크면, 라인업 그리기 if(status!=1 and Close>Signal_Line[1]) Then { status = 1; Signal_Line[0] = band_lower; Signal_Line[1] = Signal_Line[1]; } Plot21(Signal_Line , "신호", 1); 의 형태로 구성하고자 하는데 Signal_Line[1] = Signal_Line[1]; 에서 오류가 발생하네요 기본적인 변수값이 배열형태 아닌가요 ? if조건에 따라서 시그날라인의 현재값 뿐만 아니라 하나 이전값을 변경하고자 할땐 어떻게 해야 하는지요 ?