커뮤니티

지표식이 동작하지 않고 컴이 멈춰 버립니다.

프로필 이미지
2ndbus
2020-08-25 13:54:41
805
글번호 141776
답변완료
아래 지표식이 동작하지 않고 컴이 멈춰 버립니다. 확인 가능할까요? Input : Length(5); Var : SL(0),SH(0),PL(0),PU(0); SL = LRS(Low,Length); SH = LRS(High,Length); For Value1 = 1 To Length { Value2 = Lowest(Low,Value1-1) + (SL*Value1-1); Value3 = Highest(High,Value1-1) + (SH*Value1-1); If Value1=1 Then { PL = Value2; PU = Value3; } If Value2<PL Then PL = Value2; If Value3>PU Then PU = Value3; } Plot1(PL,"PL"); Plot2(PU,"PU");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-08-25 20:58:17

안녕하세요 예스스탁입니다. 1 If Value1=1 Then 예스랭귀지에서 같다라는 표현은 == 입니다. 수식에 value = 1로 되어 있어 for루프가 최종값(Length)까지 할당되ㄱㅎ고 끝나야 하는데 루프 안에서 매번 value1이 1로 값이 고정되어 무한루프가 돌고 있습니다. If Value1==1 Then 로 변경하시면 됩니다. 2 기간변수에 1이상의 값이 지정되어야 합니다. value1이 1이면 Lowest(Low,Value1-1)이 Lowest(Low,0)이 되게 되어 값을 계산할수 없습니다. for문의 value1-1에서 -1을 제거해 드립니다. Lowest,Highest에서는 value1-1을 value로 변경해 드립니다. 3 Input : Length(5); Var : SL(0),SH(0),PL(0),PU(0); SL = LRS(Low,Length); SH = LRS(High,Length); For Value1 = 1 To Length { Value2 = Lowest(Low,Value1) + (SL*Value1-1); Value3 = Highest(High,Value1) + (SH*Value1-1); If Value1==1 Then { PL = Value2; PU = Value3; } If Value2<PL Then PL = Value2; If Value3>PU Then PU = Value3; } Plot1(PL,"PL"); Plot2(PU,"PU"); 즐거운 하루되세요 > 2ndbus 님이 쓴 글입니다. > 제목 : 지표식이 동작하지 않고 컴이 멈춰 버립니다. > 아래 지표식이 동작하지 않고 컴이 멈춰 버립니다. 확인 가능할까요? Input : Length(5); Var : SL(0),SH(0),PL(0),PU(0); SL = LRS(Low,Length); SH = LRS(High,Length); For Value1 = 1 To Length { Value2 = Lowest(Low,Value1-1) + (SL*Value1-1); Value3 = Highest(High,Value1-1) + (SH*Value1-1); If Value1=1 Then { PL = Value2; PU = Value3; } If Value2<PL Then PL = Value2; If Value3>PU Then PU = Value3; } Plot1(PL,"PL"); Plot2(PU,"PU");