본문 바로가기
주식/주식정보

주식 키움 증권 수식 관리자 내장 함수 모음

by ★#□&☆ 2023. 10. 7.

영웅문 수식관리자 키움 수식 모음

키움 증권 영웅문 수식관리자에서 사용하는 내장 함수 및 기본 규칙입니다.

영웅문 수식관리자 키움 수식 모음

내장 함수 (키움 수식) 사용에 관한 기본 사항

기본 규칙

1. 사칙연산자간 우선 순위

사칙연산자간 우선 순위는 '*', ' /' 이 '+', ' -'에 우선하여 연산을 실행합니다.

2. 소괄호()를 통한 우선순위

변수를 지정할 경우에 사용하기도 하며, 연산자간의 계산상의 우선순위를 결정할 때에도 사용합니다.

ex) RSI(14) , (High + Low)/2

3. 논리연산자 And와 Or의 중복

조건문 내에서 And와 Or를 중복할 경우 작성자의 의도대로 계산하여, 참과 거짓 여부를 판단하여야 합니다. 이러한 경우에는 소괄호 ()로서 각 조건사이의 관계를 명확히 하여야 합니다.

조건1 And 조건2 or 조건 3은 다음과 같이 2가지로 해석될 수 있으므로,

a. (조건1 And 조건2) or 조건 3

b. 조건1 And (조건2 or 조건 3) 

a 혹은 b 둘 중 하나로 명확하게 작성하셔야 합니다.

4. 대문자와 소문자의 구분

대소문자의 구분이 없습니다. 따라서 RSI, rSI, RSi, Rsl, Rsi 등 모두 동일한 함수입니다.

5. 공백 및 줄의 변경

함수식 작성시 공백 및 줄에 의한 영향 없습니다.

예를 들자면, RSI(14)와 RSI( 14 )는 동일한 수식이라고 인식됩니다.

6. 변수에 대한 제약

변수는 영문뿐 아니라 한글 변수도 가능하며, 글자 수에도 제한이 없습니다.

ex) ADX(Period) , ADX(적용기간)

 

유의 사항

- 함수명과 변수명에 특수문자 사용금지

사용자 정의 함수명에 특수 문자 ' * , # , _ , + , " . " '등의 모든 특수 문자를 금합니다.

ex) " +DI " 라고 함수명을 정의하여 사용할 수 없습니다.

ex) " *Period " 라고 변수명을 정의하여 사용할 수 없습니다.

-함수명/변수명 앞에 숫자 사용 금지

사용자 정의 함수명을 정하는 경우 함수명/변수명 앞에 숫자 사용을 금합니다.

ex) '1MAO' 라고 함수 명 앞에 숫자를 기입하여 함수명을 정의하면 안됩니다.

ex) '3기간' 라고 변수 명 앞에 숫자를 사용하여 변수명을 사용할 수 없습니다.

- 기본 함수명/지표명/조건검색명/강세약세명/매매전략명과 사용자 정의 명과 동일 이름 사용 금지

기본 함수명(내장함수 포함)의 하나를 선택하여 사용자 정의 함수명 및 변수명으로 사용할 수 없습니다.

ex) 사용자 정의 함수명을 기본함수에 있는 ATR 이라는 이름으로 정의할 수 없습니다.

사용자 정의 지표명을 기본지표에 있는 MACD라고 사용할 수 없으므로, myMACD 또는 MACD변형 등 사용자 임의대로 변형하여 사용하여야 합니다.

데이터 함수

기술적 분석에 쓰이는 기본적인 시세 데이터를 의미합니다.

함수 영문/한글 표기 과거 표시 예제 예제 설명
거래대금 acount account(N) account + account(5) 현재봉의 거래금액과 5봉 전의 거래 금액의 합
거래대금 거래대금(N) 거래대금 + 거래대금(5)
거래량 Volume V(N) V + V(1) 현재봉의 거래량과 1본 전(직전봉)의 거래량의 합
거래량 거래량(N) 거래량 + 거래량(1)
시가 Open, O O(N) O - O(1) 현재봉의 사가와 1본 전(직전봉)의 시가와의 차
시가 시가(N) 시가 - 시가(1)
고가 High, H H(N) H - H(2) 현재봉의 고가와 2봉 전의 고가의 차
고가 고가(N) 고가 - 고가(2)
저가 Low, L L(N) L - L(2) 현재봉의 저가와 2봉 전의 저가의 차
저가 저가(N) 저가 - 저가(2)
종가 Close, C C(N) C - C(1) 현재봉의 종가와 1봉 전(직전봉)의 종가와의 차
종가 종가(N) 종가 - 종가(1)
미결제약정 OI OI(N) OI + OI(2) 현재봉의 미결제약정과 2봉 전의 미결제 약정의 합
미결제약정 미결제약정(N) 미결제약정+미결제약정(2)
날짜 date Date(N) Date 봉의 끝 날짜를 의미함 ("20030809" 형태의 값)
일자 일자(N) 일자
시간 time Time(N) time 봉의 끝 시간을 의미함 ("102500" 형태의 값)
시간 시간(N) 시간

산술 및 관계 연산자

데이터 함수에 산술 및 관계 연산자를 이용한 수식을 만들어 사용할 수 있습니다.

이를 통해 과거 및 현재 시세 데이터의 관계 및 논리를 판단할 수 있습니다.

함수명 의미 예제 예제 설명
+ 더하기 H + L 금일 고가와 저가의 합
- 빼기 H(1) - L(1) 1봉 전의 고가와 1봉 전의 저가의 차
* 곱하기 V * 100 금일 거래량에 100을 곱한 값
/ 나누기 C(1) / C 1봉 전의 종가를 금일의 종가로 나눈 값
% 나머지 10 % 3 나눈 값으 ㅣ나머지
= 대입 A = H - L A에 고가와 저가의 차를 대입
== 논리적으로 같음 C == O 종가와 시가가 같다
!= 논리적으로 다름 C != O 종가와 시가가 다르다
< 우측이 큼 C < O 종가가 시가보다 작다
<= 우측이 크거나 같음 C <= O 종가가 시가보다 작거나 같다
> 좌측이 큼 C > O 종가가 시가보다 크다
>= 좌측이 크거나 같음 C >= O 종가가 시가보다 크거나 같다
!, not 부정 not A A가 아니다
&&, ,and 논리곱 C > O && C(1) > O(1) 현재 봉의 종가가 시가보다 크고, 직전 봉의 종가가 시가보다 크다
||, or 논리합 C > O || C(1) > O(1) 현재 봉의 종가가 시가보다 크거나, 직전 봉의 종가가 시가보다 크다
if, 만일 조건문 if(C > O, 1, 0) 현재 봉의 종가가 시가보다 크면 1, 크지 않으면 0이다

통계함수

일정 범위의 데이터를 통계적으로 분석할 때 사용하는 함수로서, 기술적지표의 특성으로 인해 가장 많이 사용되는 함수입니다. * A - 값, N & M - 기간

함수명 영문/한글 표기 과거(M봉전 값) 의미 예제
단순평균 Avg(A, N) Avg(A, N, M) A의 N일간의 단순평균 avg(C, 10) 종가의 10일간 단순평균
평균(A, N) 평균(A, N 평균(종가, 10)
가중평균 wavg(A, N) wavg(A, N, M) A의 N일간의 가중평균 wavg(H, 10) 고가의 10일간 가중평균
가중평균(A, N) 가중평균(A, N, M) 가중평균(고가, 10)
지수평균 eavg(A, N) eavg(A, N, M) A의 N일간의 단순평균 eavg(O, 10) 시가의 10일간 단순평균
지수평균(A, N) 지수평균(A, N, M) 단순평균(시가, 10)
이평 MA(A, N, D이평) MA(A, N, D이평, M) A의 N일간의 D이평 MA(C, 10, 단순) 종가의 10일 단순이평
MA(종가, 5, 지수) 종가의 5일 지수이평
표준편차 stdev(A,N) stdev(A, N, M) A의 N일간의 표준편차 stdev(C, 10) 10일 간의 종가 중 최고가
표준편차(A, N) 표준편차(A, N, M) 표준편차(종가, 10)
최고값 highest(A, N) highest(A, N, M) A의 N일간의 최고값 highest(C, 10) 10일 간의 종가 중 최저가
최고값(A, N) 최고값(A, N, M) 최고값(C, 10)
최저값 lowest(A, N) lowest(A, N, M) A의 N일간의 최저값 lowest(C, 10) 거래량의 누적합계
최저값(A, N) 최저값(A, N, M) 최저값(C, 10)
누적합계 sum(A) - A의 누적합계 sum(V) 10일간의 거래량의 누적합계
sum(A, N) sum(A, N, M) A의 N일간의 누적합계 sum(V, 10)
합계(A, N) 합계(A, N, M) 합계(거래량, 10)  

수학함수

로그 및 삼각함수 등의 수학적인 계산에 이용되는 함수입니다.

함수명 영문/한글 표기 의미 예제 예제 설명
최대값 Max(A, B) A와 B중 큰 값을 선택 max(C, C(1)) 종가와 전일종가의 최대값
최대값(A, B) 최대값(종가, 종가(1))
최소값 Min(A, B) A와 B중 작은 값을 선택 min(C, C(1)) 종가와 전일종가의 최소값
최소값(A, B) 최소값(종가, 종가(1)
누승 a^b A의 누승 C^2 종가의 제곱(누승2)을 구한다.
pow(a, b) pow(C, 2)
누승(밑, 단순) 누승(C, 2)
로그 log(A) A의 로그 log(100) 로그 100의 값
로그(A) 로그(100)
상용로그 log10(A) A의 상용로그 log10(100) 상용로그 100의 값
상용로그(A) 상용로그(100)
절대값 abs(A) A의 절대값 abs(C - O) 종가와 시가 차의 절대값
절대값(A) 절대값(C - O)
제곱근 sqrt(A) A의 제곱근 sqrt(C) 종가의 제곱근
제곱근(A) 제곱근(종가)
사인 sin(A) A의 사인 값 sin(H) 고가의 사인 값
사인(A) 사인(H)
코사인 cos(A) A의 코사인 값 cos(H) 고가의 코사인 값
코사인(A) 코사인(H)
탄젠트 tan(A) A의 탄젠트 값 tan(H) 고가의 탄젠트 값
탄젠트(A) 탄젠트(H)
아크사인 asin(A) A의 아크사인 값 asin(H) 고가의 아크사인 값
아크사인(A) 아크사인(H)
아크코사인 acos(A) A의 아크코사인 값 acos(H) 고가의 아크코사인 값
아크코사인(A) 아크코사인(H)
아크탄젠트 atan(A) A의 아크탄젠트 값 atan(H) 고가의 아크탄젠트 값
아크탄젠트(A) 아크탄젠트(H)

기타함수

상향돌파와 하향돌파 등 매매전략에 주로 사용되는 함수입니다.

함수명 사용법(영문/한글) 의미 예제 및 설명
상향돌파 crossup(A,B) A가 B를 상향돌파 crossup(C, avg(C, 5)) 상향돌파(종가, 평균(종가, 5))
상향돌파(A,B) 종가가 5일 종가 단순 이평을 상향 돌파
하향돌파 crossdown(A,B) A가 B를 하향돌파 crossdown(C, avg(C,5)) 하향돌파(종가, 평균(종가, 5))
하향돌파(A,B) 종가가 5일 종가 단순이평을 하향 돌파
만약 if(condition,A,B) 만일 condition을 만족하면 A를, 만족하지 않으면 B if(C==C(1),1,0) 만일(종가==종가(1),1,0)
만일(condition,A,B) 만일 현재 종가와 1봉전 종가가 같으면, 1, 아니면 0
이동 Shift(A,N) 차트 상에서 A를 N(양/음)만큼 우(좌)측으로 이동 shift(C, 10)
종가를 10만큼 우측으로 이동
Countsince CountSince(condition,data) condition이 만족된 이후 data의 값이 참인 횟수 CountSince(date!=date(1), CrossUp(Trix(12),0))
일자가 변경된 후 Trix가 0기준선을 상향돌파한 횟수
BarsSince BarsSince(condition) condition이 만족된 이후 지나간 봉갯수 BarsSince(CrossUp(Trix(12),0))
Trix가 0기준선을 상향돌파한 이후 지난 봉 갯수
HighestSince HighestSince(condition, data) condition이 만족된 이후 data의 최고 값 HighestSince(CrossUp(Trix(12),0),c)
Trix가 0기준선을 상향돌파한 이후 c의 최고가
LowestSince LowestSince(condition, data) condition이 만족된 이후 data의 최저값 LowestSince(CrossDown(Trix(12),0),c)
Trix가 0기준선을 하향돌파한 이후 c의 최저가
ValueWhen ValueWhen(nth, condition, data) condition이 nth번 째 만족된  시점의 data값 ValueWhen(1, CrossUp(Trix(12),0),c)
Trix가 0기준선을 상향 돌파한 시점의 종가
DayOpen DayOpen() 장 시작가 Dayopen()
장 시작가
DayHigh DayHigh() 장중 고가 DayHigh() + Dayopen()
장중 고가와 장 시가의 합
DayLow DayLow() 장중 저가 DayLow() + DayHigh()
장중 저가와 장중 고가의 합
PredayOpen() PredayOpen() 전일 시가 PredayOpen() + DayOpen()
전일 시가와 장 시작가의 합
PredayHigh PredayHigh() 전일 고가 PredayHigh()
전일 고가
PredayLow PredayLow() 전일 저가 (PredayLow() + PredayHigh())/2
전일 저가와 전일 고가의 합을 2로 나눈값
PredayClose PredayClose() 전일 종가 PredayClose()
전일 종가

댓글