커뮤니티
수식 부탁 합니다.
2016-07-25 08:31:53
357
글번호 100321
첨부사진처럼 키움증권에서쓰던 지표를 만들어 보려는데 언어가 바뀌니 쉽지않네요.
a1=ma(c,p1);
a2=ma(c,p2);
a3=ma(c,p3);
a4=a2>a3 and crossup(a1,a2);
ValueWhen(1,a4 ,l)
ValueWhen(1,a4,H)
20과 60선이 정배열일때 5일선이 20일선을 골든크로스할때마다의 저가와 고가를 표시해라.....라는 키움식입니다. 물론 키움hts가 지표사이 색을 채우는걸 지원하지않아서
일목균형표의 구름대를 응용해서 사용했습니다.
1.
예스에는 저런 띠만들기 기능이 있다면 알려주세요.
혹시 안된다면 예스에서도 혹시 일목으로는 가능한가요?
2.
사진은 20,60 정배열 상태에서 이뤄진 5,20의 크로스할때마다 표시가되는데
가장 처음에 발생한 크로스에만 표시하고싶다면 countsince(a2>a3 , crossup(a1,a2))
이걸 사용해서 했는데 예스에선 뭐라고 써야하나요?
3.
종목검색에서 n일간의 평균거래량이 몇주이상....을 찾는데 안보이네요.
어디에 있나요?
4.
편집기를 찾아보니 아래식이 예스의 골든크로스 수식이던데
input과 value로 얼마간의 이동평균선이란걸 선언한다는건 알겠는데
그 아래로는(점선 아래) 왜 그렇게 쓰는지 이해가 잘 안됩니다.
자세한 설명이있는곳이나 대략적이라도 설명 좀 부탁합니다.
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
If CrossUp(value1,value2) Then #만약 골든크로스를 한다면
=================================================================
}
If C == C[1] Then #만약 종가와 직전종가가 같다면
value3 = 0.001; #value3은 0.001이 되고
Else
value3 = (C-C[1])/C[1]*100; #그렇지 않다면 value3 을쓴다??
}
Else
value3 = 0; #그렇지 않다면 value3은 0이 된다??
Find(value3); #value3을 찾아라??
처음오다보니 질문이 많네요. 꾸벅...
- 1. 100853_캡처.PNG (0.02 MB)
답변 1
예스스탁 예스스탁 답변
2016-07-25 12:31:09
안녕하세요
예스스탁입니다.
1.
지표사이에 색을 채우는 기능은 수식안에서는 가능하지 않고
지표속성에서 직접 처리하셔야 합니다.
수식작성후 문법검증(f4)후에 f5키를 누르면
지표속성화면이 나타납니다. 지표속성 차트표시탭에서
첨부된 그림과 같이 설정하고 적용하시면 됩니다.
input : p1(5),P2(20),P3(60);
var : a1(0),a2(0),a3(0);
a1=ma(c,p1);
a2=ma(c,p2);
a3=ma(c,p3);
if a2 > a3 and crossup(a1,a2) Then{
var1 = h;
var2 = l;
}
plot1(var1);
plot2(var2);
2.
해당 함수가 제공되지는 않습니다.
아래와 같이 수식에서 조건식 만들어 처리하셔야 합니다.
input : p1(5),P2(20),P3(60);
var : a1(0),a2(0),a3(0),cnt(0);
a1=ma(c,p1);
a2=ma(c,p2);
a3=ma(c,p3);
#a2가 a3를 상향돌파하면 카운트 초기화
if crossup(a2,a3) Then
cnt = 0;
#a2가 a3보다 큰 상태에서 a1-a2의 골드발생하면
if a2 > a3 and crossup(a1,a2) Then{
#카운트 1씩 증가
cnt = cnt+1;
#카운트가 1일때 값저장
if cnt == 1 then{
var1 = h;
var2 = l;
}
}
plot1(var1,"h");
plot2(var2,"l");
3
기본으로 제공되는 내용에 해당 검색식이 없습니다.
따로 종목검색식 작성해 사용하셔야 합니다
P일간 평균거래량이 n개이상인 종목을 찾는 식입니다.
input : P(20);
if ma(v,P) >= n then
find(1);
4
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
If CrossUp(value1,value2) Then
find(1);
보통은 위와 같이 검색식을 작성해서 사용합니다.
find함수안의 매개변수는 검색후에
검색결과값으로 보고자하는 값을 지정하는데
특별히 보고자하는 값이 없으면 0이 아닌 수로 지정을 합니다.
보통 1로 정합니다.
올리신 식은
종목검색후에 검색된 종목의 당일 등락율을 검색결과로 표시하게 작성한 식입니다.
종목검색후에 조건에 맞지 않는 종목은 0을 할당해 제외하므로
등락율이 0인(C==C[1]) 종목는 0.001로 표시해서 종목검색 조건에는 충족하지만
등락율이 0이어서 제외되는 것을 방지하기 위해 작성된 내용입니다.
즐거운 하루되세요
> 한건 님이 쓴 글입니다.
> 제목 : 수식 부탁 합니다.
> 첨부사진처럼 키움증권에서쓰던 지표를 만들어 보려는데 언어가 바뀌니 쉽지않네요.
a1=ma(c,p1);
a2=ma(c,p2);
a3=ma(c,p3);
a4=a2>a3 and crossup(a1,a2);
ValueWhen(1,a4 ,l)
ValueWhen(1,a4,H)
20과 60선이 정배열일때 5일선이 20일선을 골든크로스할때마다의 저가와 고가를 표시해라.....라는 키움식입니다. 물론 키움hts가 지표사이 색을 채우는걸 지원하지않아서
일목균형표의 구름대를 응용해서 사용했습니다.
1.
예스에는 저런 띠만들기 기능이 있다면 알려주세요.
혹시 안된다면 예스에서도 혹시 일목으로는 가능한가요?
2.
사진은 20,60 정배열 상태에서 이뤄진 5,20의 크로스할때마다 표시가되는데
가장 처음에 발생한 크로스에만 표시하고싶다면 countsince(a2>a3 , crossup(a1,a2))
이걸 사용해서 했는데 예스에선 뭐라고 써야하나요?
3.
종목검색에서 n일간의 평균거래량이 몇주이상....을 찾는데 안보이네요.
어디에 있나요?
4.
편집기를 찾아보니 아래식이 예스의 골든크로스 수식이던데
input과 value로 얼마간의 이동평균선이란걸 선언한다는건 알겠는데
그 아래로는(점선 아래) 왜 그렇게 쓰는지 이해가 잘 안됩니다.
자세한 설명이있는곳이나 대략적이라도 설명 좀 부탁합니다.
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
If CrossUp(value1,value2) Then #만약 골든크로스를 한다면
=================================================================
}
If C == C[1] Then #만약 종가와 직전종가가 같다면
value3 = 0.001; #value3은 0.001이 되고
Else
value3 = (C-C[1])/C[1]*100; #그렇지 않다면 value3 을쓴다??
}
Else
value3 = 0; #그렇지 않다면 value3은 0이 된다??
Find(value3); #value3을 찾아라??
처음오다보니 질문이 많네요. 꾸벅...