커뮤니티
timehigh, timelow 값이 이상합니다.-_-;
2012-01-30 15:43:46
332
글번호 47052
아 이것때문에 돌겠네요.
코드는 다음과 같습니다.
value47 = 4;
value1 = 15;
for value1 = (value47-1) downto 0 begin {
value51 = 0;
value52 = 0;
value53 = 0;
value54 = 0;
value55 = 0;
value56 = 0;
value57 = 0;
value51 = MinutesToTime(540 + (value46*(value1)));
value52 = MinutesToTime(540 + (value46*value1) - (value46*1) );
value53 = MinutesToTime(540 + (value46*value1) - (value46*2) );
value54 = timehigh(value53, value52);
value55 = timehigh(value52, value51);
value56 = timelow(value53, value52);
value57 = timelow(value52, value51);
MessageLog("%.f %.f %.f %.f %f %f %f %f", value1, value51, value52, value53, value54, value55, value56, value57);
}
15분 간격으로 Timehigh, Timelow 값을 구하는 건데요.
첨부한 결과처럼 나옵니다.
결과를 보면 value51, value52, value53 의 값이 계속 변하는데도 불구하고
계속 같은 값이 계산되어져 나옵니다. (실제로 같은 값이 아닌데도 불구하고.)
그릭...계산오류도 나오고요.....
이거 왜이럴까요.
- 1. 11.png (0.01 MB)
- 2. 47416_11.jpg (0.04 MB)
답변 1
예스스탁 예스스탁 답변
2012-01-30 18:02:29
안녕하세용
예스스탁입니다.
timehigh, timelow등은 가변적인 내용을 받아들이는 함수가 아닙니다.
일반적으로 일간데이터를 가져오는 함수나 포지션관련 함수를 제외하고
함수의 기간값등은 가변적으로 사용하실 수 없습니다.
가령 1분차트에서 차트를 15분 단위로 나누어 최고가와 최저가를
계산하시는 내용이면 아래식을 이용하시면 됩니다.
input : Atime(15);
var : cnt(0),count(0);
Array : HH[100](0),LL[100](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 99{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = H;
plot1(HH[0]);#현재
plot2(LL[0]);#현재
plot3(HH[1]);#직전
plot4(LL[1]);#직전
즐거운 하루되세요
> 별이아빠 님이 쓴 글입니다.
> 제목 : timehigh, timelow 값이 이상합니다.-_-;
> 아 이것때문에 돌겠네요.
코드는 다음과 같습니다.
value47 = 4;
value1 = 15;
for value1 = (value47-1) downto 0 begin {
value51 = 0;
value52 = 0;
value53 = 0;
value54 = 0;
value55 = 0;
value56 = 0;
value57 = 0;
value51 = MinutesToTime(540 + (value46*(value1)));
value52 = MinutesToTime(540 + (value46*value1) - (value46*1) );
value53 = MinutesToTime(540 + (value46*value1) - (value46*2) );
value54 = timehigh(value53, value52);
value55 = timehigh(value52, value51);
value56 = timelow(value53, value52);
value57 = timelow(value52, value51);
MessageLog("%.f %.f %.f %.f %f %f %f %f", value1, value51, value52, value53, value54, value55, value56, value57);
}
15분 간격으로 Timehigh, Timelow 값을 구하는 건데요.
첨부한 결과처럼 나옵니다.
결과를 보면 value51, value52, value53 의 값이 계속 변하는데도 불구하고
계속 같은 값이 계산되어져 나옵니다. (실제로 같은 값이 아닌데도 불구하고.)
그릭...계산오류도 나오고요.....
이거 왜이럴까요.
이전글