아래 지표식이 동작하지 않고 컴이 멈춰 버립니다.
확인 가능할까요?
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");