커뮤니티
문의드립니다.
2015-11-23 22:47:35
109
글번호 92685
수고합니다.
상태에 대해 알고자 사용자함수를 작성하던바 이에 문의드립니다.
[조건]
변수로 입력된 일자 (예로 10일을 편집에서 입력한다고 하고)의 이동평균(20일)을 5와 4로로 나눈 값을 조건식과 비교하여 특정값을 다시 반환하는 함수를 생성하고자 합니다.
이와 관련하여 작성한 사용자함수코딩입니다만 맞는 지 확인 부탁드립니다. 또한 종가변수 C옆에 [N]을 표기했을 때 이 값이 input을 통해 들어오는 값(즉, 내가 원하는 일자인지-10일전?)인지도 궁금합니다.
[사용자함수명] Status
[함수내용]
input : n(Numeric);
ARRAY : 이평이격[2](0);
var : st(0);
이평이격[1]=ma(c[n],5)/5;
이평이격[2]=ma(c[n],5)/4;
IF 이평이격[1] >= 조건A Then
st = 15;
Else
IF 이평이격[2] >= 조건A Then
st = 14;
Else
st = 0;
Status = st;
만약 이 수식이 맞다면
제가 현재 기준 10일 이전의 값을 받고 싶다면 수식생성할 때
input N(10);
var var1(0);
var1 = Status(N);
if var1 == 15 then
find(1);
이렇게까지 사용하면 되는지요?
아직 초보로 많이 궁금하네요.
답변 1
예스스탁 예스스탁 답변
2015-11-24 15:06:18
안녕하세요
예스스탁입니다.
C[n]에서 [n]은 이전봉값 참조입니다.
그러므로 C[n]은 n봉전 종가입니다.
n이 10이고 차트가 일봉이면 10일전 종가입니다.
2.
작성하신 함수에 문제는 없습니다.
배열의 크기는 3으로 하셔야 합니다.
배열은 0부터 시작하므로 1과 2번방을 사용하시면
배열크기(방갯수)는 3입니다.
조건A만 숫자로 바꺼주시면 됩니다.
조건A도 외부에서 추가하실 셩우
아래와 같이 지정해 주시면 됩니다.
이평값과 비교하니 숫자나 숫자계산식이 들어가야 합니다.
이평의 기간값도 추후 사용을 위해 외부변수 처리해 주시면 좋습니다.
함수
input : n(Numeric),p(numeric),vv(Numeric);
ARRAY : 이평이격[3](0);
var : st(0);
이평이격[1]=ma(c[n],P)/5;
이평이격[2]=ma(c[n],P)/4;
IF 이평이격[1] >= vv Then
st = 15;
Else IF 이평이격[2] >= vvThen
st = 14;
Else
st = 0;
Status = st;
종목검색식
input : N(10),P(20),VV(50);
var : var1(0);
var1 = Status(N,P,VV);
if var1 == 15 then
find(1);
즐거운 하루되세요
> 바블릭 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 수고합니다.
상태에 대해 알고자 사용자함수를 작성하던바 이에 문의드립니다.
[조건]
변수로 입력된 일자 (예로 10일을 편집에서 입력한다고 하고)의 이동평균(20일)을 5와 4로로 나눈 값을 조건식과 비교하여 특정값을 다시 반환하는 함수를 생성하고자 합니다.
이와 관련하여 작성한 사용자함수코딩입니다만 맞는 지 확인 부탁드립니다. 또한 종가변수 C옆에 [N]을 표기했을 때 이 값이 input을 통해 들어오는 값(즉, 내가 원하는 일자인지-10일전?)인지도 궁금합니다.
[사용자함수명] Status
[함수내용]
input : n(Numeric);
ARRAY : 이평이격[2](0);
var : st(0);
이평이격[1]=ma(c[n],5)/5;
이평이격[2]=ma(c[n],5)/4;
IF 이평이격[1] >= 조건A Then
st = 15;
Else
IF 이평이격[2] >= 조건A Then
st = 14;
Else
st = 0;
Status = st;
만약 이 수식이 맞다면
제가 현재 기준 10일 이전의 값을 받고 싶다면 수식생성할 때
input N(10);
var var1(0);
var1 = Status(N);
if var1 == 15 then
find(1);
이렇게까지 사용하면 되는지요?
아직 초보로 많이 궁금하네요.