특정 객체의 메소드나 프로퍼티를 저장하고 스크립트 내에 다른 이벤트나 함수에서 사용해야 한다면
이를 임시로 저장해야 하는데 저장할 메소드나 프로퍼티의 수 만큼 변수를 선언해 저장하고 사용해야 하므로
코드가 길어지게 됩니다. 사용자정의 함수객체를 만들어 사용하면 코드의 길이도 줄일 수 있고 다른 전략에서도 동일 코드를 반복적으로 작성하는 불편 없이 재사용할 수 있습니다.
1.
간단한 예로 아래 식은 S1, S2, S2를 전역변수로 선언하고 완성신호 이벤트가 발생하면
각각 완성신호의 신호종류, 종목코드, 신호수량을 저장해서 스크립트 내에서 사용한 식입니다.
변수를 여러개 사용하지 않고 함수객체를 이용해 작성해 보겠습니다.
2.
사용자정의 모듈 관리자에서
을 클릭하면 사용자정의 함수객체를 만들 수 있는 화면이 나타납니다.

사용자정의 모듈 작성화면에서 함수객체명을 지정한 후에 원하는 만큼 매개변수를 만들어 추가하면 됩니다. 예제에서 함수객체명은 UserObject3으로 지정하고 저장할 값이 3개이므로 매개변수는 3개를 만듭니다. 매개변수의 이름은 value1, value2, value3으로 지정합니다.
3.
위와 같이 작성 후 저장하면 UserObject3은
매개변수를 3개 가지는 함수객체가 만들어 지고
사용자정의 모듈화면에 추가가 됩니다.
※ 사용자정의 모듈에서 스크립트에서 사용할 함수객체는 체크 후 사용해야 하며
함수객체명을 더블클릭하면 자동으로 스크립트 편집창의 커서위치에 삽입됩니다.
4.
함수객체 UserObject3를 이용해 S1,S2,S3를 대신하면 아래와 같습니다.
기존에 S1,S2,S3에 저장한 값을 함수의 매개변수로 입력하고 함수객체를 전역변수(S)에 할당하면 스크립트에서 최근 완성신호의 종류는 S.value1, 종목코드는 S.value2, 수량은 S.value3로 그 값을 사용할 수 있고 다른 전략에서도 함수객체를 재사용할 수 있습니다.