리서치팀
예스스탁 답변
2003-07-03 00:00:00
안녕하세요..예스스탁입니다.
외부변수는 속성창을 통해서 변수값을 변경할 수 있는 변수를 의미합니다.
예를들어 다음과 같이 이동평균 5-20 지표식을 만들었을 경우
지금의 예스트레이더 처럼 지표를 적용한 이후에 지표를 더블클릭하여 속성창에서 이동평균의 기간을 변경해 줄 수 있습니다.
input : period1(5), period2(20);
plot1(ma(C,period1));
plot2(ma(C,period2));
다음과 같이 내부변수를 이용하여 작성한다면 속성창에서 기간값을 변경해 줄 수 없습니다.
var : period1(5), period2(20);
plot1(ma(C,period1));
plot2(ma(C,period2));
변수에 관한 일반적인 설명입니다.
1. 임의의 결과값을 반복 사용 시 변수를 사용하게 됩니다.
예를들어 매수식
ma(C,5) > ma(C,10) && ma(C,5) > ma(C,20) && ma(C,5) > ma(C,60)
와 같은 식이 있을때 ma(C,5) 가 식에서 세번 반복 사용되면서 반복적인 연산을 수행하게 됩니다. 반복적인 연산을 피하고 간단히 하기 위해서 변수를 이용합니다.
위 식을 수정하면 다음과 같습니다.
var : value(0) ; //value라는 변수를 선언합니다.
value = ma(C,5) ; //ma(C,5) 를 value변수에 할당(대입)합니다.
if value > ma(C,10) && value > ma(C,20) && value > ma(C,60) then
Buy();
2. 외부입력변수(INPUT) 와 내부사용변수(VAR)
외부입력변수는 속성창을 통해서 값을 변경할 수 있는 것이고, 내부사용변수는 속성창에서는 변경할 수 없고 식 내부에서만 사용되는 변수입니다.
외부입력변수는 할당을 할 수 없고 참조만 가능합니다.(위 1번식에서 var대신 input을 쓸 수 없음)
3. 변수선언은 문장의 맨 윗부분에 위치
4. 선언 시 변수의 기본 값을 반드시 설정
아래 식처럼 변수 다음에 괄호를 열고 그 속에 기본값을 입력하게 됩니다.
input : period(10);
var : value(0);
5. 예약어를 변수의 이름으로 사용 불가
언어로 미리 정의된 내용들 예를들면 Close, red, dayindex() 등과 같은 것은 변수로 이용할 수 없습니다.
6. 변수 이름 중간에 띄어쓰기 불가
7. 변수 이름의 처음에 숫자 사용 불가
예를 들어 var : 3_value와 같이 사용할 수 없습니다.
8. 한 개의 선언 문에 다수의 변수 선언가능(‘,’ 로 구분)
세개의 외부변수를 선언할때 각각 선언해도 되지만, 한줄에 모두 선언해도 동일합니다.
input : period1(5);
input : period2(20);
input : period3(60);
위의 선언과 동일
input : period1(5), period2(20), period3(60);
시스템언어 사용에 관해서는 현재 다양한 예제와 사용법에 관한 설명을 준비하고 있습니다.
이 내용은 작성되는대로 홈페이지를 통하여 올려드리도록 하겠습니다.
감사합니다.
> peace 님이 쓴 글입니다.
> 제목 : 너무초보적인질문?
> 1.내부변수와 외부변수의 구별을 예를들어 자세히 좀 설명해 주십시요.
> (내부변수는 사용자 함수같은 건가요?)
>
> 2.외부변수선언없이 내부변수에 수치를 대입하면 부하가 덜 걸리나요?
>
> 3.최대한 계산을 간단히 하고 수식의 길이를 짧게 하기 위해서...
>
>
>
>
>
> 제가보기에는 언어의 좋고 나쁨을 떠나서 구체적인 설명이 아주 부족하네요
> 랭귀지 도움말도 설명이 부족합니다(부연설명을 해야될 부분이 많음)
> 개발자님께서는 당연하다고 생각하시는 것들도 순서대로 자세히 설명을 해놓고
> 간단한 용어라도 검색하면 하나도 빠짐없이 나올 수 있도록 구성을 해 놓아야 하지 않을까요?
> 그리고 변환프로그램에대하여 기존의 수식이 문제없이 변환된다고 온라인으로 너무나 쉽게
> 말씀하시던데 변환오류가 90%이상이되는 수식들도 있다는 것을 모르시는게 참 의아합니다.
> 제가 분석결과 나름대로 변환되는데 한계가 무엇인지는 알게 되었읍니다만 개발자가 대하고 있는 어떤 수식들의 예가 실제 사용자들의 다양한 것과비교해서 상당히 편협하다는 인상을 지울 수 없읍니다
>
> 저도 전문가라고 생각지는 않지만 수식 프로그램은 다 사용해본 사용자 입장에서
> 게시판에 올라온 글들을 살펴볼 때 질문 하나하나에 대한 답변보다 기초적인 교육에서(랭귀지 도움말에서 )
> 상세하고 다양한 예를 통한 설명이 필요했었다는 생각이 드는군요
>
> 글쎄요 개발자님께는 죄송합니다만 배부른자가 배고픈자의 욕구를 이해할 수 있을까
> 라는 생각이 많이 듭니다.
>
> 초보자에게도 많은 배려가 있었으면 싶네요
>
> 너무 말을 아끼면 권위적으로 비쳐질 수 있음을....
>