커뮤니티

사용자 함수 관련 질문입니다.

프로필 이미지
회원
2013-02-25 12:24:03
226
글번호 59906
답변완료
새로운 지표를 작성하고, 그 지표를 이용해 시스템을 만들고자 합니다. 새로 만든 지표를 불러다 사용하기 위해서 사용자 함수에 저장하여야 한다고 알고 있는데 이게 맞는 개념인가요? 그래서 사용자 함수에 제가 작성한 지표를 복사해서 넣었더니 에러가 발생합니다. 지표에서 작성한 코딩과 사용자 함수에서 코딩하는 것과 다른 부분이 있는것인가요? 새로 작성한 지표를 여러곳에서 불러다 쓸수 있게 하는 방법을 구체적으로 알고 싶습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-02-25 15:03:12

안녕하세요 예스스탁입니다. 특정계산식을 여러수식에서 이용하신다면 사용자함수로 만들어서 사용하셔도 되고 모든 수식에 계산식을 직접 입력해 사용하셔도 됩니다. 사용자함수는 만드실때 다른식과 다른 부분이 2가지 있습니다. 첫번째가 이름이고 두번째가 외부변수 선언입니다. 1.이름 사용자함수를 만드실 때는 함수의 이름이 곡 그 함수의 이름이며 함수식안에서 최종계산된 값이 최종 할당시키는 변수이기도 합니다. 예를 들어 간단히 C-C[1]라는 계산식을 많이 사용하여 사용자함수로 만들고 이름을 XX라고 만들고자 하시면 사용자함수 새로작성시에 이름을 XX라고 입력하셔야 하며 함수식안에서는 XX = C-C[1]; 이라고 내용을 쓰시면 됩니다. 원래 지표나 시스템식등에서는 수식내에서 XX = C-C[1]이라고 작성하시면 [선언되지 않은 이름 "XX"가 사용되었습니다.]라는 오류 메시지가 발생하지만 사용자함수식에서는 이름을 XX라고 지었으므로 XX라는 단어를 변수로 사용할 수가 있는 것이고 수식내에서 계산되어 XX라는 단어에 최종 계산값이 저장되므로 식상 계산된 최종값이 저장되도록 작성하셔야 합니다. 2.외부변수 사용자함수에 외부변수를 지정할 때는 따로 고정된 숫자등으로 지정하지 않고 그 타입만 지정해 줍니다. 일반 지표식에서는 input : N(1); var : XX(0); XX = C-C[N] 위와 같이 수식내에서 외부변수로 지정할 값을 변수처리한뒤 특정값을 기초값으로 지정해 주지만 사용자함수에서는 이함수가 여러 수식에서 쓰일거고 외부변수도 다르게 사용되므로 input : N(numeric); XX = C-C[N]; 과 같이 작성해 줍니다. 이렇게 작성된 함수는 지표식이나 시스템식 작성할 때 XX(1) 혹은 XX(2)와 같이 사용자분이 임의로 여러개의 값을 넣어서 사용할수 있습니다. 예스랭귀지 편집기에 기본으로 제공되는 사용자함수를 열어서 내용을 살펴보시면 작성하시는데 도움이 되실것입니다. N개봉의 값을 모아서 리턴해 주는 AccumN 함수의 경우 사용자함수명은 AccumN이고 내용을 아래와 같이 작성이 되어 있습니다. Input : Value(NumericSeries), Period(NumericSimple); Var : Counter(0); var1 = Value; For Counter = 1 To Period - 1 Begin var1 = var1 + Value[Counter]; End Accumn = var1; 즐거운 하루되세요 > HI_yjam49 님이 쓴 글입니다. > 제목 : 사용자 함수 관련 질문입니다. > 새로운 지표를 작성하고, 그 지표를 이용해 시스템을 만들고자 합니다. 새로 만든 지표를 불러다 사용하기 위해서 사용자 함수에 저장하여야 한다고 알고 있는데 이게 맞는 개념인가요? 그래서 사용자 함수에 제가 작성한 지표를 복사해서 넣었더니 에러가 발생합니다. 지표에서 작성한 코딩과 사용자 함수에서 코딩하는 것과 다른 부분이 있는것인가요? 새로 작성한 지표를 여러곳에서 불러다 쓸수 있게 하는 방법을 구체적으로 알고 싶습니다.