커뮤니티
메모리를 절약할 수 있는 약식수식에 대한 질문
2018-11-30 09:24:27
227
글번호 124016
안녕하세요
최근 기존 로직에다가
100봉내 최저가형성봉 ~ 현재봉까지의 봉개수를
나타내는 식을 아래와같이 만들어 적용한 이후
프로그램이 다운되고 있습니다.
아래 수식을 없애버리자 다시 정상적으로 화면틀이
열리고 있습니다.
아래와 같은 내용상의 취지를 똑같이 살리면서도
메모리를 덜 잡아먹는 약식수식이 있을지요?
없다면 다른 방식으로 메모리를 확보할 수 있는
구체적인 노하우를 부탁드립니다.
감사합니다.
LL = L;
Li = 0;
for cnt = 0 to 100{//q=100
if L[cnt] < LL Then{
LL = L[cnt];
Li = cnt;
}
}
//plot1(Li);
답변 1
예스스탁 예스스탁 답변
2018-11-30 15:53:25
안녕하세요
예스스탁입니다.
해당 내용을 다른게 작성하는 방법은
nthlowestbar함수를 이용하는 방법뿐이 없습니다.
일반적으로 함수는 모두 사용자함수로 제공되는데
몇몇 함수들은 속도적인 측면에서 더 빠르게 계산하기 위해
내장함수로 제공됩니다. 대표적으로 MA와 같은 함수가
사용자함수가 아닌 내장함수로 제공되고 있습니다.
LL = NthLowest(1,L,101);
Li = NthLowestBar(1,L,101);
전반적으로 메모리와 관련된 부분은
수식에서 동일계산을 반복하지 않는게 중요합니다.
if ma(c,5) > ma(c,20) then
buy();
if ma(c,5) < ma(c,20) then
sell();
위 수식은 한번 시세를 받으면
5이평을 2번, 20이평을 2번 계산합니다.
하지만 아래와 같이 변수처리하면
각 1번만 계산하고 그 값만 이용하게 됩니다.
var1 = ma(c,5);
var2 = ma(C,20);
if var1 > var2 then
buy();
if var1 < var2 then
sell();
수식에서 함수가 호출되면 각각 메모리가 잡히게 되므로
동일계산은 한번만 하게 수식을 작성하셔야 합니다.
즐거운 하루되세요
> 대단한콩 님이 쓴 글입니다.
> 제목 : 메모리를 절약할 수 있는 약식수식에 대한 질문
> 안녕하세요
최근 기존 로직에다가
100봉내 최저가형성봉 ~ 현재봉까지의 봉개수를
나타내는 식을 아래와같이 만들어 적용한 이후
프로그램이 다운되고 있습니다.
아래 수식을 없애버리자 다시 정상적으로 화면틀이
열리고 있습니다.
아래와 같은 내용상의 취지를 똑같이 살리면서도
메모리를 덜 잡아먹는 약식수식이 있을지요?
없다면 다른 방식으로 메모리를 확보할 수 있는
구체적인 노하우를 부탁드립니다.
감사합니다.
LL = L;
Li = 0;
for cnt = 0 to 100{//q=100
if L[cnt] < LL Then{
LL = L[cnt];
Li = cnt;
}
}
//plot1(Li);
다음글
이전글