아래 사용자 함수식을 만들었는데요.
왜 함수가 값을 리턴하고 있지 않다고 나오는지 모르겠네요.
기존에 있는 식을 갖고, 리턴하는 부분만 이름 바꿔서해도 같은 에러가 나오네요
검토 바랍니다.
Input : period(Numeric);
Variable : UserADX(0);
Value1 = 0;
value2 = 0;
if (H - H[1] > 0 && H - H[1] > L[1] - L) then
value1 = H - H[1];
else Value1 = 0;
if (L[1] - L > 0 && H - H[1] < L[1] - L) then
value2 = L[1] - L;
else value2 = 0;
value3 = ema(value1, period)
/ ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),Period)*100; // DMI_PLUS
value4 = ema(value2, period)
/ ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),Period)*100; // DMI_MINUS
UserADX = ema((abs(value3 - value4) / (value3 + value4)),Period)*100;
답변 1
예스스탁
예스스탁 답변
2008-08-19 15:07:13
안녕하세요? 예스스탁입니다.
내부변수 선언 부분을 삭제하고 사용자 함수로 만드시면 됩니다.
Variable : UserADX(0);
감사합니다.
> CJ_coco 님이 쓴 글입니다.
> 제목 : 사용자 함수에서
> 아래 사용자 함수식을 만들었는데요.
왜 함수가 값을 리턴하고 있지 않다고 나오는지 모르겠네요.
기존에 있는 식을 갖고, 리턴하는 부분만 이름 바꿔서해도 같은 에러가 나오네요
검토 바랍니다.
Input : period(Numeric);
Variable : UserADX(0);
Value1 = 0;
value2 = 0;
if (H - H[1] > 0 && H - H[1] > L[1] - L) then
value1 = H - H[1];
else Value1 = 0;
if (L[1] - L > 0 && H - H[1] < L[1] - L) then
value2 = L[1] - L;
else value2 = 0;
value3 = ema(value1, period)
/ ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),Period)*100; // DMI_PLUS
value4 = ema(value2, period)
/ ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),Period)*100; // DMI_MINUS
UserADX = ema((abs(value3 - value4) / (value3 + value4)),Period)*100;