예스스탁
예스스탁 답변
2023-10-04 16:17:14
안녕하세요
예스스탁입니다.
1
사용자함수명 : 요일
반환값형 : 숫자형
input : ndate(Numeric);
var : m1(0),YY(0),YA(0),YB(0),MM(0),DD(0),A(0);
M1=floor(ndate/100)%100;
YY=iff((M1+1-1) == 1 or (M1+1-1) == 2, floor(ndate/10000)-1, floor(ndate/10000));
YA=floor(YY/100);
YB=YY%100;
MM=iff((M1+1-1) ==1, 13, iff((M1+1-1) == 2, 14, M1));
DD=ndate%100;
A=(DD+floor(13*(MM+1)/5) + YB + floor(YB/4) + floor(YA/4) + YA*5)%7;
요일 = iff(A==0,6,A-1);
2
사용자함수명 : 이전주고가
반환값형 : 숫자형
input : n(Numeric);
var : A(0),cnt(0);
Array : hh[100](0);
A=요일(sDate);
if A[1] > A and sDate != sDate[1] Then
{
for cnt = 99 DownTo 1
{
hh[cnt] = hh[cnt-1];
}
hh[0] = h;
}
if hh[0] > 0 and h > hh[0] Then
hh[0] = h;
이전주고가 = hh[n];
3
사용자함수명 : 이전주누적거래량
반환값형 : 숫자형
input : n(Numeric);
var : A(0),cnt(0);
Array : sum[100](0);
A=요일(sDate);
if A[1] > A and sDate != sDate[1] Then
{
for cnt = 99 DownTo 1
{
sum[cnt] = sum[cnt-1];
}
sum[0] = 0;
}
sum[0] = sum[0]+v;
이전주누적거래량 = sum[n];
4
사용자함수명 : 주0봉누적거래량
반환값형 : 숫자형
var : A(0), sum(0);
A=요일(sDate);
if A[1] > A and sDate != sDate[1] Then
{
sum = 0;
}
sum = sum+v;
주0봉누적거래량 = sum;
즐거운 하루되세요
> 트라이 님이 쓴 글입니다.
> 제목 : 지표수식요청
> 아래의 4가지 함수를 사용자함수에 등록하려합니다 예스랭귀지로 변환 부탁드립니다^^
요일(DATE)함수
M=floor(D/100)%100;
YY=if((M+1-1) == 1 or (M+1-1) == 2, floor(D/10000)-1, floor(D/10000));
YA=floor(YY/100);
YB=YY%100;
MM=if((M+1-1) ==1, 13, if((M+1-1) == 2, 14, M));
DD=D%100;
A=(DD+floor(13*(MM+1)/5) + YB + floor(YB/4) + floor(YA/4) + YA*5)%7;
if(A==0,6,A-1)
이전주고가(N)함수
A=요일(DATE);
HH=HIGHESTSINCE(1, A(1)>A && DATE != DATE(1) , H);
Valuewhen(n, A(1)>A && DATE != DATE(1), HH(1));
이전주누적거래량(N)
S=SUM(V);
A=요일(DATE);
B=Valuewhen(n, A(1)>A && DATE != DATE(1), S(1));
B1=Valuewhen(n+1, A(1)>A && DATE != DATE(1), S(1));
B-B1
주0봉누적거래량()
S=SUM(V);
A=요일(DATE);
B=Valuewhen(1, A(1)>A && DATE != DATE(1), S(1));
S-B
감사합니다