Top Banner
Signal Language 메메메 메메메 메메메메 ◐ 제제제제제 : 2017. 1. 20 제 제제제제 제제제제제 제제제 제제제제제제제제 제제제제 제제제 제제 제제제제. 제제 제제제제 제제제제 제 제제제제제 제제제 제제제 제제제 제 제 제제제제. 제제제 제제 제제제제 제제제제(www.SystemTrading.co.kr )제제 제제제제 제제제제. 제제제제 제제제제 제 제제제제 제제제 제제 제제제제 제제 제제제제제 제제제 제제제제 제제제제제. 제제 제 제제제제 제제제제 제제제제, 제제 제제 제제제제제.
407

Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Dec 27, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

목 차

1. Signal Language란?2. Signal Language Editor 도움말가. Editor 실행

1) Signal Language Editor 띄우기

2) Signal Language Editor의 5개 영역

3) Signal Language Editor 영역별 설명

가) 에디터 툴 버튼

나) 스터디 관리자

① [New] 버튼

② [복사] 버튼

③ [변경] 버튼

④ [삭제] 버튼

⑤ 트리구조에서 팝업메뉴

⑥ 분류 / 통합 탭

⑦ 기타 메뉴

☞ Signal Language 메뉴얼 사용시 주의사항

◐ 제공기준일 : 2017. 1. 20

본 매뉴얼은 제공기준일 시점의 시그널메이커에서 제공되는 내용을 담고 있습니다. 이후 시스템이 변경되어 이 메뉴얼에서 설명된 내용과 불일치 할 수 있습니다.

따라서 최신 매뉴얼을 홈페이지(www.SystemTrading.co.kr)에서 참고하기 바랍니다.

시스템이 변경되어 본 매뉴얼의 내용과 달리 작동됨에 따른 위험부담은 이용자 본인에게 귀속됩니다.

또한 본 매뉴얼을 타인에게 무단전재, 복사 등은 금지합니다.

Page 2: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

다) 에디터 창

① 시스템전략 만들기 과정

② 기타 스터디 만들기

③ 에디터 창에 대한 설명

④ [편집기 화면설정]에서 처리할 내용

⑤ 에디터 창에서의 팝업메뉴

라) 검증결과 창

① [검증] 탭② [결과] 탭

마) 함수사전

나. Editor 메뉴

1) Signal Language Editor 메뉴별 설명

가) 파일메뉴

나) [편집]메뉴

다) [보기] 메뉴

라) [검증] 메뉴

마) [도구] 메뉴

① 편집기 화면설정

② 보안설정 / 해제

③ 함수사전(Dictionary)④ 강제청산 / 위험관리

⑤ 전략생성기(중급용)

바) [윈도우] 메뉴

사) [도움말] 메뉴

Page 3: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

3. Signal Language 문법가. 기본원칙과 문장구조

1) 기본원칙

2) 기본 문장의 구조

나. 변수선언 방법

1)외부변수

2)내부변수

3)내장변수

4)배열변수

5)봉 내(內) 갱신변수( IntraBarPersist 변수 )

다. 연산자

1)산술연산자

2)관계연산자

3)논리연산자

4)할당연산자

라. 조건문

마. 반복제어문

4. Signal Language 예약어와 함수가. 데이터 관련 예약어

1) 개요

2) 데이터 관련 예약어 목록

3) 데이터 관련 미래사용을 위한 예약

4) 데이터 예약어 단축 목록

나. 각종 제공함수

1) 일반 주문함수

가) 일반 주문함수 개요

① Buy함수

② Sell 함수

③ ExitLong 함수

④ ExitShort 함수

나) 일반주문함수의 구체적 형식

Page 4: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

① 신호명(Buy, Sell, ExitLong, ExitShort 공통)② 주문타입과 가격조건

③ 수량설정

④ 진입신호명

⑤ 주문수량 선택

2) 위험관리용 청산함수

가) 개요

① 스크립트 코드유형 선택

② 포지션 전체 or 진입건 별

③ 강제청산시점

나) 강제청산 함수해설

① 강제청산 함수에서 공통으로 사용되는 함수

② SetStopLoss(손절매)③ SetProfitTarget, SetStopProfitTarget(목표수익)④ SetStopInactivity⑤ SetExitOnclose와 SetStopEndofDay( 당일청산 )⑥ SetPercentTrailing, SetDollarTrailing, SetStopTrailing( 이익보존청산 )⑦ SetBreakEven ⑧ SetMinProfitTrailing

3) 수학함수

가) 개요

나) 수학함수 간략한 해설

4) 분석함수

가) 개요

나) 분석함수 간략한 해설

다) 주요 분석함수 해설

5) 성과함수

가) 개요

나) 성과함수 간략한 해설

6) 포지션함수

가) 개요

나) 포지션함수 간략한 해설

Page 5: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

다) 주요 포지션함수 상세해설

7) 출력함수

가) 개요

나) 출력함수에 대한 간략해설

다) 빈번하게 사용되는 출력함수

8) 기본제공 함수

가) 개요

나) 기본제공함수 목록과 간략설명

다) 자주 사용되는 기본제공 함수

9) 잔고함수

가) 개요

나) 잔고함수에 대한 간략해설

10) 예약어

가) 개요

나) 예약어 현황

다) 색상예약어

11) 선언과 제어에 관한 예약어

가) 개요

나) 선언과 제어 현황

5. Signal Language 인사이드( inside )가. 주문 및 신호관련 상세내용

1) 신호처리순서

2) 동기화(Sync)와 비동기화(Async)의 차이

가) 동기화(Sync)※ 필수 동의사항

나) 비동기화(ASync)3) 주문가격의 결정

4) 중복진입(Pymiding, 피라미딩)5) 조건만족시 봉 내(內) 주문(IntraBarOrderGeneration, IOG)

가) IOG 개요

나) TradeStation, MultiCharts와 Signal Maker의 IOG 기능차이

다) 기타 TradeStation, MultiCharts와 Signal Maker의 기능차이

Page 6: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

6) 강제청산주문 시점

7) 시뮬레이션에서 봉 가정의 원칙

가) 시고저종의 순서

나) 시뮬레이션에서 체결가의 처리

8) 동기화(Sync) 주문시 추가로 참고할 사항

나. 타종목 참조방법

1) 전봉의 데이터 값 참조방법

2) 타종목 참조(Data1, Data2~99)

다. 사용자 함수 작성시 선언방법

1) 기본선언

2) 함수작성시 선언방법

6. 주요 기본제공함수에 대한 설명1. Signal Language란?

시스템트레이딩 개발툴인 Signal Maker에서는 고객님께서 구상하는 전략을 손쉽게 표현할 수 있도록

Signal Language를 제공하고 있습니다. Signal Language는 자연어에 약간의 제약이 가해져 정형화된

개념을 도입한 것이며, 정확한 문법적 의미를 모르더라도 소스를 보면 대략적으로 해석이 가능한 형태를

가집니다. 따라서 Signal Language는 고숙련된 프로그래머가 아닌 일반고객도 손쉽게 익혀 자신의 전략이

작동되도록 할 수 있는 언어입니다.

Page 7: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

2. Signal Language Editor 도움말

가. Editor 실행

1) Signal Language Editor 띄우기

Signal Language로 본인의 전략이나 지표, 함수 등을 개발하기 위해서는 우선 Signal Language Editor를 실행해야 합니다.

가) 시스템트레이딩 메인화면에서 Signal Language Editor를 실행하기

HTS에서 시스템트레이딩 메뉴를 클릭하면 Signal Maker 메인이 실행되며 다음과 같이 단축버튼을 통해

Signal Language Editor을 실행시킬 수 있습니다.

Page 8: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

나) 시스템트레이딩 메인차트에서 Signal Language Editor를 실행하기

메인차트에서 수행되는 전략, 지표, 패턴, 강약 등의 스터디는 스크립트 형태로 구성되어 있기 때문에

에디터를 통해서 내용을 확인하고 수정해서 다시 반영하는 작업을 반복해서 수행해야 합니다. 따라서 손쉽게

Signal Language Editor를 수행할 수 있도록 하고 있습니다.

① 메인차트의 전략명을 이용하여 실행하기

메인차트에 전략을 적용하고 상단에서 해당 전략명을 우클릭하면 에디터를 실행할 수 있습니다.

② 각종 설정에서 에디터를 실행하는 방법

Page 9: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

[편집기] 버튼을 클릭하면 현재 선택된 전략, 지표, 패턴, 강약 등의 스터디를 열어줍니다.

Page 10: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

2) Signal Language Editor의 5개 영역

Signal Language Editor는 툴버튼, 스터디관리자, 에디터창, 검증결과창, 함수사전 등 5개의 영역으로

구성되어 있습니다. 다만, 각각의 영역은 사용자 필요에 의해 위치를 바꾸거나 없애거나 할 수 있으므로

편리하게 이용할 수 있을 것입니다.

3) Signal Language Editor 영역별 설명

시그널 랭귀지는 시스템 트레이딩을 가능하게 하는 프로그래밍 언어로서 전략, 지표, 패턴, 강세약세, 각종

함수 등을 작성할 수 있도록 지원합니다. 다음은 각각의 영역에 대한 상세 설명입니다.

가) 에디터 툴 버튼

New, 새로작성 : 전략, 지표, 패턴, 강세약세, 함수 등을 [새로 만들기] 할 때 사용합니다. 이 버튼을

누르면 다음과 같은 창이 뜨게 됩니다.

툴 버튼

스터디관리자

에디터 창

검증 결과창 함수사전

Page 11: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

< 새로작성 화면 >

- 이름 : 임의의 이름으로 지정하되 영어, 숫자, 특수문자를 조합하여 사용합니다. 또한 순수하게

한글명으로도 사용할 수 있습니다.- 설명 : 새로만들기할 스터디( 시스템전략, 지표, 패턴, 강세약세, 함수 등을 통칭해서 스터디라고

칭함)에 대한 설명을 입력합니다.- 폴더 : 저장할 폴더를 지정합니다. - 종류 : 시스템전략, 지표, 패턴, 강세약세, 함수 중에서 선택합니다.

다만, 함수를 선택했을 경우에는 다음과 같이 해당 함수가 수행된 후 반환되는 데이터 타입을 추가로

지정해 주어야 합니다.

< 함수를 선택시 반환값 선택 >

. 숫자형(Numeric) : 앞으로 만들 함수가 수행된 후 반환되는 값이 숫자형 값을 리턴한다는 의미

. 참거짓형(TrueFalse) : 함수의 반환값이 참 혹은 거짓의 값

. 문자열(String) : 함수의 반환값이 문자열

열기(Open) : 이 버튼을 클릭하면 다음과 같은 열기 창이 뜨게 됩니다.

Page 12: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

저장 : 에디터창에서 현재 작성중인 스터디를 저장하게 됩니다.

검증 및 컴파일 : 현재 작성중인 스터디의 오류를 검증하고 이상이 없으면 컴퓨터가 이해할 수 있는

상태로 변환합니다. 이것을 컴파일이라고 하며 컴파일이 성공적으로 완료되면 DLL 형태의 스터디가

생성되며 이것을 차트에 적용해서 목표하는 일을 수행할 수 있습니다. 컴파일에 따른 결과는 하단의

검증탭에서 상세하게 나타납니다.

속성 : 선택한 스터디에 대한 상세한 속성을 지정합니다.

Page 13: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

실행취소 : 실행했던 동작을 취소하므로 원상복구 기능을 합니다. 다시실행 : 취소했던 동작을 다시 실행합니다.

잘라내기 : 에디터에서 선택한 영역을 잘라내기하여 클립보드에 저장합니다.

복사 : 에디터에서 선택된 영역을 클립보드로 복사합니다.

붙여넣기 : 클립보드에 저장되어 있는 내용을 에디터의 마우스가 있는 영역에 붙여넣기 합니다.

복원(Import) : 백업한 스터디(전략, 지표, 패턴, 강약, 함수 등)를 가져오기 합니다.

백업(Export) : 스터디(전략, 지표, 패턴, 강약, 함수 등)를 내보내기 합니다. 이 것은 백업을 위한

목적이나 다른 PC로 이전 할 목적일 때 사용합니다.

Page 14: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

찾기(Ctrl + F) : 찾기 창에서 지정한 문자열을 에디터 창에서 검색합니다.

바꾸기(Ctrl + H) : 찾기/바꾸기 창에서 찾을내용과 바꿀내용을 입력한 후 [바꾸기]를 실행하여 찾은

내용을 바꿉니다. 계단식 창 배열 : 에디터에서 여러 개의 창을 띄우고 작업할 때 계단식으로 창을 배열합니다.

바둑판식 창 수평배열 : 에디터에 여러 개의 창이 있을 경우 수평으로 나누어서 배열합니다.

바둑판식 창 수직배열 : 에디터에 여러 개의 창이 있을 경우 수직으로 나누어서 배열합니다.

멀티라인 주석설정 및 해제 : 에디터 영역에서 여러 개의 라인을 선택 한 후 해당 라인의 주석을

설정하거나 해제할 때 사용합니다. 1 라인 주석설정 및 해제 : 에디터 영역에서 한 개의 라인에 대해서만 주석을 설정하거나 해제할 때

사용합니다.

시스템트레이딩 중급자를 위한 [전략생성기] 화면을 호출합니다. 이에 대한 자세한 사용법은 아래의

관련 부분을 참고하기 바랍니다.

[강제청산/위험관리] 화면을 호출합니다. 이 화면은 작성중인 전략 스크립트에 강제청산할 수 있는

코드를 손쉽게 삽입해 줍니다. 이에 대한 자세한 내용은 아래의 관련 부분을 참고하기 바랍니다.

[Script 가져오기] 화면을 호출합니다. 이 화면은 TradeStation, MultiCharts 등과 같은 타사의

시스템트레이딩 툴로 작성한 스크립트를 가져와서 SignalMaker에 맞게 변환합니다.

Page 15: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

☞ Script 변환작업 순서

① 상단의 [Script 선택] 버튼을 클릭하여 가져오고자 하는 스크립트를 선택합니다. 이때 원본 스크립트는 텍스트 파일로 저장되어 있어야 합니다.

② 하단에서 원본 소스가 어떤 툴에서 작성된 스크립트인지를 선택합니다. 이에 따라 변환되는 방식이

달라집니다.- TradeStation & Multicharts : 그림에서 볼 수 있는 것 처럼 매도진입, 매수청산, 매도청산 등의

원본 Script의 함수명과 SignalMaker 함수명이 다르므로 그에 맞게 변환합니다.- TradeStation 2000i : TradeStation의 옛 버전이며 주문함수명은 시그널메이커와 일치하지만

사용하는 형식이 달라서 변환해야 합니다.- YesTrader : 시그널메이커의 형식과 매우 유사하므로 달라지는 부분만 변환합니다.

만일 스크립트에서 PlotBaseLine 함수를 사용했다면 자동으로 사용하지 않는 Plot 함수로 변환해

줍니다.- 기타 : 사용자가 원본 Script에서 지정한대로 SignalMaker의 항목명을 바꾸어 줍니다.

③ [Script 변환하기] 버튼을 클릭하면 [Script 변환동의] 창이 나타나며 내용을 충분히 읽어 보신 후

조치하시기 바랍니다.

Page 16: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

④ [동의함] 버튼을 클릭하면 다음과 같이 변환됩니다.

Page 17: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

< 원본 Script >

[함수/예약어 비교표] 화면을 호출합니다. 이 화면은 TradeStation, MultiCharts 등과 같은 타사에서

제공되는 함수/예약어와의 비교표를 정리해서 제공한 것입니다.

- 제공함수 비교표 : 함수의 기능은 매우 유사하지만 이름이 다른 기본제공함수의 목록을 보여줍니다.- 예약어 비교표 : 자주 사용되는 예약어 중에서 기능은 동일하지만 이름이 다른 경우 입니다.

Page 18: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

[편집기 환경설정]] 화면을 호출합니다. 이에 대한 자세한 내용은 아래의 관련 부분을 참고하기 바랍니다.

나) 스터디 관리자

스터디(Studies)란 시스템전략, 지표, 패턴, 강세약세, 함수 등을 모두 통칭해서 표현하는 말이며, 트리구조에서 이들을 손쉽게 관리할 수 있도록 지원합니다.

① [New] 버튼

이 버튼을 클릭하면 전략, 지표, 패턴, 강세약세, 함수 등을 새로 만들 수 있습니다.

< 새로만들기 화면 >

- 이름 : 임의의 이름으로 지정하되 영어, 숫자, 특수문자를 조합하여 사용합니다. 한글명으로 지정할

수 있습니다.- 설명 : [새로만들기] 할 스터디에 대한 설명을 입력합니다.- 폴더 : 저장할 폴더를 지정합니다.- 종류 : 시스템전략, 지표, 패턴, 강세약세, 함수 중에서 선택합니다.

다만, 함수를 선택했을 경우에는 다음과 같이 해당 함수가 수행된 후 반환되는 데이터 타입을 추가로

지정해 주어야 합니다.

Page 19: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

< 함수를 선택시 반환값 선택 >. 숫자형(Numeric) : 앞으로 만들 함수가 수행된 후 반환되는 값이 숫자형을 리턴한다는 의미

. 참거짓형(TrueFalse) : 함수의 반환값이 참 혹은 거짓의 값

. 문자열(String) : 함수의 반환값이 문자열

② [복사] 버튼

좌측의 트리구조에서 선택되어 있는 스터디를 복사하며 다음과 같은 창이 뜹니다.

- 이름 : 복사할 스터디의 이름

- 폴더 : 저장할 폴더를 선택하며 사용자가 만든 임의의 폴더에 저장가능

③ [변경] 버튼

선택한 스터디의 이름을 변경할 때 사용하며 다음과 같은 창이 뜹니다.

④ [삭제] 버튼

선택한 스터디를 삭제할 때 사용하며 다음과 같은 경고창이 뜹니다.

Page 20: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

☞ 변경, 삭제 등은 사용자가 만든 스터디에 한하여 작동하며 시스템에서 기본적으로 제공되는 스터디의

이름을 변경하거나 파일을 삭제할 수는 없습니다.

⑤ 트리구조에서 팝업메뉴

스터디 관리자의 트리구조에서 마우스 우측버튼을 클릭하면 팝업메뉴가 뜨게 됩니다. 팝업메뉴를 통하여

폴더를 새로 생성할 수 있고 변경, 삭제도 할 수 있습니다.

그림에서 처럼 사용자전략, 사용자지표 등을 선택한 후 마우스 우측버튼을 클릭하여 팝업메뉴를 띄웁니다. 이 상태에서 [폴더관리]의 서브메뉴를 보면 [생성]이 활성화되어 있습니다.

- 생성 : 사용자가 원하는 폴더를 생성할 수 있습니다. [사용자전략]의 하위에 폴더가 생성됩니다.- 변경 : 폴더명을 변경합니다.- 삭제 : 사용자가 만든 폴더를 삭제합니다. 단, 폴더안에 전략이나 지표등의 스터디가 없어야 합니다.

- 속성 : 선택한 스터디에 대한 속성내용을 변경하고 저장할 수 있습니다.

⑥ 분류 / 통합 탭

트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. - [분류] 탭 : 스터디의 성격에 따라 전략, 지표, 패턴, 강세약세, 함수 등으로 구분하여 보여줍니다. 특정 스터디 안에는 시스템에서 제공되는 폴더와 사용자가 만든 폴더로 구분되어 보여집니다.

- [통합] 탭 : 이 탭을 누르면 스터디의 성격에 관계없이 이름에 따라 알파벳 순서로 정렬되어

Page 21: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

나타납니다. 이름으로 재정렬할 수 있거나 [분류]필드를 클릭해서 스터디의 성격에 따라 볼 수

있습니다. . 편집 : 편집이 가능한 경우 ○ 표시, 불가한 경우 x표시가 됩니다.. 검증 : 컴파일이 완료된 경우 ○ 표시, 컴파일 진행전이면 x표시가 됩니다.

⑦ 기타 메뉴

- 부동 : 이 메뉴를 클릭하면 따로 독립해서 보여집니다. 예를 들어 [통합] 탭을 선택한 상태에서 [부동] 메뉴를 클릭하면 [통합]탭이 독립적으로 따로 떼어집니다.

- 도킹 : [부동]메뉴에서 독립적으로 따로 떼어진 창은 도킹을 통해서 다시 원래대로 장착될 수가

있습니다. 부동으로 처리된 창을 드래그해서 스터디관리자로 가져가면 배치할 위치가 주어지며 그때

드롭을 하면 됩니다.- 탭문서 : 탭문서를 나타냅니다.- [자동숨기기] : 이 메뉴를 클릭하면 왼쪽에 [분류], [통합]이란 탭이 생기며 그 위로 마우스를

가져가면 펼쳐집니다.- [숨기기] : 이 메뉴를 클릭하면 화면에서 포커스를 받고 있는 [분류]창이나 [통합]창이 사라집니다.

다시 보이게 하려면 상단메뉴의 [보기] -> [탐색기 창]에서 [분류] 혹은 [통합]을 선택하면 다시

보여지게 됩니다.

다) 에디터 창

사용자가 원하는 스터디를 작성하기 위해서는 에디터 창을 이용합니다. 다음은 스터디의 종류별 간략한

설명입니다. No 스터디 종류 설 명

1 시스템 전략 매매를 하기위한 전략을 만들 때 사용

2 지표 기술적 분석지표와 같이 매매의 참조용으로 사용하며 차트에 표시

3 패턴 특정 조건을 만족하는 봉 패턴을 검색

4 강세약세 특정 조건을 만족하는 영역의 강약을 표시

5 함수 전략이나 지표 등에서 사용될 함수를 만들 때 사용

Page 22: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

에디터 창에서 동일한 시그널 랭귀지 문법을 이용하여 코딩을 하게 되는데 다만 유의해야 할 점은 어느

특정한 함수의 경우에는 제한이 되는 경우가 있습니다.- 주문함수, 주문예약어 등 : Buy, Sell, ExitLong, ExitShort 등의 주문함수는 스터디의 종류가

시스템전략인 경우로 한정합니다. 즉, 이 함수들은 매매와 연관된 것이기 때문입니다.- 포지션함수, 전략성과함수 등 : 이 함수들도 매매와 연관이 되어 있으므로 시스템전략에서만

사용가능 합니다.- Plot 함수 : 이 함수는 차트에 선이나 막대를 그려주는 함수로서 시스템전략에서는 사용할 수 없으며

지표, 패턴, 강세약세 등에서 사용합니다.- PlotPaintBar 함수 : 강세약세 등에서만 사용이 가능합니다.- PlotBaseLine 함수 : 이 함수는 지원하지 않으며 동일한 기능을 Plot 함수를 사용해서 스크립트를

작성하시면 됩니다.

① 시스템전략 만들기 과정

매매를 목적으로 시스템전략을 만들기 위한 과정은 다음과 같습니다.

- 상단메뉴의 [파일] -> [새로만들기] 선택

- [새로작성] 창에서 이름, 설명, 폴더를 선택하고 우측의 종류에서는 시스템전략을 선택

- [확인]을 클릭하면 에디터 창이 새로운 [TestStr] 탭으로 바뀌며 자신이 구상하는 내용을 입력하면

됩니다.- 에디터 편집창에 다음과 같이 간단하게 전략을 작성합니다.

Page 23: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

이 전략은 종가가 20일 단순이평 보다 크면 매수하고 작으면 매도하는 전략이며 테스트를 위해 아주

간단하게 작성한 시스템전략입니다.

- 상단메뉴의 [검증] -> [검증 및 컴파일]을 클릭해서 컴파일 합니다.- 시스템트레이딩 메인차트를 띄우고 좌측트리의 [전략] -> [사용자전략] 폴더에서 방금 작성한

[TestStr]를 클릭합니다.- 차트에 적용되어 신호를 발생하거나 반자동, 자동으로 주문처리하게 됩니다.

② 기타 스터디 만들기

지표, 패턴, 강세약세, 함수 등도 앞에서 설명한 시스템전략을 만드는 방법과 거의 유사한 과정을

거쳐 단계별로 진행하시면 됩니다.

③ 에디터 창에 대한 설명

Page 24: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- 행 번호 : 에디터 창에는 행번호가 좌측에 매겨져 있으며 이를 통해 컴파일 과정시 오류가 발생한

라인을 손쉽게 찾아갈 수 있습니다.- 예약어, 함수명의 손쉬운 사용 : 에디터에서 글자를 입력하게 되면 해당 글자로 시작되는 낱말들을

함수, 예약어 목록 등에서 가져와서 보여주게 되며 이를 참조하여 낱말을 손쉽게 완성하게 됩니다. 다음은 Average에 대한 내용입니다.에디터에서 Av 까지만 입력하면 다음과 같이 도움말이 나타남을 볼 수 있습니다.

여기에서 Average를 선택한 후 괄호열기를 클릭하면 해당 함수를 호출하기 위하여 인자를 어떻게 주어야

할지에 대한 안내창이 나오며 하단의 함수사전에는 Average함수에 대한 간략설명과 사용법 등이 함께

나타납니다.

여기에서 출력되는 인자리스트를 참고하여 올바르게 인자를 입력하고 해당 함수를 호출하면 됩니다.

④ [편집기 화면설정]에서 처리할 내용

Page 25: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

자신에 맞는 에디터 환경이 갖추어져 있다면 쾌적한 기분으로 코딩을 할 수 있게 되며, Signal Language 에디터에서는 [편집기 화면설정]을 통해서 제공합니다.

- 함수 파라미터 표시 : 함수명을 입력한 후 괄호열기를 하는 순간 해당 함수의 파라미터 리스트가

도움말로 나오게 됩니다. 이때 선택한 옵션에 따라 도움말 툴팁은 다르게 나옵니다. 만일 툴팁이

완전히 나오지 않기를 원하면 “함수파라미터 표시”의 체크버튼을 풀면 됩니다.

. [자세히] : 다음과 같이 툴팁의 내용에 파라미터의 명칭, 데이터 타입, 리턴값의 종류 등이 상세히

출력됩니다.

. [변수타입] : 다음과 같이 툴팁의 내용에 데이터타입과 리턴값의 종류만이 출력됩니다.

. [변수명] : 다음과 같이 툴팁의 내용에 데이터명과 리턴값의 종류만이 출력됩니다.

. [사용예] : 다음과 같이 툴팁의 내용에 사용예와 리턴값의 종류만이 출력됩니다.

- 단어 자동완성 사용 : 사용에 체크를 하면 글자를 입력할 때 마다 도움말이 나오며, 체크를 풀면

도움말이 나오지 않습니다.

Page 26: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- 종류별로 색상 구분표시 : 체크를 하면 각 단어들의 성질에 따라 색상을 구분해서 표시하며, 체크를

풀면 모든 글자들이 검정색으로 나타납니다.

- 함수사전연결 : 이 기능은 스크립트를 작성하던 중에 함수를 호출할 때 매우 유용한 기능입니다. 예를 들어 MACD함수를 사용한다고 했을 때 에디터에서 “MACD( “ 이렇게 괄호열기를 하는 순간

함수사전에 해당 함수에 대한 간략설명, 사용법 등이 연동되어 열리는 기능입니다. 이 기능을 사용할

것인지 사용하지 않을것인지를 선택하는 기능입니다.

- 폰트/바탕 : 폰트, 글자의 크기, 바탕색상을 선택할 수 있는 기능입니다.

- 글자색상 선택 : 예약어, 함수명, 변수명, 주석문, 문자열 등을 구분하기 쉽도록 색상을 지정할 수

있습니다. 종류를 선택한 후 하단의 색상선택을 클릭하면 됩니다.

- 기본값으로 : 기본값으로 버튼을 클릭하면 각각의 항목들에 대한 사용자 설정을 무시하고

시스템에서 제공되는 기본 설정값으로 나타내게 됩니다.

☞ 환경설정에서 폰트, 바탕화면, 글자크기, 글자색상 등을 바꾸면 기존 에디터 창에서 편집중인

내용들에 즉시 적용이 되며 약간의 시간이 소요됩니다.⑤ 에디터 창에서의 팝업메뉴

- 함수열기 : 마우스 커서가 열기가 가능한 함수명에 위치한 상태에서만 활성화되며 그 이외의

곳에서는 비활성화되어 나타납니다. - 함수사전에서 찾기 : 함수명이나 예약어에 마우스를 가져간 후 이 메뉴를 클릭하면 해당 내용이

함수사전에서 나타납니다. 특히 함수명을 더블클릭 하면 해당 함수에 대한 설명이 함수사전에

표시되어 매우 편리하게 사용할 수 있습니다.- 복사 : 선택된 영역을 클립보드로 복사합니다.- 잘라내기 : 선택된 영역을 클립보드로 복사한 후 삭제합니다.

Page 27: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- 붙여넣기 : 클립보드에 있는 내용을 커서가 있는 영역에 복사합니다.- 찾기 : 찾기 창에서 지정한 문자열을 에디터 창에서 검색합니다.- 바꾸기 : 찾기/바꾸기 창에서 찾을내용과 바꿀내용을 입력한 후 [바꾸기]를 실행하여 찾은 내용을

바꿉니다.- 모두선택 : 에디터에 있는 내용을 모두 선택합니다.- 검증 및 컴파일 : 에디터의 내용을 문법적으로 이상 없는지 검증하고 컴퓨터가 이해할 수 있는

언어로 번역합니다.- 보안설정/해제 : 소스코드에 암호를 설정하거나 해제할 수 있고 사용기간을 지정하거나 해제할 수

있습니다.

▪ [보안설정] 버튼 : 비밀번호를 두 번 입력한 후 [보안설정] 버튼을 클릭하면 해당 소스파일에

대해 비밀번호가 설정됩니다.▪ [보안해제] 버튼 : 소스파일에 비밀번호가 설정된 경우에만 활성화됩니다. [보안해제] 버튼을

클릭하면 비밀번호를 입력받는 창이 나타나며 여기에 올바른 비밀번호를 입력해야 해제가 됩니다.

▪ 유효기간 설정 : 이용시작일시와 이용종료일시에 날짜와 시간을 입력하면 해당하는 시간

범위내에서만 스터디가 작동됩니다.

- [속성] : 편집중인 스터디에 대한 [속성] 내용을 조회하거나 변경할 수 있습니다. 이에 대한 자세한

내용은 메뉴설명의 [속성] 부분을 참고하시기 바랍니다.

라) 검증결과 창

Page 28: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

① [검증] 탭상단 메뉴의 [검증] -> [검증 및 컴파일] 메뉴를 차례로 클릭한 경우, 혹은 단축키 F3을 누른 경우에는

소스코드에 대한 컴파일이 진행되며 이에 따른 결과는 [검증] 탭에 나타납니다. - 에러 발생시 : 컴파일 과정에서 소스코드에 문법적인 에러가 발견시에는 해당 라인이 [검증]탭의

결과창에 표시됩니다. 이때 에러가 표시되는 곳을 더블클릭하면 해당 라인으로 커서가 이동합니다.- 컴파일 과정에 대한 설명 : 컴파일 과정중에 어떠한 일들이 이루어지는지 설명이 되며 성공했는지

실패했는지에 대한 메시지가 출력됩니다.② [결과] 탭

소스코드를 작성하면서 중간 중간의 결과값을 검증하고 싶을 때 MessageLog함수 혹은 Print 함수를

사용합니다. 이러한 함수들은 차트에 해당 스터디가 수행되면서 [결과]탭에 내용을 출력해 주게 되며 이를

통해 작성중인 소스코드의 이상유무를 판별할 수 있게 됩니다.- MessageLog 함수 : [결과] 탭에서 값을 확인하고자 할 경우 사용

▪ 호출형식 : MessageLog(“ 변수값을 출력할 표현식 “, 변수명 )▪ 표현식 : 출력대상이 수치인 경우 %.0f, %.2f 등으로 기술, 출력대상이 논리값인 경우 %d로 기술, 문자열 변수의 값을 출력할 경우 %s를 사용함.▪ 사용 예 :

- Print 함수 : 파일로 출력을 원할 경우 사용

▪ 호출형식 : Print( “저장할 폴더와 파일명”, “변수값을 출력할 표현식 “, 변수명 )▪ 표현식 : 출력대상이 수치인 경우 %.f, %.2f 등으로 기술, 출력대상이 논리값인 경우 %d로 기술, 문자열 변수의 값을 출력할 경우 %s를 사용함.▪ 사용 예 :

Print( “c:\temp\aa111.txt”, “ %.2f “, EntryPrice )

마) 함수사전

함수사전은 함수를 비롯한 시스템전략, 지표, 패턴, 강세약세 등의 스터디와 시스템 내부적으로 사용중인

내장함수, 예약어 등에 대한 간략한 도움말과 사용법을 담고 있습니다.

Variables : s1("Abc");if BarNumber = 1 Then ClearDebug;if date = 20160426 Then condition1 = true;

v1 = BarNumber;messagelog("BarNo = %.0f date = %d close = %.2f %s ", v1, condition1, Close, s1);

Page 29: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

① [검색] 버튼 : 단어를 입력한 후 [검색]버튼을 클릭하면 해당 단어를 포함하고 있는 단어리스트창이

다음과 같이 나타납니다.

위 그림의 예에서는 MA를 입력한 후 [검색] 버튼을 클릭한 경우로써 단어에 “MA”가 들어있는 모든

문자열을 보여줍니다. 여기에서 본인이 찾고자 하는 명칭을 찾아서 클릭한 후 [확인] 버튼을 누르면

함수사전에서 해당 하는 명칭의 간략설명, 사용예, 입력 파라미터 리스트를 볼 수 있습니다.

② 분류 : 분류는 전체, 시스템전략, 지표, 패턴, 강세약세, 각종 함수, 예약어, 연산자, 선언/제어, 데이터, 내장변수 및 함수, 색상 등의 모든 것을 검색해 볼 수 있습니다. 특히 함수사전은 특정한

함수를 사용하고자 할 때 입력인자 혹은 사용법이 궁금할 때 주로 이용합니다.

Page 30: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

③ 명칭 : 분류에서 [전체]를 선택했다면 시그널 랭귀지에서 사용되는 모든 명칭이 보여집니다. 여기에서 자신이 원하는 명칭을 선택하면 그에 대한 간략한 설명과 사용예, 입력파라미터를 조회할

수 있습니다. 또한 해당 명칭을 더블클릭시 소스코드에 간단히 삽입이 되어 직접 코드를 칠 필요가

없게 됩니다.④ 설명 : 선택한 명칭에 대한 간략한 설명내용입니다.⑤ 사용 예 : 특히 함수의 경우 직접 호출하는 예를 보여줍니다. ⑥ 리턴값 : 함수를 수행한 후 결과값을 반환할 때 데이터 타입이 무엇인가를 나타냅니다.⑦ 사용변수와 변수타입 : 함수를 호출할 때 파라미터 리스트가 나타나며 각각의 데이터 타입도 더불어

보여집니다.⑧ [수정] 버튼 : 사용자가 만든 함수를 비롯한 스터디의 설명, 사용 예를 수정할 수 있습니다. 단,

시스템에서 제공되는 스터디는 수정할 수 없습니다.⑨ 기타 기능 : 함수사전의 타이틀바에 ▼ 버튼을 누르면 부동, 도킹, 탭문서, 자동숨기기, 숨기기

기능이 있으며 이에 대한 설명은 앞 부분을 참고하기 바랍니다.

나. Editor 메뉴

1) Signal Language Editor 메뉴별 설명

가) 파일메뉴

파일메뉴에 속해 있는 서브메뉴는 대부분 앞의 5개 영역을 설명하면서 포함되었습니다. 다음은

파일메뉴의 서브메뉴입니다.

Page 31: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

① 새로만들기 : 스터디를 [새로만들기] 할 때 사용합니다.② 열기 : 이미 만들어진 스터디를 [열기]할 때 사용합니다.③ 닫기 : 현재 선택되어 있는 에디터 창을 닫기 합니다.④ Script 가져오기 : TradeStation & MultiCharts 등으로 작성된 스크립트를 가져오기 합니다.⑤ 저장 : 현재 에디터 창에서 편집중인 내용을 저장합니다.⑥ 다른 이름으로 저장 : 현재 에디터 창에서 편집중인 내용을 다른 이름으로 저장합니다.⑦ 모두저장 : 현재 에디터 창에 열려져 있는 스터디를 일괄적으로 저장합니다.⑧ 속성 : 에디터 창에서 선택된 스터디의 속성을 설정하며 내용이 많아 아래에 별도의 항목으로

설명합니다.⑨ 인쇄 : 소스코드(스크립트)의 내용을 프린트 합니다.⑩ 인쇄 미리보기 : 소스코드를 인쇄하기 전에 미리보기 합니다.⑪ 인쇄설정 : 프린터, 용지, 용지방향을 설정할 수 있습니다.

◈ [속성] 메뉴에 대한 상세설명

(1) 시스템전략에서 속성창

(가)[신호표시] 탭

Page 32: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

① 매수진입표시 : 전략을 차트에 적용한 후 매수진입신호가 발생했을 때 화살표, 명칭, 수량, 신호위치

등을 설정할 수 있습니다.▪ 화살표 : 매수진입신호가 나온 봉에 나타나는 화살표를 선택하며 타입, 두께, 색상과 화살표를

표시할지 여부를 체크할 수 있습니다.▪ 명칭 : 매수진입 신호가 발생했을 때 진입명이 있었다면 그 명칭을 차트에 표시할지 여부를

결정합니다.▪ 수량 : 매수진입할 수량을 차트에 나타냅니다.▪ 신호위치 : 매수진입 신호가 발생하여 주문이 전송될 때 가격위치를 표시합니다. 예를 들어

Onclose 주문타입으로 매수진입신호가 발생했으면 조건만족봉의 다음봉 시가가 들어올 때

조건만족봉의 종가로 주문이 나가는데 이때 신호위치를 조건만족봉의 종가위치에 나타냅니다.

② 매도진입표시 : 매도진입신호가 발생했을 때 화살표, 명칭, 수량, 신호위치 등을 설정할 수 있습니다.③ 매수청산 표시 : 소스코드(스크립트)에서 ExitLong 함수를 통해 신호가 발생되었을 때 나타내는

기준에 대해 설정합니다.④ 매도청산 표시 : 소스코드(스크립트)에서 ExitShort 함수를 통해 신호가 발생되었을 때 나타내는

Page 33: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

기준에 대해 설정합니다.⑤ [기본값으로] : 시스템에서 기본적으로 설정한 값으로 초기화 합니다.⑥ [강제청산 신호표시] : 강제청산 로직에 따라 손절매된 경우 차트에서 구분이 용이하도록 별도로

설정을 할 수 있습니다. 이 버튼을 클릭하면 다음과 같은 창이 뜹니다.

▪ 매수포지션 강제청산 : 목표한 손실이나 이익이 발생한 경우 혹은 장이 마감된 경우 미리 설정해

놓은 기준에 따라 강제청산이 되는데 여기에서 설정해 놓은 기준에 따라 차트에 표시됩니다.▪ 매도포지션 강제청산 : 매도포지션에 대해 강제청산이 이루어질 경우에 대한 설정내용입니다.

(나)[기타속성] 탭

Page 34: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

① 진입/청산의 연결선 표시 : 전략이 차트에 적용된 경우 진입신호가 발생하고 그와 연관된

청산청산신호가 나올 때 서로 연결을 지어 식별을 용이하게 할 목적으로 이용합니다. 연결선, 두께, 이익선, 손실선을 표시할 수 있습니다.

② 강제청산 작동시점 : 강제청산 조건을 만족했더라도 여기에서 선택한 조건에 따라 작동시기를

결정합니다.▪ 조건만족시 즉시 : 봉이 그려지고 있는 상태라도 강제청산 조건을 만족하면 봉의 완성과 관계없이

즉시 청산주문이 전송됩니다.▪ 봉 완성 시점 : 봉이 그려지고 있는 상태라면 아무리 강제청산 조건이 만족하더라도 청산주문이

전송되지 않으며, 봉이 완성되는 시점에 강제청산 조건을 체크하여 만족하면 비로소 청산주문을

전송합니다.

Page 35: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

(2) 지표, 패턴에서 속성창

(가)[스타일] 탭

① 종류 : 지표나 패턴에서 종류필드에 나타나는 이름은 사용자가 작성한 소스코드(스크립트)에서

차트에 지표를 그리기 위해 Plot 함수를 호출할 때 부여한 이름입니다. 다음은 MACD에 대한

소스코드를 보여줍니다.

Page 36: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

② 두께 : 선의 굵기를 선택합니다.③ 형태 : 실선인지 점선인지 등을 선택합니다.④ 색상 : 각각의 지표마다 색상을 지정하여 구분할 수 있게 합니다.⑤ 표시 : 선택적으로 차트에 표시할 수 있습니다.

input:FastLeng( 12 ), SLowLeng( 26 ), MACDLeng( 9 );var: var0(0), var1(0), var2(0) ;

var0 = MACD( close, FastLeng, SLowLeng ) ;var1 = XAverage( var0, MACDLeng ) ;var2 = var0 - var1 ;

Plot1( var0, "MACD" ) ;Plot2( var1, "MACDAvg" ) ;Plot3( var2, "MACDDiff" ) ;Plot4( 0, "ZeroLine" ) ;

Cond1 = CrossUp(var2, 0) ;if Cond1 then

Alert( "Bullish alert" )elsebeginCond1 = CrossDown(var2, 0) ;if Cond1 then

Alert( "Bearish alert" ) ;end;

Page 37: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

(나)[차트속성] 탭

① 최소 필요봉의 개수

▪ 자동지정 : 소스코드에서 지정한 지표를 차트에 표시하기 위해 필요한 최소한의 필요봉수가

충족되었을 때 차트에 해당 지표를 그리기 합니다.▪ 사용자 지정 : 사용자가 지정한 봉 이후로 지표에 그리기를 합니다. 만일 최소 필요봉수 이하로

지정하면 그 이상이 될 때 그리기를 시작합니다.

② 가격차트에 함께 그리기 : 볼리져밴드와 같은 지표는 가격차트에 함께 그려야 의미가 있으므로 이때

선택합니다. 그러나 가격차트와 별개로 그려야 할 지표들의 경우에는 체크를 해제합니다.③ 실시간 업데이트 : 시세틱이 매번 올때마다 지표를 재계산해서 차트에 그립니다.④ 기본값으로 : 시스템에서 설정한 값으로 초기화 시킵니다.

Page 38: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

(3) 강세약세에서 속성창

(가) [스타일] 탭앞에서 설명한 지표, 패턴에서의 [스타일]탭과 동일한 화면이지만 내부적으로 작동되는 것은 약간

상이합니다. 다음은 강세약세의 소스코드이며 지표나 패턴에서와 같이 Plot함수를 호출하지 않고

PlotPaintBar 함수를 사용하고 있습니다. 이 함수는 속성창에서 Plot1, Plot2로 구분해서 보여주게 됩니다.

(나) [차트속성] 탭 앞에서 지표, 패턴에서 설명한 내용과 동일하게 작동합니다.

(4) 함수에서 속성창

함수에서 속성창은 비활성화 됩니다.

나) [편집]메뉴

에디터 창에서 스크립트 작업을 할 때 주로 사용되는 메뉴이며 다음과 같은 것들이 있습니다.

Page 39: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

① 실행취소 : 실행했던 동작을 취소하므로 원상복구 기능을 합니다.② 다시실행 : 취소했던 동작을 다시 실행합니다.③ 잘라내기 : 에디터에서 선택한 영역을 잘라내기하여 클립보드에 저장합니다.④ 복사 : 에디터에서 선택된 영역을 클립보드로 복사합니다.⑤ 붙여넣기 : 클립보드에 저장되어 있는 내용을 에디터의 마우스가 있는 영역에 붙여넣기 합니다.⑥ 삭제 : 선택한 영역을 삭제합니다.⑦ 모두선택 : 포커스를 받고 있는 에디터 창의 내용을 모두선택합니다.⑧ 찾기 : 찾기 창에서 지정한 문자열을 에디터 창에서 검색합니다.

⑨ 바꾸기 : 찾기/바꾸기 창에서 찾을내용과 바꿀내용을 입력한 후 [바꾸기]를 실행하여 찾은 내용을

바꿉니다.

다) [보기] 메뉴

① 툴바 : 상단의 툴바를 보기합니다.② 상태바 : 상태바를 보기합니다.③ 출력창 : 체크된 경우 하단의 출력창을 보기합니다. 출력창에는 [검증], [결과]탭이 있습니다.

Page 40: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

④ 탐색기창 : [분류], [통합], [사전] 탭이 있으며 체크되어 있으면 각각 보기를 할 수 있습니다.

라) [검증] 메뉴

① 검증 및 컴파일 : 에디터 창에서 사용자가 작성한 소스코드(스크립트)에 대해 문법적으로 이상이

없는가를 검증하고 이상이 없으면 컴퓨터가 이해할 수 있는 언어로 번역하는 과정입니다. 검증 및

컴파일 과정이 성공적으로 마쳐졌으면 DLL 파일이 생성되며 이것을 차트에 적용해서 목적하는 바를

달성할 수 있게 됩니다. 에디터에서 단축키로 F3을 클릭하면 수행되며, 검증결과는 하단의

결과창에서 확인해 볼 수 있습니다.② 컴파일 중지 : 컴파일중인 경우 이 메뉴를 누르면 중지가 됩니다. ③ 전체 컴파일(Open) : 에디터 창에서 열려져 있는 스크립트에 한하여 컴파일 작업이 수행됩니다.④ 모든 전략컴파일 : 에디터창에 열려진것과 관계없이 모든 시스템전략 스크립트에 대해 일괄적으로

검증 및 컴파일을 수행합니다. ⑤ 모든 지표컴파일 : 에디터창에 열려진것과 관계없이 모든 지표 스크립트에 대해 일괄적으로 검증 및

컴파일을 수행합니다.⑥ 모든 패턴컴파일 : 에디터창에 열려진것과 관계없이 모든 패턴 스크립트에 대해 일괄적으로 검증 및

컴파일을 수행합니다.⑦ 모든 강세약세컴파일 : 에디터창에 열려진것과 관계없이 모든 강세약세 스크립트에 대해 일괄적으로

검증 및 컴파일을 수행합니다.⑧ 모든 함수컴파일 : 에디터창에 열려진것과 관계없이 모든 함수 스크립트에 대해 일괄적으로 검증 및

컴파일을 수행합니다.

마) [도구] 메뉴

Page 41: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

① 편집기 화면설정

자신에 맞는 에디터 환경이 갖추어져 있다면 쾌적한 기분으로 코딩을 할 수 있게 되며, Signal Language 에디터에서는 [편집기 화면설정]을 통해서 제공합니다.

- 함수 파라미터 표시 : 함수명을 입력한 후 괄호열기를 하는 순간 해당 함수의 파라미터 리스트가

도움말로 나오게 됩니다. 이때 선택한 옵션에 따라 도움말 툴팁은 다르게 나옵니다. 만일 툴팁이

완전히 나오지 않기를 원하면 “함수파라미터 표시”의 체크버튼을 풀면 됩니다.

. [자세히] : 다음과 같이 툴팁의 내용에 파라미터의 명칭, 데이터 타입, 리턴값의 종류 등이 상세히

출력됩니다.

. [변수타입] : 다음과 같이 툴팁의 내용에 데이터타입과 리턴값의 종류만이 출력됩니다.

. [변수명] : 다음과 같이 툴팁의 내용에 데이터명과 리턴값의 종류만이 출력됩니다.

. [사용예] : 다음과 같이 툴팁의 내용에 사용예와 리턴값의 종류만이 출력됩니다.

- 단어 자동완성 사용 : 사용에 체크를 하면 글자를 입력할 때 마다 도움말이 나오며, 체크를 풀면

Page 42: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

도움말이 나오지 않습니다.- 종류별로 색상 구분표시 : 체크를 하면 각 단어들의 성질에 따라 색상을 구분해서 표시하며, 체크를

풀면 모든 글자들이 검정색으로 나타납니다.

- 함수사전연결 : 이 기능은 스크립트를 작성하던 중에 함수를 호출할 때 매우 유용한 기능입니다. 예를 들어 MACD함수를 사용한다고 했을 때 에디터에서 “MACD( “ 이렇게 괄호열기를 하는 순간

함수사전에 해당 함수에 대한 간략설명, 사용법 등이 연동되어 열리는 기능입니다. 이 기능을 사용할

것인지 사용하지 않을것인지를 선택하는 기능입니다.

- 폰트/바탕 : 폰트, 글자의 크기, 바탕색상을 선택할 수 있는 기능입니다.

- 글자색상 선택 : 예약어, 함수명, 변수명, 주석문, 문자열 등을 구분하기 쉽도록 색상을 지정할 수

있습니다. 종류를 선택한 후 하단의 색상선택을 클릭하면 됩니다.

- 기본값으로 : 기본값으로 버튼을 클릭하면 각각의 항목들에 대한 사용자 설정을 무시하고

시스템에서 제공되는 기본 설정값으로 나타내게 됩니다.

☞ 환경설정에서 폰트, 바탕화면, 글자크기, 글자색상 등을 바꾸면 기존 에디터 창에서 편집중인 내용들에

즉시 적용이 되며 약간의 시간이 소요됩니다.

② 보안설정 / 해제

소스코드(스크립트)에 암호를 설정하거나 해제할 수 있고 사용기간을 지정하거나 해제할 수 있습니다.

Page 43: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ [보안설정] 버튼 : 비밀번호 설정칸에 임의의 비밀번호를 입력한 후 다시 한번 비밀번호

확인칸에 앞서 입력한 비밀번호를 입력하고 [보안설정] 버튼을 클릭합니다. 그러면 해당 소스파일에 대해

비밀번호가 설정되며, 이후 해당 스크립트를 열때마다 비밀번호를 요구하게 됩니다.▪ [보안해제] 버튼 : 소스파일에 비밀번호가 설정된 경우에만 활성화됩니다. [보안해제] 버튼을

클릭하면 비밀번호를 입력받는 창이 나타나며 여기에 올바른 비밀번호를 입력해야 해제가 됩니다.

▪ 유효기간 설정 : 이용시작일시와 이용종료일시에 날짜와 시간을 입력하면 해당하는 시간

범위내에서만 스터디가 작동됩니다. 단, ( 이용시작일시 < 이용종료일시 )의 관계를 만족해야 합니다.

☞ 소스코드에 유효기간이 설정되면 차트에 해당 스크립트를 적용하는 시점에 유효기간이

경과되었는지 여부를 판단하게 됩니다. 유효기간이 경과되지 않았다면 해당 스크립트를 차트에 적용하게

됩니다.③ 함수사전(Dictionary)

함수사전은 소스코드로 작성된 시스템전략, 지표, 패턴, 강세약세, 각종 함수 등의 스터디와 시스템

내부적으로 사용중인 내장함수, 예약어 등에 대한 간략한 도움말과 사용법을 담고 있습니다.

- [검색] 버튼 : 단어를 입력한 후 [검색]버튼을 클릭하면 해당 단어를 포함하고 있는 단어리스트창이

다음과 같이 나타납니다.

☞ 함수사전 사용시 주의사항함수사전에 나오는 데이터 예약어, 각종 함수 등을 사용하여 전략이나 지표 스크립트를 작성시에는 거래하고자 하는 상품에 대해 해당 데이터가 올바르게 들어오고 있는지를 MessageLog 함수로 반드시 확인해야 합니다. 왜냐하면 세계 각국의 거래소에 따라서 일부 항목들은 제공되지 않을 수 있기 때문입니다. 예를 들어 “OpenInt”라는 데이터 예약어는 국내거래소 상품은 “미결제약정”을 반환해 주는데 해외상품의 경우에는 데이터 값이 0으로 나옵니다. 따라서 반드시 확인한 후 이용해야 하며 이에 대한 책임은 사용하는 당사자에 있음에 유의하기 바랍니다.

Page 44: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

위 그림의 예에서는 MA를 입력한 후 [검색] 버튼을 클릭한 경우로써 단어에 “MA”가 들어있는 모든

문자열을 보여줍니다. 여기에서 본인이 찾고자 하는 명칭을 찾아서 클릭한 후 [확인] 버튼을 누르면

함수사전에서 해당 하는 명칭의 간략설명, 사용예, 입력 파라미터 리스트를 볼 수 있습니다.

- 분류 : 분류는 전체, 시스템전략, 지표, 패턴, 강세약세, 각종 함수, 예약어, 연산자, 선언/제어, 데이터, 내장변수 및 함수, 색상 등의 모든 것을 검색해 볼 수 있습니다. 특히 함수사전은 특정한

함수를 사용하고자 할 때 입력인자 혹은 사용법이 궁금할 때 주로 이용합니다.- 명칭 : 분류에서 [전체]를 선택했다면 시그널 랭귀지에서 사용되는 모든 명칭이 보여집니다. 여기에서 자신이 원하는 명칭을 선택하면 그에 대한 간략한 설명과 사용예, 입력파라미터를 조회할

수 있습니다. 또한 해당 명칭을 더블클릭시 소스코드에 간단히 삽입이 되어 직접 코드를 칠 필요가

없게 됩니다.- 설명 : 선택한 명칭에 대한 간략한 설명내용입니다.- 사용 예 : 특히 함수의 경우 직접 호출하는 예를 보여줍니다. - 리턴값 : 함수를 수행한 후 결과값을 반환할 때 데이터 타입이 무엇인가를 나타냅니다.- 사용변수와 변수타입 : 함수를 호출할 때 파라미터 리스트가 나타나며 각각의 데이터 타입도 더불어

보여집니다.- [수정] 버튼 : 사용자가 만든 함수를 비롯한 스터디의 설명, 사용 예를 수정할 수 있습니다. 단,

시스템에서 제공되는 스터디는 수정할 수 없습니다.- 기타 기능 : 함수사전의 타이틀바에 ▼ 버튼을 누르면 부동, 도킹, 탭문서, 자동숨기기, 숨기기

Page 45: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

기능이 있으며 이에 대한 설명은 앞 부분을 참고하기 바랍니다.

④ 강제청산 / 위험관리

강제청산은 미리 정해진 수준의 손실이 커지거나 반대로 이익을 확정할 경우 보유하고 있는 포지션을

청산하도록 합니다. 사용자가 에디터 창에서 시스템전략에 대한 스크립트를 작성할 때 손쉽게 강제청산

코드를 넣을 수 있도록 해 줍니다. 따라서 편집이 불가한 시스템에서 제공되는 전략이나 모든 지표, 모든

패턴, 모든 강세약세, 모든 함수 등이 열려져 있는 경우에는 메뉴 자체가 비활성화되어 사용할 수 없습니다.다음은 각 항목별로 어떻게 소스코드가 삽입이 되는지와 동작원리를 설명합니다.

ⓐ 스크립트 코드유형 : 산출된 /스소코드가 어떤 함수를 내부적으로 사용하는지에 따라 A형과 B형으로 나누어 집니다.

ⓑ 손절매(손실율) : 지정한 값 이상 손실이 커지면 보유하고 있는 잔고를 청산합니다. - 포지션전체 : 보유하고 있는 잔고에 대해 모두 청산처리하며 소스코드에 SetStopPosition이란

Page 46: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

함수를 추가해 줍니다.- 진입건 별 : 여러 번 나누어서 진입했을 경우 진입건별로 청산처리 합니다. 소스코드에

SetStopContract란 함수를 추가해 줍니다.- %, Pt : 지정한 값의 단위를 %로 할지 선물옵션의 경우 포인트(Point, Pt)로 할지를 선택합니다.

- 손절매 A형의 경우 소스코드 삽입 예

설정조건(A형) 삽입된 소스코드

손절매 5 Pt/원

포지션전체

Inputs: MyStoplossPoint(5);SetStopPosition; // 포지션 전체

SetStopLoss( MyStoplossPoint );손절매 5 Pt/원

진입건 별

Inputs: MyStoplossPoint(5);SetStopContract; // 진입건 별

SetStopLoss( MyStoplossPoint );

- 손절매 B형의 경우 소스코드 삽입 예

설정조건(A형) 삽입된 소스코드

손절매 5 % 포지션전체

Inputs: MyStoplossPercent(5);SetStopPosition; // 포지션 전체

SetStopLoss( MyStoplossPercent, PercentStop );손절매 5 Pt/원

포지션전체

Inputs: MyStoplossPoint(5);SetStopPosition; // 포지션 전체

SetStopLoss( MyStoplossPoint, PointStop );손절매 5 % 진입건 별

Inputs: MyStoplossPercent(5);SetStopContract; // 진입건 별

SetStopLoss( MyStoplossPercent, PercentStop );손절매 5 Pt/원

진입건 별

Inputs: MyStoplossPoint(5);SetStopContract; // 진입건 별

SetStopLoss( MyStoplossPoint, PointStop );

ⓒ 목표수익 : 지정한 값 이상 이익이 발생하면 보유하고 있는 잔고를 청산합니다. 앞에서 설명한 것과

같이 포지션전체, 진입건 별로 청산할 수 있으며, 단위도 B형의 경우에는 %, Pt로 지정할 수 있습니다.

- 목표수익 A형의 경우 소스코드 삽입 예

설정조건(A형) 삽입된 소스코드

Page 47: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

목표수익 5 Pt 포지션전체

Inputs: MyProfitTargetPoint(5);SetStopPosition; // 포지션 전체

SetProfitTarget( MyProfitTargetPoint );목표수익 5 Pt 진입건 별

Inputs: MyProfitTargetPoint(5);SetStopContract; // 진입건 별

SetProfitTarget( MyProfitTargetPoint );

- 목표수익 B형의 경우 소스코드 삽입 예

설정조건(A형) 삽입된 소스코드

목표수익 5 % 포지션전체

Inputs: MyProfitTargetPercent(5);SetStopPosition; // 포지션 전체

SetStopProfittarget( MyProfitTargetPercent, PercentStop );목표수익 5 Pt 포지션전체

Inputs: MyProfitTargetPoint(5);SetStopPosition; // 포지션 전체

SetStopProfittarget( MyProfitTargetPoint, PointStop );목표수익 5 % 진입건 별

Inputs: MyProfitTargetPercent(5);SetStopContract; // 진입건 별

SetStopProfittarget( MyProfitTargetPercent, PercentStop );목표수익 5 Pt 진입건 별

Inputs: MyProfitTargetPoint(5);SetStopContract; // 진입건 별

SetStopProfittarget( MyProfitTargetPoint, PointStop );

ⓓ 최소가격변화 : 차트에 전략을 적용한 후 지정한 봉 동안에 지정한 범위 이상의 변동이 없을 때 포지션

전체잔고를 청산해 주는 스크립트 코드입니다. 단, A형의 경우에는 이를 지원하지 않으며 B형의 경우에만

적용됩니다. 또한 진입건 별로 할 수 있으며, 포지션 전체에 대해서 일괄 청산을 할 수도 있습니다..

- 최소가격변화 B형의 경우 소스코드 삽입 예

설정조건(B형) 삽입된 소스코드

최소가격변화 3 % 포지션전체

Inputs: MyStopInactivityPercent(3), MyStopInactivityPercentBar(10);SetStopPosition; // 포지션 전체

SetStopInactivity(MyStopInactivityPercent, MyStopInactivityPercentBar, PercentStop );

최소가격변화

3 Pt 포지션전체

Inputs: MyStopInactivityPoint(3), MyStopInactivityPointBar(10);SetStopPosition; // 포지션 전체

SetStopInactivity( MyStopInactivityPoint, MyStopInactivityPointBar,

Page 48: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

PointStop );최소가격변화 3 % 진입건 별

Inputs: MyStopInactivityPercent(3), MyStopInactivityPercentBar(10);SetStopContract; // 진입건 별

SetStopInactivity(MyStopInactivityPercent, MyStopInactivityPercentBar, PercentStop );

최소가격변화

3 Pt 진입건 별

Inputs: MyStopInactivityPoint(3), MyStopInactivityPointBar(10);SetStopContract; // 진입건 별

SetStopInactivity( MyStopInactivityPoint, MyStopInactivityPointBar, PointStop );

ⓔ 당일청산 : A형의 경우 데이터매니저에서 설정한 종목별 종료시간이 되었을 때 포지션 전체를 청산하며, B형의 경우에는 지정한 시간이 경과되면 포지션 전체를 청산합니다.

- 당일청산 A형의 경우 소스코드 삽입 예

설정조건(A형) 삽입된 소스코드

당일청산

포지션전체

SetStopPosition; // 포지션 전체

SetExitOnClose;

- 당일청산 B형의 경우 소스코드 삽입 예

설정조건(B형) 삽입된 소스코드

당일청산

15:03:00포지션전체

Inputs: MyStopEndOfDayTime(150300);SetStopPosition; // 포지션 전체

SetStopEndofday( MyStopEndOfDayTime );

ⓕ 이익보존청산(수익대비) 이익보존청산은 트레일링스톱(Trailing Stop)이라고도 하며 청산전략에서 매우 유용하고 많이 사용하는

기법입니다. 수익대비 이익보존 청산은 사용자가 지정한 목표수익이 1차적으로 발생한 후 계속해서 수익이

추가적으로 발생하다가 지정한 수준의 반락이 생길 때 잔고를 청산하는 방법입니다. 예를 들어 설명하면

다음과 같습니다.- 수익대비 2% 초과 후 50% 반락/반등시 포지션전체 청산에 대한 설명

선물가격 100Pt에 포지션 진입후 102Pt가 되면 2% 수익이 발생한 것이며 계속해서 선물지수가

상승해서 103Pt가 되었다면 3% 수익이 발생한 것입니다. 이때 선물지수가 반락해서 수익대비(총

수익은 3%인 3Pt가 발생) 50% 만큼 떨어진 101.5Pt 되면 포지션 전체를 청산하게 됩니다. 여기에서 반락/반등후의 값을 너무 작게 설정하면 매번 강제청산이 발생하므로 유의해야 합니다.

- 이익보존청산/수익대비 A형의 경우 소스코드 삽입 예( 입력을 “Pt”으로만 허용 )

Page 49: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

설정조건(A형) 삽입된 소스코드

이익보존청산/수익대비

2 Pt 초과 후

50% 반락/반등시

포지션전체

Inputs: MyPointTrailingBefore(2), MyPercentTrailingAfter(50);SetStopPosition; // 포지션 전체

SetPercentTrailing(MyPointTrailingBefore, MyPercentTrailingAfter);

이익보존청산/수익대비

2 Pt 초과 후

50% 반락/반등시

포지션전체

Inputs: MyPointTrailingBefore(2), MyPercentTrailingAfter(50);SetStopContract ; // 진입건 별

SetPercentTrailing(MyPointTrailingBefore, MyPercentTrailingAfter);

- 이익보존청산/수익대비 B형의 경우 소스코드 삽입 예

설정조건(B형) 삽입된 소스코드

이익보존청산/수익대비

2 % 초과 후

50% 반락/반등시

포지션전체

Inputs: MyPercentTrailingBefore(2), MyPercentTrailingAfter(50);SetStopPosition; // 포지션 전체

SetStopTrailing( MyPercentTrailingAfter, MyPercentTrailingBefore, PercentStop );

이익보존청산/수익대비

2 Pt 초과 후

1 Pt 반락/반등시

포지션전체

Inputs: MyPointTrailingBefore(2), MyPointTrailingAfter(1);SetStopPosition; // 포지션 전체

SetStopTrailing( MyPointTrailingAfter, MyPointTrailingBefore, PointStop );

이익보존청산/수익대비

2 % 초과 후

50% 반락/반등시

진입건 별

Inputs: MyPercentTrailingBefore(2), MyPercentTrailingAfter(50);SetStopContract; // 진입건 별

SetStopTrailing( MyPercentTrailingAfter, MyPercentTrailingBefore, PercentStop );

이익보존청산/수익대비

2 Pt 초과 후

1 Pt 반락/반등시

진입건 별

Inputs: MyPointTrailingBefore(2), MyPointTrailingAfter(1);SetStopContract; // 진입건 별

SetStopTrailing( MyPointTrailingAfter, MyPointTrailingBefore, PointStop );

ⓖ 이익보존청산(최고/최저가대비)최고/최저가 대비 이익보존 청산은 사용자가 지정한 목표가격을 1차적으로 달성한 후 계속해서 상승(혹은

하락)이 추가적으로 발생하여 최고가(최저가)를 기준으로 지정한 수준의 반락(반등)이 생길 때 잔고를

청산하는 방법입니다. 예를 들어 설명하면 다음과 같습니다.

Page 50: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- 최고/최저가 대비 2% 초과 후 1% 반락/반등시 포지션전체 청산에 대한 설명

선물가격 100Pt에 포지션 진입후 102Pt가 되면 2% 수익이 발생한 것이며 계속해서 선물지수가

상승해서 최고가 103Pt가 되었다면 3% 수익이 발생한 것입니다. 이때 선물지수가 반락해서 최고/최저가 대비(최고가 103Pt일 때 ) 1% 만큼 떨어진 101.97Pt( 103Pt – 103Pt * 0.01 = 101.97) 이하가 되면 포지션 전체를 청산하게 됩니다. 여기에서 반락(반등)후의 값이 수익대비일 경우와

다르므로 유의해야 합니다.

- 이익보존청산/ 최고/최저가 대비 A형의 경우 : 지원하지 않으며 B형을 사용해서 전략을 구성해야

합니다.

- 이익보존청산/ 최고/최저가대비 B형의 경우 소스코드 삽입 예

설정조건(B형) 삽입된 소스코드

이익보존청산/ 최고/최저가대비

2 % 초과 후

1 % 반락/반등시

포지션전체

Inputs: MaxMinPercentTrailingBefore(2), MaxMinPercentTrailingAfter(1);SetStopPosition; // 포지션 전체

SetStopTrailing( MaxMinPercentTrailingAfter, MaxMinPercentTrailingBefore, PercentStop, 1 );

이익보존청산/ 최고/최저가대비

2 Pt 초과 후

1 Pt 반락/반등시

포지션전체

Inputs: MaxMinPointTrailingBefore(2), MaxMinPointTrailingAfter(1);SetStopPosition; // 포지션 전체

SetStopTrailing( MaxMinPointTrailingAfter, MaxMinPointTrailingBefore, PointStop, 1 );

이익보존청산/ 최고/최저가대비

2 % 초과 후

1 % 반락/반등시

진입건 별

Inputs: MaxMinPercentTrailingBefore(2), MaxMinPercentTrailingAfter(1);SetStopContract; // 진입건 별

SetStopTrailing( MaxMinPercentTrailingAfter, MaxMinPercentTrailingBefore, PercentStop, 1 );

이익보존청산/ 최고/최저가대비

2 Pt 초과 후

1 Pt 반락/반등시

진입건 별

Inputs: MaxMinPointTrailingBefore(2), MaxMinPointTrailingAfter(1);SetStopContract; // 진입건 별

SetStopTrailing( MaxMinPointTrailingAfter, MaxMinPointTrailingBefore, PointStop, 1 );

ⓗ 주의사항

- 강제청산 화면에서 자동으로 추가된 소스코드와 고객께서 기 작성한 강제청산 로직이 중복되거나

Page 51: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

전후가 얽힐 수 있으므로 충분히 검토한 후 실전에 적용해야 합니다.

- 이익보존청산 / 수익대비로 설정시 : 특히 %단위로 선택한 후 설정값을 지나치게 낮게 입력하면

너무나 자주 손쉽게 강제청산이 되므로 유의해야 합니다. 이에 대한 내용은 [Help] 버튼을 통해 추가로

확인하실 수 있습니다.

ⓘ 강제청산 시기

강제청산 조건이 만족되었다고 하더라도 다음의 조건에 따라 즉시 청산이 진행될 수도 있고 혹은 봉이

완성될 때에만 실행될 수도 있습니다.

- 조건만족시 즉시 : 봉이 완성되지 않았더라도 강제청산 조건이 만족되면 즉시 강제청산이

실행됩니다.

- 봉완성 시점 : 봉이 그려지고 있는 상태에서는 조건이 만족되더라도 강제청산이 되지 않으며 봉이

완성되는 시점에 체크를 해서 청산조건을 만족하면 그때 비로소 강제청산이 이루어집니다.

이에 대한 선택은 해당 스크립트를 차트에 적용한 후 [전략설정] 창에서 선택할 수 있습니다.

다음은 [전략설정] 창에서 강제청산작동 시점을 선택하는 모습입니다.

Page 52: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

⑤ 전략생성기(중급용)

ⓐ 전략생성기 개요

중급자용 전략생성기는 몇번의 간단한 클릭으로 자신이 구상하는 전략을 스크립트로 산출해 주는

도구입니다. 시스템트레이딩에 대한 경험이나 스킬이 부족해서 직접 에디터로 코딩을 하기 어려운

투자자들이 손쉽게 전략을 만들고 이를 토대로 수정해서 자신만의 전략을 생성해 낼 수 있게 됩니다.

Page 53: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

위와 같이 좌측에서 “가격이동평균 > 돌파”를 차례로 선택하고 하단의 [전략생성] 버튼을 클릭하면 다음과

같이 전략스크립트가 자동으로 생성되면서 검증 및 컴파일을 수행하게 됩니다.

제공전략

주문조건 영역

주문조건 세부설정 영역

Page 54: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

컴파일이 성공적으로 완료가 되었다면 위의 전략을 차트에 적용해서 이후 자동매매를 수행할 수 있게

됩니다. 다음은 위에서 생성된 전략을 차트에 적용해서 시그널이 발생한 모습입니다.

Page 55: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

ⓑ 전략생성기 항목별 설명

전략생성기는 위의 그림에서와 같이 제공전략 영역, 주문조건 영역, 주문조건 세부설정 영역 등 세 개

부분으로 구성되어 있습니다. 제공전략 영역

주문조건 영역

좌측의 트리에서 특정한 전략을 더블클릭하면 그에 대한 주문조건이 매수진입탭 혹은 매도진입탭 등에

추가됩니다.

- 찾기 : 버튼 좌측의 빈 칸에 검색할 명칭을 입력하고 [찾기]를 클릭하면 해당 명칭이 들어가 있는 전략을 반복해서 검색해 줍니다.- 삭제 : 사용자전략에 한하여 저장했던 전략을 삭제할 수 있습니다.- 사용자전략 폴더 : 사용자가 만든 전략만 보여지며 임의로 수정, 삭제할 수 있습니다.- 기술적지표 : 기술적 지표를 이용한 전략들을 돌파, 크로스, 추세, 반전 등으로 세분화 해서 전략을 설정할 수 있습니다.여기에서 원하는 명칭을 더블클릭하면 우측의 주문조건창에 추가됩니다.- 기타지표 : 시간조건 등을 이용한 전략을 작성할 수 있습니다.

Page 56: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- 사용자 전략명 : 현재 만들고 있는 전략을 통칭하는 전략명을 입력합니다.- 저장 : 사용자 전략을 저장해 줍니다.- 매수진입 : 추가된 조건의 And, Or 조합에 따라 조건에 맞으면 매수진입 시그널이 발생합니다.

[매수진입] 탭이 선택되어 있는 상태에서 [조건복사] 버튼을 클릭하면 [매도청산] 탭으로

이동하면서 매수진입 조건들이 복사됩니다.- 매도진입 : 여기에 추가된 조건을 만족하면 매도시그널이 발생하며, 이 탭이 클릭되어 있는 상태에서

[매매조건] 버튼을 클릭하면 [매수청산] 탭이 선택되면서 매도진입 조건들이 복사됩니다.- 조건복사 : 명칭과 관계없이 매수주문(매수진입 , 매도청산) 끼리 복사하거나 매도주문(매도진입,

매수청산)끼리 매매조건을 복사해 주는 기능입니다.- 초기화 : 모든 매매조건과 세부조건을 모두 초기화 합니다.- 조건합성 : 개별적인 매매조건들을 And, Or, Not 등으로 합성해서 처리합니다.

주문조건 세부설정 영역

- 변수 : 선택한 기술적분석지표의 변수값을 설정합니다. 여기에서 값을 변경하면 그에 대한 내용이

즉시 주문조건 영역에 반영됩니다.- 조건 : 실질적인 시그널이 발생되는 조건이며 상향돌파, 하향돌파 등을 선택할 수 있습니다.- 전략생성 : 이 버튼을 클릭하면 Signal Language Editor 창에 전략 스크립트가 자동으로

생성됩니다. 다음은 앞에서 추가된 주문조건을 [전략생성] 버튼을 클릭했을 때 자동으로 생성된

스크립트를 보여줍니다.

Page 57: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

자동으로 생성된 전략스크립트를 보면 사용자가 입력하거나 선택된 함수들을 사용하여 작성한 것을 볼 수

있으며, 사용자가 코드를 수정해 줄 수도 있습니다.또한 전략이 생성되자마자 자동으로 검증 및 컴파일을 수행하여 해당 전략을 차트에 곧바로 적용해서

매매를 할 수 있습니다.다음은 앞의 전략에 대한 자동 검증 및 컴파일 결과입니다.

Page 58: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

앞에서 처럼 컴파일이 성공적으로 수행이 되었으면 이 전략을 차트에 적용해서 매매를 수행할 수 있습니다.

자동으로 생성된 전략스크립트에 [강제청산/위험관리, F7] 화면을 이용하여 다음과 같이 강제청산 코드를

추가로 삽입해 줄 수도 있습니다.

⑥ 함수/예약어 비교표

이 화면은 TradeStation, MultiCharts 등과 같은 타사에서 제공되는 함수/예약어와의 비교표를 정리해서

제공한 것입니다.

- 제공함수 비교표 : 함수의 기능은 매우 유사하지만 이름이 다른 기본제공함수의 목록을 보여줍니다.- 예약어 비교표 : 자주 사용되는 예약어 중에서 기능은 동일하지만 이름이 다른 경우 입니다.

강제청산 코드삽입

Page 59: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

⑦ 백업(Export)사용자가 작성한 스크립트를 백업할 수 있는 기능이며 다음과 같은 화면으로 구성되어 있습니다.

Page 60: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

전략, 지표, 패턴, 강약, 함수 등에서 사용자가 작성한 스크립트의 목록이 보여지며 여기에서 백업할

스크립트를 선택해서 [백업(Export)] 버튼을 클릭합니다.

그러면 선택된 스크립트를 백업하게 됩니다.

- 모두선택, 모두해제 : 각각의 스크립트를 선택할 때 사용합니다. 백업할 것을 결정할 때 사용하게

됩니다.- 백업은 각 스크립트 마다 고유한 id를 부여하게 됩니다.

⑧ 복원(Import)복원(Import) 과정은 백업과 달리 보다 엄격한 조건을 체크해서 작업이 수행됩니다.

- 복원은 시그널메이커 메인프로그램을 닫아야 수행이 됩니다. 만일 메인이 종료되지 않은채 복원을

시도하면 다음과 같은 메시지 창이 나옵니다.

Page 61: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- 열려진 에디터가 없어야 정상적으로 복원(Import)이 진행됩니다. 만일 에디터에 열려진 스크립트가

존재하면 다음과 같은 메시지가 출력됩니다.

이 메시지가 나타나면 시그널메이커 메인프로그램을 닫고 다시 실행해 보시면 정상적으로 수행될 것입니다. 아래 화면에서 [복원]을 클릭한 후 파일을 선택하면 복원이 되면서 모두 검증을 거치게 됩니다.

Page 62: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

☞ 복원시 유의사항

- 복원된 파일은 자동으로 검증(컴파일)이 되어 DB에 저장됩니다.- 복원 버튼 클릭시 선택된 스크립트만 복원을 하지만 사용자의 스크립트는 복원과 관계없이 모두

검증(Import)과정을 거쳐 저장됩니다.- 각 스크립트에는 고유한 아이디를 갖게 되며 이를 계속해서 유지합니다. 아이디가 같다면

Overwrite할 것인지를 판단하도록 하며 만일 이름이 다르더라도 이미 고유한 id가 존재한다면

덮어쓰지 않습니다. 따라서 복원하려는 스크립트의 내용을 새로운 스크립트로 대체하고자 한다면

기존의 스크립트를 삭제한 후 수행해야 합니다.

바) [윈도우] 메뉴

에디터 창에 여러 개의 스크립트를 열었을 때 어떻게 정렬해서 보여줄 것인지를 선택하는 메뉴입니다.

① 다중탭 : 이 메뉴에 체크되어 있으면 여러 개의 에디터 창을 상단의 다중탭으로 나타내줍니다.다중탭에 체크를 풀면 그 아래의 메뉴에 따라 다양하게 창을 배치할 수 있습니다.

② 계단식 정렬 : 다중탭에 체크가 되어 있지 않은 상태이면 계단식 정렬 메뉴를 선택할 수 있습니다. 여러 개의 에디터 창을 계단식으로 배치해서 보여줍니다.

③ 수평으로 : 다중탭에 체크가 되어 있지 않은 상태이면 수평으로 정렬 메뉴를 선택할 수 있습니다. 여러 개의 에디터 창을 수평으로 분할해서 배치합니다.

④ 수직으로 : 다중탭에 체크가 되어 있지 않은 상태이면 수직으로 정렬 메뉴를 선택할 수 있습니다. 여러 개의 에디터 창을 수직으로 분할해서 배치합니다.

⑤ 최대화 : 다중탭에 체크가 된 상태처럼 에디터 창을 최대화로 열어줍니다.⑥ 최소화 : 포커스를 받고 있는 에디터 창을 최소화 시켜줍니다. 나머지 창에는 그대로 유지합니다.⑦ 이전으로 : 에디터 창을 이전으로 바꿔줍니다.⑧ 모두닫기 : 열려져 있는 스크립트 에디터 창을 모두 닫기 합니다. 만일 내용이 변경되었는데

저장하지 않은 창이 있다면 저장할지 여부를 묻는 메시지 창이 뜨게 됩니다.⑨ 오픈 목록리스트 : 에디터 창에 열려져 있는 모든 파일들에 대한 목록이 나타납니다.

Page 63: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

사) [도움말] 메뉴

① Signal Language Editor 정보 : 본 에디터에 대한 버전정보가 제공됩니다.② 에디터 도움말 : Editor 전반에 대한 도움말입니다.③ Signal Language 도움말 : 언어에 대한 문법설명 등을 담고 있습니다.④ 함수해설 : 자주 사용되는 함수에 대한 해설을 볼 수 있습니다.

3. Signal Language 문법가. 기본원칙과 문장구조

1) 기본원칙

①대문자와 소문자를 구분안함

Signal Language에서는 대소문자를 구별하지 않으므로 자유롭게 작성해도 됩니다. 다만, 가독성을 좋게

하기 위해 단어가 시작되는 첫문자는 대문자로 쓰고 그 이하에는 소문자로 쓰는 것이 좋습니다.

Page 64: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

②위에서부터 아래로 해석

사용자가 작성한 소스코드를 컴퓨터가 이해할 수 있는 언어로 번역할 때 항상 위에서부터 아래로, 왼쪽에서부터 오른쪽으로 읽어가면서 해석합니다. 이러한 일을 담당하는 것을 컴퍼일러라고 하며 이러한

행위를 컴파일이라고 합니다.위의 5번라인에서 Temp1에 값을 대입한 후 6번라인에서 지수이동평균을 계산하면서 Temp1을 사용하는

것을 볼 수 있습니다.

③모든 봉에 대해 실행

사용자가 작성한 소스코드(스크립트)를 컴퓨터가 번역한 후 이를 차트에 적용하게 되면 차트의 첫

봉부터 마지막 봉까지 모든 봉에 대해 순차적으로 적용됩니다. 따라서 일봉차트에서 5일이평을 지표로

그릴 때 1~4번봉에서는 아무것도 그려지지 않다가 5번 봉부터 순차적으로 한 봉씩 수식을 적용하면서

그려지게 됩니다.

④한 단어내에서 공백은 불허

변수 혹은 함수명 등을 소스코드에서 사용할 때 글자사이에 공백이 있거나 줄바꿈을 하게 되면 전혀 다른

단어로 인식하게 됩니다. 이런 경우에는 검증과정에서 에러처리가 되어 손쉽게 수정할 수 있습니다.⑤글자색상은 무관

예약어, 함수명, 변수명 등은 가독성을 높이기 위해 서로 다른 색상으로 구분하는데 컴파일 과정에서

글자색상은 아무런 영향을 미치지 않습니다.⑥세미콜론(;)은 한 문장의 끝으로 인식

Signal Language에서는 흔히 사용하는 C언어와 마찬가지로 한 문장이 끝났다는 의미로 세미콜론을 써

주도록 되어 있습니다. 여기에서 단지 한 문장이라는 의미는 한줄에서 끝날 수도 있지만 여러줄에 걸쳐서

쓰여질 수도 있으므로 유의해야 합니다.다음의 If문 예를 들어보면 여러줄에 걸쳐 한 문장이 이루어지고 문장의 끝에 End;를 써 줍니다.

Page 65: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

if문의 한 문장이란 박스친 영역과 같이 If ~ Else begin ~ end 까지가 되며 따라서 중간의 End에 ;를

쓰면 에러가 발생합니다.

2) 기본 문장의 구조

일반적으로 스크립트는 선언영역, 본문영역으로 나누어지며 본문영역은 세부적으로 할당, 제어, 실행 등으로

이루어지게 됩니다. 선언영역 외부변수, 내부변수를 선언하는 영역입니다.

▪ 함수에서의 선언방법

Inputs : PriceValu( NumericSeries ), Len( NumericSimple ) ;Varialbes : V1(0);

▪ 전략, 지표, 패턴, 강약에서의 선언방법

Inputs : ATRLeng( 10 ), nAtrs( 3 ) ;Variables : V1(0) ;

본문영역 앞에서 선언한 변수들을 이용하여 사용자가 구상하는 전략적 로직을

구현하는 영역입니다. 본문영역에서는 선언된 변수에 값을 할당하거나

할당된 값을 이용하여 조건을 체크하거나 혹은 조건의 만족유무에 따라

최종 정해진 일을 수행하게 됩니다.

문 장 이 끝나 지 않았으므로 세미콜론(;)을 입력하면 안됨.

Page 66: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

☞ 주의사항 : 스터디를 작성시 반드시 이와 같은 순서를 지켜야 하는 것은 아니며, Signal Language에서는

본문영역에 외부변수의 선언을 자유롭게 할 수 있도록 지원합니다.

나. 변수선언 방법

1)외부변수

소스코드를 작성하다 보면 계산된 데이터 값을 임시로 저장하거나 외부로부터 데이터 값을 받아서

저장해야 하는 경우가 생깁니다. 이러한 필요에 의해서 컴퓨터에 임의의 공간을 마련한 후 이름을 붙인 것이

바로 변수입니다. 외부변수는 해당 함수를 호출하는 쪽에서 데이터 값을 넣어주도록 선언되는 변수이므로

사용되는 목적에 따라 사용자가 임의의 값으로 변경해서 호출해 줄 수가 있게 됩니다. 예를 들어 MACD라는

함수를 작성할 때 기간을 고정된 값으로 설정하게 되면 최적화를 해 볼 수가 없을 것입니다. 따라서 함수를

만드는 시점에 외부변수를 선언하여 함수를 호출하는 외부에서 임의의 기간을 설정하도록 함으로써

최적화를 통해 가장 높은 수익률을 올리는 기간을 파악할 수 있게 됩니다.

외부변수는 Param, Params, Parameter, Parameters, Input, Inputs 등 중에서 어느 하나를 사용하여

선언하며 복수개를 선언할 때 s를 붙여 사용하지만 제약이 있는 것은 아닙니다.

▪ 함수를 작성하는 시점에 외부변수 선언방법

Param : 사용자지정 외부변수명1 ( 할당될 값의 데이터 타입 ) ,사용자지정 외부변수명2 ( 할당될 값의 데이터 타입 ) ,사용자지정 외부변수명3 ( 할당될 값의 데이터 타입 ) ;

혹은

Inputs : 사용자지정 외부변수명1 ( 할당될 값의 데이터 타입 ) , 사용자지정 외부변수명2 ( 할당될 값의

데이터 타입 ) , 사용자지정 외부변수명3 ( 할당될 값의 데이터 타입 ) ;

☞ 복수개의 외부변수를 선언할 때는 콤마로 구분하며 맨 마지막에는 세미콜론으로 마무리합니다.

함수작성시 외부변수의 선언방법

Page 67: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ 함수를 제외한 스터디( 시스템전략, 지표, 패턴, 강세약세 등)에서 선언하는 방법

Param : 사용자지정 외부변수명1 ( 초기에 할당할 값 ) ,사용자지정 외부변수명2 ( 초기에 할당할 값 ) ,사용자지정 외부변수명3 (초기에 할당할 값 ) ;

혹은

Inputs : 사용자지정 외부변수명1 ( 초기에 할당할 값 ) , 사용자지정 외부변수명2 ( 초기에 할당할 값 ) , 사용자지정 외부변수명3 ( 초기에 할당할 값 ) ;

▪ 작성된 함수를 스터디( 시스템전략, 지표, 패턴, 강세약세 등)에서 호출하는 방법

스터디에서 함수를 호출할때는 아래와 같이 순서에 맞게 인자값을 주어야 합니다. 위에서 MACD 함수를

선언할 때 가격, 단기, 장기 등의 순서로 인자를 정했으므로 호출할 때도 그렇게 해 주어야 하는 것입니다. 즉, 아래의 호출을 풀어서 쓰면 MACD(종가, 12, 26 ) 이렇게 됩니다.

▪ 외부변수의 차트 적용시점 제어

외부변수는 함수를 호출하는 곳에서 임의의 값으로 할당한 후 호출되므로 차트에 적용하는 시점에 다음과

같은 [전략설정] 창에서 임의의 값으로 변경한 후 차트에 적용할 수 있습니다.

함수를 호출하는 방법

Page 68: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

위의 [변수설정] 탭에서는 변수명 List가 나타나며 각각의 변수값이 보여집니다. 변수값 필드를 각각

수정하면 차트적용시 수정된 값으로 반영되어 전략이 수행됩니다.

☞ 알아두면 편리한 Tip !!

외부변수는 전략이나 지표를 차트에 적용하는 시점에 임의의 값으로 변경이 가능합니다. 그러나 변수가 많으면 각각 무슨의미의 변수인지 헷갈릴 수 있습니다. 따라서 스크립트 소스코드에 각각의 외부변수에 대한 용도를 코멘트로 달아놓으면 매우 편리합니다.

위의 차트설정 창에 사용자가 달아놓은 코멘트가 보이게 하려면 외부변수를 선언할 때 다음과 같이 해 주시면 됩니다.

Parameters : FastLeng(12) // MACD 단기간,SlowLeng(26) // MACD 장기간,MacdLeng(9); // MACD 이평기간이와 같은 형식으로 소스코드의 선언부에 코멘트를 달아놓으면 변수설명 컬럼에 보여지게 됩니다.

Page 69: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

2)내부변수

내부변수는 외부변수와 달리 스크립트의 소스코드 내부에서 계산결과를 임시로 저장하거나 계산시

사용하기 위해 선언하는 변수이며, 외부에서 값을 변경하거나 사용할 수 없습니다.

내부변수를 선언하는 방법은 함수를 만들때나 시스템전략, 지표, 패턴, 강세약세에서 모두 동일합니다.

▪ 내부변수의 타입

내부변수는 할당할 값의 성질에 따라 다음과 같이 구분합니다.내부변수 타입 할당 혹은 저장되는 값 초기화 방법

수치형 숫자값(Numeric) (0) 혹은 (10)참거짓형 True 혹은 False 값 (True) 혹은 (False)문자형 문자열 (" ") 혹은 (“MyVar”)

☞ 변수의 타입에 맞지 않는 값을 할당하면 에러가 발생합니다. 예를 들어 수치형 변수를 선언하고 그

변수에 참거짓형 값을 대입하거나 문자열을 대입하면 에러가 발생합니다. 내부변수의 타입은 선언시점에

초기 설정값의 성질에 의해 결정됩니다.

Var : V1(0), V2(False), V3(“MyStr”);

이렇게 선언했다면 V1은 수치형 변수가 선언된 것이며 숫자값 만을 할당할 수 있습니다. 또한 V2는

참거짓형으로 선언된 것이며 True 혹은 False외에는 어떠한 값도 할당할 수 없게 됩니다.

예를 들어 CrossUp이란 함수는 리턴값으로 True 혹은 False를 반환하는데 다음과 같이 할당하면 에러가

발생합니다.

V1 = CrossUp ( C, Average(C, 20) ) ;

수치형 변수 V1에 참거짓형 반환값을 할당하니까 에러가 나는것이므로 V2로 바꾸어 주어야 합니다.

V2 = CrossUp ( C, Average(C, 20) ) ;

Page 70: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ 내부변수 선언방법

변수를 선언할 때는 Variable, Variables, Var 등의 예약어를 사용하며 아래의 선언방식은 모두 동일하게

작동합니다.

Variable : 사용자 지정 변수명1 ( 초기 설정값 ), 사용자 지정 변수명2 ( 초기 설정값 ), 사용자 지정

변수명3 ( 초기 설정값 ) ;

Variables : 사용자 지정 변수명1 ( 초기 설정값 ), 사용자 지정 변수명2 ( 초기 설정값 ), 사용자 지정 변수명3 ( 초기 설정값 ) ;

Var : 사용자 지정 변수명1 ( 초기 설정값 ), 사용자 지정 변수명2 ( 초기 설정값 ), 사용자 지정 변수명3 ( 초기 설정값 ) ;

▪ 내부변수 선언 예

Variable : V1( 0 ), V2( 0 ), Cond( False ), MyStr( “ MyStrategy “ ) ;Variables :

V1( 0 ), V2( 0 ), Cond( False ), MyStr( “ MyStrategy “ ) ;

Var : V1( 0 ), V2( 0 ), Cond( False ), MyStr( “ MyStrategy “ ) ;

위의 예는 모두 동일한 변수선언 효과가 있습니다.

Page 71: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

3)내장변수

스크립트를 작성할 때 보다 편리하게 작업할 수 있도록 시스템 내부적으로 미리 선언해 놓은 변수가

있는데 이것을 내장변수라고 합니다. 따라서 이 변수는 사용자가 특별히 선언하지 않아도 얼마든지 쓸 수

있으며 종류는 다음과 같습니다.

내장변수명 데이터 타입 초기값

Cond1 ~ Cond99 논리형 FalseCondition1 ~ Condition99 논리형 FalseValue1 ~ Value99 수치형 0Var1 ~ Var99 수치형 0V1 ~ V99 수치형 0

4)배열변수

배열변수란 동일한 데이터 타입을 갖는 변수를 여러 개 선언하는 대신 대표적인 이름 하나를 지정하고

나머지는 이들에 묶어서 읽거나 쓰는 등 관리되는 변수를 말합니다. 배열변수를 선언하려면 앞에서 언급한

Input, Variable 대신에 Array라는 명칭을 사용하여 다음과 같이 선언합니다.

◈1차원배열선언

Array : Value[5](0);

Value[0] Value[1] Value[2] Value[3] Value[4] Value[5]

배열변수를 선언하는 것은 외부변수, 내부변수의 선언과 거의 비슷한데 다만, Array로 선언해야 합니다. 또한 방의 크기도 지정해줘야 하는데 여기에서는 공간이 5개가 아니라 6개를 확보하게 됩니다.

공간의 크기 : Value[0], Value[1], Value[2], Value[3], Value[4], Value[5] -> 총 6개

주의사항 : 배열의 인덱스는 0부터 시작해서 선언시 지정한 숫자 까지 접근가능

배열변수 선언

배열변수명, 개수, 초기값

Page 72: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

이것을 일봉차트에 적용하면 금일자부터 역으로 종가가 할당됩니다.

◈ 다차원 배열선언

Array : Value[3, 4](0) ; // 2차원 배열선언 방법

Array : Value[3, 4, 5](0) ; // 3차원 배열선언 방법

위와 같이 2차원 배열을 선언하면 4행 5열의 공간이 다음 그림과 같이 마련되며 여기에 값을 할당할 수도

있고 읽어올 수도 있습니다.

Value[0, 0] Value[0, 1] Value[0, 2] Value[0, 3] Value[0, 4]Value[1, 0] Value[1, 1] Value[1, 2] Value[1, 3] Value[1, 4]Value[2, 0] Value[2, 1] Value[2, 2] Value[2, 3] Value[2, 4]Value[3, 0] Value[3, 1] Value[3, 2] Value[3, 3] Value[3, 4]

5)봉 내(內) 갱신변수( IntraBarPersist 변수, IBP ) -> 현재 지원되지 않고 앞으로 추가가 예정된 기능

앞에서 설명한 일반변수들은 봉이 만들어질 때 한번만 값이 바뀌지만, 봉 내(內) 갱신변수(이를

IntraPersist변수)의 경우에는 매 틱마다 값이 바뀌게 되는데 이를 IntraBarPersist 변수라고 합니다. 그러나

아무때나 그렇게 바뀌는 것은 아니고 다음과 같은 조건을 만족해야만 그렇게 동작하게 됩니다.

Array : Value[5](0) ;

For Var1 = 0 To 5Begin

Value[Var1] = Close[Var1];End;

금일종가 1일전 종가 2일전 종가 3일전 종가 4일전 종가 5일전 종가Value[0] Value[1] Value[2] Value[3] Value[4] Value[5]

☞ IBP(IntraBarPersist) 변수가 매 틱마다 값이 바뀌는 경우① 전략일 경우

전략의 설정창에서 “조건만족시 봉 내(內) 주문설정(IOG)”에 체크된 경우② 지표일 경우 지표의 설정창에서 “실시간 업데이트”에 체크되어 있는 경우

Page 73: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

또한 함수나 지표 등의 스크립트에서 [ IOG = True ] 라고 정의할 수는 있지만 전략 스크립트가 아니므로

무시됩니다.

IBP 함수는 변수선언과 배열선언시 앞에 명시를 해 줌으로써 선언하게 됩니다.

IBP 변수 선언 예)

Vars : IBP x1( 0 ), // x1 은 IntraBarPersist 변수

x2( 0 ) ; // x2 는 일반변수

Array :IBP Arr1[10]( 0 ), // Arr1배열은 IntraBarPersist 배열변수

Arr2[10]( 0 ) ; // 일반 배열변수

다. 연산자

일단 변수가 선언되었으면 이들 변수와 연산자를 사용하여 계산이나 조건을 체크하며 그 결과값을 변수에

저장하여 어떤 일련의 과정들을 수행합니다. 연산자에는 우리가 흔히 알고 있는 더하기(+), 빼기(-)부터 크다

(>), 작다(<) 등 여러가지가 있습니다.

예제)[ IOG = True ]

Vars : IBP x1(0), // x1 은 IntraBarPersist 변수x2(0) ; // x2 는 일반변수

x1 = x1 + 1;x2 = x2 + 1;

MessageLog("CB = %.0f x1 = %.0f x2 = %.0f ", CB, x1, x2);

Page 74: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

1)산술연산자 : 수치를 직접 대입하거나 수치변수를 사용하여 계산을 할 때 사용합니다.연산자구분 기능 사용 예 기능설명

+ 더하기 Close + High + Low 종가에 고가와 저가를 더함

- 빼기 Close - 1.0 종가에서 1.0을 빼줌

* 곱하기 Close * High * Low 종가에 고가와 저가를 곱함

/ 나누기 ( Close + High + Low ) / 3

종가, 고가, 저가를 더한 후 3으로 나눔

% 나머지

값을 반환

Diff = High % Low 고가를 저가로 나눈 후 나머지 값을 반환

^ 제곱기호 v1 = 10^2; @// v1 = 100

10의 제곱값을 반환

☞ 산술연산자의 우선순위는 곱하기,나누기 > 더하기, 빼기 순서이므로 더하기나 빼기를 우선해서 계산해야

할 경우에는 반드시 괄호를 써 주어야 합니다.

예) V1 = 3 + 4 * 2 -> V1 = 11V1 = ( 3 + 4 ) * 2 -> V1 = 14

☞ 연산자의 우선순위는 아래와 같습니다.우선순위 연산자 분류 연산기호

1 순위 괄호 (), []2 순위 산술연산자 ^, *, /, %3 순위 산술연산자 +, -4 순위 비교연산자 <, <=, >, >=5 순위 할당연산자 =6 순위 논리연산자 Not, And, Or

2)관계연산자

관계연산자는 두 개의 값을 서로 비교하는 연산자이며 결과값으로 참과 거짓을 도출합니다. 흔히 If문에서

비교해서 분기할 때 많이 사용하며 다음과 같은 종류가 있습니다.

연산기호 의미 사용 예

= 같다 O = H -> 시가와 고가가 동일

! 아니다 ! (O < C ) -> 시가가 종가보다 작지 않다.<> 같지 않다 O <> H -> 시가와 고가가 같지 않다.

Page 75: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

> 크다 C > C[1] -> 현재봉의 종가가 전봉보다 크다.< 작다 C < C[1] -> 현재봉의 종가가 전봉보다 작다.

>= 크거나 같다 V >= V[1] -> 직전봉 거래량 보다 크거나 같다.<= 작거나 같다 O <= C -> 시가가 종가보다 작거나 같다.

▪ 관계연산자 사용 예

예1) If ( O <> C ) Then Value1 = 1;예2) Cond1 = V >= V[1] //직전봉 거래량 보다 크거나 같으면 Cond1 = True 값 할당

If Cond1 Then Value1 = 1;

3)논리연산자

논리연산자는 주어진 연산식에서 참과 거짓을 판단하여 그 결과에 따라 의도된 일련의 과정을 수행하도록

하는 역할을 하며 주로 If문, While문 등에서 많이 사용됩니다. 논리연산자에는 다음의 세 가지가 있습니다.연산기호 의미 사용 예

Not 참이면 거짓을, 거짓이면 참을 반환 Not(O < C) -> 시가가 종가보다 작지 않다.And 둘 다 참이면 True C > C[1] And O > O[1] -> 종가와 시가가

전봉보다 모두 크면 TrueOr 둘 중 하나만 참이어도 True C > C[1] And O > O[1] -> 종가와 시가가 둘

중 어느 하나만 전봉보다 크면 True☞ 관계연산자는 논리연산자보다 우선순위가 높아 괄호를 써 주지 않아도 되지만, 하나의 If문에 여러 개의

And, Or 등 논리연산자를 중복해서 사용할 경우에는 먼저 수행되기를 원하는 논리연산 단위를 괄호로

묶어주어 본인이 의도하는대로 작동되도록 할 필요가 있습니다.

4)할당연산자

할당이란 말 뜻 그대로 어떤 변수에 어떠한 값을 대입해준다는 의미입니다. 이때 할당연산자는 등호(=)를

사용하며 이때는 같다라는 의미로 쓰이지 않게 되는 것입니다. 만일 비교문장에서 등호(=)를 사용했으면

같다라는 고유의 의미로 사용하므로 어디에서 등호가 사용했는지에 따라 할당연산자가 될 수도 있고

비교연산자가 될 수도 있습니다.

연산기호 의미 사용 예

= 우측의 결과를 좌측에 할당 BarWidth = Abs( O – C )사용 예) If Open = Close Then Value = 1;

여기에서 Open = Close는 비교연산자로서 ‘같다’라는 의미로 쓰였습니다. 반면 Value = 1에서는 Value라는 변수에 1이란 값을 할당하라는 뜻으로 사용된 것입니다.

Page 76: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

5)기타 Signal Language에서 사용되는 기호

다음의 표는 Signal Language에서 사용되는 기호에 대한 설명입니다.

연산기호 의미 사용 예

; 세미콜론 - 문장이 끝났음을 의미

( ) 소괄호 - 함수에서 인자의 시작과 끝

- 연산우선순위 임의 지정

- 외부, 내부변수, 배열 선언시 초기값 지정

{ } 중괄호 Signal Language에서 중괄호는 사용할 수 없으며

Begin ~ End;를 사용하시거나 주석용도로

사용했었다면 /* ~ */를 이용

[ ] 대괄호 - 배열변수 선언시 배열 크기지정

- 이전값 참조

: 콜론 - 외부, 내부변수, 배열 선언의 시작

, 콤마(쉼표) - 복수의 외부, 내부변수, 배열 선언시 구분자

- 함수인자간의 구분자

라. 조건문

조건문은 제어문을 일종으로 어떠한 조건을 만족하면 A 문장을 수행하고 만족하지 않으면 B 문장을

실행하는 등과 같이 목적하는 바를 이루고자 할 때 사용하며 If문이 대표적입니다. 1)단순 If문

If ( 조건식 ) ThenBegin~End;

If ( O < C ) Then //양봉이면Begin Value1 = 1; End;

If Value1 = 1 ThenBegin

Buy(); //매수주문Value1 = 0; //0으로 초기화

End;

Page 77: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

If문 중에서 가장 간단한 구조를 갖는 형태이며 If문 다음의 조건식을 체크하여 조건이 만족할 경우에만

Then 다음의 Begin ~ End문을 수행하는 형태입니다. Then 다음의 수행할 문장이 하나인 경우에는 특별히

Begin ~ End를 붙이지 않아도 됩니다. 즉 예제에서 양봉이면 Value1 = 1을 대입하는 문장은 다음과 같이

간단하게 소스를 작성하면 됩니다.

If O < C Then Value1 = 1;

다만, 아무리 간단한 If문 이더라도 Then을 생략할 수는 없으며 항상 If와 Then은 짝을 이룬다는 점을

기억해 두시기 바랍니다.

2) 단순If + Else문

앞의 단순 if문에서는 조건을 만족하지 않으면 아무런 문장도 수행하지 않았는데 현실적으로 조건을

만족하지 않았을 경우에 수행할 문장을 기술해 주고 싶은 경우도 많을 것입니다. 이런때는 Else를 사용하여

문장을 기술해 주면 됩니다.

If ( 조건식 ) ThenBegin~End // 문장의 끝을 나타내는 세미콜론(;)을 쓰지 않는데 유의ElseBegin~End; // If문이 끝났으므로 세미콜론(;)을 써야 함.

Page 78: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

여기에서 주의할 점은 Then 다음에 나오는 Begin ~ End에서 세미콜론을 써 주지 말아야 합니다. 그

이유는 If문이 완전히 끝나지 않고 Else로 계속 이어지기 때문이며, Else문 다음의 Begin ~ End에서 비로소

문장의 끝을 나타내는 세미콜론을 써 주는 것입니다.

3)복잡한 If문여기에서 복잡한 If문이란 여러가지 조건에 따라 각각 달리 수행되어야 할 때에 적당한 형태로서 if ~ then

~ else if ~ then ~ else 등의 형태를 갖는 것입니다.

If ( O < C ) Then //양봉이면Begin Value1 = 1; EndElse //음봉이나 보합이면Begin

Value1 = 2;End;

If Value1 = 1 ThenBegin

Buy(); //매수주문Value1 = 0; //0으로 초기화

EndElseBegin

Sell();Value1 = 0; //0으로 초기화

End;

Page 79: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

If ( 조건식 ) ThenBegin~End // If 문장이 끝나지 않았으므로 세미콜론(;)을 쓰지 않음.

Else if ( 조건식 ) ThenBegin~End // If 문장이 끝나지 않았으므로 세미콜론(;)을 쓰지 않음.

ElseBegin~End; // If문이 끝났으므로 세미콜론(;)을 써야 함.

If ( O < C ) Then //양봉이면Begin

Value1 = 1;End

Else if O > C Then //음봉이면Begin

Value1 = 2;End

Else //보합이면Begin

Value1 = 0;End;

If Value1 = 2 Then //새로운 If문의 시작Begin

Sell();End;

Page 80: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

여기에서 Else if문은 반복해서 계속 들어갈 수 있습니다. 즉, if조건문을 만족하면 A를 수행, 그렇지 않고

다른 If 조건문을 만족하면 B를 수행, 또 그렇지 않고 다른 if 조건문을 만족하면 C를 수행, 이것도 저것도

아니면 Else문을 수행하는 식입니다. 문장의 끝을 나타내는 세미콜론은 최종 Else문이 끝나는 지점에서

한번만 써 주어야 합니다.

① 중첩된 If문

If문 안에 중첩해서 또 If문을 기술해 줄 수 있습니다. 예를 들어 “직전봉이 양봉인 상태에서 현재봉에서 또

양봉이 발생하면 매수하라”는 문장을 작성하고 싶을 때와 같은 경우 사용합니다.

위의 예에서 직전에 양봉이 발생하지 않았다면 내부에 중첩된 if문을 수행하지 않으므로 외부if문과 내부if문은 AND연산으로 묶일 수 있으며 다음과 같이 간단히 표현할 수도 있습니다.

If ( 조건식 ) ThenBegin

If ( 조건식 ) Then //내부 If문을 기술Begin~End; // 내부 If 문장이 끝났으므로 세미콜론(;)을 써 줌.

End;

If O[1] < C[1] Then //직전에 양봉이 발생했고Begin

If O < C Then //현재도 양봉이면Begin

Buy();End; //세미콜론(;)을 써 줘야 함.

End;

If O[1] < C[1] And O < C Then //직전에 양봉이 발생했고 현재봉이 양봉이면Begin

Buy();End;

Page 81: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

마. 반복제어문

배열에서 값을 읽어오거나 할당할 때와 같이 반복적인 일을 수행해야 할 필요성이 있는 경우 이를 제어하는

문장이 반복제어문입니다. Signal Language에서는 반복제어문으로 For문과 While문을 지원하며 문법에

맞게 작성해야 검증과정에서 에러가 발생하지 않습니다.

1)For문For문은 반복해서 유사한 작업을 할 때 유용하며 반복횟수를 정할 수 있을 경우에 주로 사용합니다.For 변수명 = 초기설정값 To 최종설정값 Step 증가값 // 변수값이 증가될 때

Begin ~End;

For 변수명 = 초기설정값 DownTo 최종설정값 Step 감소값 // 변수값이 감소할 때

Begin~End;

☞ Step 값은 0이 아니어야 하며 소수점도 가능합니다.☞ 주의사항 : For문과 While문 사용시 실행문이 한 줄이더라도 반드시 Begin ~ End; 사이에

기술되어야 합니다. if문의 경우에는 실행문이 한 줄일 경우 Begin ~ End가 생략가능하지만, 반복제어문에서는 반드시 기술해 주어야 합니다.

For문은 초기에 설정한 변수값이 증가하면서 최종설정값에 도달하면 For 루프문을 빠져나오는 증가형

For문과, 초기에 설정한 변수값이 감소하면서 최종설정값에 도달하면 For 루프문을 빠져나오는 감소형

For문이 있습니다. 일반적으로는 증가형 For문을 많이 사용하지만 목적하는 용도에 따라 감소형 For문을

사용할 수도 있습니다. 일단 지정한 변수명에 초기설정값을 할당하고 반복할 횟수를 산정하여

최종설정값과 Step값을 결정합니다. 여기에서 Step 값은 For문을 한번 수행할 때 마다 초기설정값을

증감시키며 결과적으로 최종설정값 만큼 지정한 변수값이 도달하면 For 루프문을 빠져나오게 됩니다.

다음은 For문의 사용예와 실행순서를 나타냅니다.

Page 82: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

위 예의 For문을 수행한 후 iValue 배열에는 다음과 같은 값이 들어갑니다.iValue[0] = 0iValue[1] = 3iValue[2] = 6iValue[3] = 9

For문의 수행순서는 다음과 같습니다.

▪ ①번 : For문을 제어할 변수에 초기값을 설정

▪ ②번 : 실행문을 일단 수행

▪ ③번 : 변수값에 Step을 증감시킴

▪ ④번 : 변수값이 종료값을 초과하지 않았다면 다시 ②번, ③번, ④번 순서로 반복해서 수행

Variables : i(0), j(0);Array : iValue[3](0) ;

J = 0 ;For i = 0 To 10 Step 3 // 총 4회 수행(I값이 0, 3, 6, 9일 때 각각 수행함)Begin

iValue[j] = I ;j = j + 1 ; // j값을 1씩 증가시켜 배열의 인덱스로 사용함.

End;

For i = 0 To 10 Step 3 // 총 4회 수행(I값이 0, 3, 6, 9일 때 각각 수행함)Begin

iValue[j] = I ;End;

③④

Page 83: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

2)While 문While문도 For문과 마찬가지로 반복제어를 하기 위한 목적으로 사용되는데 가장 큰 차이는 For문의 경우

반복수행할 횟수를 가늠할 수 있을 때 사용하고, While문의 경우에는 반복횟수가 얼마가 될지 알 수 없을 때

사용합니다. 즉, While문 다음의 조건이 만족하면 실행문을 반복해서 수행하고 조건을 만족하지 못하는

상황이 발생하면 While문을 빠져나오는 것입니다.

다음은 While문의 일반적인 형식과 실행순서입니다.

While문은 일단 조건을 먼저 체크하며 조건을 만족하면 Begin ~ End 사이의 문장을 모두 실행하고 다시

조건을 만족하는지를 체크합니다. 이때 조건을 만족하지 못한다면 While문을 빠져나와 End문 다음을

실행하게 됩니다.

☞ 주의사항 : While문은 반복횟수를 미리 지정하지 않으므로 잘못작성될 경우 무한반복되며

컴퓨터가다운될 수 있음에 유의해야 합니다. 이런 경우에는 문법적인 오류가 아니므로 컴파일 과정에서

에러를 발견할 수 없기 때문에 특히 주의를 요합니다. 또한 조건을 만족할 수 없는 경우에는 단 한번도

수행되지 않을 수도 있습니다.

While (조건문 ) // 조건을 만족하면 ②번을 수행, 불만족하면 ③번을 수행Begin

실행할 문장 // ②번 수행 후 ①번으로 되돌아 감End;

실행문

예) 양봉일 경우 종가를 계속 더하여 Value에 저장

While O < C Begin

Value = Value + C;End;

Page 84: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

4. Signal Language 예약어와 함수

가. 데이터 관련 예약어

1) 개요

거래자들은 주식이나 선물옵션 데이터를 받아 이를 조작하여 매매할 시점을 포착하거나 지표를 그려

매매에 활용하고자 합니다. 데이터 관련 예약어는 이러한 고객의 요구에 부응하고자 많이 사용하는 데이터는

예약어로서 제공하고 있으며 다음과 같은 종류가 있습니다. 에디터에서 스크립트를 작성하려면 이러한

예약어를 미리 알고 있어야 하므로 주의깊게 살펴보시기 바랍니다.

2) 데이터 관련 예약어 목록

예약어 간략설명 사용예

LastTickVol 현재틱의 체결량으로써 누적거래량이 아니며 실시간에서만 지원, var1 = LastTickVol;

☞ 데이터 관련 예약어 사용시 주의사항1. 여기에서 설명되는 데이터 관련 예약어는 거래소에서 제공되는 상품에 따라서 데이터가 제대로

들어올 수도 있고 그렇지 않고 0 값과 같은 비정상적인 값을 리턴할 수 있습니다. 예를 들어 “OpenInt”라는 데이터 예약어는 국내거래소 상품은 “미결제약정” 값을 반환해 주는데 반해 대부분의 해외상품의 경우에는 데이터 값이 0으로 나옵니다. 따라서 반드시 MessageLog를 통해 확인한 후 이용해야 하며 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

2. 계산을 통해서 산출되어야 하는 데이터 값은 과거데이터의 경우 존재하지 않을 수 있습니다. 특히 해외선물의 경우 DownTicks, DownVol, UpTicks, UpVol, Ticks 등은 실시간 데이터에서만 유효한 값을 리턴하며, 과거데이터와 같이 조회된 데이터에서는 0 값을 리턴합니다. 따라서 반드시 MessageLog를 통해 확인한 후 이용해야 하며 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

3. KOSPI200 옵션상품의 경우 OneTick의 값이 항상 1값으로 들어갑니다. 그 이유는 옵션가격에 따라 OneTick의 값이 매번 바뀌면 강제청산 함수의 동작도 바뀌게 되고 사용자가 예측할 수 없는 결과가 나올 수 있기 때문입니다. OneTick이 바뀜에 따라 PointValue 값도 항상 5,000원으로 일정하게 나옵니다. 이 부분은 옵션가격에 따라 다른 결과가 나올 수 있으므로 반드시 사전에 숙지를 해야 합니다.

Page 85: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AskCnt 매도 총 호가 건수 if AskCnt > BidCnt Then Buy;

Asks 매도 총 호가 잔량 if Asks > Bids Then Buy;

BarIndex봉의 번호를 리턴하는 함수, 맨 처음봉이 0 이고 1씩 증가하는 번호를

가짐.if BarIndex > 3 then buy;

BarNumber봉의 번호를 리턴하는 함수, 맨 처음봉이 1 이고 1씩 증가하는 번호를

가짐., 차트에서 좌측의 수치조회창에 나오는 봉번호와 일치if BarNumber > 3 then buy;

GloBalBarIndex봉의 번호를 리턴하는 함수, 맨 처음봉이 0 이고 1씩 증가하는 번호를

가짐.

if GloBalBarIndex > 10 Then

Buy;

BarInterval BarType 의 세부 봉생성 단위(차트에서 분봉을 5 로 선택하고

BarInterval 의 값을 읽으면 5 로 출력됨.

if BarInterval(3) > 3 then

value1 = 1; // data3 의

BarInterval

BarStatus 봉의 상태값으로 0 : 봉의 첫틱, 1 : 봉 중간, 2 : 봉의 종료 틱

[IOG = True]일 경우에만 유효, [IOG = False]일 경우는 항상 2

value1 = barstatus(3); // data3

의 봉 상태값을 리턴

BarType 틱:0, 초:1, 분:1, 시:1, 일:2, 주:3, 월:4, 년:4value1 = BarType(3); // data3

의 봉의 유형을 리턴

BarType_ex 틱:1, 분:2, 시:3, 일:4, 주:5, 월:6, 년:7 초:9value1 = BarType_ex(3); //

data3 의 봉의 유형을 리턴

BasePrice 기준가(전일 종가) if BasePrice + 0.1 then buy;

BP 기준가(전일 종가) if BP + 0.1 then buy;

BidCnt 매수 총 호가 건수 if AskCnt > BidCnt Then Buy;

Bids 매수 총 호가 잔량 if Asks > Bids Then Buy;

OnePointValue 1 포인트 값, Kospi200 지수선물의 경우 50 만원

BigPointValue 와 동일

var1 = OnePointValue of data2;

// data2 심볼의 BigPointValue

C 종가 if Average(C, 10) < C then buy;

Close 종가if Average(Close, 10) < Close

then buy;

CodeType

종목구분값

0 : 선물, 1 : 옵션, 2 : 주식, 3 : 주식선물, 4 : 주식옵션

5 : 참조, 6 : 투자자, 7 : 지수, 8 : 국내지수, 9 : 해외지수,

10 : 뮤추얼펀드 11 : MMF, 12 : 현금, 13 : 채권, 14 : 스프레드

15 : 외환 16 : 종합기타 17 : ETF 18 : ETN 19 : ELW

20 : 주가지수 상품 21 : 변동성지수 상품 22 : 채권/금리상품

23 : 통화상품 24 : 금선물 25 : 돈육선물

V1 = CodeType ;

CodeType_Ex 미래사용을 위한 예약

Page 86: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Ask1 매도 1 차 호가Buy("By1", AtStop, Ask1); //

매도 1 차 호가에 닿으면 매수

Ask2 매도 2 차 호가Buy("By2", AtStop, Ask2); //

매도 2 차 호가에 닿으면 매수

Ask3 매도 3 차 호가Buy("By3", AtStop, Ask3); //

매도 3 차 호가에 닿으면 매수

Ask4 매도 4 차 호가Buy("By4", AtStop, Ask4); //

매도 4 차 호가에 닿으면 매수

Ask5 매도 5 차 호가Buy("By5", AtStop, Ask5); //

매도 5 차 호가에 닿으면 매수

AskCnt1 매도 1 차 건수 if AskCnt1 < BidCnt1 Then Buy;

AskCnt2 매도 2 차 건수 if AskCnt2 < BidCnt2 Then Buy;

AskCnt3 매도 3 차 건수 if AskCnt3 < BidCnt3 Then Buy;

AskCnt4 매도 4 차 건수 if AskCnt4 < BidCnt4 Then Buy;

AskCnt5 매도 5 차 건수 if AskCnt5 < BidCnt5 Then Buy;

AskVol1 매도 1 차 잔량 if AskVol1 < BidVol1 Then Buy;

AskVol2 매도 2 차 잔량 if AskVol2 < BidVol2 Then Buy;

AskVol3 매도 3 차 잔량 if AskVol3 < BidVol3 Then Buy;

AskVol4 매도 4 차 잔량 if AskVol4 < BidVol4 Then Buy;

AskVol5 매도 5 차 잔량 if AskVol5 < BidVol5 Then Buy;

CB 현재 봉의 유효한 봉 번호( CurrentBar 와 동일)if AskVol1 < BidVol1 And CB >

10 Then Buy;

Bid1 매수 1 차 호가Sell("Se1", AtStop, Bid1); // 매수

1 차 호가에 닿으면 매도

Bid2 매수 2 차 호가Sell("Se2", AtStop, Bid2); // 매수

2 차 호가에 닿으면 매도

Bid3 매수 3 차 호가Sell("Se3", AtStop, Bid3); // 매수

3 차 호가에 닿으면 매도

Bid4 매수 4 차 호가Sell("Se4", AtStop, Bid4); // 매수

4 차 호가에 닿으면 매도

Bid5 매수 5 차 호가Sell("Se5", AtStop, Bid5); // 매수

5 차 호가에 닿으면 매도

BidCnt1 매수 1 차 호가 건수 if AskCnt1 < BidCnt1 Then Buy;

BidCnt2 매수 2 차 호가 건수 if AskCnt2 < BidCnt2 Then Buy;

BidCnt3 매수 3 차 호가 건수 if AskCnt3 < BidCnt3 Then Buy;

Page 87: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

BidCnt4 매수 4 차 호가 건수 if AskCnt4 < BidCnt4 Then Buy;

BidCnt5 매수 5 차 호가 건수 if AskCnt5 < BidCnt5 Then Buy;

BidVol1 매수 1 차 잔량 if AskVol1 < BidVol1 Then Buy;

BidVol2 매수 2 차 잔량 if AskVol2 < BidVol2 Then Buy;

BidVol3 매수 3 차 잔량 if AskVol3 < BidVol3 Then Buy;

BidVol4 매수 4 차 잔량 if AskVol4 < BidVol4 Then Buy;

BidVol5 매수 5 차 잔량 if AskVol5 < BidVol5 Then Buy;

D 일if Date[1] < Date And Close[1]

+ 0.1 Then Buy;

DailyLimit 일중 최저 변동폭 var1 = DailyLimit;

Data1~99 차트에 첫번째로 표시된 시계열 데이터

if C >= Data1(High) Then Buy;

// 종가가 Data1 의 고가에 닿으면

매수

DataCompress 차트에 적용된 데이터의 주기를 반환

(틱:1, 분:2, 시:3, 일:4, 주:5, 월:6, 년:7 초:9)Value1 = DataCompress;

DownTicks 하락 지향형 틱의 거래건수(실시간에서만 유효)if UpTicks > DownTicks Then

Buy();

DownVol 하락 지향형 틱의 거래량(실시간에서만 유효) if UpVol > DownVol Then Buy();

H 고가 V1 = Average(H, 10);

High 고가 V1 = Average(High, 10);

I 미결제약정 V1 = Average(I, 10);

InsideAsk 1 차 매도호가, Ask1 과 동일 if C = InsideAsk Then Buy();

InsideBid 1 차 매수호가, Bid1 과 동일 if C = InsideBid Then Sell();

Interval 봉생성 주기로서 BarInterval 과 동일한 기능if Interval(1) = 10 then value =

1;

L 저가 V1 = Average(L, 10);

Last 현재가를 의미 if last > Average(C, 10) then

Low 저가 V1 = Average(Low, 10);

M거래대금. 단, 상품에 따라 미제공될 수 있으므로 MessageLog 로 확인

후 사용if M > 100000 then buy;

OneTick 1 Tick 의 값을 10 진수로 환산한 후 정수부분을 나타냄. MinMove 와

동일. 단 KOSPI200옵션의 경우 옵션 가격수준에 관계없이 항상 1임.

(실제 옵션가격이 10.0 이상이면 5, 10.0 미만이면 1 이 되어야 하나

가격이 수시로 바뀔 수 있으므로 일괄적으로 OneTick 의 값은 1 로

설정됨에 유의),

var1 = OneTick;

// KOSPI200 선물의 경우 5

// KOSPI200 옵션은 항상 1

//Corn, Wheat 등의 1/8 진법의

상품은 250

Page 88: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- 8, 32, 64, 128 진법을 사용하는 상품의 경우 MessageLog 함수를

사용하여 값을 확인한 후 스크립트에서 사용해야 함.

O 시가 if O > C Then Buy();

OI미결제약정. 단, 상품에 따라 미제공될 수 있으므로 MessageLog 로

확인 후 사용V1 = Average(OI, 10);

Open 시가 if Open > Close Then Buy();

OpenInt미결제약정, 단, 상품에 따라 미제공될 수 있으므로 MessageLog 로

확인 후 사용V1 = Average(OpenInt, 10);

OpenInterest미결제약정, 단, 상품에 따라 미제공될 수 있으므로 MessageLog 로

확인 후 사용

V1 = Average(OpenInterest,

10);

PointValue

1틱의 금액, PointValue = OnePointVaue * PriceScale * OneTick,

단 KOSPI200옵션의 경우 옵션 가격수준에 관계없이 OneTick 의 값이

항상 1 이므로 PointValue 값은 항상 5,000 원이 됨에 유의

if PointValue = 25,000 Then //

KOSPI200 선물의 1틱 금액체크

YesterdayClose 전틱의 가격if YesterdayClose < close then

buy;

PriceScale 심볼의 소수점 단위. KP200 선물은 소수점 이하 두 자리이므로 1/100

로 지정, 시그널데이터의 심볼설정 내용에 의함

1틱의 값을 계산하는 수식 :

1tick = OneTick * PriceScale

T 시간(HHMM) if T > 930 then buy();

Ticks거래건수를 의미 UpTicks + DownTicks 를 한 값과 동일(

실시간에서만 유효)

if Average(Ticks, 10) < Ticks

then buy;

Time 봉의 대표시간(HHMMSS)if time > 91000 then buy();(10

분봉에서의 예)

Time_s 봉의 최근 틱의 시간(HHMMSS)if time_s > 93005 then buy();

(10 분봉에서의 예)

Upticks 상승형 체결건수(실시간에서만 유효)if UpTicks > DownTicks Then

Buy();

Upvol 상승형 체결량(실시간에서만 유효) if UpVol > DownVol Then Buy();

Volume 봉 단위의 거래량if Volume > Volume[1] Then

Buy();

거래대금 봉 단위의 거래대금if 거래대금 > 거래대금[1] Then

Buy();

거래량 봉 단위의 거래량 if 거래량 > 거래량[1] Then Buy();

고가 고가 if 고가 > 고가[1] Then Buy();

미결제약정 미결제약정if 미결제약정 > 미결제약정[1]

Then Buy();

Page 89: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

시가 시가 if 시가 < 종가 Then Buy();

저가 저가 if 저가 < 시가 Then Buy();

종가 종가 if 시가 < 종가 Then Buy();

3) 데이터 관련 미래사용을 위한 예약어

예약어 간략설명 사용예

DeliveryMonth 선물 및 옵션의 만기월(미래 사용을 위한 예약 )

DeliveryYear 선물 및 옵션의 만기년(미래 사용을 위한 예약 )  

ExpirationDate 만기일(미래 사용을 위한 예약 )  

MinNeedBarsForward 차트 화면의 오른쪽에 표현할 수 있는 봉 개수를 리턴

(미래 사용을 위한 예약 )Value1=MinNeedBarsForward;

MinutesFromDateTim

e (미래 사용을 위한 예약 )

Value1 =

MinutesFromDateTime(37564.612

00);

MinutesToTime (미래 사용을 위한 예약 ) Value1 = MinutesToTime(90);

StartDate 봉의 시작 일자(YYYYMMDD) (미래 사용을 위한 예약 )if StartDate > 20140301 then

Buy;

StartTime 봉의 시작 시간(HHMM) (미래 사용을 위한 예약 ) if StartTime > 930 then buy();

StartTime_s 봉의 시작 시간(HHMMSS) (미래 사용을 위한 예약 )if StratTime_s > 93000 then

buy();

4) 데이터 예약어 단축문자 목록

스트립트 작성시 간단하게 사용할 수 있도록 빈번하게 사용하는 데이터 관련 예약어는 단축문자를

제공하며 다음과 같습니다.예약어 List 단축문자 데이터의 의미

Open O 시가

High H 고가

Low L 저가

Close C 종가

Volume V 거래량

Money M 거래대금. 단, 상품에 따라 미제공될 수 있으므로 MessageLog로

확인 후 사용

OpenInterest OI 미결제약정. 단, 상품에 따라 미제공될 수 있으므로 MessageLog

로 확인 후 사용

Page 90: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

BasePrice BP 기준가

나. 각종 제공함수

Signal Language에서는 사용자가 손쉽게 전략을 작성하거나 주문할 수 있도록 많은 함수들을

제공합니다. 여기에서는 주문함수와 같이 많이 사용하는 함수에 대해서 상세하게 설명하고 그 이외의 함수에

대해서는 사용빈도가 높은 것 위주로 설명하겠습니다.

1) 일반 주문함수

가) 일반 주문함수 개요

주문에는 원래 매수와 매도 등 두 가지의 경우만 있으나 Signal Language에서는 이를 신규인지

청산인지에 따라 다음과 같이 네 가지로 구분해서 제공합니다.

주문함수 주문함수에 대한 간략설명

Buy 신규매수 진입(Long Entry), 기본전략 함수명이 Buy로 시작되는 전략

만일 매도 포지션이 있는 상태에서 Buy신호가 발생한 경우에는 기존 매도포지션을

모두 청산한 후 매수포지션으로 진입함.Sell 신규매도 진입(Short Entry), 기본전략 함수명이 Sell로 시작되는 전략

만일 매수 포지션이 있는 상태에서 Sell 신호가 발생한 경우에는 기존 매수포지션을

모두 청산한 후 매도포지션으로 진입함.ExitLong 매수청산 주문(Long Exit), 기본전략 함수명이 ExitLong으로 시작되는 전략

매수포지션이 없거나 매도포지션 상태이면 무시됨.ExitShort 매도포지션 청산(Short Exit), 기본전략 함수명이 ExitShort으로 시작되는 전략

매도포지션이 없거나 매수포지션 상태이면 무시됨.

<시그널 랭귀지에서 제공되는 기본전략 예>

① Buy함수

어떠한 조건이 만족될 때 신규로 매수진입을 원한다면 Buy함수를 사용하면 됩니다. 만일 포지션이 없는

상태(무포지션 상태)라면 아무런 제약없이 신규로 매수진입하면 되지만, 이미 매수포지션을 가지고 있었다면

거부될 수도 있고 추가로 신규매수를 진행할 수도 있습니다.▪ 매수포지션이 거부될 경우 : 매수포지션을 보유하고 있는 상태에서 중복진입(피라미딩)이 불허로 세팅된

경우

▪ 추가로 신규매수 진입할 경우 : 중복진입(피라미딩)이 허용된 경우

Page 91: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

중복진입(피라미딩)은 차트에 전략을 설정한 후 주문설정에서 해 줄 수 있으며 다음과 같습니다.

만일 매도포지션을 가지고 있는 상태에서 신규매수 진입신호가 발생하면 기존 매도포지션을 모두 청산한

후 신규매수 진입신호를 수행하게 됩니다. 즉, 포지션의 방향성이 반대로 일어나게 되는 것입니다.

② Sell 함수

신규매도 진입을 원한다면 Sell 함수를 사용하면 됩니다. 만일 선물옵션 종목이면서 포지션이 없는 상태(무포지션 상태)라면 아무런 제약없이 신규매도 진입하면 되지만, 이미 매도포지션을 가지고 있거나

주식종목이었다면 거부될 수도 있고 추가로 신규매도를 진행할 수도 있습니다.▪ 매도포지션이 거부될 경우 : 이미 매도포지션을 보유하고 있는 상태에서 중복진입(피라미딩)이 불허로

세팅된 경우이거나 주식종목의 경우에는 공매가 되므로 거부됩니다.▪ 추가로 신규매도 진입할 경우 : 선물옵션 종목이면서 중복진입(피라미딩)이 허용된 경우

만일 매수포지션을 가지고 있는 상태에서 신규매도 진입신호가 발생했다면 기존 매수포지션을 모두

청산한 후 신규매도 진입신호를 수행하게 됩니다. 다만, 이 경우 주식종목의 경우에는 매수포지션의 청산만

수행되고 신규매도 진입은 이루어지지 않게 됩니다.

Page 92: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

☞ 주의사항 : 매도진입신호는 주식종목의 경우 허용되지 않으므로 유의해야 합니다.

③ ExitLong 함수

ExitLong 함수는 궁극적으로는 매도주문을 발생시키며 매수포지션에 대한 청산만을 수행합니다. 따라서

매수포지션이 없거나 매도포지션을 가지고 있는 상태에서는 아무런 의미가 없는 신호가 됩니다. 또한 주식

종목의 경우에는 매도포지션을 가지고 있거나 신규진입할 수 없으므로 Buy함수와 ExitLong함수로

조합하여 운영됩니다.

④ ExitShort 함수

ExitShort 함수는 매수주문을 발생시키며 매도포지션에 대한 청산을 수행합니다. 따라서 매도포지션이

없거나 매수포지션을 가지고 있는 상태에서는 의미없는 신호가 됩니다. 따라서 주식 종목의 경우에는 의미가

없으며 선물옵션 종목에 한하여 유효합니다.

나) 일반주문함수의 구체적 형식

주문함수 함수의 원형(ProtoType)Buy Buy( "신호명", 주문타입, 가격조건, 주문수량 )Sell Sell( "신호명", 주문타입, 가격조건, 주문수량 )Exitlong ExitLong( "신호명", 주문타입, 가격조건, "진입신호명", 주문수량, 주문수량선택 )Exitshort ExitShort( "신호명", 주문타입, 가격조건, "진입신호명", 주문수량, 주문수량선택 )

①신호명(Buy, Sell, ExitLong, ExitShort 공통)시그널이 발생하면 차트에 어떤 신호가 발생했는지 구분지어 줄 필요가 있습니다. 신호명은 시그널이

발생했을 때 구분하기 위해 각각의 주문함수에 인자로서 명시하도록 하지만 필수항목은 아닙니다. 따라서

생략이 가능하나 차트의 신호를 구분해서 파악할 목적이나 해당 신호명을 특별히 제어할 목적을 갖고자

할때에는 신호명을 명시하는 것이 좋습니다. 예를 들어 청산할 때 어느 특정 신호명만을 지명해서 청산하고

싶을 때에는 반드시 해당 신호명을 명시해주어야 합니다, 이 때 같은 명칭의 신호명을 중복해서 지정할 수는

없으며, 만일 같은 명칭을 지정하면 컴파일 과정에서 에러처리됩니다.신호명은 큰 따옴표로 다음과 같이 기술해 주면 됩니다.

Buy( “BuySignal_1” ) ;

②주문타입과 가격조건

주문타입은 시그널이 발생한 시점의 가격조건을 설정해 주는 것이며 OnClose, AtMarket, AtStop,

Page 93: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AtLimit 등 4개의 타입이 존재합니다. 여기에서 유의해야 할 점은, 시그널이 발생한 후 실제 주문을

전송할때의 주문가격은 차트에 전략을 적용한 후 주문설정 창의 매매가격에서 각 주문타입별로 지정한

가격으로 주문이 전송된다는 것입니다. 주문타입은 가격조건과 밀접한 관련을 맺는데 예를 들어 OnClose, AtMarket 주문타입의 경우에는 가격조건을 지정해주지 않습니다. 그 이유는 주문타입에 이미 어떠한

가격조건을 담고 있기 때문입니다.

▪ OnClose 주문타입

OnClose 주문타입은 if 조건을 만족하면 조건만족봉의 종가를 진입가격으로 사용하는 형태입니다. 즉

가격조건이 이미 OnClose 주문타입에 내장되어 있는 것이며 조건만족봉에 화살표시를 하게 됩니다.

예)

- 예비신호 표시에 체크된 경우 : 차트에 전략을 적용한 후 [주문설정] 창에서 [예비신호 표시]에

체크했다면 봉이 그려지고 있는 과정에 if 조건을 만족하면 조건만족봉에 속이 빈 화살표인

예비신호가 나타나게 됩니다. - 신호표시 : 조건만족봉에 표시

- 주문시점 : 조건만족봉의 다음봉에서 시가를 수신하자마자 주문을 전송

- 과거 데이터로 시뮬레이션 결과 도출시 체결가격 : 조건 만족봉의 종가로 체결처리

- 실제 매매에서의 주문가격 : [주문설정]창에서 주문타입의 Onclose 주문에 대한 설정내용에 따라

주문 : 아래 그림의 예에서는 매수진입일 경우 Onclose는 신호가격-3틱으로 주문하고, 매도진입일

경우에는 시장가로 주문하도록 설정함.- 차트에 가격표시 위치 : 조건만족봉의 종가위치에 작은 삼각형으로 표시

Value1 = Average(C, 20);If CrossUp( C, Value1) Then

Buy( “ BuyEntry1”, OnClose );

주어진 조건을 만족시 주문, 조건만족봉에 표시

Page 94: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ AtMarket 주문타입

AtMarket 주문타입은 if 조건을 만족하면 조건만족봉의 다음봉 시가를 진입가격으로 사용하는

형태입니다. 즉 가격조건이 이미 AtMarket 주문타입에 내장되어 있는 것입니다.

예)

- 예비신호 표시에 체크된 경우 : 차트에 전략을 적용한 후 [주문설정] 창에서 [예비신호 표시]에

체크했다면 봉이 그려지고 있는 과정에 if 조건을 만족하면 조건만족봉에 속이 빈 화살표인

예비신호가 나타나게 됩니다. - 신호표시 : 조건만족봉의 다음봉에 표시

- 주문시점 : 조건만족봉의 다음봉에서 시가를 수신하자마자 주문을 전송

- 과거 데이터로 시뮬레이션 결과 도출시 체결가격 : 조건 만족봉의 다음봉 시가로 체결처리

- 실제 매매에서의 주문가격 : [주문설정]창에서 주문타입의 AtMarket 주문에 대한 설정내용에 따라

주문 : 위의 주문가격 설정 그림의 예에서는 매수진입, 매도진입 모두 시장가로 주문하도록 설정함.- 차트에 가격표시 위치 : 조건만족봉 다음봉의 시가위치에 작은 삼각형으로 표시

Value1 = Average(C, 20);If CrossUp( C, Value1) Then

Buy( “ BuyEntry1”, AtMarket );

주어진 조건을 만족시 주문,조건만족봉 다음봉에 신호표시

Page 95: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

※ OnClose, AtMarket 주문의 신호표시 위치

▶ 스크립트 실행 후 신호표시와 주문가격 예

- OnClose : 조건만족봉의 종가(252.60)로 주문 후 조건만족봉에 신호표시함.- AtMarket : 조건만족봉 다음봉의 시가(252.45)로 주문 후 조건만족봉 다음봉에 신호표시함.

if o < c And o[1] < c[1] Then Buy("OnClose", OnClose, Def, 1)

Else If o > c And o[1] > c[1] Then Sell("AtMarket", AtMarket, def, 1);

▶ OnClose : 연속해서 양봉이 발생하면 조건만족봉의 다음봉 시가 수신한 시점에 조건만족봉의 종가로 매수하고 그 봉에 신호표시

▶ AtMarket : 연속해서 음봉이 발생하면 조건만족봉 다음봉 시가수신시 다음봉 시가로 매도하고 다음봉에 신호표시

Page 96: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ AtStop 주문타입

AtStop 주문타입은 if 조건을 만족하면 조건만족봉의 다음봉에서 AtStop 조건을 만족하면 주문을 하게

됩니다. 따라서 Onclose, AtMarket과 달리 가격조건이 이미 주문타입에 내장되어 있는 것이 아니기 때문에

반드시 가격조건을 지정해줘야 합니다.

예)

- 예비신호 표시에 체크된 경우 : AtStop 주문은 예비신호 없음.- 신호표시 : 조건만족봉의 다음봉에 표시

- 주문시점( Buy/ExitShort의 경우) : 조건만족봉의 다음봉에서 AtStop에서 지정한 가격 이상으로

시세가 상승시 주문, 이때 봉의 완성과 관계없이 AtStop 조건을 만족하자마자 주문전송함.

- 주문시점( Sell/ExitLong의 경우) : 조건만족봉의 다음봉에서 AtStop에서 지정한 가격 이하로

시세가 하락시 주문, 이때 봉의 완성과 관계없이 AtStop 조건을 만족하자마자 주문전송함.

- 과거 데이터로 시뮬레이션 결과 도출시 체결가격 : AtStop에서 지정한 가격으로 체결처리하되 이

보다 더 유리한 가격으로 체결될 수 있었다면 그 가격으로 체결된 것으로 처리함.- 실제 매매에서의 주문가격 : [주문설정]창에서 주문타입의 AtStop 주문에 대한 설정내용에 따라

주문 -> 동기화주문(Sync)일 경우에는 주문 후 실제 체결된 가격을 받아서 처리함.- 유효기간 : AtStop 주문에서 가격조건의 감시는 설정 후 조건만족봉 다음봉에 대해서만 유효합니다. 즉, 조건만족봉의 다음 봉이 가격조건에 맞지 않았다면 주문감시 조건은 자연이 해제가 됩니다.

▪ AtLimit 주문타입

AtLimit 주문타입은 if 조건을 만족하면 조건만족봉의 다음봉에서부터 AtLimit 조건을 만족하는지

조건체크를 하게 되며 조건이 만족하면 주문을 하게 됩니다. 따라서 Onclose, AtMarket과 달리 가격조건이

이미 주문타입에 내장되어 있는 것이 아니기 때문에 반드시 가격조건을 지정해줘야 합니다.

Value1 = Average(C, 20);If CrossUp( C, Value1) Then

Buy( “ BuyEntry1”, AtStop, C ); 해설) If 조건을 만족한 후 조건만족봉의 종가 이상으로 상승하면 매수진입 AtStop 다음의 C는 조건만족봉의 종가를 의미함.

Page 97: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

예)

- 예비신호 표시에 체크된 경우 : AtLimit 주문은 예비신호 없음.- 신호표시 : 조건만족봉의 다음봉에 표시

- 주문시점( Buy/ExitShort의 경우) : 조건만족봉의 다음봉에서 AtLimit에서 지정한 가격 이하로

시세가 하락시 주문, 이때 봉의 완성과 관계없이 AtLimit 조건을 만족하자마자 주문전송함.

- 주문시점( Sell/ExitLong의 경우) : 조건만족봉의 다음봉에서 AtLimit에서 지정한 가격 이상으로

시세가 상승시 주문, 이때 봉의 완성과 관계없이 AtLimit 조건을 만족하자마자 주문전송함.- 과거 데이터로 시뮬레이션 결과 도출시 체결가격 : AtLimit에서 지정한 가격으로 체결된 것으로

처리하되 실제 시세가 유리하게 체결될 수 있는 가격에 형성되었다면 그 가격으로 체결된 것으로 함.- 실제 매매에서의 주문가격 : [주문설정]창에서 주문타입의 AtLimit 주문에 대한 설정내용에 따라

주문 -> 동기화(Sync)주문의 경우 실제 체결된 가격을 받아서 처리함.- 유효기간 : AtLimit 주문에서 가격조건의 감시는 설정 후 조건만족봉 다음봉에 대해서만

유효합니다. 즉, 조건만족봉의 다음 봉이 가격조건에 맞지 않았다면 주문감시 조건은 자연히 해제가

됩니다.

※ AtStop, AtLimit 주문의 신호표시 위치

Value1 = Average(C, 20);If CrossUp( C, Value1) Then

Buy( “ BuyEntry1”, AtLimit, C ); 해설) If 조건을 만족한 후 조건만족봉의 종가 이하로 하락하면 매수진입 AtLimit 다음의 C는 조건만족봉의 종가를 의미함.

if o < c And o[1] < c[1] ThenBuy("AtStop", AtStop, C + 0.05, 1)

Else If o > c And o[1] > c[1] Then Sell("AtLimit", AtLimit, C - 0.05, 1);

▶ AtStop : 연속해서 양봉이 발생하면 조건만족봉의 다음봉에서 (조건만족봉의 종가+0.05)Pt 이상인 시점에 매수하고 조건만족봉의 다음봉에 신호표시

▶ AtLimit : 연속해서 음봉이 발생하면 조건만족봉의 다음봉에서 (조건만족봉의 종가-0.05)Pt 이상인 시점에 매도하고 조건만족봉의 다음봉에 신호표시

Page 98: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▶ 스크립트 실행 후 신호표시와 주문가격 예

- AtStop : 조건만족봉 다음봉에서 (조건만족봉의 종가(252.45) + 0.05)Pt 이상이면 매수주문 후

조건만족봉 다음봉에 신호표시함.- AtLimit : 조건만족봉 다음봉에서 (조건만족봉의 종가(252.40) - 0.05)Pt 이상이면 매도주문 후

조건만족봉 다음봉에 신호표시함.

③수량설정

신호명, 주문타입, 주문가격을 설정한 후 수량을 지정해 주게 됩니다. 만일 스크립트에서 수량을 지정하지

Page 99: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

않았다면 [주문설정]창에서 지정한 수량으로 주문이 전송됩니다. 양쪽에 모두 수량을 지정했다면

스크립트에서 지정한 수량이 우선합니다. 또한 ExitLong, ExitShort과 같은 청산 함수에 수량을 설정하지

않았다면 포지션의 잔량을 모두 청산하게 됩니다.

▪ 앞에서 OnClose, AtMarket 주문의 경우에는 주문가격조건을 따로 명시하지 않는다고 언급했는데, 이런 경우에는 가격조건 자리에 Def를 사용한 후 수량을 지정해 주면 됩니다.

- 매수진입 형식 : Buy( "신호명", 주문타입, 가격조건, 주문수량 )- 예1) Buy( “신호명”, OnClose, Def, 10 )- 예2) Buy( “신호명”, AtMarket, Def, 10 )

AtStop, AtLimit일 경우에는 정상적으로 가격조건과 수량을 지정하면 됩니다.- 예3) Buy( “신호명”, AtStop, C, 10 )- 예4) Buy( “신호명”, AtLimit, C-0.05, 10 )

ExitLong( "신호명", 주문타입, 가격조건, "진입신호명", 주문수량, 주문수량선택 )

④진입신호명

진입신호명은 청산을 위한 함수 즉, ExitLong과 ExitShort에서 필요로 하는 인자이며 반드시 지정해

주어야만 하는 것은 아닙니다. 여러개의 진입 중 어느 특정 진입명만을 청산하고자 할 때 사용하며, 지정한

청산진입명에 한해 작동됩니다. 예1) 매수진입명이 BuyEntry에 대한 것만을 청산 수행하려 할 때

ExitLong( "ExitLong", AtStop, C, "BuyEntry", 1, 1 )

예2) 매수진입명에 구애받지 않고 모두 청산을 하고자 할 때

ExitShort( "ExitShort", AtStop, C, " ", 1, 1 )

⑤주문수량 선택

주문수량 선택은 청산수량을 어떤기준에 의해 얼마만큼 할 것인가에 관해 선택을 하는 것이며, ExitLong,

Page 100: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

ExitShort 함수와 같은 청산함수에서만 사용되는 옵션입니다. 또한 주문수량 선택은 같은 진입이 반복해서

들어오는 피라미딩이 설정되어 있을 경우에만 의미가 있습니다. ▪ 주문수량 선택을 0으로 설정한 경우

0으로 설정하면 복수개의 진입신호가 있을 때 각각의 진입신호에서 일괄적으로 지정된 수량만큼씩을

청산합니다.

▶ 스크립트 실행 후 청산함수 실행 예

if o < c ThenBuy("LE1", OnClose, Def, 2)

Else If o > c And o[1] > c[1] Then ExitLong("LX", OnClose, Def, "LE1", 1, 0);

Page 101: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

위의 예에서와 같이 주문수량 선택을 0으로 설정하게 되면 각각의 진입신호에서 1계약 * 4번진입 = 4계약이 청산되므로 결과적으로 4계약이 남게 됩니다.(녹색 박스 부분)

▪ 주문수량 선택을 1로 설정한 경우

주문수량 선택을 1로 주면 현재 보유하고 있는 전체 수량에서 지정한 수량만큼만 청산하게 됩니다.

▶ 스크립트 실행 후 청산함수 실행 예

Page 102: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

위의 예에서와 같이 청산수량 선택을 1 로 설정하면 전체 진입수량 8계약에서 지정한 수량 1계약만큼을

청산하게 되므로 최종 7계약이 잔량으로 남게 됩니다.

2) 위험관리용 청산함수

가) 개요

위험관리용 청산함수란 손실이 감내할 수 있는 수준 보다 크게 발생하거나 이익이 목표를 초과할 때, 심지어 장이 마감되려고 할 때, 진입 후 변동폭이 너무 없을 때 등과 같이 위험을 관리하기 위한 목적으로

제공되는 함수입니다.위험관리용 청산함수는 Signal Language Editor에서 [도구] -> [강제청산/위험관리] 창을 통해서

스크립트에 손쉽게 삽입이 가능합니다.

Page 103: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

(다)스크립트 코드유형 선택

똑 같은 강제청산 기능을 하지만 내부적으로 사용되는 함수에 따라 A형, B형으로 구분해서 제공합니다. 따라서 이를 구분해서 보시려면 직접 선택해서 소스에 삽입된 코드를 보시기 바랍니다.

< 스크립트에 삽입된 코드내용 >////////////////////////////////////////////////////////////////////////////////////////Inputs: MyStoplossPercent(5);

SetStopPosition; // 포지션 전체SetStopLoss( EntryPrice * MyStoplossPercent /100);

Page 104: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

(라)포지션 전체 or 진입건 별

강제청산을 수행할 때 포지션 전체에 관해서 모두 청산할 것인지 아니면 진입건 별로 나누어서 청산할

것인지를 선택할 수 있습니다.- 포지션 전체 : 강제청산 함수를 호출하기 전에 SetStopPosition 함수를 호출합니다.- 진입건 별 : 진입건 별로 청산하기 위해서는 강제청산 함수를 호출하기에 앞서 SetStopShare(

주식의 경우), SetStopContract(선물옵션의 경우) 함수를 호출하며, 거래하고자 하는 종목이

주식이면 주 단위로, 선물옵션 종목이면 계약단위로 청산이 됩니다.

(마)강제청산시점

강제청산이 실행되는 시점은 봉이 그려지고 있는 상태와 관계없이 조건이 만족되는 즉시 처리할 수도 있고

봉이 완성된 시점에 조건이 맞으면 강제청산을 수행시킬 수도 있습니다. 이에 대한 선택은 다음 화면과 같은

[전략설정] 창에서 할 수 있습니다.

가) 강제청산 함수해설

① 강제청산 함수에서 공통으로 사용되는 함수

Page 105: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

함수명 구분 내용

SetStopPosition

개요 포지션 전체를 강제청산 하기 위해 청산함수 호출전에 선행해서 호출하는

함수

사용예 SetStopPosition;SetStoploss( 2 );

설명 포지션 전체에 대하여 2% 손실이 발생했다면 모두 청산하는 함수이며

계약건별로 청산되지 않고 포지션 전체에 대하여 모두 청산함.SetStopContract

개요 진입건별로 청산함수 호출전에 선행해서 호출하는 함수

사용예 SetStopContract;SetStopProfitTarget( 2 );

설명 진입건 별로 2% 이익이 발생했다면 청산하는 함수이며 진입건 별로 청산되지

않는 것도 있고 청산되는 것도 있게 됨.(선물옵션의 경우 사용)SetStopShare 개요 진입건별로 청산함수 호출전에 선행해서 호출하는 함수

사용예 SetStopShare;SetStopProfitTarget( 2 );

설명 진입건 별로 2% 이익이 발생했다면 청산하는 함수이며 진입건 별로 청산함

(주식의 경우 사용)PercentStop 개요 강제청산 함수를 호출할 때 인자로 입력된 값이 퍼센트임을 나타내는

함수이며 생략시 PercentStop으로 작동되지 않고 PointStop으로 작동됨에

유의

사용예 SetStopPosition;SetStoploss( 2, PercentStop );

설명 포지션 전체에 대하여 2% 손실이 발생했다면 모두 청산하는 함수

PointStop 개요 강제청산 함수를 호출할 때 인자로 입력된 값이 “Pt/원” 단위임을 나타내는

함수, 생략시 PointStop으로 인식하여 그에 따라 작동하므로 유의

사용예 SetStopContract;SetStopProfitTarget( 2, PointStop );

설명 진입건 별로 2Pt 이익이 발생했다면 청산하는 함수

Page 106: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

② SetStopLoss(손절매)

※ SetStopPositon, SetStopContract 혼용 사용시 유의사항

위와 같이 SetStopPosition과 SetStopContract를 혼용해서 코드를 작성했다면 맨 마지막에 기술한 SetStopContract만 작동되므로 유의해야 합니다. 따라서 사용자의 의도처럼 SetStopLoss는 포지션전체로 청산하고 트레일링스톱은 진입건별로 청산하겠다는 의도는 Signal Maker에서는 맞지 않습니다.

스크립트 작성 예)SetStopPosition ;SetStopLoss( 2 ) ;

SetStopContract ;SetStopTrailing( 1, 2, PointStop ) ;

※ 8, 32, 64, 128진법을 사용하는 상품의 사용시 유의사항(해외 금리선물, 해외 농산물선물 등)시그널메이커에서 제공하는 청산함수는 모두 인자로 Point(Amount)값을 지정할 때 반드시 10

진법으로 변환해서 사용해야 합니다. 시그널메이커 시스템 내부적으로도 10진법만을 사용하며 각 상품에 고유한 진법을 사용하여 계산하지 않습니다.

예) 스크립트 사용 예 : SetStopLoss( 0.07, PointStop );만일 10Yr U.S Notes를 126’10.5 가격에 매수하였다면 0.07Pt만큼 떨어졌을 때 스톱로스가 발동합니다. 즉, 아래 표와 같은 계산방식에 의해 126’08.0에서 매수청산 주문이 나가게 됩니다.

매수: 126’10.5 32 or64진법

126’10.5 = 126 + 10/32 + 1/64 = 126 + 21/64 = 126.328 -> 10진법으로 변환

스톱로스 발동가격 32 or64진법

126’08.0 = 126 + 8/32 = 126.250 -> 10진법으로 변환

스톱로스 발동시점 10진법 (126.328 – 126.250) > 0.07 ☞ 시그널메이커에서 입력인자로 받는 모든 Pt 값은 10진법이며 해외 금리선물, 해외 농산물선물 거래시 특히 유의해서 인자를 지정해야 합니다.

위와 같이 SetStopPosition과 SetStopContract를 혼용해서 코드를 작성했다면 맨 마지막에 기술한 SetStopContract만 작동되므로 유의해야 합니다. 따라서 사용자의 의도처럼 SetStopLoss는

Page 107: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ 개요 : 인자로 지정해 준 값 이상 손실이 발생되면 포지션전체를 강제청산 하거나 진입건 별로 청산하는

함수입니다. A형과 B형이 있으며 인자를 어떻게 주고 받느냐에 따라 차이가 있습니다.▪ SetStopLoss - A형

변수명 타입 추천/기본 필수 설명

Amount Numeric

0 필수 Amount 만큼 손실이 발생하면 즉시 청산

이 값이 0 이면 작동이 즉시 중지

입력된 값은 항상 PointStop으로 인식

SetStopPositionSetStopLoss (1); 포지션 전체의 손실이 1 Pt/원 이상될 때 스톱로스 실행

☞ A형에서는 스톱로스 목표 Amount를 금액으로만 받고 %로 받지는 않습니다. 만일 %로 지정하려면직접

금액으로 환산시켜서 스톱로스를 처리해야 합니다.

▪ 실제 예

☞ 포지션 전체에 대한 청산의 경우에는 개별적으로 진입한 포지션별로 각각 발생한 손실을 모두 합계한 후

그 값이 지정한 Amount 이상 되면 SetStopLoss 함수가 작동되어 포지션을 청산하게 됩니다.

☞ 스크립트 작성 예

진입가격 / 현재가 254.00 253.90 253.85진입1 : 254.30진입2 : 254.50진입3 : 253.80

-0.30-0.50+0.20

-0.40-0.60+0.10

-0.45-0.65+0.05

손실합계 -0.70 -0.90 -1.05

if o < c And o[1] < c[1] Then //연속 양봉이 발생하면 매수진입Buy("B", AtStop, C, 1);

////////////////////////////////////////////////////////////////////////////////////////Inputs: MyStoplossPoint(1);SetStopPosition; // 포지션 전체SetStopLoss( MyStoplossPoint );

Page 108: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

강제청산 조건 불만족 불만족 만족

☞ 현재가가 253.85가 되었을 때 개별적으로 진입된 각각의 손익을 합계한 결과 1포인트가 넘는 손실이

발생하므로 SetStopLoss함수가 작동되어 포지션 전체가 청산됩니다.

▪ SetStopLoss - B형

변수명 타입 추천/기본 필수여부 설명

Amount Numeric

0 필수 Amount 만큼 손실이 발생하면 즉시 청산

이 값이 0 이면 청산함수를 호출하지 않음.Opt Numeri

c0 생략可 0 : PercentStop, 1: PointStop

생략하면 PointStopSetStopPosition; // 포지션 전체

SetStopLoss( 2, PercentStop ) ; // 포지션 전체가 2% 이상 손실이 발생시 스톱로스 작동

SetStopContract; // 진입건 별

SetStopLoss( 1, PointStop ) ; // 1 Pt/원 이상 손실이 발생한 진입건은 모두 스톱로스 작동

진입가격 / 현재가 254.00 253.90 253.85 253.80진입1 : 254.30진입2 : 254.50진입3 : 253.80

-0.30-0.50+0.20

-0.40-

+0.10

-0.45-

+0.05

-0.50-

0.00

손실합계 -0.70 -0.90 -1.05강제청산 조건 진입2 만족 불만족 불만족 진입1 만족

☞ SetStopContract이므로 각각의 진입건 별로 청산함수가 호출되며, 결과적으로 진입1은 현재가 253.80

if o < c And o[1] < c[1] Then //연속 양봉이 발생하면 매수진입Buy("B", AtStop, C, 1);

////////////////////////////////////////////////////////////////////////////////////////Inputs: MyStoplossPoint(0.5);SetStopContract; // 진입건 별SetStopLoss( MyStoplossPoint );

Page 109: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

에서 손실이 0.5가 되므로 강제청산이 작동하고 진입2는 현재가가 254.0이 되었을 때 청산되어 결국 진입3만 남게 됩니다.

③ SetProfitTarget, SetStopProfitTarget(목표수익)▪ 개요 : 인자로 지정해 준 값 이상 수익이 발생되면 포지션전체를 강제청산 하거나 진입건 별로 청산하는

함수입니다. A형과 B형이 있으며 인자를 어떻게 주고 받느냐에 따라 차이가 있습니다.

▪ SetProfitTarget – A형

변수명 타입 추천/기본 필수 설명

Amount Numeric

0 필수 Amount 만큼 이익이 발생하면 즉시 청산

이 값이 0 이면 청산함수를 호출하지 않음.입력된 값은 항상 PointStop으로 인식

SetStopPosition ;SetProfitTarget(1) ; 포지션 전체의 이익이 1 Pt/원 이상될 때 스톱로스 실행

SetStopContract ;SetProfitTarget(0.5) ; 진입건 별로 이익이 0.5 Pt/원 이상될 때 스톱로스 실행

☞ A형에서는 목표수익 Amount를 금액으로만 받고 %로 받지는 않기 때문에 %로 인식해서 처리하려면

목표수익 금액을 %로 환산해서 지정해야 함.

진입가격 / 현재가 254.40 254.50 254.55진입1 : 254.30진입2 : 254.50진입3 : 253.80

+0.10-0.10+0.60

+0.200

+0.70

+0.25+0.05+0.75

if o < c And o[1] < c[1] Then //연속 양봉이 발생하면 매수진입Buy("B", AtStop, C, 1);

////////////////////////////////////////////////////////////////////////////////////////Inputs: MyProfitTargetPoint(1);SetStopPosition; // 포지션 전체SetProfitTarget( MyProfitTargetPoint );

Page 110: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

손실합계 +0.60 +0.90 +1.05강제청산 조건 불만족 불만족 만족

☞ 포지션 전체를 합계하여 목표이익 1Pt 이상이 되는 254.55에 모두 청산됩니다. 만일 SetStopContract로 지정했다면 청산조건을 만족하는 각각의 진입건 별로 청산하게 됩니다.

▪ SetStopProfitTarget - B형

변수명 타입 추천/기본 필수여부 설명

Amount Numeric

0 필수 Amount 만큼 손실이 발생하면 즉시 청산

이 값이 0 이면 청산함수를 호출하지 않음.Opt Numeri

c0 생략可 0 : PercentStop, 1: PointStop

생략하면 PointStopSetStopPosition; // 포지션 전체

SetStopProfitTarget ( 2, PercentStop ) ; // 포지션 전체가 2% 이상 이익이 발생시 스톱로스 작동

SetStopContract; // 진입건 별

SetStopProfitTarget ( 1, PointStop ) ; // 1 Pt/원 이상 이익이 발생한 진입건은 모두 스톱로스 작동

진입가격 / 현재가 256.50 256.70 256.75진입1 : 254.30진입2 : 254.50진입3 : 253.80

+2.20+2.00+2.70

+2.40+2.20+2.90

+2.45+2.25+2.95

합계 762.60 +6.90(0.905%)

+7.50(0.983%)

+7.65(1.003%)

if o < c And o[1] < c[1] Then //연속 양봉이 발생하면 매수진입Buy("B", AtStop, C, 1);

////////////////////////////////////////////////////////////////////////////////////////Inputs: MyProfitTargetPercent(1);SetStopPosition; // 포지션 전체SetStopProfitTarget( MyProfitTargetPercent, PercentStop );

Page 111: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

강제청산 조건 불만족 불만족 만족

☞ 각각 포지션 진입 후 합계 1% 수익이 발생하면 모든 포지션을 청산하려고 할 때 현재가가 256.75Pt가

되면 포지션 전체적으로 볼 때 1.003% 수익이 발생해서 강제청산이 수행됩니다.

④ SetStopInactivity▪ 개요 : 진입봉 이후 봉부터 인자로 지정해 준 봉 기간 동안 이익이 지정한 값 이상 발생하지 않으면

포지션전체 혹은 해당 진입건에 대해 강제청산을 수행하는 함수입니다. 항상 이익폭으로의 변동을 의미하며

손실로의 변동을 의미하지 않습니다.

▪ SetStopInactivity - B형

변수명 타입 추천/기본 필수여부 설명

MinPrice Numeric

0 필수 최소 이익 변동폭

이 값이 0 이면 본 함수를 호출하지 않음.BarQty Numeri

c0 필수 가격 감시기간(체크할 봉 개수)

Opt Numeric

0 생략可 0 : PercentStop, 1: PointStop생략하면 PointStop

▪ 포지션전체일 경우 청산함수 작동시점

예)SetStopPosition; // 포지션 전체

SetStopInactivity ( 2, 5, PercentStop ) ; // 포지션 진입 이후 5개봉 동안 2% 이상 이익으로의

가격변동이 없으면 포지션 전체에 대하여 강제청산함.

청산함수 작동시점)진입이 여러 번에 걸쳐 이루어진 경우 각각 별개로 보고 지정한 봉 기간과 이익변동폭을 각각 체크합니다. 이때 어느 한 진입이라도 청산조건을 만족하면 그 시점에 가지고 있던 모든 포지션을 청산하는 방식이

SetStopPosition 입니다.

▪ 진입건 별로 청산함수 작동시점

예)

Page 112: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SetStopContract ; // 진입건 별

SetStopInactivity ( 1, 10, PercentStop ) ; // 개별 진입건별로 각각 진입 후 다음봉부터 10개봉 동안 1% 이상 이익으로의 가격변동이 없으면 해당 진입건에 대해서만 강제청산함.

청산함수 작동시점)진입이 여러 번에 걸쳐 이루어진 경우 각각 별개로 보고 지정한 봉 기간과 이익변동폭을 각각 체크합니다.

이때 어느 한 진입이 청산조건을 만족하면 그 진입건에 대해서만 청산함수가 작동되며 그 이외의 진입건에

대해서는 포지션을 유지하는 방식입니다.

▪ SetStopInactivity( 0 ) ; // 본 함수를 호출하지 않음.

⑤ SetExitOnclose와 SetStopEndofDay( 당일청산 )▪ 개요 : 보유하고 있는 포지션 전체를 당일 사용자가 지정한 거래시간이 마감되는 시점에 청산하고자 하는

함수 입니다. 사용자는 [주문설정]창에서 매매시간 설정을 다음과 같이 해 주게 되며, A형의 경우에는

SetExitOnclose를 사용하고, B형의 경우에는 SetStopEndofDay를 이용하면 됩니다.

Page 113: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ SetExitOnclose – A형

[주문설정]창에서 [매매시간설정] 항목에 체크한 경우 유효하며 청산할 시간을 별도의 인자값으로 받지

않고 설정창에서 매매 시간으로 지정한 시간에 모든 포지션이 청산됩니다.

- 시뮬레이션 상황 : 강제청산 시점을 봉완성시로 설정할때나 조건만족시로 설정할 때나 동일한

결과가 나옵니다. 예) 매매시간설정 : 09:00 ~ 14:53 (5분봉 차트를 사용시) 봉 완성시, 조건만족시 : 14:55 시가가 들어오는 즉시 모든 포지션이 강제청산 됨(5분봉 완성시점)

- 실시간 자동매매 상황 : 조건만족시와 봉 완성시 주문시점이 다릅니다.예) 매매시간설정 : 09:00 ~ 14:53 (5분봉 차트를 사용시) . 봉 완성시 : 14:55 시가가 들어오는 즉시 모든 포지션이 강제청산 됨.(5분봉 완성시점) . 조건만족시 : 14:53 시가가 들어오는 즉시 모든 포지션이 강제청산 됨.(봉 완성과 관계없음)

▪ SetStopEndofDay - B형

이 함수는 강제청산할 시간을 명시적으로 지정해주며 만일 지정하지 않을 경우에는 [주문설정]창에서

사용자가 지정한 매매 종료시간이 강제청산 시점이 됩니다. 단, [주문설정]창에서 [매매시간 설정] 항목에

체크된 경우에만 유효합니다. 즉, 스크립트에서 SetStopEndOfDay 함수를 사용했더라도 설정에서 체크가

되어 있지 않았다면 의미가 없게 됩니다.

변수명 타입 추천/기본 필수여부 설명

EndTime Numeric

15:05 선택 EndTime이 되었을 때 포지션 전체를 청산

- 시뮬레이션 상황 : 강제청산 시점을 봉완성시로 설정할때나 조건만족시로 설정할 때나 동일한

결과가 나옵니다. 예) 매매시간설정 : 09:00 ~ 15:00 (5분봉 차트를 사용시)로 설정하고 다음과 같이 스크립트를 작성한 경우

SetStopEndOfDay(145300) 혹은 SetStopEndOfDay(1453) 봉 완성시, 조건만족시 : 14:55 시가가 들어오는 즉시 모든 포지션이 강제청산 됨(5분봉 완성시점)

SetStopEndOfDay() -> 이렇게 작성시 사용자가 강제청산 시간을 지정하지 않았으므로 자동으로

SetStopEndOfDay(150000)으로 작동되어 봉완성시, 조건만족시 모두 15:00 시가가 들어오는 시점에

바로 강제청산이 수행됩니다.- 실시간 자동매매 상황 : 조건만족시와 봉 완성시 주문시점이 다릅니다.

예) 매매시간설정 : 09:00 ~ 15:00 (5분봉 차트를 사용시)

Page 114: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SetStopEndOfDay(145300) 혹은 SetStopEndOfDay(1453) . 봉 완성시 : 14:55 시가가 들어오는 즉시 모든 포지션이 강제청산 됨.(5분봉 완성시점) . 조건만족시 : 14:53 시가가 들어오는 즉시 모든 포지션이 강제청산 됨.(봉 완성과 관계없음)

☞ SetExitOnClose, SetStopEndOfDay 함수의 유의사항- 항상 포지션 전체에 대해서 작동됨(SetStopPosition)- SetExitOnClose 함수는 인자를 받지 않으며 매매시간설정의 종료시간에 청산됨.- SetStopEndofDay ( 0 ) ; // 당일 청산주문 수행안함- 강제청산 시점에 따라 시뮬레이션과 실시간 매매의 결과가 다르게 나올 수 있음.- 시간은 24 시간 기준 시간이며, 6 자리(HHMMSS) 혹은 4 자리(HHMM) 시간으로 입력 받아

처리, 단 초를 지정하지 않았다면 00초로 인식

- SetStopEndOfDay(145000) 이렇게 기술했다면 14:50:00 가 되는 시점에 모든 포지션을 청산하고 이후 모든 신호(신규진입, 청산, 강제청산 신호 등)가 발생하지 않습니다.

- 본 함수는 일봉이상의 차트에서는 작동하지 않으며 분봉이더라도 봉간격 보다 매매시간 범위를 좁게 주면 작동하지 않습니다.

- 예) 60 분 봉으로 매매하면서 매매시간을 09:00 ~ 09:50 으로 설정한 경우

- SetExitOnClose, SetStopEndOfDay 함수가 호출된 후에는 어떠한 주문도 더 이상 실행되지 않습니다. ( 예외 : SetStopEndOfDay(0) 호출 이후에는 주문이 실행됨)

- 주의 : 미체결이 있는 상태에서 SetExitOnClose, SetStopEndOfDay 가 호출된 후 미체결이 체결되었다면 더 이상 주문을 수행하지 않기 때문에 어떠한 강제청산 함수도 작동하지 않습니다. 따라서 SetExitOnClose, SetStopEndOfDay 함수가 호출된 후 미체결, 체결에 대해서는 사용자가 HTS 에서 수작업으로 처리해야 합니다. 즉, 미체결 화면에서 [미체결 전부취소], 잔고화면에서 [잔고전체 시장가 청산] 등의 버튼을 클릭해서 처리할 수 없으므로 특히 유의하기 바랍니다.

☞ SetStopEndOfDay를 사용하여 Session 설정방법다음의 예제는 점심시간을 전 후로 두개 세션으로 구분해서 매매하는 방법입니다.

// 12시까지 오전 매매(Session 1 효과 발생)if time < 120000 Then

SetStopEndofday(120000);// 13시까지 점심 시간 쉬고if time >= 130000 And time < 131000 Then

SetStopEndofday(0);// 매매를 하다가 15시 까지 매매(Session 2 효과 발생)if time > 145000 Then

SetStopEndofday(150000);

Page 115: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

⑥ SetPercentTrailing, SetDollarTrailing, SetStopTrailing( 이익보존청산 )▪ 개요 : 이익보존청산 방식에는 수익보존청산과 최고/최저가대비 청산전략의 두 가지가 있습니다. - 수익보존 청산 : 포지션 진입 후 보유하고 있는 포지션에서 목표로 하는 수익이 발생한 후 즉시 청산하는

것이 아니라 최대수익값을 계속 갱신하다가 가격변동에 따라 지정한 값 만큼 수익감소가 발생시 청산하는

전략

- 최고/최저가대비 청산 : 포지션 진입 후 보유하고 있는 종목의 시세가 목표로 하는 가격을 달성한 후 최고가

(최저가)를 계속 갱신시키다가 지정한 수준으로 반락(반등)시 청산하는 전략

▪ SetPercentTrailing – A형

이 함수는 수익대비 청산을 지원하며 진입이후 목표로 하는 최소 수익을 달성한 후 계속해서 최고수익을

갱신하다가 최고 수익대비 지정한 감소폭 만큼 수익감소가 발생할 때 청산하는 전략입니다.변수명 타입 추천/기본 필수 설명

FloorAmount반드시 Pt

Numeric

0 필수 목표로 하는 최소 수익값이며 진입이후 FloorAmount이상 수익이 발생하면 청산기능의 발동준비

Amount반드시 %값

Numeric

0 필수 수익감소폭, 진입이후, 최고 수익대비 감소폭(%) 만큼

떨어지면 청산, 이 값이 0 이면 작동중지

스크립트 작성 예)SetStopPosition; // 포지션 전체

SetPercentTrailing(2, 50) ;

해설) 진입가 대비 2Pt 수익 발생 후 최고수익대비 50% 수익감소가 발생하면 포지션 전체를 청산, 예를 들어

선물 매수진입가 100Pt일 경우 2Pt 수익이 발생하여 102Pt가 된 후 계속해서 상승하여 3Pt 수익이

발생하여 103Pt가 되었다고 가정, 이후 선물지수가 반락하여 수익의 50%만큼 감소한 101.5Pt가 되었을 때

Page 116: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

포지션 전체가 청산처리 됨.

☞ 유의사항

SetPercentTrailing에서 SetStopPosition으로 선언하면 조건을 만족시 포지션전체에 대해서 청산이

이루어집니다. 또한 조건체크도 진입건 별 각각에 대해서 손익을 합산하여 포지션 전체에 대해 하게 됩니다. 물론 이때 수량도 함께 반영되어 이루어지게 됩니다. 따라서 진입수량이 많은데 FloorAmount 값을

지나치게 낮게 설정하면 빈번하게 청산주문이 나갈 수 있음에 유의해야 합니다. ▶ 스크립트 작성 예)

if o < c ThenBuy ( "b", OnClose, def, 10);

Inputs : Before(1.0), After(50);SetStopPosition; // 포지션 전체SetPercentTrailing( Before, After );

▶ 해설 : 진입건별, 계약수량별 손익을 합산해서 포지션 전체에 대해 조건만족여부를 체크한 후 강제청산 주문이 나가게 됩니다.

▶ 차트적용 후 결과

진입가격 / 고가 260.55 260.60 260.65 260.60 260.55진입1 : 260.50 * 10진입2 : 260.50 * 10

0.05 * 10 = 0.5

0.05 * 10 = 0.5

0.1 * 10 = 1.00.1 * 10 = 1.0

0.15 * 10 = 1.5

0.15 * 10 = 1.5

-0.5-0.5

-0.1-0.1

손익합계(수량반영) 1.0 2.0 3.0 -1.0 -0.2강제청산 조건 고가갱신 시작 고가갱신 계속 최고가 불만족 만족 최고가에서 50% 반락한 260.55에 강제청산조건을 만족하여 청산됨.

Page 117: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SetStopContract; // 진입건 별

SetPercentTrailing( 1, 30 ) ; 해설) 진입건별로 진입가 대비 1Pt 수익 발생 후 최고수익대비 30% 수익감소가 발생하면 포지션 전체를

청산합니다. 포지션 전체의 경우에는 앞에서 처럼 개별 진입건을 합계해서 강제청산 조건을 만족하는지

여부를 판단하지만, 진입건별로는 철저하게 개별적으로 강제청산 조건을 체크합니다.

☞ 주의사항

- SetPercentTrailing 함수를 사용하여 청산전략을 구현할 때 수익감소율 값을 너무 작은 값으로

설정하면 변동폭이 한 두틱만 되더라도 곧 바로 청산처리되므로 유의해야 합니다.- SetPercentTrailing 함수에서 기준이 되는 목표수익값(Floor Amount)는 반드시 Pt/원 값이어야

하며, 수익감소율(Amout)은 퍼센트 값으로 입력되어야 합니다.

▪ SetDollarTrailing – A형

이 함수는 포지션 진입 후 최고가를 기준으로 인자로 지정한 폭 이상 손실이 발생하면 청산하는

기능입니다. 처음 포지션에 진입하면 진입가가 최고가가 되며 시세의 변동에 따라 최고가가 갱신되고

그것을 기준으로 SetStopPosition, SetStopContract에 따라 작동됩니다.변수명 타입 추천/기본 필수 설명

Amount반드시 금액값

Numeric

0 필수 허용하는 수익감소폭, 진입이후 최고 수익대비 지정한

감소폭( Pt/금액) 이상 변동하면 강제청산, 만일 이 값이 0 이면 작동중지

기본개념 예) - SetStopContract로 동작되는 경우

Page 118: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

: 콜옵션 1.91에 1계약을 매수한 후 계속해서 하락시 1.91이 최고가가 되며 이후 현재가가 들어올 때

최고가 대비 손익을 계산해서 인자로 전달한 값 이상으로 손실이 발생시 강제청산함.: 강제청산 시점 : ( 최고가 - 현재가 ) * 1계약 >= 인자로 전달된 값

( 1.91 – 1.83) * 1계약 >= 0.08

스크립트 예

Page 119: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

위의 포지션은 현재가가 1.83일 때 1계약이 강제청산 됩니다.

: 콜옵션 1.91에 1계약을 매수한 후 등락을 반복할 때 : 처음 진입가 1.91을 최고가로 세팅한 이후 그 보다

높은 가격이 들어오면 계속해서 최고가를 갱신하며, 갱신된 최고가를 기준으로 인자로 전달된 값 이상으로

손실이 발생시 강제청산함.

- SetStopPosition으로 동작되는 경우

스크립트 예

Page 120: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

: 콜옵션 1.92에 1계약을 매수 : 최고가 = 1.92: 이후 계속해서 하락하여 최고가 갱신을 못함.: 콜옵션 1.89에 1계약을 추가매수

: 이후 새로운 틱이 들어올 때 마다 인자로 전달된 값 이상으로 손실이 커지면 강제청산

: 강제청산 시점 : ( 최고가 - 현재가 ) * 2계약 >= 인자로 전달된 값

( 1.92 – 1.87) * 2계약 >= 0.10위의 포지션은 현재가가 1.87일 때 2계약이 강제청산 됩니다. 이것은 실제 포지션의 전체손실이 0.10

이상이 되서 청산되는 것을 의미하지는 않음에 유의해야 합니다.

스크립트 작성 예)SetStopPosition; // 포지션 전체

SetDollarTrailing( 0.10 ) ; 해설) 포지션 전체에 대하여 진입이후 최고 수익대비 100만원 이상으로 수익감소가 발생하면 포지션을

청산하는 전략

Page 121: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SetStopShare ; // 진입건 별

SetDollarTrailing( 100,000 ) ; 해설) 진입건 별 주식수 각각에 대하여 진입이후 최고 수익대비 10만원 이상 수익감소가 발생하면 포지션을

청산하는 전략

SetStopPosition ; // 포지션 전체

SetDollarTrailing( 2.0 ) ; 해설) 포지션 전체에 대하여 진입이후 최고 수익대비 2Pt 이상으로 수익감소가 발생하면 포지션을 청산하는

전략, 각각의 개별진입건 별 최고 수익과 수익감소의 합계를 계산하여 청산시점을 파악함.

▪ SetStopTrailing - B형

SetStopTrailing은 수익대비 청산과 최고/최저가대비 청산을 모두 수행할 수 있도록 인자로 받아

처리합니다. 변수명 타입 추천/기본 필수 설명

Amount수익감소값

Numeric

0 필수 최고수익 혹은 최고/최저가를 기록한 후 그 폭이

줄어드는 값을 의미하며 이 값 이상으로 커지면

강제청산이 수행됨. 만일 이 값이 0 이면 함수호출

안함.FloorAmount Numeri

c0 필수 목표로 하는 최소 수익값

Opt1 Numeric

0 생략可 PercentStop, PointStop, 생략시 PointStop 작동

Opt2 Numeric

0 생략可 0 : 수익금액대비

1 : 최고/최저가대비(진입후 최고/최저가대비 감소되는

비율이나 포인트의 절대값)

수익대비 스크립트 작성 예)SetStopPosition; SetStopTrailing( 50, 2, PercentStop );

해설) 최소 2% 수익 이후에 그 수익의 50% 감소시 포지션 전체를 청산하는 전략

SetStopPosition; SetStopTrailing( 1, 3, PointStop );해설) 진입가 대비 최소 3Pt/원 수익이 발생한 이후에 최고수익을 계속해서 갱신하다가 최종 최고수익대비

Page 122: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

1Pt/원 수익감소가 발생하면 포지션 전체를 청산하는 전략

☞ 주의사항

SetStopTrailing 함수를 사용하여 청산전략을 구현할 때 수익감소%를 너무 작은 값으로 설정하면

변동폭이 한 두틱만 되어도 즉시 청산처리도리 수 있으므로 유의해야 합니다. 또한 시뮬레이션의 결과는 시, 고, 저, 종의 데이터를 이용하여 처리되므로 실시간 데이터를 받아 처리하는 결과와 상이할 수 있으므로

수익감소%은 가능한한 봉의 변동폭 보다 크게 설정해 주는 것이 좋습니다.

최고/최저가대비 스크립트 작성 예)SetStopPosition; SetStopTrailing( 1, 2, PercentStop, 1 );

해설) 포지션에 진입한 후 최소 2% 상승(하락)이 발생한 이후에 최고가(최저가)를 계속 갱신하다가 최종

최고가(최저가) 대비 1% 하락(상승)시 전체 포지션을 청산하는 전략

SetStopContract;SetStopTrailing( 0.5, 1, PointStop, 1 );

해설) 각각의 개별진입건에 대하여 진입한 후 최소 1Pt/원 상승(하락)이 발생한 이후에 최고가(최저가)를

계속 갱신하다가 최종 최고가(최저가)에서 0.5Pt/원 하락(상승)시 해당 진입에 대해서만 포지션을 청산하는

전략

예)if o < c Then Buy ( "b", OnClose, def, 1); SetStopPosition; // 포지션 전체에 대해 청산SetStopTrailing( 1, 2, PointStop, 1 );

해설) 포지션에 진입한 후 최소 2Pt/원 상승(하락)이 발생한 이후에 최고가(최저가)를 계속 갱신하다가 최종 최고가(최저가)에서 1Pt/원 하락(상승)시 전체 포지션을 청산하는 전략

진입가격 / 고가 260.0 259.5진입1 : 258.75 * 1진입2 : 257.00 * 1

1.253.00

0.752.50

손익합계(수량반영) 4.25 3.25강제청산 조건 최고가 갱신 1Pt 수익감소 후 청산

Page 123: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

⑦ SetBreakEven 이 함수는 최소목표이익금액 이상 이익이 발생한 이후 시세의 변동에 따라 그 이익폭이 줄어 진입가격

이하가 될때 청산주문을 실행합니다.변수명 타입 추천/기본 필수 설명

FloorAmount최소목표이익

Numeric

0 필수 최소목표금액( Pt/원으로 지정해야 함)

SetStopPosition ; SetBreakEven(1) ; 해설) 모든 잔고포지션의 합계가 1포인트 이상 이익이 발생했다가 이익폭이 줄어 진입가 이하가 되면

Page 124: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

청산주문 전송

SetStopContract ; SetBreakEven(1) ; 해설) 진입건 별로 각각 1포인트 이상 이익이 발생했다가 이익폭이 줄어 마침내 각각 진입가에 도달하면

청산주문 전송

⑧ SetMinProfitTrailing 이 함수는 최소목표이익금액을 초과하여 이익이 발생하면 계속해서 이익금액을 갱신하다가 그 이후 시세의

변동에 따라 그 이익폭이 줄어 목표이익금액 이하로 이익폭이 줄어들면 청산주문을 실행합니다. 즉, 최소목표이익금액은 확보를 하려는 전략입니다.

예)if o < c Then Buy ( "b", OnClose, def, 1); SetStopPosition; // 포지션 전체SetBreakEven( 0.5 );해설) 각각 개별적으로 포지션에 진입한 후 포지션 합계이익이 최소 0.5Pt/원 상승하다가 이익폭이줄어

포지션 전체에 대한 진입평균가에 도달하면 강제청산을 수행

진입가격 / 고가 261.85 261.5진입1 : 261.35 * 1진입2 : 261.65 * 1

0.5-

+0.15-0.15

손익합계(수량반영) 0.5 0강제청산 조건 최고가 갱신 손익이 0 되는 지점에서 청산

Page 125: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

변수명 타입 추천/기본 필수 설명

FloorAmount최소목표이익

Numeric

0 필수 최소목표이익금액을 초과하여 이익이 발생하다가

반락하거나 반등하여 다시 그 이하로 이익폭이

줄어들면 청산주문 전송

SetStopPosition ;SetMinProfitTrailing(1) ; 해설) 포지션 전체에 대해 1포인트 초과 이익이 발생했다가 이익이 늘어나면 계속해서 갱신을 하며 이후

주가의 변동에 따라 이익폭이 줄어 마침내 1포인트 이하의 이익폭이 줄어들면 청산주문 전송

SetStopContract ; SetMinProfitTrailing(1) ; 해설) 진입건 별로 1포인트 초과 이익이 발생했다가 이익폭이 줄어 마침내 1포인트 이하의 이익이 발생하면

청산주문 전송

예)if o < c Then Buy ( "b", OnClose, def, 1); SetStopPosition; // 포지션 전체SetMinProfitTrailing( 0.5 );해설) 각각 개별적으로 포지션에 진입한 후 포지션 합계이익이 최소 0.5Pt/원 상승하다가 이익폭이줄어

포지션 전체에 대한 포지션 손익합계가 0.5Pt/원으로 다시 도달하면 강제청산을 수행

진입가격 / 고가 261.80 261.75 261.85 261.80진입1 : 261.65 * 1진입2 : 261.65 * 1진입3 : 261.65 * 1

0.15-

0.100.10

0.200.200.20

0.150.150.15

손익합계(수량반영) 0.15 0.20 0.60 0.45강제청산 조건 불만족 불만족 조건체크진행 청산

☞ 포지션 진입후 강제청산 조건을 만족하지 않으므로 계속해서 진입이 이루어집니다. 이후 지정한 목표이익을 넘어서면 조건체크를 하게되며 지정한 0.5Pt 이하로 이익폭이 줄어들 때 청산됩니다.

Page 126: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

3) 수학함수

가) 개요

Signal Language에서는 주로 많이 사용되는 간단한 수학함수를 기본적으로 제공하며 이를 활용해서

Page 127: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

손쉽게 사용자 전략이나 지표를 만들 수 있습니다.

나) 수학함수 간략한 해설

수학함수명 간략설명 사용예

Abs 주어진 값을 절대값으로 변환하여 조건식에 활용 Abs( -10 ) : 10

ArcCos(-1 ~ 1) 사이의 값을 인자로 받아 아크코사인

값을 디그리(degree, 각도)로 계산하여 반환하는 수학함수ArcCos( 0.5 ) : 60

ArcTangent인자로 (-1 ~ 1) 사이의 값을 받아 아크탄젠트

값을 디그리(degree, 각도)로 계산하여 반환하는 수학함수ArcTangent( 1 ) : 45

ArcSin(-1 ~ 1) 사이의 값을 인자로 받아 아크사인

값을 디그리(degree, 각도)로 계산하여 반환하는 수학함수ArcSin( 1 ) : 90

ArcTan인자로 (-1 ~ 1) 사이의 값을 받아 아크탄젠트

값을 디그리(degree, 각도)로 계산하여 반환하는 수학함수ArcTan( -0.5 ) : -26.57

Avg인자로 주어진 리스트에 있는 모든 항목을

평균한 값을 반환하는 함수Avg( O, H, L, C )

AvgList인자로 주어진 리스트에 있는 모든 항목을

평균한 값을 반환하는 함수AvgList( O, H, L, C )

Ceiling인자로 주어진 숫자보다 더 큰 정수 중에서

가장 작은 정수값Ceiling( 5.5 ) : 6

CosineH각도값을 인자로 받아 하이퍼블릭 코사인

값을 반환하는 수학함수CosineH( 60 ) : 1.60

Cosine각도값을 인자로 받아 코사인 값으로

반환하는 함수Cosine( 45) : 0.7071

CoTangent 코탄젠트 값을 계산하여 반환하는 함수 CoTangent( 45 ) : 1.0Exp 지수값을 리턴하는 함수 Exp(10):22,026.47

Floor실수값을 인자로 받아 반올림한 후 소수점

이하의 값을 버리고 정수값만을 취한 후

반환하는 함수

Floor(14.321 ) : 14

FracPortion FracPortion 함수는 인자로 전달된 실수형 FracPortion( 4.5 ) : 0.5

☞ 함수 사용시 주의사항아래에 설명되는 함수는 각 거래소에서 제공되는 상품별 데이터에 종속적으로 작동합니다. 즉,

데이터가 정상적으로 제공되면 함수도 정상적인 결과를 도출하지만, 그렇지 않은 경우에는 비정상적인 결과를 리턴할 수 있습니다. 따라서 반드시 MessageLog를 통해 고객님께서 원하는 결과를 도출하고 있는지 확인한 후 이용해야 하며 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

Page 128: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

값에서 소수점 부분만을 추출하여 반환함.

IntPortionIntPortion 함수는 인자로 전달된 실수형

값에서 정수 부분만을 추출하여 반환함.IntPortion( Close )

Log인자로 전달된 값을 자연로그 값으로

돌려주는 수학함수Log( 5 ) : 1.61

Log10인자로 전달된 값을 상용로그 값으로 돌려주는

수학함수Log10( 5 ) : 0.7

Max인자로 지정한 가격들 중에 최고가를 반환해

주는 함수Max( High, Close )

MaxList인자로 지정한 가격들 중에 최고가를 반환해

주는 함수MaxList( High, Close )

MaxList2인자로 지정한 가격들 중에 두번째로 큰 값을

반환해 주는 함수MaxList2( High, Close )

Min인자로 지정한 가격들 중에 최저가를 반환해

주는 함수Min(O, H, C)

MinList인자로 지정한 가격들 중에 최저가를 반환해

주는 함수MinList( O, H, C )

MinList2인자로 지정한 가격들 중에 두번째로 작은 값을

반환해 주는 함수MinList2( H, C )

Mod인자로 주어진 두개의 수치를 나눈 결과 나머지

값을 반환하는 함수Mod( 10, 3 )

Neg주어진 수치에 대해 항상 음수값을

반환해주는 함수Neg( 10 ) : -10

NthMaxList인자로 전달된 리스트 중에서 N 번째 큰 값을

반환해주는 함수NthMaxList(3,O,H,L,C)

NthMinList인자로 전달된 리스트 중에서 N 번째로 작은 값을

반환해주는 함수NthMinList(2,O,H,L,C)

PiePie 함수는 원주율(π) 값 3.141592 를 돌려주는

수학함수Pie( ) : 3.141592

Pos주어진 수치에 대해 항상 양수값을

반환해주는 함수Pos( 10 ) : 10

Power주어진 두개의 수치에 대해 누승을

반환해주는 함수Power( 10, 2 ) : 100

Random인자로 주어진 수치의 범위에서 난수를 발생시켜

반환하는 함수Random( 10 )

Page 129: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Round실수값과 지정된 소수점 이하 자리수를 인자로

받아 소수점의 반올림값을 반환하는 함수Round(20.4357,3):20.436

Sign수치의 부호에 기반한 정수값을 반환

( 양수 : 1, 음수 : -1 0 : 0 을 반환 )Sign( 53.3 ) : 1

Sine각도 값을 인자로 받아 사인값을

반환하는 수학함수Sine( 30 ) : 0.5

SineH각도값을 인자로 받아 하이퍼블릭

사인 값을 반환하는 수학함수SineH( 30 ) : 0.55

Square 인자로 주어진 값을 제곱하여 반환하는 함수 Square( 5 )SquareRoot 인자로 주어진 값의 제곱근을 반환하는 함수 SquareRoot( 5 )Sum 주어진 기간 가격들의 합계를 반환하는 함수 Sum( C, 10 )SumList 인자로 주어진 숫자들의 합계를 반환하는 함수 SumList( O, H, L, C )

Tangent인자로 각도값을 받아 탄젠트 값을 계산하여

반환하는 수학함수Tangent(50) : 1.19

TangentH인자로 각도값을 받아 하이퍼블릭 탄젠트

값을 계산하여 반환하는 수학함수TangentH(50) : 0.70

최대값 인자로 지정한 가격들 중 최고가를 반환해 주는 함수 Value1 = 최대값(1, 2, 3)

최소값 인자로 지정한 가격들 중 최저가를 반환해 주는 함수 Value1 = 최소값(1, 2, 3)

합계 주어진 기간 가격들의 합계를 반환하는 함수 Value1 = 합계(1, 2, 3)

4) 분석함수

가) 개요

분석함수에서 일부는 전략, 지표, 함수 등의 스크립트를 작성할 때 빈번하게 사용되며 이것을 사용하여

신호를 발생시키기도 합니다.

나) 분석함수 간략한 해설

☞ 함수 사용시 주의사항아래에 설명되는 함수는 각 거래소에서 제공되는 상품별 데이터에 종속적으로 작동합니다. 즉,

데이터가 정상적으로 제공되면 함수도 정상적인 결과를 도출하지만, 그렇지 않은 경우에는 비정상적인 결과를 리턴할 수 있습니다. 따라서 반드시 MessageLog를 통해 고객님께서 원하는 결과를 도출하고 있는지 확인한 후 이용해야 하며 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

Page 130: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

명칭 간략설명 사용예 1

CrossDown

조건을 만족하는지 여부를

체크하기 위한

분석함수, 하락돌파시 True, 아니면

False 반환

CrossDown( C, Average( C, 20 ) )

CrossUp

조건을 만족하는지 여부를

체크하기 위한 분석함수, 상향돌파시 True, 아니면 False반환

CrossUp( C, Average( C, 20 ) )

CurrDate 현재 컴퓨터의 날짜를 반환하는

함수var1 = CurrDate( )

CurrTime 현재 컴퓨터의 시간 var1 = CurrTime( )

CurrTime_s현재 컴퓨터의 시간을 초단위

값으로 반환하는 함수var1 = CurrTime_s( )

DayFromDateTime쥴리안데이트의 인자값에서

일자만을 숫자값으로 반환하는

함수

Value1 = DayFromDateTime(37564.612)

DateToJulian인자로 전달된 날짜를 Julian Date 값으로 변환하는 함수

DateToJulian( YYYYMMDD)

DateToString인자로 전달된 스트링을 날짜로

변환하는 함수(미래사용예약)DateToString(39448.25000000);    

2008/1/1 을 반환

DayOfMonth 일자를 리턴하는 함수 value1 = DayOfMonth(20140301) 1 을 리턴

DayOfWeek요일을 리턴하는 함수

(0:일요일 ~ 6:토요일)if dayofweek( date) != sunday then buy()

DayOfWeekFromDateTime

인자로 주어진 DateTime 의

값으로부터 요일의 값을 리턴하는

함수(0:일요일, 6:토요일)

DayOfWeekFromDateTime(37564.61200);  

ELDateToDateTime년월일 값을 더블형 수치값으로

변환해서 반환하는 함수Value1 = ELDateToDateTime(20150102)

ELTimeToDateTime시간값을 더블형 수치값으로

변환해서 반환하는 함수Value1 = ELTimeToDateTime(1452)

ExecOffset 함수가 실행되는 Bar 의 Offset 위치를 리턴하는 함수(미래사용예약)

var1 = ExecOffset

GetCodeType 심볼의 카테고리 명을 반환하는 var1 = GetCodeType;

Page 131: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

함수(미래사용예약)

InStr 주어진 첫번째 문자열 안에 두번째

문자열이 존재하는 위치를

리턴하는 함수(미래사용예약)

value1 = InStr("abcde", "bc")2 를 리턴

JulianToDate juliandate 를 date 로 변환 JulianToDate (39448)

LastBarOnChart차트의 마지막 봉인지 여부를

반환하는 함수if LastBarOnChart() = 1 then var1 = C

LastCalcJDate 마지막 완성봉에 대한 줄리안

일자를 반환하는 함수 Value1 = LastCalcJDate; 

LastCalcMMTime 마지막 완성봉에 대한 시간을

반환하되 분으로 변환해서

반환됨

Value1 = LastCalcMMTime ;만일 09:00 AM 마지막봉이 완성되었다면

540 을 반환함.

LastCalcSSTime 마지막 완성봉에 대한 시간을

반환하되 초로 변환해서 반환됨

Value1 = LastCalcSSTime ;만일 09:00 AM 마지막봉이 완성되었다면

32,400 을 반환함.Month 일자의 월을 리턴하는 함수 value1 = Month( date )

NextBarOpen조건만족봉 다음봉의 시가를

반환하는 함수(실시간 사용가능, 시뮬레이션 사용불가)

If NextBarOpen > DayClose then

StringToDate주어진 년월일 정보에서 날짜값을

문자열로 반환하는 함수(미래사용예약)

v1 = StringToDate(“2003/02/02” ) ; @// 37654 을 반환

StringToDateTime

주어진 시간정보 문자열에서

시간값을 문자열로 반환하는

함수(미래사용예약)

v1 = StringToDateTime(“10:12:43 PM” ) ; // 0.93 을 반환

StringToTime 주어진 시간정보 문자열에서

시간값을 문자열로 반환하는 함수

(미래사용예약)

v1 = StringToTime(“10:12:43 PM” ) ; @ // 0.93 을 반환

StrLen주어진 문자열의 길이를 리턴하는

함수

value1 = StrLen("123.50") 6 을 리턴

StrToNum주어진 문자열을 숫자로 변환해서

리턴하는 함수

value1 = StrToNum("123.50") 123.50

UpperStr소문자를 대문자로 변환해서

리턴하는 함수(미래사용예약)str1 = UpperStr("abcde") ABCDE 를 리턴

LowerStr 대문자를 소문자로 변환해서 str1 = LowerStr("ABCDE")

Page 132: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

리턴하는 함수(미래사용예약) abcde 를 리턴

Year 일자의 연도를 리턴하는 함수 value1 = Year( date)

MinNeedBarsBackMinNeedBarsBack 값을 리턴하는

함수V1 = MinNeedBarsBack

SetMinNeedBarsBackMinNeedBarsBack 값을 설정하는

함수SetMinNeedBarsBack(100)

EntryCommission주문설정창에서 사용자가 설정한

진입수수료를 리턴하는 함수V1 = Amount * EntryCommission

EntrySlippage주문설정창에서 사용자가 설정한

진입슬리피지를 리턴해 주는 함수V1 = EntrySlippage

ExitCommission

시스템트레이딩 설정

다이얼로그에서 사용자가 설정한

청산 수수료를 리턴하는 함수(% or 원, 틱값)

V1 = Amount * ExitCommission

ExitSlippage주문 설정창에서 사용자가 설정한

청산슬리피지를 리턴해 주는 함수V1 = ExitSlippage

CommissionMethod주문설정창에서 수수료 설정상태를

리턴-> 0 : %, 1 : Pt(원)If CommissionMethod = 1 then

SlippageMethod 주문설정창에서 슬리피지

설정상태를 리턴-> 0 : %, 1 : Pt(원)

If SlippageMethod = 1 then

BaseDataNumber기본 시리즈로 설정된 심볼의

데이터 번호를 리턴if BaseDataNumber = 1 then

EntryTax주문설정창에서 사용자가

설정한 진입 세금을 리턴해 주는

함수

V1 = EntryTax ;

ExitTax주문설정창에서 사용자가

설정한 청산 세금 리턴해 주는

함수

V1 = ExitTax ;

TaxMethod주문설정창에서 세금

설정상태를 리턴-> 0:%, 1:Pt(원)

If TaxMethod = 1 then

TimeClose 주어진 시간 내의 종가value1 = TimeClose(90000, 100000); @// 9시부터 10시 사이의 종가

TimeHigh 주어진 시간 내의 고가 value1 = TimeHigh(90000, 100000); @//

Page 133: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

9시부터 10시 사이의 고가

TimeLow 주어진 시간 내의 저가value1 = TimeLow(90000, 100000); @// 9시부터 10시 사이의 저가

TimeOpen 주어진 시간 내의 시가value1 = TimeOpen(90000, 100000); @// 9시부터 10시 사이의 시가

다) 주요 분석함수 해설

① CrossDownIf문에서 주로 사용되며 변수1이 변수2를 하향돌파 하면 조건식을 수행하라는 경우에 사용됩니다. 이

함수는 다음의 두 가지 조건을 모두 만족하면 True값을, 어느 하나라도 만족하지 못하면 False값을 리턴하게

됩니다.- 조건1 : 변수1의 현재 값이 변수2의 현재 값 보다 작은가? - 조건2 : 변수1의 직전 값이 변수2의 직전 값보다 크거나 같았는가?

▪ 함수의 원형

CrossDown( Var1, Var2 )- Var1 : 행위의 주체인 변수1- Var2 : 행위의 객체인 변수2

▪ 함수의 사용 예

If CrossDown ( Close, Average(Close, 10 ) ) ThenSell() // 종가가 10 일 이동평균을 하향돌파하면 매도

② CrossUp If문에서 주로 사용되며 변수1이 변수2를 상향돌파 하면 조건식을 수행하라는 경우에 사용됩니다. 이

함수는 다음의 두 가지 조건을 모두 만족하면 True값을, 어느 하나라도 만족하지 못하면 False값을 리턴하게

됩니다.- 조건1 : 변수1의 현재 값이 변수2의 현재 값 보다 큰가? - 조건2 : 변수1의 직전 값이 변수2의 직전 값보다 작거나 같았는가?

▪ 함수의 원형

CrossUp( Var1, Var2 )- Var1 : 행위의 주체인 변수1- Var2 : 행위의 객체인 변수2

Page 134: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ 함수의 사용 예

If CrossUp ( Close, Average(Close, 10 ) ) ThenBuy() // 종가가 10 일 이동평균을 상향돌파하면 매수

③ MinNeedBarsBack이 함수는 차트에 전략이나 지표 등을 적용했을 때 유효하게 매매신호가 발생하거나 유효한 지표가

계산되기 위해 필요로 하는 최소한의 봉수를 반환합니다. 예를 들어 20일 이평을 상향돌파할 때 매수진입을

하라고 스크립트를 작성했다면 적어도 20개의 봉이 있어야 제대로 동작이 될 것입니다. 만일 이 경우 20개의

봉이 없었다면 전략은 수행될 수 없습니다. 다만, 지표, 패턴, 강세약세 등의 경우에는 피보나치 수열에 의해

자동으로 MinNeedBarsBack의 값이 커지면서 계산을 하게 됩니다.④ SetMinNeedBarsBack

MinNeedBarsBack의 값을 직접 설정해 줄 수 있는 함수입니다. 이 함수를 통해서 스크립트에서 직접

값을 세팅해 줄 수도 있고, 전략의 경우에는 차트의 [주문설정] 창에서 “신호개시에 필요한 최소 필요봉수”

값을 지정해 주면 됩니다.

지표, 패턴, 강세약세 등의 경우에는 다음과 같이 “자동지정”과 “사용자지정” 중에서 선택할 수 있습니다.

☞ MinNeedBarsBack의 유의사항

사용자가 지정한 MinNeedBarsBack의 값이 스크립트를 수행하기에 부족한 경우에는 여러가지의 문제가

수반됩니다. 특히, 전략의 경우에는 주문과 연계되는 중요한 사항이므로 “최소필요봉수가 부족합니다.”라는

메시지를 출력한 후 전략수행을 중지합니다. 다만, 지표, 패턴, 강세약세의 경우에는 사용자 지정 봉수가

미달된 경우 자동으로 피보나치수열을 계산하는 수식에 따라 값이 변경되며 수행이 됩니다.

Page 135: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ 전략에서 MinNeedBarsBack의 값이 부족한 경우

전략 스크립트에서 다음과 같이 코드를 작성했다면

// SetMinNeedBarsBack( 10 ); -> 전략에서는 본 코드를 사용할 수 없으며 주문설정창에서 “

최소필요봉수”를 10으로 설정한 후 아래 스크립트를 작성

If CrossUp ( H, Average(C, 20 ) ) Then Buy( “B”, Onclose, def, 10 );

이 스크립트는 고가가 20일 이평을 상향돌파하면 매수하라는 것인데 MinNeedBarsBack을 10으로

설정했습니다. 스크립트에서 20일 이평을 사용하여 조건을 체크하는데 10으로 설정하면 최소필요봉수가

부족하게 되며 이 경우에는 전략이므로 메시지를 출력 후 중지하게 됩니다.▪ 지표, 패턴, 강세약세에서 MinNeedBarsBack의 값이 부족한 경우

자동지정을 선택했다면 피보나치 수열에 따라 계산되므로 문제될 것이 없습니다. 다만, 사용자가 임의의

값으로 MinNeedBarsBack을 설정했다면 최소필요봉수에 미달될 수 있으며, 이 경우에는 시스템

내부적으로 피보나치 수열에 따라 값을 결정해서 지표, 패턴, 강세약세를 표현하게 됩니다. 또한 계산을 위해

필요한 최소봉수가 부족하다는 메시지도 출력하지 않습니다.

5) 성과함수

가) 개요

성과분석리포트와 같은 성과분석 결과를 보여줄 때 사용되는 함수입니다.

나) 성과함수 간략한 해설

☞ 유의사항 : 대부분의 성과함수는 사용자가 주문설정창에서 거래비용으로 지정한 수수료, 슬리피지, 거래세 등을 반영하여 손익을 계산합니다. 이것은 시뮬레이션이나 실전거래나 동일하게 동작되며 특히, 수수료의 경우 실제 계좌에 부과되는 금액과 관계없이 사용자가 설정한 값에 따라 결과를 도출합니다.

성과함수 간략설명 사용예

AvgBarsEvenTrade 총 거래중에 청산후 손실이나 이익이

발생하지 않은 거래의 평균 봉 개수, 사용자가 설정한 수수료, 슬리피지,

var1 = AvgBarsEvenTrade

☞ 함수 사용시 주의사항아래에 설명되는 함수는 각 거래소에서 제공되는 상품별 데이터에 종속적으로 작동합니다. 즉,

데이터가 정상적으로 제공되면 함수도 정상적인 결과를 도출하지만, 그렇지 않은 경우에는 비정상적인 결과를 리턴할 수 있습니다. 따라서 반드시 MessageLog를 통해 고객님께서 원하는 결과를 도출하고 있는지 확인한 후 이용해야 하며 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

Page 136: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

거래세를 반영하여 결과값을 리턴함.

AvgBarsLosTrade

총 거래중에 청산후 손실이 발생한 거래의

평균 봉 개수, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을

리턴함.

var1 = AvgBarsLosTrade

AvgBarsWinTrade

총 거래중에 청산후 이익이 발생한 거래의

평균 봉 개수, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을

리턴함.

var1 = AvgBarsWinTrade

ContractProfit

1 계약당 손익값을 리턴하는 함수, 전략에서만 사용 가능, 사용자가 설정한

수수료, 슬리피지, 거래세를 반영하여

결과값을 리턴함.

var1 = ContractProfit

GrossLoss 총 거래중에 청산후 손실이 발생한 거래를

추출, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을 리턴함.

var1 = GrossLoss

GrossProfit 총 거래중에 청산후 이익이 발생한 거래를

추출, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을 리턴함.

var1 = GrossProfit

LargestLosTrade

총 거래중에 청산후 최대 손실이

발생한 거래의 금액, 사용자가 설정한

수수료, 슬리피지, 거래세를 반영하여

결과값을 리턴함.

var1 = LargestLosTrade

LargestWinTrade

총 거래중에 청산후 최대 이익이 발생한

거래의 금액, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을

리턴함.

var1 = LargestWinTrade

MaxConsecLosers

"청산 완료된 전체거래 중 최대 연속 손실

거래횟수”를 가져오는 함수, 사용자가

설정한 수수료, 슬리피지, 거래세를

반영하여 결과값을 리턴함.

var1 = MaxConsecLosers

MaxConsecWinners

“청산 완료된 전체거래 중 최대 연속 수익

거래횟수”를 가져오는 함수, 사용자가

설정한 수수료, 슬리피지, 거래세를

반영하여 결과값을 리턴함.

var1 = MaxConsecWinners

Page 137: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MaxContractProfit 해당 포지션에서 1 계약당 최대 손익, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을 리턴함.

var1 = MaxContractProfit

MaxContractsHeld

“청산 완료된 전체거래 중에서 한

포지션에서 보유한 최대 계약수를 가져오는

함수, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을 리턴함.

var1 = MaxContractsHeld

MaxIDDrawDown

“청산 완료된 전체거래 중에서 고가와

저가를 반영한 최대자본인하분을 도출하는

함수”, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을 리턴함.

var1 = MaxIDDrawDown

NetProfit

“청산 완료된 전체거래 중에서

순실현손익을 가져오는 함수”, 사용자가

설정한 수수료, 슬리피지, 거래세를

반영하여 결과값을 리턴함.

var1 = NetProfit

NumLosTrades

“청산 완료된 전체거래 중에서 손실거래

회수를 가져오는 함수”, 사용자가 설정한

수수료, 슬리피지, 거래세를 반영하여

결과값을 리턴함.

var1 = NumLosTrades

NumWinTrades

“청산 완료된 전체거래 중에서 이익거래

회수를 가져오는 함수”, 사용자가 설정한

수수료, 슬리피지, 거래세를 반영하여

결과값을 리턴함.

var1 = NumWinTrades

PercentProfit

“청산 완료된 전체거래의 승률을 계산해

주는 함수”, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을

리턴함.

var1 = PercentProfit

TotalBarsLosTrades

“청산 완료된 전체거래중 손실거래의

총 Bar 개수를 반환하는 함수”, 사용자가

설정한 수수료, 슬리피지, 거래세를

반영하여 결과값을 리턴함.

var1 = TotalBarsLosTrades

TotalBarsWinTrades

“청산 완료된 전체거래중 이익거래의

총 Bar 개수를 반환하는 함수”, 사용자가

설정한 수수료, 슬리피지, 거래세를

반영하여 결과값을 리턴함.

var1 = TotalBarsWinTrades

Page 138: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TotalTrades “청산 완료된 전체거래의 총 거래회수를

반환하는 함수” var1 = TotalTrades

NumEvenTrades

청산 완료된 전체 거래에서 본전한 회수를

반환하는 함수, 사용자가 설정한 수수료, 슬리피지, 거래세를 반영하여 결과값을

리턴함.

var1 = NumEvenTrades

TotalBarsEvenTrades

청산 완료된 전체 거래에서 본전한 거래의

보유 총 봉의 개수, 사용자가 설정한

수수료, 슬리피지, 거래세를 반영하여

결과값을 리턴함.

var1 = TotalBarsEvenTrades

6) 포지션함수

가) 개요

포지션함수는 시스템전략을 작성시 포지션에 대한 컨트롤을 할 경우 많이 활용하는 함수이며, 예를 들어

포지션 진입이후 경과된 봉의 개수라든가 포지션 청산이후 경과한 봉의 수 등이 해당됩니다.

나) 포지션함수 간략한 해설

☞ 지표에서만 동작되는 I_CurrContracts와 같이 I_???로 시작되는 함수 등은 차트에 적용된 전략의 내용을

출력하지만, 사용자가 적용된 전략을 변경하면 차트에 이미 추가된 I_??? 관련 지표는 실시간으로 연동되지

않으므로 유의해야 합니다.포지션 함수 간략설명 사용예 1

AvgEntryPrice중복진입상태에서 모든 미청산 포지션에

대한 평균 진입가격 계산하는 함수, "전략"에서만 사용가능

value1 = AvgEntryPrice

BarsSinceEntry지정한 포지션 진입이후 현재봉까지의

경과된 봉의 개수를 리턴, 0:최근, 1:직전진입…

BarsSinceEntry (0)

BarsSinceExit 지정한 포지션 청산 이후 현재 봉까지 if BarsSinceExit(1) > 5 then

☞ 함수 사용시 주의사항아래에 설명되는 함수는 각 거래소에서 제공되는 상품별 데이터에 종속적으로 작동합니다. 즉,

데이터가 정상적으로 제공되면 함수도 정상적인 결과를 도출하지만, 그렇지 않은 경우에는 비정상적인 결과를 리턴할 수 있습니다. 따라서 반드시 MessageLog를 통해 고객님께서 원하는 결과를 도출하고 있는지 확인한 후 이용해야 하며 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

Page 139: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

경과한 봉수를 리턴, 0:현재봉, 1:최근청산

포지션 구간의 청산이후 봉이

5 개 이상 지났으면

CurrContracts청산되지 않은 진입신호들의 선물옵션

계약수를 리턴하는 함수, 전략에서만

사용 가능

If CurrContracts != 0 then

CurrEntries청산되지 않은 진입신호들의 횟수를

리턴하는 함수If CurrEntries != 0 then

CurrShares청산되지 않은 진입신호들의 주식수를

리턴하는 함수If CurrShares != 0 then

EntryDate지정한 포지션의 진입날짜를 리턴해

주는 함수var1 = EntryDate;

EntryName지정한 포지션의 진입명을 리턴해

주는 함수(미래사용예약)

If EntryName = “Stochastic Entry” Then

EntryPrice지정한 포지션의 진입가격을 리턴, 무포지션일 경우 0 값을

리턴-> 0:최근진입, 1:직전진입…

var 1 = EntryPrice (1);

EntryTime지정한 지점에서 포지션의 진입시간을

리턴해 주는 함수var 1 = EntryTime;

ExitDate지정한 포지션의 청산날짜를 리턴해

주는

함수

If Sdate >= ExitDate(1) + 2 then

ExitName지정한 포지션의 청산명을 리턴해

주는 함수(미래사용예약)If ExitName (1) = “StopLoss” Then

ExitPrice지정한 청산포지션의 청산가격을 리턴

-> 0:사용불가, 1:최근청산, 2:직전청산ExitPrice (1)

ExitTime지정한 포지션의 청산시간을 리턴해

주는 함수var 1 = ExitTime

I_AvgEntryPrice

피라미딩된 청산되지 않은 진입신호들에

대한 평균 진입가격을 리턴, 지표에서만

사용 가능

var1 = I_AvgEntryPrice

I_ClosedEquity매매에 따른 해당 시점의 순손익의

결과를 리턴하는 함수[netprofit(성과)], "지표"에서만 사용 가능

v1 = I_ClosedEquity

Page 140: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

I_CurrContracts모든 오픈포지션에 대해 가지고 있는

주식수의 합계를 리턴하는 함수, 지표에서만 사용 가능

var1 = I_CurrContracts

I_CurrShares모든 오픈포지션에 대해 가지고 있는

계약수의 합계를 리턴하는 함수, 지표에서만 사용 가능

var1 = I_CurrContracts

I_OpenEquity

매매에 따른 해당 시점의 순손익 + 미실현손익 결과를 리턴하는 함수

[NetProfit(성과) + OpenPositionProfit(포지션)], "지표"에서만 사용 가능

v1 = I_OpenEquity

I_SignalPosition보유하고 있는 포지션의 상태를

리턴하는 함수, 지표에서만 사용 가능

I_MarketPosition 과 동일

0:무포지션, 1:매수포지션, -1:매도포지션

var1 = I_SignalPosition

IsEntryName

지정한 위치의 진입명이 맞는지

틀리는지에 대한 결과를 리턴해 주는

함수

0 : 최근진입, 1 : 직전진입 등

If IsEntryName(“Stochastic Entry”, 1) = True Then

IsExitName

지정한 위치의 청산명이 맞는지 틀리는지에

대한 결과를 리턴해 주는 함수

0 : 최근청산, 1 : 직전청산 등 기본값은 0(최근청산)

If IsExitName @(“StopLoss”, 1) = True Then

LatestEntryPrice가장 최근에 진입한 포지션의 진입가격을

리턴해 주는 함수, 0:최근거래, 1:직전거래LatestEntryPrice(0)

LatestExitPrice가장 최근에 청산한 포지션의 청산가격을

리턴해 주는 함수, 0:최근거래, 1:직전거래LatestExitPrice(0)

MaxContracts지정한 지점에서 포지션의 최대 보유

계약수를 리턴하는 함수

0:최근거래, 1:직전거래

var 1 = MaxContracts(2);

MaxEntries지정한 지점에서 포지션의 최대 오픈

진입횟수를 리턴하는 함수

0:최근거래, 1:직전거래

var 1 = MaxEntries(0)

MaxPositionLoss 포지션 구간에서 가능했던 최대

손실액을 리턴하는 함수

var 1 = MaxPositionLoss(0)

Page 141: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

0:최근거래, 1:직전거래

MaxPositionProfit포지션 구간에서 가능했던 최대

이익액을 리턴하는 함수

0:최근거래, 1:직전거래

var 1 = MaxPositionProfit(0)

MaxShares지정한 지점에서 포지션의 최대

보유주식수를 리턴하는 함수V1 = MaxShares(0)

OpenPositionProfit현재의 오픈 포지션에서 손익액을 `계산해서 리턴하는 함수

if OpenPositionProfit > 2 then 현재의 포지션이 2 포인트가 넘으면

PositionProfit지정한 지점의 오픈 포지션에서

손익액을 계산해서 리턴하는 함수

0:최근거래, 1:직전거래

if PositionProfit(1) > 2 then 이전 포지션의 손익이 2Pt 가 넘으면

SignalPosition지정한 포지션의 상태를 리턴

MarketPosition 과 동일

0:무포지션, 1:매수포지션, -1:매도포지션

If( SignalPosition = 1 ) Then

다) 주요 포지션함수 상세해설

① AvgEntryPrice 각각의 개별진입에 대한 평균진입가를 반환하며 피라미딩으로 설정된 경우에만 의미가 있습니다.예)첫번째 매수진입가 : 260, 10계약

두번째 매수진입가 : 256, 5계약

Var1 = AvgEntryPrice ;

이 경우 var1 = ( 260*10계약 + 255*5계약) / 15계약 = 258.333

② BarsSinceEntry포지션에 진입한 이후 경과된 봉의 개수를 반환하는 함수이며 인자는 최근진입은 0, 직전진입은 1로 지정합니다.

If BarsSinceEntry(0) >= 5 then // 최근진입 후 5개봉이 경과했다면

If Close = Highest(H, BarsSinceEntry) Then // 포지션 진입 후 종가가 최고가라면

Page 142: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

☞ 피라미딩으로 설정해서 다수의 진입이 발생된 경우에는 첫 진입 이후 경과된 봉수를 의미합니다.

③ BarsSinceExit 포지션을 청산한 이후 경과된 봉의 개수를 반환하는 함수

- 입력인자

최근청산 : 0, 직전청산 : 1 …

- 예

BarSinceEntry(0) = 0

BarSinceEntry(0) = 1

BarSinceEntry(0) = 0

BarSinceEntry(1) = 0

BarSinceEntry(1) = 2

BarSinceEntry(1) = 0

BarSinceEntry(2) = 0

BarSinceExit(0) = 0

BarSinceExit(1) = 0

BarSinceExit(1) = 3

Page 143: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

④ EntryPrice각 봉에서 포지션의 진입가격을 리턴하며 무포지션일 경우에는 0값을 반환합니다.

- 입력인자

0 : 최근진입, 1:직전진입…

☞ 유의사항

EntryPrice는 주문타입(Onclose, AtMarket, AtStop, AtLimit 등)에 따라 진입시점에 따라 값이

계산되어 나올 수도 있고 미처 계산하지 못한 상태일 수 있습니다. 따라서 EntryPrice 값을 이용하여

주문조건을 체크하거나 특히 청산조건을 기술할 때 주의를 요합니다.☞ 주문타입별 EntryPrice 사용 예if BarIndex = 2 Then

Buy ( "b1", OnClose, def, 1); if BarIndex = 3 Then

ExitLong ("s1", AtMarket);

if BarIndex = 5 Then Buy ( "b2", AtMarket, def, 1);

if BarIndex = 6 Then ExitLong ("s2", AtMarket);

if BarIndex = 8 Then Buy ( "b3", AtStop, c, 1);

if BarIndex = 9 Then ExitLong ("s3", AtMarket);

if BarIndex = 11 Then Buy ( "b4", AtLimit, c, 1);

if BarIndex = 12 Then ExitLong ("s4", AtMarket);

MessageLog("EntryPrice = %.2f ", EntryPrice);

Page 144: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

2014-04-08 11:09:00 EntryPrice = 0.002014-04-08 11:09:00 EntryPrice = 0.002014-04-08 11:09:00 EntryPrice = 0.002014-04-08 11:09:00 EntryPrice = 0.002014-04-08 11:10:00 EntryPrice = 0.00 2014-04-08 11:10:00 EntryPrice = 0.002014-04-08 11:10:00 EntryPrice = 0.002014-04-08 11:10:00 EntryPrice = 0.002014-04-08 11:11:00 EntryPrice = 261.602014-04-08 11:11:00 EntryPrice = 261.602014-04-08 11:11:00 EntryPrice = 261.602014-04-08 11:11:00 EntryPrice = 261.602014-04-08 11:12:00 EntryPrice = 261.602014-04-08 11:12:00 EntryPrice = 02014-04-08 11:12:00 EntryPrice = 02014-04-08 11:12:00 EntryPrice = 02014-04-08 11:13:00 EntryPrice = 02014-04-08 11:13:00 EntryPrice = 02014-04-08 11:13:00 EntryPrice = 02014-04-08 11:13:00 EntryPrice = 02014-04-08 11:14:00 EntryPrice = 02014-04-08 11:14:00 EntryPrice = 261.552014-04-08 11:14:00 EntryPrice = 261.552014-04-08 11:14:00 EntryPrice = 261.602014-04-08 11:15:00 EntryPrice = 261.602014-04-08 11:15:00 EntryPrice = 261.552014-04-08 11:15:00 EntryPrice = 261.552014-04-08 11:15:00 EntryPrice = 261.55

11:11:00 봉의 시가 수신시 이 봉 종가에 OnClose 주문하므로 신호는 표시되지만 이 봉에서 EntryPrice는 0 이 됨에 유의

Page 145: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

⑤ IsEntryName인자로 전달한 진입명이 맞는지 여부를 반환하는 함수입니다.

- 반환되는 값 : True Or False- 함수 파라미터(입력인자)0 : 최근진입 // 인자 생략시 기본값입니다.1 : 직전진입 등

예)If IsEntryName(“S1”) = True Then //최근진입명이 “S1”이면 수행

ExitLong( “ExitLong”, AtMarket );

If IsEntryName(“S2”, 1) = True Then //직전진입명이 “S2”이면 수행

ExitLong( “ExitLong”, AtMarket );

⑥ IsExitName인자로 전달한 청산명이 맞는지 여부를 반환하는 함수입니다.

- 반환되는 값 : True Or False- 함수 파라미터(입력인자)0 : 최근청산 // 인자 생략시 기본값입니다.1 : 직전청산 등

예)If IsExitName(“LX1”) = True Then //최근청산명이 “LX1”이면 수행

Buy( “LE1”, AtMarket );

If IsExitName(“SX1”, 2) = True Then //직전청산명이 “SX1”이면 수행

Sell( “SE1”, AtMarket );

⑦ SignalPosition현재의 포지션이 매수인지 매도인지 등의 상태를 반환하는 함수입니다.

- 반환되는 값

1 : 매수포지션

-1 : 매도포지션

0 : 무포지션

- 함수 파라미터(입력인자)0 : 현재거래 // 생략가능합니다.

Page 146: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

1 : 직전거래

예)If SignalPosition(0) = 1 Then

ExitLong( “ExitLong”, AtMarket );

7) 출력함수

가) 개요

지정한 내용을 화면이나 파일로 출력할 때 사용하는 함수이며 화면의 경우에는 차트에 표시하거나

에디터의 검증창에 내용을 출력해서 스크립트 작업시 디버깅 역할을 할 수 있도록 합니다.

나) 출력함수에 대한 간략해설

색상처리된 함수는 많이 사용되는 중요한 출력함수이며 이에 대한 내용은 보다 상세하게 다음 페이지에서

설명됩니다.명칭 간략설명 사용예 1

Alert지정한 내용으로 알림창에

표시Alert("Message")

AlertEnabled메시지를 출력 가능 여부를

가져오는 함수if AlertEnabled = True then var1 = 1

CancelAlert차트 메시지 창에 메시지가

출력이 안되도록 하는 함수If CheckAlert Then CancelAlert

CheckAlert Alert 가능 상태를 리턴하는

함수If CheckAlert Then Begin

ClearDebug스크립터의 debug 창의

내용을 지우는

명령을 수행하는 함수

if CB = 1 Then ClearDebugdebug 창의 내용을 지움.

MessageLog 내용이나 값을 편집기의 MessageLog("시:%.2f 고:%.2f 저:%.2f 종:

☞ 함수 사용시 주의사항아래에 설명되는 함수는 각 거래소에서 제공되는 상품별 데이터에 종속적으로 작동합니다. 즉,

데이터가 정상적으로 제공되면 함수도 정상적인 결과를 도출하지만, 그렇지 않은 경우에는 비정상적인 결과를 리턴할 수 있습니다. 따라서 반드시 MessageLog를 통해 고객님께서 원하는 결과를 도출하고 있는지 확인한 후 이용해야 하며 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

Page 147: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

debug 창으로

출력하기 위한 함수

%.2f value1 = %.2f", O, H, L, C, value1)시, 고, 저, 종, value1 의 값을 에디터의

검증창으로 출력

NoPlotPlot 함수가 작동이 되지

않도록 하는 함수

NoPlot(1) Plot1() 함수가 작동이 안되도록 함.

Plot1~Plot99

계산된 데이터 값을 지표로

표현하는

출력함수이며 Plot1 ~ 99 까지 준비되어

사용가능 함.

Plot1( Volume, “Volume”, RED )Plot99( Volume, “Close”, Black )

PlotBaseLine1 ~PlotBaseLine99

계산된 데이터 값을 지표

기준선으로 표현하는

출력함수이며, PlotBaseLine 은 없고

Plot 으로 이름을 바꿔서

사용하되 앞에서 사용한 Plot번호와 중복되지 않도록 처리

Plot10( 0, “기준선”, RED )

PlotPaintBar강세약세에서 해당영역을

덧칠할 때 사용, 내부적으로

Plot 함수를 두번 호출함.PlotPaintBar( H, L, O, C, "Accent", Red )

PlotPBPlotPaintBar 와 동일한

기능을 하는 함수로 함수

이름만 상이

PlotPB( H, L, "Accent", Red )

Print 파일로 출력을 하는 함수

Print("c:\aaa.txt", "시:%.2f 고:%.2f 저:%.2f 종:%.2f value1 = %.2f", O, H, L, C, value1) 시, 고, 저, 종, value1 의 값을 에디터의

aaa.txt 파일로 출력.SetPlotBGColor 삭제 차트의 배경색을 지정 SetPlotBGColor(10, Black ) -> 이 줄 삭제

SetPlotColor Plot 함수의 색깔을 지정 SetPlotColor(1, Red)

다) 빈번하게 사용되는 출력함수

① MessageLog 전략이나 지표를 작성할 때 의도한 결과와 달리 나오는 경우에는 디버깅을 통해서 코드의 오류를 찾아야

합니다. 이러한 때 요긴하게 쓸 수 있는 함수가 MessageLog 함수입니다.

Page 148: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ 함수의 원형

MessageLog("Message 출력형식", 출력할 대상(변수명 등) )- Message 출력형식 : 알기쉽게 출력할 대상의 명칭이나 표현식을 기술하며, 수치값이면 %.f,

참거짓형이면 %d, 문자열이면 %s로 표현

- 출력할 대상 : 출력하고자 하는 변수명을 기술하며 출력형식과 일치되도록 해야 함.

☞ %.f는 수치를 출력할 때 사용하며 f 앞에 소수점 자리수를 지정할 수 있으며 0을 지정하면 소수점 없이

정수형태로 출력됩니다. %s는 문자열을, %d는 참거짓형 값을 출력할 때 사용합니다. 단, f, s, d는 항상

소문자로 써야 합니다. ▪ 함수의 사용 예

MessageLog(" Open : %.2f ", Open ); // 시가를 소수점 2 자리 까지 출력

MessageLog(" Open : %.2f Var1 = %.4f ", Open, Var1 ); //시가와 Var1 의 변수값을 소수점까지

출력

MessageLog(" Name : %s ", Name ); //문자열을 출력

MessageLog(" Condition1 : %d ", Condition1 ); //참거짓형 값을 출력

② Print수식의 계산된 결과값이나 차트의 데이터를 지정한 파일로 출력해서 볼 수 있도록 하는 함수입니다. 보통

텍스트문서로 쓰기를 하며 엑셀이나 워드프로세서 등에서 읽어볼 수 있습니다. 특히 엑셀에서 불러와서

보려면 확장자를 .csv 형태로 주고 출력형식도 콤마를 중간에 삽입하면 좋습니다.

▪ 함수의 원형

Print("경로를 포함한 파일명", "Message 출력형식", 출력할 대상(변수명 등) )- 경로를 포함함 파일명 : “사용자 컴퓨터에 저장할 위치(폴더) + 임의의 파일명”을 기술합니다.

Page 149: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- Message 출력형식 : 출력할 대상의 명칭이나 표현식을 기술하며, 수치값이면 %.f, 참거짓형이면

%d, 문자열이면 %s로 표현합니다.- 출력할 대상 : 출력하고자 하는 변수명을 기술하며 출력형식과 일치되도록 해야 함.

☞ %.f는 수치를 출력할 때 사용하며 f 앞에 소수점 자리수를 지정할 수 있으며 0을 지정하면 소수점 없이

정수형태로 출력됩니다. %s는 문자열을, %d는 참거짓형 값을 출력할 때 사용합니다. 단, f, s, d는 항상

소문자로 써야 합니다. ▪ 함수의 사용 예

Print(“C:\MyData\Data1.txt”, " Open : %.2f ", Open ) // 시가를 소수점 2 자리 까지 출력

Print(“C:\MyData\Data1.txt”, "Open : %.2f Var1 = %.4f ", Open, Var1 ) //시가와 Var1 의

변수값을 소수점 까지 출력

Print(“C:\MyData\Data1.txt”, "Name : %s ", Name ) //문자열을 출력

Print(“C:\MyData\Data1.txt”, "Condition1 : %d ", Condition1 ) //참거짓형 값을 출력

Print(“C:\MyData\Data1.csv”, "Open %.2f Var1 %.4f ", Open, Var1 ) //시가와 Var1 의 변수값을 지정한 소수점 까지 파일로 기록합니다. 다만, 사용자가 지정한 폴더는 반드시

존재해야 하며 문자열 안에 콤마를 삽입할 수는 없습니다.

③ Plot1 ~ Plot99계산된 데이터 값을 차트에 출력하는 함수이며 Plot1 ~ 99 까지 준비되어 사용가능 합니다.

시스템전략이나 함수의 스크립트를 작성할 때는 사용할 수 없으며, 지표, 패턴, 강세약세 스크립트를 작성시

이용합니다. 지표에서는 기본 그래프의 종류가 차트에서 선으로 표현되며 패턴의 경우에는 점으로

나타납니다. 강세약세 스크립트를 작성할 때는 특별히 PlotPaintBar를 사용하여 차트에 덧칠해서 강조를

합니다. 일반적으로 주문할 종목이 포함된 메인종목의 시세차트와 함께 참조지표로서 Plot1부터 필요에 따라

Plot99까지 참조지표를 그래프로 추가해서 매매에 활용할 수 있습니다. 메인종목을 Data1, 참조종목을

Data2~99로 부릅니다. 이에 대한 내용은 별도의 장에서 설명합니다.

▪ 함수의 원형

Plot1(출력할 대상(변수명 등), "임의의 명칭", 그래프 색상, Def, 그래프 두께) - 출력할 대상 : 출력하고자 하는 변수명을 기술하며 반드시 수치형 변수에 한함.- 임의의 명칭 : 그래프에서 구분할 수 있도록 사용자가 지정한 임의의 그래프 명칭

- 그래프 색상 : Black, Blue, White, Yellow, Red 등 그래프의 색상예약어를 사용

- Def : 미래 사용을 위한 예약, 두께를 인자로 전달하려면 반드시 Def를 써 주어야 함. - 두께 : 0 ~ 4중에서 선택할 수 있으며 숫자가 커질수록 그래프의 선이 두꺼워짐.

▪ 함수의 사용 예

Page 150: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Plot1 ( C, “Close”, Black ) // 종가를 그래프로 그림.Plot2 ( Xaverage(C, 12 ), “지수이평 12”, Red, Def, 2 ) // 지수이평 12 값을 그래프로 그림.

<색상예약어>색상명 색상 RGB 색상명 색상 RGB

Black 0,0, 0 Green 0,255,0Blue 0, 0,255 Lblue 192,217,217Bwhite 255,255,2

55Lcyan 224,255,255

Cyan 0,255,255 Lgreen 144,238,144DarkBlue 0, 0,139 LightGray 168,168,168DarkBrown 92,64,51 Lmagenta 168,0,168DarkCyan 0,139,139 Lyellow 255,255,224DarkGray 169,169,1

69Magenta 255,0,255

DarkGreen 47,79,47 Pink 188,143,143DarkMagenta

139,0,139 Red 255,0,0

DarkRed 139,0,0 White 255,255,255Gray 192,192,1

92Yellow 255,255,0

④ PlotBaseLine1 ~ PlotBaseLine99 PlotBaseLine 함수는 계산된 데이터 값을 지표 기준선으로 표현하는 출력함수입니다. 그런데 Signal

Language에서는 PlotBaseLine 함수를 제공하지는 않고 모두 Plot 함수로 처리합니다. 이때 앞에서

사용한 Plot번호와 중복되지 않도록 처리해야 합니다.

▪ 함수의 사용 예

Plot10( 0, “기준선”, RED ) // 0 을 빨간색의 기준선으로 그림.

⑤ PlotPaintBar, PlotPB강세약세를 차트에 표현할 때 해당하는 봉의 영역을 진하게 덧칠해서 강조할 때 사용합니다. PlotPaintBar

의 단축어로 PlotPB도 같은 기능을 합니다. PlotPaintBar의 함수내부에서 Plot함수를 두번 혹은 네번

호출하여 구현한 것입니다. 전략, 지표, 패턴, 함수에서는 사용할 수 없으며 오로지 강세약세에서만 사용할

수 있습니다.

Page 151: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▪ 함수의 원형

PlotPaintBar(상단, 하단, 좌측, 우측, "임의의 명칭", 그래프 색상)PlotPaintBar(상단, 하단, "임의의 명칭", 그래프 색상)

- 상단, 하단, 좌측, 우측 : 봉에 덧칠할 범위를 지정하는 것이며, 상단, 하단만 지정도 가능합니다.- 임의의 명칭 : 그래프에서 구분할 수 있도록 사용자가 지정한 임의의 그래프 명칭

- 그래프 색상 : Black, Blue, White, Yellow, Red 등 그래프의 색상예약어 사용

▪ 함수의 사용 예

PlotPaintBar( H, L, O, C, “4Accent”, Blue ) // 봉의 시, 고, 저, 종을 지정한 색상으로 다시 그림.PlotPaintBar( H, L, "2Accent", Red ) // 봉의 고가, 저가를 그려줌.

⑥ ClearDebug에디터에서 검증창(디버깅창)의 출력내용을 깨끗하게 지워주는 기능을 합니다.

▪ 함수의 원형

ClearDebug ; // 아무런 인자없이 함수명만 기술

8) 기본제공 함수

가) 개요

각종 기술적분석 지표를 이용하여 전략을 작성하고 신호를 발생시키는데 이것을 모든 사용자들이 각자

개발을 하려면 많은 시간이 소요될 것입니다. 따라서 자주 사용되고 유용한 것들은 시스템에서 “기본제공

함수”라는 명목으로 제공됩니다. 기본제공함수는 시스템의 내부함수와 달리 소스가 오픈되며 이것을

변형하여 사용자 나름의 기술적 지표로 개발할 수 있습니다. 즉, 그것을 통해 자신의 전략을 만들어낼 수 있게

됩니다.

나) 기본제공함수 목록과 간략설명

☞ 함수 사용시 주의사항아래에 설명되는 함수는 각 거래소에서 제공되는 상품별 데이터에 종속적으로 작동합니다. 즉,

데이터가 정상적으로 제공되면 함수도 정상적인 결과를 도출하지만, 그렇지 않은 경우에는 비정상적인 결과를 리턴할 수 있습니다. 따라서 반드시 MessageLog를 통해 고객님께서 원하는 결과를 도출하고 있는지 확인한 후 이용해야 하며 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

Page 152: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

기본제공 함수명 간략설명 사용예

AbsBreadth

가격과 관계없이 변동성과 시장의

활동강도를 측정하기 위해

상승이슈와 하락이슈의 절대차를

구함.

AbsBreadth( C of Data1, C of Data2 )

AccDist

AccDist(Accumulation & Distribution)은 주가와 거래량의

변화를 나타내는 운동량지표로서

상승하면 주가상승에, 하락하면

주가하락과 밀접한 관련성을

갖는다고 판단함.

AccDist( )

Accum지정한 데이터를 첫 봉부터 누적해서

합산을 해서 반환하는 함수Accum( C )

AccumDist주가와 거래량의 변화를 나타내는

운동량지표로서, 당일 상승마감시

누적거래량에 +, 하락시 - 처리

AccumDist( Volume )

AccumN지정한 데이터를 지정한 기간동안

누적합산 하여 결과를 반환하는 함수AccumN( C – L, 10 )

AccumSwingIndex 매일 매일의 누적스윙인덱스를 계산 AccumSwingIndex

AdvanDecDiff데이터 세트에서 증가, 감소의

누적차이를 계산하여 반환

AdvanDecDiff( C of Data1, C of Data2 )

AdvanDecRatio데이터 세트에서 증가, 감소 사이의

비율을 계산하여 반환

AdvanDecRatio( C of Data1, C of Data2 )

ADXCB 를 고려하여 계산한 DMI 의

평균을 반환ADX( 14 )

ADXAppliedDMI(Directional Movement Indicator)의 평균을 반환

ADXApplied( 14 )

ADXAppliedUser참조종목에 대한 ADX 를 계산해서

활용하며 고가, 저가, 종가를

입력받아 유연성을 제공

ADXAppliedUser ( H, L, C, 14 )

ADXR

현재 봉을 기준으로 계산한

AdxClassic 와 n-1 봉 전의

AdxClassic 값을 합계하여

단순평균하여 추세판단

ADXR( 14 )

ADXRApplied 현재 봉을 기준으로 계산한 Adx 와 ADXApplied( 14 )

Page 153: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

n-1 봉 전의 Adx 값을 합계하여

단순평균하여 추세판단

ADXRAppliedUser참조종목에 대한 ADXR 를 계산해서

활용하며 고가, 저가, 종가를

입력받아 유연성을 제공

ADXRAppliedUser( H, L, C, 14 )

ADXRUserCB 를 고려한 ADXCustomClassic과 ADXCustom 평균을 반환

ADXRUser( H, L, C, 14 )

ADXUserCB 를 고려한 DMICustom 평균을

반환ADXUser( H, L, C, 14 )

AMA가변속도 지수이동평균에 따라

적응이동평균을 계산AMA( C, 10, 3, 20 )

AmericanCallOpt미국식 콜옵션의 대략적인 이론가를

계산해서 반환해주는 함수

AmericanCallOpt ( 265, 267.5, 0.5, 0.029, 0.04, 0.18 )

AmericanPutOpt미국식 콜옵션의 이론가를 반환하는

함수가 사용하는 함수

AmericanPutOpt ( 265, 1, 0.2, 267.5, 10, 0.029, 0.04, 0.18 )

AnnualDividend 자산가격에 대한 배당조정을 계산AnnualDividend( 1.05, 44, 2.9 )

ArmsIndex상승시 거래량과 하락시 거래량

사이의 비율을 계산하여 반환

ArmsIndex( C of Data1, C of Data2, V of Data1, V of Data2 )

AskBid_RowHiCalc지표에서 사용된 행의 높이를

계산해서 반환, AB_RowHeightCalc와 동일

AskBid_RowHiCalc (10, 3)

ATR현재의 시장가격이 전봉 기준으로

어느방향으로 얼마나 변동했는지를

수치로써 표현한 함수

ATR(14 )

Average 주어진 기간동안의 주가평균을 반환 Average( C, 10 )

Average_a주어진 배열의 데이터 값에 대한

평균을 반환Average_a( Array, 10 )

AverageArr주어진 배열의 데이터 값을 합계한

후 이에 대한 평균을 반환AverageArr( Array, 10 )

AvgDeviation주어진 가격과 기간의 절대값 평균을

반환AvgDeviation( C, 9 )

Page 154: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AvgDeviation_a주어진 배열의 데이터 값에 대한

절대값 평균을 반환AvgDeviation_a( Array, 10 )

AvgDeviationArr주어진 배열의 데이터 값에 대한

절대값 평균을 반환AvgDeviationArr( Array, 10 )

AvgDownMov지정한 기간의 종가변동의

평균비율을 반환(직전대비 하락시)AvgDownMov( 10 )

AvgFast빠른 방식으로 합계한 가격을

평균하여 반환AvgFast( C, 10 )

AvgPrice시가, 고가, 저가, 종가를 이용해서

평균값을 계산V1 = AvgPrice

AvgPriceUser지정한 봉의 고가, 저가, 종가의

평균가격을 반환V1 = AvgPriceUser

AvgPriceVolR시차를 고려한 일정시간의 주기마다

가격과 거래량의 합계를 거래량

합계로 나눈 비율을 반환

AvgPriceVolR( C, 3, 1000, 1100, 1200, 1300, 1400 )

AvgTrueRange직전종가와 현재봉의 저가, 고가를

통해 계산한 가격 변동폭 평균을

반환

AvgTrueRange( 10 )

AvgUpMov지정한 기간의 종가변동의

평균비율을 반환(직전대비 상승시)AverageUpMov( 10 )

BarAnnual차트에 따라 연간계수를 반환 : 일간

(19.1049) , 주간(7.2111), 월간

(3.4641) BarAnnual

BarQual봉의 특징을 분석해서 비율을 계산

(직전대비 고가, 저가를 비교, 종가와의 비교 등)

BarQual( 10 )

BBandDown볼린저밴드의 추세중심선에서

지정한 표준편차 만큼 변동하되

하한값을 의미

BBandDown( C, 20, 2 )

BBandUp볼린저밴드의 추세중심선에서

지정한 표준편차 만큼 변동하되

상한값을 의미

BBandUp( H, 20, 2 )

BiWave지수이평, 단순이평, ROC, 스트캐스틱, MACD 를 이용한

Binary Wave

BiWave(5, 20, 120, 12, 9, 5, 3, 12, 26, 9)

Page 155: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

BizDays 주어진 기간의 영업일수를 반환 BizDays( 41200, 5, 2 )

BollBandDownUser

사용자가 입력한 값을 이용한

볼린저밴드의 추세중심선에서

지정한 표준편차 만큼 변동하되

하한값을 의미

BollBandDownUser( C, 20, 2 )

BollBandUpUser

사용자가 입력한 값을 이용한

볼린저밴드의 추세중심선에서

지정한 표준편차 만큼 변동하되

상한값을 의미

BollBandUpUser( H, 20, 2 )

BollingerBand가격을 기준으로 주가변동성을

이동평균하여 추세중심선, 상한선, 하한선의 밴드를 반환

BollingerBand( C, 20, 2 )

BullDivergence피봇저가가 더 낮아질때를 식별하는

함수

BullDivergence( L, RSI( C, 14 ), 2, 20 )

BullEngulfing캔들패턴이 상승장악형일 때 True 값을 반환

BullEngulfing( 10 )

CalcDate인자로 주어진 참조 날짜로 부터

더하거나 뺀 날짜를 반환CalcDate( YYYYMMDD, -10 )

CalcTime인자로 주어진 분을 참조 시간으로

부터 더하거나 뺀 후 시간을 반환CalcTime( 1500, -15 )

CalcTime_s인자로 주어진 초를 참조 시간으로

부터 더하거나 뺀 후 시간을 반환CalcTime_s( 1500, -45 )

Candle_3WhiteSolds_3BlackCrows 3 개의 연속 캔들패턴을 분석

Candle_3WhiteSolds_3BlackCrows ( 14, 5 )

Candle_BlackLineN 봉전 캔들이 종가<시가 조건을

만족하면 True 리턴Candle_BlackLine(1)

Candle_BlackLine_LowN 봉전 캔들이 종가<시가 조건과

고가>시가 조건과 종가=저가

조건을 만족하면 True 리턴Candle_BlackLine_Low(1)

Candle_BlackLine_OpenN 봉전 캔들이 종가<시가 조건과

고가>시가 조건과 종가>저가

조건을 만족하면 True 리턴Candle_BlackLine_Open(1)

Candle_BodyN 봉전 캔들의 몸통 길이로써 시가와

종가 사이의 거리Candle_Body(1)

Page 156: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Candle_BullBearEngul상승장악형 혹은 하락장악형

캔들패턴Candle_BullBearEngul ( 14 )

Candle_BullBearHar상승익태형 혹은 하락잉태형의

캔들패턴Candle_BullBearHar ( 14 )

Candle_DarkCloud_PierceLine캔들패턴에서 관통형과 먹구름형을

판단해서 반환

Candle_DarkCloud_PierceLine ( 14 )

Candle_Doji십자형의 캔들패턴 인지의 여부를

반환Candle_Doji ( 5 )

Candle_Doji_HighN 봉전 캔들의 종가=시가 조건과

고가=종가 조건과 시가>저가

조건을 만족하면 True 리턴Candle_Doji_High(1)

Candle_Doji_LowN 봉전 캔들의 종가=시가 조건과

고가=종가 조건과 시가=저가

조건을 만족하면 True 리턴Candle_Doji_Low(1)

Candle_Doji_OpenN 봉전 캔들의 종가=시가 조건과

고가>종가 조건과 시가>저가

조건을 만족하면 True 리턴Candle_Doji_Open(1)

Candle_DojiBBN 봉전 캔들의 종가=시가 조건과

고가=종가 조건과 시가=저가

조건을 만족하면 True 리턴Candle_DojiBB(1)

Candle_DownShadowN 봉전 캔들의 LowBody 에서

저가를 뺀 값을 리턴Candle_DownShadow(1)

Candle_HangingMan_Hammer

캔들패턴에서 해머형과 교수형을

판단해서 반환

Candle_HangingMan_Hammer( 14, 2 )

Candle_HighBodyN 봉전 캔들의 시가와 고가 중 큰

값을 리턴Candle_HighBody

Candle_LongCandleN 봉전 캔들의 몸통 길이가 10 개

캔들의 평균의 2 배보다 크면 True 리턴

Candle_LongCandle(1)

Candle_LowBodyN 봉전 캔들의 시가와 종가 중 작은

값을 리턴Candle_LowBody(1)

Candle_Marubozu캔들의 위 또는 아래에 고리가

없으면 True 를 리턴Candle_Marubozu(1)

Candle_MornEveDoji캔들패턴에서 샛별도지와

석별도지를 판단해서 반환

Candle_MornEveDoji ( 14, 5 )

Page 157: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Candle_MornEveStar캔들패턴에서 샛별형과 석별형을

판단해서 반환Candle_MornEveStar ( 14 )

Candle_ShootingStar캔들패턴에서 유성형인지를

판단해서 반환

 Candle_ShootingStar ( 14, 2 )

Candle_ShortCandleN 봉전 캔들의 몸통 길이가 10 개

캔들의 평균보다 작으면 True 리턴Candle_ShortCandle(1)

Candle_UpShadowN 봉전의 캔들의 고가에서

HighBody 를 뺀 값을 리턴Candle_UpShadow(1)

Candle_WhiteLineN 봉전 캔들이 종가>시가 조건을

만족하면 True 리턴Candle_WhiteLine(1)

Candle_WhiteLine_HighN 봉전 캔들이 종가>시가 조건과

고가=시가 조건과 시가>저가

조건을 만족하면 True 리턴Candle_WhiteLine_High(1)

Candle_WhiteLine_LowN 봉전 캔들이 종가>시가 조건과

고가>시가 조건과 시가=저가

조건을 만족하면 True 리턴Candle_WhiteLine_Low(1)

Candle_WhiteLine_OpenN 봉전 캔들이 종가>시가 조건과

고가>종가 조건과 시가>저가

조건을 만족하면 True 리턴Candle_WhiteLine_Open(1)

CCI

주가의 이동평균과 주가 사이의

편차를 나타내는 지표, CCI 값이

높으면 평균주가에 비해 높은수준을

의미

CCI( 20 )

CCI2

사용자가 입력한 값을 이용한 주가의

이동평균과 주가 사이의 편차를

나타내는 지표, CCI 값이 높으면

평균주가에 비해 높은수준을 의미

CCI2(Close, 20 )

CCIOrig주어진 기간의 주가편차를 계산한

고전적 CCI 지표CCIOrig( 10 )

ChaikinOsc

Accumulated Distribution 지표에서 Fast 와 Slow 지수이동평균을 통해 오실레이터를

계산하는 함수

ChaikinOsc( V, 3, 10 )

CloseD분간, 일간차트에서 인자로 주어진 N봉의 일간종가를 가져오는 함수

CloseD( 1 )

Page 158: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CloseM분간, 일간, 주간, 월간차트에서

인자로 주어진 N 봉의 월간종가를

가져오는 함수

CloseM( 1 )

CloseW분간, 일간, 주간차트에서 인자로

주어진 N 봉의 주간종가를 가져오는

함수

CloseW( 1 )

CloseY분간, 일간, 주간, 월간차트에서

인자로 주어진 N 봉의 연간종가를

가져오는 함수

CloseY( 1 )

CMO주어진 기간내에서 상승/하락폭의

차를 오실레이터로 나타내며 그

비율로 매매의사결정하는 함수

CMO( 9 )

COCO(Chaikin’s Oscillator)는 매집/분산(Accumulation/Distribution)을 기초로 한 이동평균 오실레이터

CO( Volume, 3, 10 )

CoefficientR피어슨의 모멘트 상관계수 R 을

계산하여 반환CoefficientR( 5, C, 10 )

CoefficientRArr두 개의 명명 된 배열에 대한

피어슨의 모멘트 상관계수 R 을

계산하여 반환

CoefficientRArr( Price1Array, Price2Array, 10 )

CoefficientRSimple하나의 종속변수와 기간을 사용하여

피어슨의 모멘트 상관계수 R 을

계산하여 반환

CoefficientRSimple( C, 10 )

CoeffR종가에 대해 주어진 기간에 따라

상관계수 R 를 구하여 반환CoeffR( 20 )

CoeffR_a독립, 종속배열과 크기를 입력받아

상관계수 R 를 구하여 반환

CoeffR_a( IndArray, DepArray, 10 )

Combination주어진 숫자 세트에서 유일한

조합그룹의 수를 반환Combination( 10, 3 )

ConvertDate입력받은 날짜를 YYYYMMDD형식으로 반환

ConvertDate( 10, 28, 2013 )

ConvertDate_Con입력받은 날짜를 YYYYMMDD형식으로 반환

ConvertDate_Con( 20151028 );

CopyCol하나의 컬럼에서 행의 범위내의 다른

배열에 데이터 세트를 복사CopyCol( Array, 2, 1, 4, 6 )

Page 159: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Correlation인자로 주어진 독립변수와 종속변수

사이의 상관계수를 계산해서 반환

Correlation ( C of Data1, C of Data2, 20 )

Correlation_a인자로 주어진 독립배열과 종속배열

사이의 상관계수를 계산해서 반환

Correlation_a( IndArray, DepArray, 20 )

CorrelationArr인자로 주어진 독립배열과 종속배열

사이의 상관계수를 계산해서 반환

CorrelationArr( IndArray, DepArray, 10 )

COsc

기본 거래량을 이용한 CO(Chaikin’s Oscillator)는 매집/분산

(Accumulation/Distribution)을

기초로 한 이동평균 오실레이터

COsc( 3, 10 )

CounterTrend 봉의 특징분석, 평균적인 상승하락

변동폭을 통해 시장의 상대적 추세를

파악

CounterTrend( 10, 20, 30 )

CountIf인자로 전달된 기간동안 주어진

조건을 만족하는 회수를 구하여

매매에 활용

CountIf( C > C[1], 24 )

Covar두 개의 데이터 시리즈간의 공분산을

계산

Covar( C of Data1, C of Data2, 10 )

CovarArr두 개의 배열 데이터 간의 공분산을

계산

CovarArr( IndArray, DepArray, 10 )

Covariance두 개의 데이터 시리즈간의 공분산을

계산

Covariance( C of Data1, C of Data2, 10 )

Covariance_a두 개의 배열 데이터 간의 공분산을

계산

Covariance_a( IndArray, DepArray, 10 )

CrossDown두 개의 변수 A, B 가 있을 때 A 가 B를 하향돌파하면 True 를 반환

CrossDown( A, B )

Crosses_Above두 개의 변수 A, B 가 있을 때 A 가 B를 상향돌파하면 True 를 반환

Crosses_Above( A, B )

Crosses_Below두 개의 변수 A, B 가 있을 때 A 가 B를 하향돌파하면 True 를 반환

Crosses_Below( A, B )

CrossUp두 개의 변수 A, B 가 있을 때 A 가 B를 상향돌파하면 True 를 반환

CrossUp( A, B )

CSarSAR(Stop and Reversal)이라고도

하며 시간의 경과와 추세의

가속도와의 관계를 매매에 활용

CSar ( 0.02, 0.2 )

Page 160: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CSI웰스 와일더에 의해 개발된 CSI( the Commodity Selection Index)를

계산

CSI ( 6550, 0.8, 20 )

CSIOrigCSI( the Commodity Selection Index)를 계산시 ADXR, TrueRange 를 이용하여 계산

CSIOrig( 1500, 0.15, 30 )

Cum인자로 전달된 가격을 모두 더해서

반환Cum( c )

CurrAsk 현재 실시간 매도호가를 반환 CurrAskCurrBid 현재 실시간 매수호가를 반환 CurrBid

CVChaikin’s Volatility 는

주가변동폭을 이용하여 주가의

변동성을 측정하는 지표

CV( 10 )

DarkCloud 캔들패턴중에 먹구름형을 반환 DarkCloud( 10 )DayClose N 일전 일간의 종가를 반환 DayClose(N)DayHigh N 일전 일간의 고가를 반환 DayHigh(N)

DayIndex일중 봉번호로써 0 부터 시작하는

번호를 가진다.

if DayIndex = 0 then value1 = 1; // 첫번째 봉이면 value1 에 1 값을 넣는다.

DayLow N 일전 일간의 저가를 반환 DayLow(N)

DayOfWeekUser입력받은 날짜를 쥴리안데이로 변환

후 해당하는 요일을 숫자로 반환

DayOfWeekUser( YYYYMMDD )

DayOi 당일의 미결재 약정값

if DayOi > 1000 then buy; // 미결재 약정이 1000 계약

이상이면 매수 주문을 넣는다.DayOpen N 일전 일간의 시가를 반환 DayOpen(N)

DayVol 당일의 거래량

if DayVol(1) < DayVol then buy; // 당일 거래량이 전일

거래량을 넘어서면 매수

Delta 옵션의 민감도 지표중 델타값을 반환Delta( 30, 267.5, 266.25, 2.90, 17.45, Call )

Detrend현재가격과 오프셋을 통해 계산된

직전 일정시점 가격과의 비교를 통해

변동을 파악

Detrend( C, 10 )

DevSqrd 인자로 주어진 가격의 평균에서 DevSqrd( C, 10 )

Page 161: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

가격편차의 제곱합을 계산하여 반환

DevSqrd_a평균에서 배열에 있는 값의 편차의

제곱합을 계산하여 반환DevSqrd_a( Array, 10 )

DevSqrdArr평균에서 배열에 있는 값의 편차의

제곱합을 계산하여 반환DevSqrdArr( Array, 10 )

DiMinusDMI 지표에서 DiMinus(-DI)는

실질적으로 하락하는 비율을 의미함.DiMinus( 14 )

DiplusDMI 지표에서 DiPlus(+DI)는

실질적으로 상승하는 비율을 의미함.DiPlus( 14 )

DisparityDisparity(이격도)는 주가가

이동평균 값으로부터 얼마만큼

떨어져 있는가를 나타내는 지표임.Disparity( 20 )

Disparity_Sma

단순이동평균을 이용한

Disparity(이격도)는 주가가

이동평균 값으로부터 얼마만큼

떨어져 있는가를 나타내는 지표임.

Disparity_Sma(Close, 20 )

Divergence강세, 약세디버젼스에 대한 두 개의

피봇(고가 or 저가)의 디버젼스

경우를 식별하는 함수

Divergence( H, C, 2, 20, 1 )

DividendBetweenDates인자로 입력받은 두 개의 날짜

사이에 지불될 배당금의 현재가치를

계산하여 반환

DividendBetweenDates(20151030, 20151211, 12, 15, 1.25, 0.25, False)

DMI현재의 시장이 추세적 시장인지

비추세적 시장인지와 더불어 그

추세의 강도까지 알려주는 지표

DMI( 14 )

DMIMinus현재의 시장이 추세적 시장인지

비추세적 시장인지 파악하며

DMIMinus 값이 크면 하락추세가 강

DMIMinus( 14 )

DMIMinusUser고가, 저가, 종가 등의 가격을 인자로

받아 DMIMinus 를 계산

DMIMinusUser( H of Data2, L of Data2, C of Data2, 14 )

DMIPlus현재의 시장이 추세적 시장인지

비추세적 시장인지 파악하며

DMIPlus 값이 크면 상승추세가 강

DMIPlus( 14 )

DMIPlusUser고가, 저가, 종가 등의 가격을 인자로

받아 DMIPlus 를 계산

DMIPlusUser ( H of Data2, L of Data2, C of Data2, 14 )

Page 162: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DMIUser고가, 저가, 종가 등의 가격을 인자로

받아 DMI 를 계산

DMIUser(H of Data2, L of Data2, C of Data2, 14 )

Doji시가와 종가의 폭이 지정한 범위내로

좁은지를 알아보기 위한 목적Doji( 5 )

DX

Welles Wilder 에 의해 개발된 DMI, ADX, ADXR 등의 지표를 계산하기

위한 통합함수, DirMovement 와

동일함수

DX (H, L, C, 14, DI+, DI-, DMI, ADX, ADXR, Vol )

EaseOfMovementMarket Facilitation Index (MFI)를

사용하여 거래량과 가격사이의

변화관계를 계산

EaseOfMovement

Ema주어진 기간과 가격에 대한 지수이동

평균을 반환Ema( C, 10 )

EntriesToday지정한 날짜에 발생한 전략포지션의

진입회수를 반환EntriesToday( Date )

EnvelopeDown주가의 이동평균선과 이를 중심으로

±n%선을 동시에 그린 것을

이동평균선의 하한선을 의미

EnvelopeDown( 20, 2)

EnvelopeUp주가의 이동평균선과 이를 중심으로

±n%선을 동시에 그린 것을

이동평균선의 상한선을 의미

EnvelopeUp( 20, 2)

EOM거래량과 주가의 상관관계를

나타내는 지표EOM( )

EuropeanCallOpt블랙숄즈 옵션가격결정 모델에 의해

옵션의 이론가격을 계산

EuropeanCallOpt ( 100, 260, C, 265, 2.89, Call )

EuropeanPutOpt블랙숄즈 옵션가격결정 모델에 의해

옵션의 이론가격을 계산

EuropeanPutOpt ( 100, 260, C, 265, 2.89, 17.5, Call )

EveningStar캔들패턴에서 석별형일 경우 True값을 반환, 아니면 False 를 반환

EveningStar( 10 )

ExitsToday지정한 날짜에 발생한 전략포지션의

진출회수를 반환ExitsToday( Date )

Factorial 주어진 인자의 팩토리얼 값을 반환 Factorial( 5 )FastD FastK 를 지수이동평균한 값을 반환 FastD( 14 )

FastD2사용자가 지정한 주기를 이용한

FastK 를 지수이동평균한 값을 반환FastD2(7, 14 )

Page 163: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FastDOrig FastK 를 단순이동평균한 값을 반환 FastDOrig ( 14 )

FastDUserFast D 를 계산시 가격을 인자로

전달하여 계산 후 반환FastDUser( H, L, C, 14 )

FastDUserOrig지정한 가격에 기반한 FastD 값을

평활화계수를 사용하여 계산

FastDUserOrig( H, L, C, 14, 3 )

FastK주어진 기간의 최고가와 최저가 간격

대비 주어진 기간 최저가와 종가의

비율을 계산하여 반환

FastK( 14 )

FastK2주어진 기간의 최고가와 최저가 간격

대비 주어진 기간 최저가와 종가의

비율을 계산하여 반환

FastK2( 14 )

FastKUserFast K 를 계산시 세 개의 가격을

인자로 받아 이를 이용하여 계산 후

반환

FastKUser( H, L, C, 14 )

FastKUserOrig지정한 가격을 이용하여 Fast K 값을

계산FastKUserOrig( H, L, C, 14 )

FastKUserSimpleFast K 를 계산시 한 개의 가격을

인자로 받아 이를 이용하여 계산 후

반환

FastKUserSimple ( C, 14 )

Fisher주어진 수치를 피셔변환한 값으로

계산하여 반환Fisher( 0.75 )

FisherInv주어진 수치를 피셔변환의 역의

값으로 계산하여 반환FisherInv( 0.75 )

Gamma옵션민감도 지표중에 감마값을

계산하여 반환하는 함수

Gamma( 30, 267.5, 266.25, 2.90, 17.45, Call )

GCD_User입력받은 두개의 숫자의

최대공약수를 반환하는 함수GCD_User( 30, 40 )

GetRGBValues 주어진 색상에서 R, G, B 값을 반환GetRGBValues(3722240, Red, Green, Blue )

Hammer 망치형 캔들패턴을 반환 Hammer( 14, 2 )HangingMan 교수형 캔들패턴을 반환 HangingMan( 14, 2 )HarmonicMean 주어진 가격에 대한 조화평균을 반환 HarmonicMean( C, 10 )

HarmonicMean_a 주어진 배열에 대한 조화평균을 반환HarmonicMean_a( Array, 10 )

HarmonicMeanArr 주어진 배열에 대한 조화평균을 반환 HarmonicMeanArr( Array, 10

Page 164: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

)

HeapSort2DArr2 차원배열의 값을 연결된 힙 정렬

기법을 사용하여 소팅 후 결과를

반환

SortHeap2DArr( Array, 20, 5, 1 )

HeapSortArr1 차원배열의 값을 힙 정렬 기법을

사용하여 소팅 후 결과를 반환SortHeapArr( Array, 20, 1 )

HighD N 일봉의 고가를 반환 HighD( 5 )

HighDUser사용자가 지정한 참조종목의 N 일봉

고가를 반환HighDUser( 14, 2 )

Highest지정한 기간중에서 최고가격을

반환하는 함수Highest( C + O, 10 )

Highest_a지정한 가격배열과 기간중에서

최고가격을 반환하는 함수Highest_a( Array, 10 )

HighestArr지정한 가격배열과 기간중에서

최고가격을 반환하는 함수HighestArr( Array, 10 )

HighestBar 최고가가 발생한 봉 번호를 반환 HighestBar( H, 14 )

HighestBarFast입력기간중 최고가를 반환하기 위해

빠른 계산방법을 사용HighestBarFast ( H, 20 )

HighestFast지정한 기간중에서 최고가격을

반환하기 위해 빠른 계산방식을

사용하는 함수

HighestFast( C + O, 10 )

HighestLowest주어진 기간동안의 극단적인 최고가, 최저가를 반환, Extremes 함수와

동일

HighestLowest ( H, 20, 1, ExtremeVal, ExtremeBar )

HighestLowestArr

지정한 배열의 범위에서 주어진

기간동안의 극단적인 최고가, 최저가를 반환, ExtremesArray함수와 동일

HighestLowestArr ( Array, 20, 1, ExtremeVal, ExtremePosRaw )

HighestLowestFast

주어진 기간동안의 극단적인 최고가, 최저가를 반환하기 위해 빠르게

계산하는 방식을 사용, ExtremesFC 함수와 동일

HighestLowestFast ( H, 20, 1, ExtremeVal, ExtremeBar )

HighestLowestPrice 주어진 기간동안의 가장 큰가격을

가장 작은 가격으로 나눈 극단적인

가격비율을 반환

HighestLowestPrice ( 10, True )

Page 165: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

ExtremePrice 함수와 동일

HighestLowestPriceR

주어진 기간동안의 가장 큰가격을

가장 작은 가격으로 나눈 극단적인

가격비율을 반환

ExtremePriceRatio 와 동일

HighestLowestPriceR ( 20, False )

HighM N월봉의 고가를 반환 HighM( 5 )HighW N 주봉의 고가를 반환 HighW( 5 )HighY N 연봉의 고가를 반환 HighY( 5 )

HPI선물과 옵션을 분석하기 위해

사용되어지는 Herrick Payoff Index 를 반환

HPI ( 0.2, 0.13 )

IFF주어진 조건에 따라 참 값과 거짓

값을 달리 반환IFF( C<O, 1, -1 )

IFFLogic주어진 조건에 따라 참일때의

조건결과와 거짓일때의 조건결과를

달리해서 반환

IFFLogic( C<O, C<C[1], O>O[1] )

IfHigh종가가 비교대상 가격보다 크면

종가를 반환하고 그렇지 않으면

비교대상 가격을 반환

IfHigh( )

IfSummation 조건이 참인경우에만 가격을 합계IfSummation ( L < C[1], C - L, 10 )

IfTrueBar지정한 조건식이 True 인 봉번호를

반환IfTrueBar( C>0, 10, 2, 1 )

ImpliedVolatility지정한 옵션에 대한 내재변동성을

계산해서 반환

ImpliedVolatility( 10, 2013, 260, 2.9, 4.25, Call, 260.3 )

Index 봉의번호 if Index > 10 Then Buy;Intrinsic 옵션의 내재가치를 반환 Intrinsic( C, 3, 260.5 )IntrinsicValue 옵션의 내재가치를 반환 IntrinsicValue( 261, 2, 260 )

IsWorkDay인자로 전달된 날짜가 영업일이면

True, 휴일이면 False 를 반환IsWorkDay( 20131028 )

KeltnerChannel이동평균에 True Range 의 평균을

더하거나 빼 주어 밴드를 구성하여

거래에 활용

KeltnerChannel( C, 10, 2.5 )

Kurtosis 분포곡선의 꼬리의 크기에 따라

달라지는 데이터 집합의 첨도를

Kurtosis( C, 100 )

Page 166: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

계산하여 반환

Kurtosis_a인자로 전달된 배열 데이터에 첨도를

계산하여 반환Kurtosis_a( Array, 50 )

KurtosisArr인자로 전달된 배열 데이터에 첨도를

계산하여 반환KurtosisArr( Array, 50 )

KurtosisOpt평균과 표준편차가 알려진 상황에서

데이터 세트에 대한 첨도를 계산하여

반환

KurtosisOpt( C, 50, 262.20, 261.35 )

LastCalcDate마지막 완성된 봉에 대한 날짜를

반환LastCalcDate

LastCalcTime마지막 완성된 봉에 대한 시간을

반환LastCalcTime

LastDayOfMonth인자로 전달한 월의 마지막

달력일자를 반환LastDayOfMonth( 10 )

LatestClose 가장 최근의 종가를 반환 var1 = LatestCloseLatestHigh 가장 최근의 고가를 반환 var1 = LatestHigh

LatestLosers전략포지션에 대한 목표날짜 까지의

손실회수를 반환LatestLosers( Date )

LatestLow 가장 최근의 저가를 반환 var1 = LatestLowLatestOi 가장 최근의 미결제약정을 반환 var1 = LatestOiLatestOpen 가장 최근의 시가를 반환 var1 = LatestOpenLatestVolume 가장 최근의 거래량을 반환 var1 = LatestVolume

LatestWinners전략포지션에 대한 목표날짜 까지의

이익회수를 반환LatestWinners( Date )

Leader현재봉의 중간값이 이전봉의 고가

혹은 저가와 큰지 작은지를 비교하여

결과를 반환

Leader

LinearReg 기울기와 선형회귀선의 각도를 계산LinearReg( C, 10, -5, Slope, Angle, Intercept, Value )

LinearRegAngle 선형회귀 각도를 반환 LinearRegAngle( C, 10 )

LinearRegAngleFast선형회귀 각도를 빠르게 계산해서

반환LinearRegAngleFast( C, 10 )

LinearRegFast기울기와 선형회귀선의 각도를

빠르게 계산

LinearRegFast( C, 10, -5, Slope, Angle, Intercept, Value )

Page 167: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

LinearRegSlope현재 선형회귀선의 기울기를

계산해서 반환LinearRegSlope( C, 10 )

LinearRegSlopeFast현재 선형회귀선의 기울기를

계산해서 반환LinearRegSlopeFast( C, 10 )

LinearRegValue목표봉에서 지정된 회귀직선의

현재값을 반환LinearRegValue( C, 10, 5 )

LinearRegValueFast목표봉에서 지정된 회귀직선의

현재값을 빠르게 계산해서 반환

LinearRegValueFast( C, 10, 5 )

LinRegAngleArr배열의 값에 대한 선형회귀 각도를

반환LinRegAngleArr( Array, 10 )

LinRegAngleArr2독립배열과 종속배열의 값에 대한

선형회귀 각도를 반환

LinRegAngleArr2( IndeArray, DepArray, 10 )

LinRegArr배열의 값에 대한 기울기와

선형회귀선의 각도를 계산

LinRegArr( Array, 10, -5, Slope, Angle, Intercept, Value )

LinRegArr2독립배열과 종속배열의 값에 대한

기울기와 선형회귀선의 각도를 계산

LinRegArr2( IndeArray, DepArray, 10, -5, Slope, Angle, Intercept, Value )

LinRegForecast_a독립배열과 종속배열의 선형회귀를

토대로 주어진 X 값에 대한 예측된 Y값을 계산

LinRegForecast_a( IndeArray, DepArray, 50, 5 )

LinRegForecastArr배열의 선형회귀를 토대로 주어진 X값에 대한 예측된 Y 값을 계산

LinRegForecastArr( Array, 50, 5 )

LinRegForecastArr2독립배열과 종속배열의 선형회귀를

토대로 주어진 X 값에 대한 예측된 Y값을 계산

LinRegForecastArr2( IndeArray, DepArray, 50, 5 )

LinRegIntercept_a독립배열과 종속배열의 데이터 값에

기반하여 Y 축을 교차할 선을

결정하기 위해 회귀분석을 사용

LinRegIntercept_a( IndeArray, DepArray, 50 )

LinRegInterceptArr배열의 데이터 값에 기반하여 Y 축을

교차할 선을 결정하기 위해

회귀분석을 사용

LinRegInterceptArr( Array, 50 )

LinRegInterceptArr2독립배열과 종속배열의 데이터 값에

기반하여 Y 축을 교차할 선을

결정하기 위해 회귀분석을 사용

LinRegInterceptArr2( IndeArray, DepArray, 50 )

Page 168: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

LinRegSlope_a독립배열과 종속배열의 데이터 값에

기반하여 선형회귀선의 기울기를

계산해서 반환

LinRegSlope_a( IndeArray, DepArray, 10 )

LinRegSlopeArr배열의 데이터 값에 기반하여

선형회귀선의 기울기를 계산해서

반환

LinRegSlopeArr( Array, 10 )

LinRegSlopeArr2배열의 데이터 값에 기반하여

선형회귀선의 기울기를 계산해서

반환

LinRegSlopeArr2( IndeArray, DepArray, 10 )

LowD N 일봉의 저가를 반환하는 함수 LowD( 10 )

LowDGen사용자가 지정한 참조종목의 N 일봉

저가를 반환LowDGen( 14, 2 )

Lowest지정한 기간중에서 최저가격을

반환하는 함수Lowest( C + O, 10 )

Lowest_a지정한 가격배열과 기간중에서

최저가격을 반환하는 함수Lowest_a( Array, 10 )

LowestArr지정한 가격배열과 기간중에서

최저가격을 반환하는 함수LowestArr( Array, 10 )

LowestBar 최저가가 발생한 봉 번호를 반환 LowestBar( H, 14 )

LowestBarFast입력기간중 최저가를 반환하기 위해

빠른 계산방법을 사용LowestBarFast ( L, 20 )

LowestFast지정한 기간중에서 최저가격을

반환하기 위해 빠른 계산방식을

사용하는 함수

LowestFast( C + O, 10 )

LowM N월봉의 저가를 반환 LowM( 5 )LowW N 주봉의 저가를 반환 LowW( 5 )LowY N 연봉의 저가를 반환 LowY( 5 )

LRL

주가와 예측선 사이의 거리를

최소화하기 위해 주가를

최소자승법을 사용하여

직선으로그린선(선형회귀분석선)

LRL( C, 10 )

LROLeast Recent Occurence 함수는

지정한 조건식을 만족하는 봉 번호를

반환

LRO( C<O, 10, 1 )

LRS LRL(선형회귀분석선)의 기울기를 LRS( C, 10 )

Page 169: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

표현하는지표로서 시장의 과열과

침체를 알리는 기능을 함. (선형회귀기울기)

LWAccDis래리 윌리엄스의 방법에 따라

가격차이를 누적하는 함수LWAccDis

Ma 단순이동평균을 계산해서 반환 Ma( C, 10 )

MACD장.단기 두 이동평균 사이의 관계를

보여주는 운동량 지표 MACD( C, 12, 26 )

MassIndex고가와 저가 사이의 변동폭을

계산하여 추세의 전환점을

예측하는데 유용한 지표

MassIndex( 9, 25 )

McClellanOsc거래소간 평활화된 가격차이를

계산하는 함수

McClellanOsc( C of Data1, C of Data2, 19, 39 )

Md_Average

일중 데이터 차트에서 일간데이터를

추출하여 가장 최근일의 단순평균을

계산해서 반환, RS_Average와

동일

Md_Average ( Avg, Days, Offset, Array, Idx )

Md_HighestLowest일중차트에서 일별데이터를

추출하여 최고가, 최저가와 그

일자를 저장, RS_Extremes와 동일

Md_HighestLowest (NumDays, Array, Idx, Hst, HDay, Lst, LDay )

Md_PriceExtension

일별데이터를 추출하여 상승확장(1), 하락확장(2), 불변(0) 등의 결과를

반환, RS_PriceExtension와

동일

Md_PriceExtension ( NumDays, MinIdx, Factor, Hst, Lst, ATR, Array, Idx )

Md_ReversalType지정한 역방향과 조건에 대한

Setup, Triggers 를 출력, RS_ReversalPatterns와 동일

Md_ReversalType ( Dir, Cond, Factor, Array1, Idx, Array2, Stp, Tri )

Md_TrueHighLowATR뿐만아니라 진정한 최고가, 최저가를 출력, RS_TrueExtremes와 동일

Md_TrueHighLow ( NumDays, Array, Idx, Hst, Lst, ATR )

MDI하락 추세 유무와 강도를 알려주는

지표로써 DX 함수의 결과값을 반환MDI( 14 )

Median지정한 범위의 가격들을

오름차순으로 정렬한 후 중간값을

반환

Median( C, 10 )

Page 170: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Median_a지정한 배열의 가격들을

오름차순으로 정렬한 후 중간값을

반환

Median_a( Array, 10 )

MedianArr지정한 배열의 가격들을

오름차순으로 정렬한 후 중간값을

반환

MedianArr( Array, 10 )

MedianPrice특정 봉의 고가와 저가의 중간값을

반환해 주는 함수V1 = MedianPrice

MFIMFI( Market Facilitation Index ) = Range / AnyVol

MFI( Ticks )

MidHeapPushSortHeapArray 함수의 부분으로서

중간계산을 수행하는 함수, HeapPush 와 동일

MidHeapPush ( Array, 1, 5, 1 )

MidHeapPush2DSortHeap2DArray 함수의

부분으로서 중간계산을 수행하는

함수, HeapPush2D 와 동일

MidHeapPush2D( Array, 1, 5, 10, 1 )

MidPoint특정 기간 동안의 고가와 저가의

중간값을 반환하는 함수MidPoint( C, 10 )

MinutesToTime인자로 입력받은 분단위를 24 시간

형식의 시간으로 변환MinutesToTime( 1330 )

Mode지정한 범위에서 빈도수가 가장 높은

반복되는 값을 반환Mode( C, 20, 1 )

Mode_a주어진 배열의 가격에서 빈도수가

가장 높은 반복되는 값을 반환Mode_a( Array, 20, 1 )

ModeArr주어진 배열의 가격에서 빈도수가

가장 높은 반복되는 값을 반환ModeArr( Array, 20, 1 )

Momentum과거 일정시점의 가격과 현재가격을

비교하여 상승추세인지 하락추세에

있는지를 판단

Momentum( C, 10 )

MoneyFlow주어진 기간동안의 자금흐름을

백분율로 표시한 지표MoneyFlow( 10 )

MorningStar캔들패턴에서 샛별형인지를

판단해서 반환MorningStar( 14 )

MRO Most Recent Occurence 함수는

지정한 조건식을 만족하는 봉 번호를

MRO

Page 171: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

반환

Next2ndThursday지정한 월의 두번째 목요일

달력일수를 반환Next2ndThursday( )

NormalCumDensity지정한 평균, 표준편차에 대한

정규누적분포를 계산하여 반환

NormalCumDensity( C, 262, 0.75 )

NormalCumDensity_a지정한 평균, 표준편차 배열에 대한

정규누적분포를 계산하여 반환

NormalCumDensity_a( Array, 50, C )

NormalDensity 정규분포를 계산NormalDensity( C, 262, 0.75 )

NormalDensity_a 지정한 배열에 대한 정규분포를 계산NormalDensity_a( Array, 50, C )

NormalSCDensity 표준정규누적분포를 계산 NormalSCDensity( C )

NormCumDensity표준정규누적분포를 현재가와

평균가의 차이를 표준편차로 나눈

가격을 사용하여 계산

NormCumDensity( C, 10 )

NormCumDensityArr

표준정규누적분포를 전달된 배열의

가격과 평균가와의 차이를

표준편차로 나눈 가격을 사용하여

계산

NormCumDensityArr( Arr, 20 )

NormDensity 정규분포를 계산 NormDensity( C, 10 )NormDensityArr 배열에 대한 정규분포를 계산 NormDensityArr( Array, 10 )NormSCDensity 표준정규누적분포를 계산 NormSCDensity( C )

NthDayofMonth지정한 시작일에 해당하는 요일과

목표요일을 비교하여 목표일을

탐색하는 함수

NthDayofMonth( 41300, 3, 2 )

NthExtremes지정한 기간의 봉에서 첫번째, 두번째 등의 최고가와 최저가를 반환

NthExtremes( H, 20, 3, 1, Value, BarNum )

NthExtremesArr지정한 배열의 값에서 첫번째, 두번째 등의 최고가와 최저가를 반환

NthExtremesArr( Array, 20, 3, 1, Value, BarNum )

NthHighest지정한 기간의 봉에서 첫번째, 두번째 등의 최고가를 반환

NthHighest( 1, C, 20 )

NthHighest_a지정한 배열의 값에서 첫번째, 두번째 등의 최고가를 반환

NthHighest_a( Array, 20, 1 )

NthHighestArr지정한 배열의 값에서 첫번째, 두번째 등의 최고가를 반환

NthHighestArr( Array, 20, 1 )

Page 172: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

NthHighestBar지정한 기간의 봉에서 첫번째, 두번째 등의 최고가를 가진 봉번호를

반환

NthHighestBar( 1, C, 20 )

NthLowest지정한 기간의 봉에서 첫번째, 두번째 등의 최저가를 반환

NthLowest( 1, C, 20 )

NthLowest_a지정한 배열의 값에서 첫번째, 두번째 등의 최저가를 반환

NthLowest_a( Array, 20, 1 )

NthLowestArr지정한 배열의 값에서 첫번째, 두번째 등의 최저가를 반환

NthLowestArr( Array, 20, 1 )

NthLowestBar지정한 기간의 봉에서 첫번째, 두번째 등의 최저가를 가진 봉번호를

반환

NthLowestBar( 1, C, 20 )

NumRank정렬된 가격의 시리즈에서 지정된

가격순위를 반환NumericRank( C, C, 3, 1 )

NumRankArr배열의 정렬된 가격의 시리즈에서

지정된 가격순위를 반환

NumericRankArr( 14, Array, 10, 1 )

NumUnits투자금액 대비 계약수 혹은 주식수를

반환NumUnits( 10000000, 100 )

OBVOn Balance Volume 은 현재의

주식시장이 매집단계에 있는지

분산단계에 있는지를 분석

OBV

OHLC_User지정된 시간구간의 시, 고, 저, 종을

반환

OHLC_User ( 1, 20, O, H, L, C )

OHLC_UserRef지정된 참조종목 시간구간의 시, 고, 저, 종을 반환

OHLC_UserRef ( 1, 20, O, H, L, C, 2 )

OiD 일자별 미결제약정을 반환 Var1 = OiDOneAlert 봉 하나에 한번의 경고로 제한 OneAlert( C > C1 )OpenD N 일봉의 시가를 반환하는 함수 OpenD( 1 )OpenM N월봉의 시가를 반환 OpenM( 5 )OpenW N 주봉의 시가를 반환 OpenW( 5 )OpenY N 연봉의 시가를 반환 OpenY( 5 )

OptionGreeks블랙숄즈의 옵션가격결정모델에

따라 옵션의 이론가와 민감도 지표를

계산

OptionGreeks (1, 99, 260, 261, 2.9, 0, 0, 18.5, Call, 0, P, D, G, V, T, R )

OptionValuation 블랙숄즈의 옵션가격결정모델에 OptionValuation ( 1, 99,

Page 173: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

따라 옵션가격을 계산260, 261, 2.9, 0, 0, 18.5, Call, 0 )

OSCPPrice Oscillator 는 단기 이동평균과

장기 이동평균과의 차이를 분석하여

매매에 이용하는 지표

OSCP( 5, 20 )

OSCV

Volume Oscillator 는 단기 거래량

이평과 장기 거래량 이평과의 차이를

분석하여 매매에 이용하는 거래량

지표

OscV( 5, 20 )

Outside고가가 직전고가 보다 크고 저가가

직전 저가보다 작으면 1 을 반환, 아니면 0 을 반환

Outside

Parabolic

시간의 경과와 추세의 가속도와의

관계를 활용, 포지션을 정리(Stop)하고 반대포지션을 취하는 전략

(Reversal)

Parabolic( 0.02 )

ParabolicSAR현재봉과 다음봉 뿐만 아니라 시장에

있음직한 포지션에 대한 파라볼릭

스톱을 반환

ParabolicSAR( 0.02, 0.2, Cur, Next, Pos, Trans )

ParabolicUser

포지션을 정리(Stop)하고

반대포지션을 취하는 전략

(Reversal)이며 가속도의 한계값을

사용자가 지정

ParabolicUser( 0.02, 0.2 )

PartialHeapSiftSortHeapArray 함수의 부분으로서

힙 소트를 수행하는 함수, HeapSift함수와 동일

PartialHeapSift ( Array, 1, 5, 1 )

PartialHeapSift2DSortHeap2DArray 함수의

부분으로서 힙 소트를 수행하는

함수, HeapSift2D 함수와 동일

PartialHeapSift2D( Array, 1, 5, 10, 1 )

PDI상승 추세 유무와 강도를 알려주는

지표로써 DX 함수의 결과값을 반환PDI( 14 )

Pennant현재 페넌트 고가, 저가라인의

시작가격과 종료가격을 반환하는

함수

Pennant( 10, 1, 4, HiStart, HiEnd, LoStart, LoEnd )

Percent_a 배열의 데이터중에 입력한 값에 Percentile_a( Array, 10, 0.5 )

Page 174: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

해당하는 백분위수를 반환

PercentArr배열의 데이터중에 입력한 값에

해당하는 백분위수를 반환PercentArr ( 0.2, Array, 10 )

PercentChg특정 시점의 가격에 대한 현재시점의

가격수준을 계산하는 함수PercentChg( C, 10 )

Percentile지정기간의 데이터중에 입력한 값에

해당하는 백분위수를 반환Percentile( 0.25, C, 10 )

PercentR지정한 기간의 가격범위를 평가하여

현재가격의 위치를 비율로서 반환PercentR( 10 )

PercentRank데이터 세트에서 각 봉의 가격에

대한 백분위 수준을 계산PercentRank( 260, C, 20 )

PercentRank_a데이터 배열에서 각 봉의 가격에

대한 백분위 수준을 계산

PercentRank_a( Array, 10, 5 )

PercentRankArr데이터 배열에서 각 봉의 가격에

대한 백분위 수준을 계산

PercentRankArr( 40, Array, 10 )

Permutation주어진 수에 대한 순열의 수를

계산하여 반환Permutation( 40, 4 )

Pivot 피봇포인트의 가격과 봉번호를 반환Pivot( H, 20, 4, 2, 1, 1, Price, Bar )

PriceOSC장기이평과 단기이평 사이의

가격차이를 계산하여 반환PriceOSC ( C, 10, 20 )

PriceVolTrend현재봉에 대한 가격거래량추세

(Price Volume Trend)를 계산하여

반환

V1 = PriceVolTrend

ProbBetween사용자가 지정한 목표가격 범위내에

있을 가능성을 계산하여 반환

ProbBetween( 255, 265, 261, 0.5, 30 )

ProbDown목표가격 미만으로 하락할지에 대한

가능성을 계산하여 반환

ProbDown ( 255, 261, 0.5, 30 )

ProbUp목표가격 이상 상승할지에 대한

가능성을 계산하여 반환ProbUp ( 265, 261, 0.5, 30 )

PROC특정 시점의 가격 대비 현재시점의

가격변동비율을 구하는 함수PROC( 5 )

PsychologicalLine가격과 기간을 입력받아

투자심리선을 반환PsychologicalLine(C, 14)

PVI 거래량을 통해 현재 활황장인가 V1 = PVI( )

Page 175: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

침체장인가를 판별하기 위한 함수

PVT

현재의 주식시장이 매집단계인지

분산단계에인지를 분석하기 위한

지표로서 주가변동폭과 거래량을

이용

V1 = PVT( )

QualityBar고가, 저가, 종가, 거래량 등을

이용한 다양한 조건들의 만족여부에

따라 참, 거짓을 반환

V1 = QualityBar

Quart지정한 기간의 비교대상 가격의

사분위 가격수준을 반환Quart( 1, H, 20 )

Quart_a배열에 있는 비교대상 가격의 사분위

가격수준을 반환Quart_a( Array, 10, 20 )

QuartArr배열에 있는 비교대상 가격의 사분위

가격수준을 반환QuartArr( 20, Array, 10 )

Range Range = H - L V1 = Range

RangeCompare

봉의 중간값을 구해 직전고가, 직전저가, 직전 범위와 비교해서 0 혹은 1 을 반환, RangeLeader 와

동일

V1 = RangeCompare

Rank가격을 오름차순으로 정렬해서

사용자가 지정한 순번의 가격을 반환Rank( 3, H, 10, 1 )

Rank_a배열의 가격을 오름차순 혹은

내림차순으로 정렬해서 반환Rank_a( Array, 10, 2, 1 )

RateOfChange당일 가격과 특정일 가격간의 차이를

가격변화률로 표현한 것으로 추세의

변화를 판단하는 지표

RateOfChange( C, 20 )

ResidualDays현재의 날짜에서 옵션만기일 까지의

잔여일수를 반환ResidualDays(10, 2013)

ReturnATM기초자산가격에 근접한 옵션의

행사가를 반환, GenerateStrike 와

동일

ReturnATM ( 1, 2.50 )

Rho옵션민감도 지표중에 로우값을

계산하여 반환하는 함수

Rho( 99, 260, 261, 2,9, 18.5, Call )

Ring저가간 비교를 통해 값을 달리해서

반환V1 = Ring

Page 176: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Round2Fraction입력받은 수치를 호가단위를 토대로

반올림해서 반환Round2Fraction( 99.756 )

RSI현재가격과 일정기간전 혹은 직전의

가격과의 강도를 측정RSI( C, 14 )

RSIOrig일정기간 동안 상승추세나

하락추세의 강도를 측정RSIOrig ( C, 14 )

Rsquare피어슨의 모멘트 상관계수 R 의

제곱을 계산하여 반환RSquare( 10, C, 14 )

RSquareArr독립배열과 종속배열의 가격에 대한

피어슨의 모멘텀 상관계수 R 의

제곱을 계산하여 반환

RSquareArr( IndDepArray, DepArray, 10 )

RsquaredRSquared = Square( coeffR( Length ) )

Rsquared( 10 )

RSquared_aRSquared_a = Square( coeffR_a( IndArray, DepArray, ArraySize ) )

RSquared_a( IndArray, DepArray, 10 )

Sar

파라볼릭은 SAR(Stop and Reversal)이라고도 하며 시간의

경과와 추세의 가속도와의 관계를

매매에 활용

Sar ( 0.02, 0.2 )

SearchBar사용자가 입력한 목표일자, 시간과

매칭되는 첫번째 봉 번호를 반환

SearchBar ( 20131028, 1335 )

SecToTime 지정한 초를 시간으로 변환하는 함수 SecToTime( 2450 )SecToTime_s 지정한 초를 시간으로 변환하는 함수 SecToTime_s( 2450 )

SerialHighLow최고가 혹은 최저가가 발생한 비율을

반환하는 함수SerialHighsLow( 10 )

ShootingStar캔들패턴에서 유성형을 판단해서

결과를 반환ShootingStar( 2 )

Simrido지정한 기간동안의 시장의 인기, 즉

과열 및 침체도를 파악하고자 하는

기법

Simrido( 10 )

Skew 가격분포의 왜도를 계산해서 반환 Skew( C, 100 )

Skew_a가격배열에 대한 분포의 왜도를

계산해서 반환Skew_a( Array, 10 )

SkewArr 가격배열에 대한 분포의 왜도를 SkewArr( Array, 50 )

Page 177: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

계산해서 반환

SkewOptimize 가격분포의 왜도를 최적화해서 반환SkewOptimize( 22.5, 4, 18.5, 1 )

SlowD일정 기간 동안의 주가 변동폭 중

금일종가의 위치를 백분율로 표현

%DSlowD( 14 )

SlowDOrigFastDClassic 에서 계산된 값을

평균하여 고전적 SlowD 를 계산SlowDOrig( 5, 3 )

SlowDUser사용자 지정 가격에 대한 SlowD 를

반환SlowDUser ( H, L, C, 14 )

SlowDUserOrig

George Lane 에 의해 추천되어지는

가격, 기간을 사용하여

지수이동평균한 SlowD 를 구하며

반환

SlowDUserOrig ( H, L, C, 14, 3, 3 )

SlowK기간을 입력받아 지수이평의 SlowK 값을 계산하여 반환

SlowK( 14 )

SlowK2기간을 입력받아 지수이평의 SlowK 값을 계산하여 반환

SlowK2( 5, 3)

SlowKOrigFastK 에서 계산된 값을 평균하여

고전적 SlowK 를 계산SlowKOrig ( 5, 3 )

SlowKUser사용자 지정 가격에 대한 SlowK 를

반환SlowKUser ( H, L, C, 14 )

SlowKUserOrig

George Lane 에 의해 추천되어지는

가격, 기간을 사용하여

지수이동평균한 SlowK 를 구하며

반환

SlowKUserOrig( H, L, C, 14, 3 )

Sma 정해진 기간동안의 주가평균 Sma( C, 10 )

Smi스톡캐스틱에서 응용된 지표, SMI에서는 최고가와 최저가의 중간점과

종가의 위치를 비교하여 분석

Smi(5, 3, 3)

SmoothAvg특정한 값에 의해 왜곡되는 평균치를

평활화하기 위하여 사용SmoothAvg( C, 10 )

SONAR기울기(한계변화율)로 현재 주가의

수준 및 향후 주가의 흐름을

알아내는 기법

SONAR( 9 )

Page 178: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Sort2DArr2 차원배열의 값을 연결정렬을

수행하여 반환Sort2DArr( Array, 20, 5, -1 )

SortArr1 차원 배열의 값을 오름차순 혹은

내림차순으로 정렬하여 반환SortArr( myArray, 30, -1 )

SortDown_a인자로 주어진 배열을 내림차순으로

정렬SortDown_a( Array, 20 )

SortUp_a인자로 주어진 배열을 오름차순으로

정렬SortUp_a( Array, 20 )

StandardDev모집단 혹은 표본에 대한 표준편차를

계산해서 반환StandardDev( C , 20, 1 )

StandardDevAnnual표준편차를 계산하고 연간

환산수치로 표현

StandardDevAnnual( C, 20, 2 )

StandardDevArr 배열 값의 표준편차를 계산해서 반환 StandardDevArr( Array, 20 )StandardError 표준오차를 반환 StandardError( C, 20 )

StandardError_a 배열에 있는 값의 표준오차를 반환StandardError_a( IndArray, DepArray, 20 )

Standardize 데이터를 정규화(표준화)함 Standardize( H, 20, 2.5 )Standardize_a 배열의 데이터를 정규화(표준화)함 Standardize_a( Array, 20, 1 )

StandardizeArr 배열의 데이터를 정규화(표준화)함StandardizeArr( Array, 20, 1 )

Std인자로 주어진 가격의 표준편차를

반환하는 함수이며 데이터는 샘플이

아닌 모집단을 사용

Std( C, 21 )

StdDev 모집단의 표준편차를 계산해서 반환 StdDev( C, 10 )

StdDevP_a배열데이터의 모집단에 대한

표준편차를 계산해서 반환StdDevP_a( Array, 10 )

StdDevPAnnualized모집단 표준편차에 연간계수

(BarAnnualization)를 곱하여 반환StdDevPAnnualized( C, 10 )

StdDevS 표본의 표준편차를 계산해서 반환 StdDevS( C, 10 )

StdDevS_a배열데이터의 표본에 대한

표준편차를 계산해서 반환StdDevS_a( Array, 10 )

StdDevSAnnualized표본의 표준편차에 연간계수

(BarAnnualization)를 곱하여 반환StdDevSAnnualized

StdError회귀직선 부근의 표준변동치를

측정하여 반환StdError( C, 14 )

Page 179: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

StdErrorArr1 차원 배열내 가격 데이터의

표준오차를 계산하여 반환StdErrorArr( Array, 10 )

StdErrorArr22 차원 배열내 독립데이터와

종속데이터의 가격에 대한

표준오차를 계산하여 반환

StdErrorArr2( IndeArray, DepArray, 10 )

Stochastic스토캐스틱 오실레이터와 관련된 4개의 핵심값(FastK, FastD, SlowK, SlowD)를 반환

Stochastic( H, L, C, 14, 3, 3, 1, FastK, FastD, SlowK, SlowD )

StochasticExp지수이평의 FastD, SlowD 의 값을

반환

StochasticExp( H, L, C, 14, 3, 3, FastD, SlowD )

StochasticsDSlowD 혹은 %D 로 불리며

Stochastic 에서 산출된 함수StochasticsD( 5, 3, 3)

StochasticsK스토캐스틱의 %K 혹은 FastD 혹은

SlowK 금일종가의 위치를 백분율로

나타내어 의사결정시 사용

StochasticsK( 5, 3)

Summation 지정한 가격시리즈의 합계 Summation( C, 10 )Summation_a 지정한 배열의 가격을 합계 Summation_a( Array, 10 )SummationArr 지정한 배열의 가격을 합계 SummationArr( Array, 10 )

SummationFast지정한 가격시리즈의 합계를

반환하되 빠른 계산방식으로 처리SummationFast( C, 10 )

SummationRecArr 배열요소의 역수값의 합계를 반환SummationRecArr( MyArray, 20 )

SummationSqrArr 배열요소의 제곱의 합계를 반환SummationSqrArr( MyArray, 20 )

SwingHigh기준봉에서의 가격이 좌측과 우측의

가격보다 높거나 같게 형성될 경우의

기준봉 가격을 반환

SwingHigh( 1, C, 3, 10 )

SwingHighBar기준봉에서의 가격이 좌측과 우측의

가격보다 높거나 같게 형성될 경우의

기준봉 번호를 반환

SwingHighBar( 1, C, 3, 10 )

SwingIndex두 봉 사이 시, 고, 저, 종가를

이용하여 스윙강도의 음, 양수 값을

반환

SwingIndex

SwingLow 기준봉에서의 가격이 좌측과 우측의

가격보다 작거나 같게 형성될 경우의

SwingLow( 1, C, 3, 10 )

Page 180: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

기준봉 가격을 반환

SwingLowBar기준봉에서의 가격이 좌측과 우측의

가격보다 작거나 같게 형성될 경우의

기준봉 번호를 반환

SwingLowBar( 1, C, 3, 10 )

Theta 옵션의 민감도 지표중 세타값을 반환Theta( 30, 267.5, 266.25, 2.90, 17.45, Call )

TimeSeriesForecast종가의 선형회귀선이 과거 혹은

미래와 관련되어 예측되어지는 값을

반환

TimeSeriesForecast( 21, -3 )

TimeToMin24 시간 값(hhmm)을 자정부터 분의

값으로 계산하여 반환TimeToMin( 1030 )

TimeToSec24 시간 값(hhmmss)을 자정부터

초의 값으로 계산하여 반환TimeToSec( 103020 )

TrendStock추세를 형성하는 가격 패턴을

보이는지의 성향을 값으로 표현TrendStock( 10, 30 )

TriAverage주어진 가격을 이중으로 평균하는

함수, 즉, 삼각이동평균 함수(Ceiling사용)

TriAverage( C, 10 )

TriAverage_Gen주어진 가격을 이중으로 평균하는

함수, 즉, 삼각이동평균 함수(Floor, Ceiling 사용)

TriAverage_Gen( C, 10 )

TrimMean 극단치를 제외한 평균값을 반환 TrimMean( H, 21, 0.2 )

TrimMean_a배열의 데이터 값중에 극단치를

제외한 평균값을 반환TrimMean_a( Array, 21, 0.2 )

TrimMeanArr배열의 데이터 값중에 극단치를

제외한 평균값을 반환

TrimMeanArr( Array, 21, 0.2 )

TRIX주가의 지수이동평균을 세차례 거듭

이동평균한 다음 그 값의 변화율을

구하여 매매에 활용

TRIX( C, 10 )

TrueHigh 직전종가와 고가중에 큰 값을 반환 TrueHighTrueLow 직전종가와 저가중에 작은 값을 반환 TrueLow

TrueRangeTrueRange = TrueHigh - TrueLow

TrueRange

TrueRangeUser지정한 고가, 저가, 종가를 기반으로

TrueRange 를 계산TrueRangeUser( H, L, C )

Page 181: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TSITSI 는 RSI 와 유사한 지표로 시장의

추세와 강도, 방향을 분석하는데

사용

TSI( C – C[1], 12, 26, 9 )

TXAverage

TXAverage 는

삼중지수이동평균이란 의미이며

세번에 걸쳐 지수이동평균을 구하여

평활화시킨 것

TXAverage( C, 10, 5, 5 )

TypicalPrice TypicalPrice = ( H + L + C ) / 3 TypicalPrice

UlcerIndex시장조건과 관련한 스트레스 레벨을

측정한 값을 반환하는 함수UlcerIndex( C, 10 )

UltimateOsc3 개의 oscillator 의 가중치 합을

사용하여 지표의 편차를 부드럽게

하며 래리 윌리엄스에 의해 개발

UltimateOsc( 7, 14, 28 )

UltimateOscillator3 개의 oscillator 의 가중치 합을

사용하여 지표의 편차를 부드럽게

하며 래리 윌리엄스에 의해 개발

UltimateOscillator( 7, 14, 28 )

UserPivotHigh사용자 지정 High Pivot Bar 가

발생한 가격을 반환UserPivotHigh( 1, H, 4, 2, 3 )

UserPivotHighBar사용자 지정 High Pivot Bar 가

발생한 봉 번호를 반환

UserPivotHighBar( 1, H, 4, 2, 3 )

UserPivotLow사용자 지정 Low Pivot Bar 가

발생한 가격을 반환UserPivotLow( 1, L, 4, 2, 3 )

UserPivotLowBar사용자 지정 Low Pivot Bar 가

발생한 봉 번호를 반환

UserPivotLowBar( 1, L, 4, 2, 3 )

UserPositionProfit현재 포지션손익 or 최대포지션

손익을 지정된 가격에 따라 사용자

정의 포지션 손익을 계산

UserPositionProfit ( H, L, False )

Variance인자로 전달된 유형에 따라 모집단의

분산값 혹은 표본집단의 분산값을

반환

Variance( C, 10, 1 )

VarianceArr인자로 전달된 유형에 따라 배열에

있는 가격의 모집단의 분산 혹은

표본집단의 분산 값을 반환

VarianceArr( Array, 10, 1 )

VarianceArrPP배열에 있는 가격의 모집단의

분산값을 반환VarianceArrPP( Array, 10 )

Page 182: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

VarianceArrSP배열 데이터를 입력받아 표본집단의

분산 값을 계산하여 반환VarianceArrSP( Array, 10 )

VariancePP 모집단의 분산 값을 반환 VariancePP( C, 10 )VarianceSP 표본집단의 분산 값을 반환 VarianceSP( C, 10 )

Vega 옵션의 민감도 지표중 베가값을 반환Vega( 99, 267.5, 266.25, 2.90, 17.45, Call )

VHF시장이 추세적 시장인지 비추세적

시장인지를 결정하므로 사용할

지표를 선택하는데 도움이 되는 지표

VHF( 28 )

VHFUser시장이 추세적 시장인지 비추세적

시장인지를 결정하므로 사용할

지표를 선택하는데 도움이 되는 지표

VHFUser(Close, 28 )

Volatility 시장의 변동성 값을 측정해서 반환 Volatility( 60 )

VolatilityExVal역사적 변동성으로 극단 값을

사용하여 통계적인 변동성을 계산VolatilityExVal( 20 )

VolatilityOrig시장의 변동성 값을 측정해서 반환

(AverageFC 를 사용)VolatilityOrig( 60 )

VolatilityStdDev종가의 표준편차에 근거한 역사적

변동성의 값을 계산해서 반환VolatilityStdDev( 30 )

VolatilityStocks조건 결과에 따른 극단적

역사적변동성 값을 반환VolatilityStocks( 30, C-30 )

VolD사용자가 지정한 N 일 전의 거래량을

리턴하는 함수( 0 : 당일, 1 : 직전일

...)VolD( 1 )

VolOSC거래량의 장, 단기 이동평균의

차이를 반환VolOSC( 9, 18 )

VolROC과거 일정시점의 거래량과

현재시점의 거래량의 변화비율VolROC( 20 )

VR일정기간 동안의 주가 상승일의

거래량과 주가 하락일의 거래량을

비교하여 백분율로 나타낸 지표

VR( 14 )

VROCVROC( Volume Rate of Change )는 금일 거래량과 Length 전 거래량

사이의 차이를 나타내는 지표

VROC( 14 )

WAverage 인자로 주어진 가격과 기간을 WAverage( C, 20 )

Page 183: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

가중평균값을 반환하는 함수

WeightedCloseWeightedClose = ( 2 * C + H + L ) / 4

V1 = WeightedClose

WILLAWILLA( Williams’ Accumulation / Distribution )는 현재 주식시장의

매수, 매도 세력을 나타내주는 지표

WILLA( C )

WILLR

과매수, 과매도 여부를 측정하기

위한 탄력지표이며 스톡캐스틱과

유사하지만 수치는 0 ~ -100 범위를

갖음.

WILLR( 14 )

WMA인자로 주어진 가격과 기간을

가중평균값을 반환하는 함수WMA( C, 10 )

XAverage 지수이동평균을 반환 XAverage( C, 10 )XAverageOrig 지수이동평균을 반환( 1/n 을 사용) XAverageOrig( C, 20 )ZProb 1 에서 정규밀도를 뺀 값을 반환 ZProb( C, 10 )

ZTest1 에서 표준정규 누적분포를 뺀 값을

반환Ztest( C )

☞ 자주 사용되는 기본제공 함수

기본제공함수를 이용하여 전략이나 지표를 손쉽게 작성할 수 있기 때문에 자주 사용되는 기본제공 함수에

대하여는 별도의 장에서 상세히 설명합니다. 따라서 함수사용법에 관한 사항은 그 부분을 참고하시기

바랍니다.

9) 잔고함수 : 해외선물 거래시 사용불가

가) 개요

잔고관련 함수는 고객 계좌의 원장정보를 읽어와서 제공해 주는 것이며 추후 가원장을 구축하여

실시간으로 필요한 정보들을 확장해서 제공할 계획을 가지고 있습니다. 다만, 잔고함수의 정보는 통신의

불안정성, 조회시점과 사용시점의 미묘한 차이로 인한 위험성 등이 존재하므로 이를 인지해야 합니다. 이러한 현상에 대한 불일치로 인한 피해가 발생시 그 결과는 정보를 이용하는 사용자에 귀속되므로 유의하기

바랍니다.

☞ 함수 사용시 주의사항1. 아래에 설명되는 함수는 각 거래소에서 제공되는 상품별 데이터에 종속적으로 작동합니다. 즉,

데이터가 정상적으로 제공되면 함수도 정상적인 결과를 도출하지만, 그렇지 않은 경우에는 비정상적인 결과를 리턴할 수 있습니다. 따라서 반드시 MessageLog를 통해 고객님께서 원하는 결과를 도출하고 있는지 확인한 후 이용해야 하며 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

2. 잔고함수는 해외선물 거래시 사용이 불가하며 국내선물도 일부 회서에서만 제공합니다. 따라서 반드시 정상작동하는지 확인한 후 이용해야 합니다.

Page 184: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

나) 잔고함수에 대한 간략해설

기본제공 함수명 간략설명 사용예

GetAccountStatus 인자로 주어진 계좌번호의 가원장 구축상태를

리턴하는 함수(주식, 선물계좌 공통)v1 = GetAccountStatus( "Account" )

GetAccountType 인자로 주어진 계좌번호의 유형(위탁, 선물옵션

등)을 리턴하는 함수(주식, 선물계좌 공통)v1 = GetAccountType( "Account" )

GetNumAccounts 보유계좌의 총 개수를 반환하는 함수 v1 = GetNumAccounts;

GetNumPositions 인자로 지정한 계좌가 보유하고 있는 총

종목수를 반환하는 함수

v1 = GetNumPositions("Account"); 해당 계좌의 보유 총 잔고 건수

GetPositionAveragePrice

인자로 지정한 계좌의 지정한 종목에 대한

평균가를 반환하는 함수

v1 = GetPositionAveragePrice ( "Code", "Account" );

GetPositionMarketValue

인자로 지정한 계좌의 지정한 종목에 대한

현재가를 반환하는 함수

var1 = GetPositionMarketValue ( "Code", "Account" );

GetPositionOpenPL 인자로 지정한 계좌의 지정한 종목에 대한

평가손익을 반환하는 함수

var1 = GetPositionOpenPL ( "Code", "Account" );

GetPositionQuantity 인자로 지정한 계좌의 지정한 종목에 대한

보유수량을 반환하는 함수

var1 = GetPositionQuantity ( "Code", "Account" );

GetRTAccountEquity(예정)

인자로 주어진 계좌에 대한 실시간 자산을

리턴하는 함수

추정자산 = 예탁금액 + 선물정산차금 + 당일선물청산손익 + 당일옵션청산손익 + 옵션평가손익 - 위탁수수료 – 제세금

GetRTAccountEquity( "Account" )

GetRTRealizedPL인자로 주어진 계좌에 대한 실시간 실현손익을

리턴하는 함수GetRTRealizedPL( "Account" )

GetRTUnrealizedPL인자로 주어진 계좌에 대한 실시간 평가손익(미실현손익)을 리턴하는 함수

GetRTUnrealizedPL( "Account" )

10) 예약어

가) 개요

Page 185: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Signal Language Editor에서 내부적으로 사용하기 위해 예약된 단어이며 사용자는 스크립트 작성시

특별한 선언없이 그냥 사용하면 됩니다. 예약어에는 시가, 고가 등과 같은 가격정보 뿐만 아니라 색상예약어, True, False 등과 같은 단어들이 있습니다. 예약어는 시스템에서 사용하는 단어이므로 사용자가 동일한

이름으로 변수를 선언해서 사용할 수는 없습니다.

나) 예약어 현황

다음은 Signal Language Editor에서 현재 사용중이거나 앞으로 사용할 예약어 목록입니다.

① 사용중인 예약어

예약어 간략설명 사용예

DEF 디폴트 값을 의미 buy( "", AtMarket, DEF)False 어떤 조건의 결과가 거짓을 의미 var : Bool(False)

Friday 금요일을 의미하는 5 값을 리턴하는 함수if dayofweek( date ) = Friday then buy()

GetAppInformation지정된 키워드에 기반해서 호출되는

어플리케이션의 속성값을 리턴

(미래사용예약)GetAppInformation(InfoName)

GetBlueColor RGB 색상값의 Blue 값을 리턴Value1=GetBlueColor(2138336)

GetExchangeName거래소 이름을 얻어오는 함수(미래사용예약)

str1 = GetExchangeName;

GetGreenColor RGB 색상값의 Green 값을 리턴Value1=GetGreenColor(2138336)

GetRedColor RGB 색상값의 Red 값을 리턴Value1=GetRedColor(2138336)

GetSymbol 심볼코드를 얻어오는 함수 str1 = GetSymbolGetSymbolName 심볼명을 얻어오는 함수(미래사용예약) str1 = GetSymbolName

IBP봉 중간에라도 변수의 값이 새로운

값으로 할당 될 수 있는 유형을 선언Var : IBP invar(0)

☞ 예약어 사용시 주의사항아래에 설명되는 예약어는 각 거래소에서 제공되는 상품에 따라 데이터가 정상적으로 제공될 수도 있고 그렇지 않을 수도 있습니다. 따라서 반드시 MessageLog를 통해 고객님께서 원하는 데이터와 결과를 도출하고 있는지 확인한 후 이용해야 하며, 이에 대한 책임은 사용 당사자에 있음을 유의하기 바랍니다.

Page 186: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

IOG봉 중간에 신호가 발생 가능한지에 대한

여부를 설정하는 매크로

[IOG = True]@봉 중간에 신호가

발생 가능

IsRealTime 프로그램의 작동 상태값을 얻어오는 함수

If IsRealTime then ?? 실시간 : True, 시뮬레이션 : False

LeftStr주어진 문자열에서 왼쪽에서 지정된 개수

만큼을 리턴(미래사용예약)str1 = LeftStr("abcd",2) @"ab" 를 리턴

MidStr문자열에서 Start 위치에서 Count 개수

만큼을 리턴한다. (미래사용예약)str1 = MidStr("abcd",3, 2)

Monday 월요일을 의미하는 1 값을 리턴하는 함수if dayofweek( date ) = monday then@buy;

NumToStr숫자를 소수점이하 자리수까지 표현된

형태의 문자열을 리턴하는 함수.(미래사용예약)

str1 = NumToStr(123.4, 5) @"1234.40000" 을 리턴

Point 파싱에서 추가해야 함.(Point 는 1 Point 처럼 사용되는 것으로 현재버전에서는

지원 안되는 함수입니다.)buy( "", AtStop, C + 0.5 Point);

RGBred, green, blue 값을 이용한 RGB 컬러 값을 리턴하는 함수

SetPlotColor(10, RGB(, 0, 0, 0))

RightStr주어진 문자열에서 오른쪽에서 지정된

개수 만큼을 리턴. (미래사용예약)str1 = RightStr("abcdef",2) @ef 를 리턴

Saturday 토요일을 의미하는 6 값을 리턴하는 함수if dayofweek( date ) = Saturday then @buy()

StopRunTimeError시스템의 작동을 중지시키고 메시지를

출력해주는 함수

if PositionProfit(0) < -2 then StopRunTimeError("위험상황이니 수작업

처리하세요"); // 현재 포지션의

손실이 2 포인트 이상이면

시스템작동을 중지시키고

메시지를 출력

Sunday 일요일을 의미하는 0 값을 리턴하는 함수if dayofweek( date ) = Sunday then@buy()

Thursday 목요일을 의미하는 4 값을 리턴하는 함수if dayofweek( date ) = Thursday then @buy()

Page 187: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

True 어떤 조건의 결과가 참을 의미 var : Bool(True)

Tuesday 화요일을 의미하는 2 값을 리턴하는 함수if dayofweek( date ) = Tuesday then @buy()

Wednesday 수요일을 의미하는 3 값을 리턴하는 함수if dayofweek( date ) = Wednesday then @buy()

② 시스템 내부적으로 사용중인 예약어

예약어 간략설명 사용예 1account 시스템 내부적으로 사용되는 예약어  

ActivityData 시스템 내부적으로 사용되는 예약어  

AddToMovieChain 시스템 내부적으로 사용되는 예약어  

All 시스템 내부적으로 사용되는 예약어  

ARRAYSIZE 시스템 내부적으로 사용되는 예약어  

ARRAYSTARTADDR 시스템 내부적으로 사용되는 예약어  

ASSET 시스템 내부적으로 사용되는 예약어  

ASSETTYPE 시스템 내부적으로 사용되는 예약어  

ASSETVOLATILITY 시스템 내부적으로 사용되는 예약어  

At$ 시스템 내부적으로 사용되는 예약어  

AUTOSESSION 시스템 내부적으로 사용되는 예약어  

Beta 시스템 내부적으로 사용되는 예약어  

Beta_Down 시스템 내부적으로 사용되는 예약어  

Beta_Up 시스템 내부적으로 사용되는 예약어  

Book_Val_Per_Share 시스템 내부적으로 사용되는 예약어  

BYTE 시스템 내부적으로 사용되는 예약어  

CALLCOUNT 시스템 내부적으로 사용되는 예약어  

CALLITMCOUNT 시스템 내부적으로 사용되는 예약어  

CallOpenInt 시스템 내부적으로 사용되는 예약어  

CALLOTMCOUNT 시스템 내부적으로 사용되는 예약어  

CALLSERIESCOUNT 시스템 내부적으로 사용되는 예약어  

CALLSTRIKECOUNT 시스템 내부적으로 사용되는 예약어  

Cancel 시스템 내부적으로 사용되는 예약어  

CHAR 시스템 내부적으로 사용되는 예약어  

CheckCommentary 시스템 내부적으로 사용되는 예약어  

Page 188: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

COARSE 시스템 내부적으로 사용되는 예약어  

Commission 시스템 내부적으로 사용되는 예약어  

CommodityNumber 시스템 내부적으로 사용되는 예약어  

COST 시스템 내부적으로 사용되는 예약어  

Current 시스템 내부적으로 사용되는 예약어  

Current_Ratio 시스템 내부적으로 사용되는 예약어  

DataInUnion 시스템 내부적으로 사용되는 예약어  

Days 시스템 내부적으로 사용되는 예약어  

DefineCustField 시스템 내부적으로 사용되는 예약어  

Description 시스템 내부적으로 사용되는 예약어  

Dividend_Yield 시스템 내부적으로 사용되는 예약어  

DividendCount 시스템 내부적으로 사용되는 예약어  

DividendDate 시스템 내부적으로 사용되는 예약어  

DividendTime 시스템 내부적으로 사용되는 예약어  

does 시스템 내부적으로 사용되는 예약어  

DoubleQuote 시스템 내부적으로 사용되는 예약어  

DWORD 시스템 내부적으로 사용되는 예약어  

EasyLanguageVersion 시스템 내부적으로 사용되는 예약어  

EPS 시스템 내부적으로 사용되는 예약어  

EPS_PChng_Y_Ago 시스템 내부적으로 사용되는 예약어  

EPS_PChng_YTD 시스템 내부적으로 사용되는 예약어  

EPSCount 시스템 내부적으로 사용되는 예약어  

EPSDate 시스템 내부적으로 사용되는 예약어  

EXPIRATIONSTYLE 시스템 내부적으로 사용되는 예약어  

EXTERNAL 시스템 내부적으로 사용되는 예약어  

FINE 시스템 내부적으로 사용되는 예약어  

FirstNoticeDate 시스템 내부적으로 사용되는 예약어  

FIRSTOPTION 시스템 내부적으로 사용되는 예약어  

FLOAT 시스템 내부적으로 사용되는 예약어  

FreeCshFlwPerShare 시스템 내부적으로 사용되는 예약어  

FundBoolean 시스템 내부적으로 사용되는 예약어  

FundDate 시스템 내부적으로 사용되는 예약어  

FundPeriodEndDate 시스템 내부적으로 사용되는 예약어  

FundSetup 시스템 내부적으로 사용되는 예약어  

FundString 시스템 내부적으로 사용되는 예약어  

Page 189: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FundValue 시스템 내부적으로 사용되는 예약어  

FundValueTTM 시스템 내부적으로 사용되는 예약어  

FUTURE 시스템 내부적으로 사용되는 예약어  

FUTURETYPE 시스템 내부적으로 사용되는 예약어  

G_Rate_EPS_NY 시스템 내부적으로 사용되는 예약어  

G_Rate_Nt_In_NY 시스템 내부적으로 사용되는 예약어  

G_Rate_P_Net_Inc 시스템 내부적으로 사용되는 예약어  

IncludeSignal 시스템 내부적으로 사용되는 예약어  

IncludeSystem 시스템 내부적으로 사용되는 예약어  

InfiniteLoopDetect 시스템 내부적으로 사용되는 예약어  

INITIALMARGIN 시스템 내부적으로 사용되는 예약어  

Inst_Percent_Held 시스템 내부적으로 사용되는 예약어  

LeftSide 시스템 내부적으로 사용되는 예약어  

LEG 시스템 내부적으로 사용되는 예약어  

LEGTYPE 시스템 내부적으로 사용되는 예약어  

MIVONASK 시스템 내부적으로 사용되는 예약어  

MIVONBID 시스템 내부적으로 사용되는 예약어  

MIVONCLOSE 시스템 내부적으로 사용되는 예약어  

MIVONRAWASK 시스템 내부적으로 사용되는 예약어  

MIVONRAWBID 시스템 내부적으로 사용되는 예약어  

Moc 시스템 내부적으로 사용되는 예약어  

MODELPOSITION 시스템 내부적으로 사용되는 예약어  

MODELPRICE 시스템 내부적으로 사용되는 예약어  

MODELRATE 시스템 내부적으로 사용되는 예약어  

MODELRATE2 시스템 내부적으로 사용되는 예약어  

MODELVOLATILITY 시스템 내부적으로 사용되는 예약어  

Money 시스템 내부적으로 사용되는 예약어  

MoneyMgtStopAmt 시스템 내부적으로 사용되는 예약어  

MULTIPLE 시스템 내부적으로 사용되는 예약어  

MYSELF 시스템 내부적으로 사용되는 예약어  

Net_Profit_Margin 시스템 내부적으로 사용되는 예약어  

NUMFUTURES 시스템 내부적으로 사용되는 예약어  

NUMLEGS 시스템 내부적으로 사용되는 예약어  

NUMOPTIONS 시스템 내부적으로 사용되는 예약어  

once 시스템 내부적으로 사용되는 예약어  

Page 190: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

PlaceMarketOrder 시스템 내부적으로 사용되는 예약어  

PlayMovieChain 시스템 내부적으로 사용되는 예약어  

Pob 시스템 내부적으로 사용되는 예약어  

POINTER 시스템 내부적으로 사용되는 예약어  

Price_To_Book 시스템 내부적으로 사용되는 예약어  

Product 시스템 내부적으로 사용되는 예약어  

PROFIT 시스템 내부적으로 사용되는 예약어  

ProfitTargetStop 시스템 내부적으로 사용되는 예약어  

PROTECTIVE 시스템 내부적으로 사용되는 예약어  

PUTCOUNT 시스템 내부적으로 사용되는 예약어  

PUTITMCOUNT 시스템 내부적으로 사용되는 예약어  

PutOpenInt 시스템 내부적으로 사용되는 예약어  

PUTOTMCOUNT 시스템 내부적으로 사용되는 예약어  

PUTSERIESCOUNT 시스템 내부적으로 사용되는 예약어  

PUTSTRIKECOUNT 시스템 내부적으로 사용되는 예약어  

PutVolume 시스템 내부적으로 사용되는 예약어  

Quick_Ratio 시스템 내부적으로 사용되는 예약어  

RAWASK 시스템 내부적으로 사용되는 예약어  

RAWBID 시스템 내부적으로 사용되는 예약어  

REGULARSESSION 시스템 내부적으로 사용되는 예약어  

Ret_On_Avg_Equity 시스템 내부적으로 사용되는 예약어  

RevSize 시스템 내부적으로 사용되는 예약어  

RightSide 시스템 내부적으로 사용되는 예약어  

Screen 시스템 내부적으로 사용되는 예약어  

SDECOMMENTARY 시스템 내부적으로 사용되는 예약어  

SERIESCOUNT 시스템 내부적으로 사용되는 예약어  

SGA_Exp_By_NetSales 시스템 내부적으로 사용되는 예약어  

Skip 시스템 내부적으로 사용되는 예약어  

SnapFundExits 시스템 내부적으로 사용되는 예약어  

Spaces 시스템 내부적으로 사용되는 예약어  

StartDate 시스템 내부적으로 사용되는 예약어  

StockSplit 시스템 내부적으로 사용되는 예약어  

StockSplitCount 시스템 내부적으로 사용되는 예약어  

StockSplitDate 시스템 내부적으로 사용되는 예약어  

StockSplitTime 시스템 내부적으로 사용되는 예약어  

Page 191: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

LimitIfTouchedOrder 시스템 내부적으로 사용되는 예약어  

LimitIOrder 시스템 내부적으로 사용되는 예약어  

MarketIfTouchOrder 시스템 내부적으로 사용되는 예약어  

MarketOrder 시스템 내부적으로 사용되는 예약어  

StopLimitOrder 시스템 내부적으로 사용되는 예약어  

StopMarketOrder 시스템 내부적으로 사용되는 예약어  

PlaceOrder 시스템 내부적으로 사용되는 예약어  

LimitOrder 시스템 내부적으로 사용되는 예약어  

STRIKE 시스템 내부적으로 사용되는 예약어  

STRIKECOUNT 시스템 내부적으로 사용되는 예약어  

STRIKEITMCOUNT 시스템 내부적으로 사용되는 예약어  

STRIKEOTMCOUNT 시스템 내부적으로 사용되는 예약어  

TARGETTYPE 시스템 내부적으로 사용되는 예약어  

THEORECTICALGROSSOUT 시스템 내부적으로 사용되는 예약어  

THEORETICALGROSSIN 시스템 내부적으로 사용되는 예약어  

THEORETICALVALUE 시스템 내부적으로 사용되는 예약어  

TrailingStopAmt 시스템 내부적으로 사용되는 예약어  

TrailingStopFloor 시스템 내부적으로 사용되는 예약어  

TrailingStopOrder 시스템 내부적으로 사용되는 예약어  

TrailingStopPct 시스템 내부적으로 사용되는 예약어  

TtlDbt_By_NetAssts 시스템 내부적으로 사용되는 예약어  

Units 시스템 내부적으로 사용되는 예약어  

UNSIGNED 시스템 내부적으로 사용되는 예약어  

VARSIZE 시스템 내부적으로 사용되는 예약어  

VARSTARTADDR 시스템 내부적으로 사용되는 예약어  

VEGA 시스템 내부적으로 사용되는 예약어  

VSBCOMMENTARY 시스템 내부적으로 사용되는 예약어  

WORD 시스템 내부적으로 사용되는 예약어  

Yesterday 시스템 내부적으로 사용되는 예약어  

i_AvgEntryPrice_at_Broker 시스템 내부적으로 사용되는 예약어  

i_AvgEntryPrice_at_Broker_for_The_Strategy

시스템 내부적으로 사용되는 예약어  

I_SignalPosition_at_Broker 시스템 내부적으로 사용되는 예약어  

I_SignalPosition_at_Broker 시스템 내부적으로 사용되는 예약어  

Page 192: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

_for_The_StrategyPOSITION 시스템 내부적으로 사용되는 예약어  

POSITIONID 시스템 내부적으로 사용되는 예약어  

POSITIONSTATUS 시스템 내부적으로 사용되는 예약어  

BOOL 시스템 내부적으로 사용되는 예약어  

DOUBLE 시스템 내부적으로 사용되는 예약어  

INT 시스템 내부적으로 사용되는 예약어  

LONG 시스템 내부적으로 사용되는 예약어  

LPBOOL 시스템 내부적으로 사용되는 예약어  

LPBYTE 시스템 내부적으로 사용되는 예약어  

LPDOUBLE 시스템 내부적으로 사용되는 예약어  

LPDWORD 시스템 내부적으로 사용되는 예약어  

LPFLOAT 시스템 내부적으로 사용되는 예약어  

LPINT 시스템 내부적으로 사용되는 예약어  

LPLONG 시스템 내부적으로 사용되는 예약어  

LPSTR 시스템 내부적으로 사용되는 예약어  

LPWORD 시스템 내부적으로 사용되는 예약어  

CLEARPRINTLOG 시스템 내부적으로 사용되는 예약어  

CREATELOG 시스템 내부적으로 사용되는 예약어  

shift 시스템 내부적으로 사용되는 예약어  

Day 시스템 내부적으로 사용되는 예약어  

Data 시스템 내부적으로 사용되는 예약어  

Higher 시스템 내부적으로 사용되는 예약어  

Lower 시스템 내부적으로 사용되는 예약어  

aiApplicationType 시스템 내부적으로 사용되는 예약어  

aiBarSpacing 시스템 내부적으로 사용되는 예약어  

aiHighestDispValue 시스템 내부적으로 사용되는 예약어  

aiLeftDispDateTime 시스템 내부적으로 사용되는 예약어  

aiLowestDispValue 시스템 내부적으로 사용되는 예약어  

aiMacroEnabled 시스템 내부적으로 사용되는 예약어  

aiMacroConf 시스템 내부적으로 사용되는 예약어  

aiOptionStationPane 시스템 내부적으로 사용되는 예약어  

aiPLofAcctCurrency 시스템 내부적으로 사용되는 예약어  

aiRightDispDateTime 시스템 내부적으로 사용되는 예약어  

Page 193: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

aiRow 시스템 내부적으로 사용되는 예약어  

aiSpaceToRight 시스템 내부적으로 사용되는 예약어  

aiPercentChange 시스템 내부적으로 사용되는 예약어  

aiOptimizing 시스템 내부적으로 사용되는 예약어  

aiStrategyAuto 시스템 내부적으로 사용되는 예약어  

aiStrategyAutoConf 시스템 내부적으로 사용되는 예약어  

aiIntrabarOrder 시스템 내부적으로 사용되는 예약어  

aiAppId 시스템 내부적으로 사용되는 예약어  

DataCompression 시스템 내부적으로 사용되는 예약어  

TICKTYPE 시스템 내부적으로 사용되는 예약어  

MillisecondsFromDateTime

시스템 내부적으로 사용되는 예약어  

③ 미래 사용을 위한 예약어

예약어 간략설명 사용예 1

aiRealTimeCalc시뮬레이션중인지, 실시간인지를

구별하기위한 GetAppInfo 의

파라미터로 사용하는 변수

var1 = GetAppInfo(aiRealTimeCalc)

LegacyColorToRGB 0-16777215 범위의 지정된

기존의 색상 값에 대응하는 RGB 색상 값를 반환

Value1 = LegacyColorToRGB(10)

RGBToLegacyColor0-16 범위의 RGB 컬러 번호와

일치하는 색상 값을 반환

Value1=RGBToLegacyColor(65280)

Bars Bar 와 동일@(미래 사용을 위한

예약 ) 

AtCommentaryBar (미래 사용을 위한 예약 )  

Bar (미래 사용을 위한 예약 ) buy this bar on close;BoxSize (미래 사용을 위한 예약 )  

Category적용된 심볼의 카테고리 값을

얻어오는 함수var1 = Category;

Call (미래 사용을 위한 예약 )  

CallVolume (미래 사용을 위한 예약 )  

ComputerDateTime (미래 사용을 위한 예약 )  

Page 194: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Contract (미래 사용을 위한 예약 )  

ContractMonth (미래 사용을 위한 예약 )  

Contracts (미래 사용을 위한 예약 )  

ContractYear (미래 사용을 위한 예약 )  

Cover (미래 사용을 위한 예약 )  

datetime2eltime_s (미래 사용을 위한 예약 )  

Default (미래 사용을 위한 예약 )  

DEFINEDLLFUNC (미래 사용을 위한 예약 )  

EncodeDate (미래 사용을 위한 예약 )  

EncodeTime (미래 사용을 위한 예약 )  

File (미래 사용을 위한 예약 )  

FileAppend (미래 사용을 위한 예약 )  

Find (미래 사용을 위한 예약 )  

FormatDate (미래 사용을 위한 예약 )  

FormatTime (미래 사용을 위한 예약 )  

GetBackGroundColor (미래 사용을 위한 예약 )  

GetBDAccountEquity (미래 사용을 위한 예약 )  

GetBDAccountNetWorth (미래 사용을 위한 예약 )  

GetBDCashBalance (미래 사용을 위한 예약 )  

GetBDDayTradingBuyingPower

(미래 사용을 위한 예약 )  

GetBDOvernightBuyingPower

(미래 사용을 위한 예약 )  

GetBDTradeEquity (미래 사용을 위한 예약 )  

GetCDRomDrive (미래 사용을 위한 예약 )  

GetFundAsBoolean (미래 사용을 위한 예약 )  

GetFundAsString (미래 사용을 위한 예약 )  

GetFundData (미래 사용을 위한 예약 )  

GetFundPostDate (미래 사용을 위한 예약 )  

GetLastFundDataError (미래 사용을 위한 예약 )  

GetPlotBGColor (미래 사용을 위한 예약 )  

GetPlotColor (미래 사용을 위한 예약 )  

GetPlotWidth (미래 사용을 위한 예약 )  

GetRTDaytradingBuyingPower

(미래 사용을 위한 예약 )  

Page 195: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

GetRTOvernightBuyingPower (미래 사용을 위한 예약 )  

GetRTPurchasingPower (미래 사용을 위한 예약 )  

GetScreenName (미래 사용을 위한 예약 )  

Gr_Rate_P_EPS (미래 사용을 위한 예약 )  

GradientColor (미래 사용을 위한 예약 )  

HistFundExists (미래 사용을 위한 예약 )  

HoursFromDateTime (미래 사용을 위한 예약 )  

IsFundDataAvailable (미래 사용을 위한 예약 )  

IsValidFundField (미래 사용을 위한 예약 )  

IVolatility (미래 사용을 위한 예약 )  

Last_Split_Date (미래 사용을 위한 예약 )  

Last_Split_Fact (미래 사용을 위한 예약 )  

LastTradingDate (미래 사용을 위한 예약 )  

LegacyColorValue (미래 사용을 위한 예약 )  

LiveDate (미래 사용을 위한 예약 )  

LiveTime (미래 사용을 위한 예약 )  

MakeNewMovieRef (미래 사용을 위한 예약 )  

MonthFromDateTime (미래 사용을 위한 예약 )  

OPTION (미래 사용을 위한 예약 )  

OPTIONTYPE (미래 사용을 위한 예약 )  

Over (미래 사용을 위한 예약 )  

PM_GetCellValue (미래 사용을 위한 예약 )  

PM_GetNumColumns (미래 사용을 위한 예약 )  

PM_GetRowHeight (미래 사용을 위한 예약 )  

PM_High (미래 사용을 위한 예약 )  

PM_Low (미래 사용을 위한 예약 )  

PM_SetCellValue (미래 사용을 위한 예약 )  

PM_SetHigh (미래 사용을 위한 예약 )  

PM_SetLow (미래 사용을 위한 예약 )  

PM_SetNumColumns (미래 사용을 위한 예약 )  

PM_SetRowHeight (미래 사용을 위한 예약 )  

Points -> 이 줄 삭제 (미래 사용을 위한 예약 )  

PUT (미래 사용을 위한 예약 )  

q_AskExchange (미래 사용을 위한 예약 )  

q_AskSize (미래 사용을 위한 예약 )  

Page 196: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

q_Bid (미래 사용을 위한 예약 )  

q_BidExchange (미래 사용을 위한 예약 )  

q_BidSize (미래 사용을 위한 예약 )  

q_Date (미래 사용을 위한 예약 )  

q_DateLastAsk (미래 사용을 위한 예약 )  

q_DateLastBid (미래 사용을 위한 예약 )  

q_DateLastTrade (미래 사용을 위한 예약 )  

q_DownVolume (미래 사용을 위한 예약 )  

q_ExchangeListed (미래 사용을 위한 예약 )  

q_ExpirationDate (미래 사용을 위한 예약 )  

q_Last (미래 사용을 위한 예약 )  

q_LastTradingDate (미래 사용을 위한 예약 )  

q_Margin (미래 사용을 위한 예약 )  

q_MinutesDelayed (미래 사용을 위한 예약 )  

q_NewsCount (미래 사용을 위한 예약 )  

q_OpenInterest (미래 사용을 위한 예약 )  

q_OptionType (미래 사용을 위한 예약 )  

q_PreviousClose (미래 사용을 위한 예약 )  

q_PreviousDate (미래 사용을 위한 예약 )  

q_PreviousOpenInterest (미래 사용을 위한 예약 )  

q_PreviousTime (미래 사용을 위한 예약 )  

q_StrikePrice (미래 사용을 위한 예약 )  

q_Time (미래 사용을 위한 예약 )  

q_TimeLastAsk (미래 사용을 위한 예약 )  

q_TimeLastBid (미래 사용을 위한 예약 )  

q_TimeLastTrade (미래 사용을 위한 예약 )  

q_TotalVolume (미래 사용을 위한 예약 )  

q_TradeVolume (미래 사용을 위한 예약 )  

q_UnchangedVolume (미래 사용을 위한 예약 )  

q_UpVolume (미래 사용을 위한 예약 )  

q_Yield (미래 사용을 위한 예약 )  

SecondsFromDateTime (미래 사용을 위한 예약 )  

Sess1EndTime (미래 사용을 위한 예약 )  

Sess1FirstBarTime (미래 사용을 위한 예약 )  

Sess1StartTime (미래 사용을 위한 예약 )  

Page 197: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Sess2EndTime (미래 사용을 위한 예약 )  

Sess2FirstBarTime (미래 사용을 위한 예약 )  

Sess2StartTime (미래 사용을 위한 예약 )  

SessionCount (미래 사용을 위한 예약 )  

SessionCountDay (미래 사용을 위한 예약 )  

SessionCountMS (미래 사용을 위한 예약 )  

SessionEndDay (미래 사용을 위한 예약 )  

SessionEndDayMS (미래 사용을 위한 예약 )  

SessionEndTime (미래 사용을 위한 예약 )  

SessionEndTimeMS (미래 사용을 위한 예약 )  

SessionStartDay (미래 사용을 위한 예약 )  

SessionStartDayMS (미래 사용을 위한 예약 )  

SessionStartTime (미래 사용을 위한 예약 )  

SessionStartTimeMS (미래 사용을 위한 예약 )  

Share (미래 사용을 위한 예약 )  

Shares (미래 사용을 위한 예약 )  

SymbolRoot (미래 사용을 위한 예약 )  

Today (미래 사용을 위한 예약 )  

Tomorrow (미래 사용을 위한 예약 )  

Total (미래 사용을 위한 예약 )  

UnionSess1EndTime (미래 사용을 위한 예약 )  

UnionSess1FirstBar (미래 사용을 위한 예약 )  

UnionSess1StartTime (미래 사용을 위한 예약 )  

UnionSess2EndTime (미래 사용을 위한 예약 )  

UnionSess2FirstBar (미래 사용을 위한 예약 )  

UnionSess2StartTime (미래 사용을 위한 예약 )  

YearFromDateTime (미래 사용을 위한 예약 )  

Short (미래 사용을 위한 예약 )  

Limit (미래 사용을 위한 예약 )  

Market (미래 사용을 위한 예약 )  

Stop (미래 사용을 위한 예약 )  

다) 색상예약어

다음은 Signal Language Editor에서 사용할 수 있는 색상예약어 목록입니다.색상명 색상 RGB 색상명 색상 RGB

Page 198: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Black 0,0, 0 Green 0,255,0Blue 0, 0,255 Lblue 192,217,217Bwhite 255,255,2

55Lcyan 224,255,255

Cyan 0,255,255 Lgreen 144,238,144DarkBlue 0, 0,139 LightGray 168,168,168DarkBrown 92,64,51 Lmagenta 168,0,168DarkCyan 0,139,139 Lyellow 255,255,224DarkGray 169,169,1

69Magenta 255,0,255

DarkGreen 47,79,47 Pink 188,143,143DarkMagenta

139,0,139 Red 255,0,0

DarkRed 139,0,0 White 255,255,255Gray 192,192,1

92Yellow 255,255,0

11) 선언과 제어에 관한 예약어

가) 개요

선언과 제어는 앞에서 설명했던 외부변수, 내부변수, 배열 등의 선언과 For문, If문, While문 등과

같은제어에 관한 예약어를 정리한 것입니다.

나) 선언과 제어 현황

다음은 Signal Language Editor에서 사용되는 선언과 제어에 관한 현황입니다. 자세한 사용법이나

내용은 앞에서 설명한 제어문, 반복문 등을 참고하시면 됩니다.

① 제공중인 선언과 제어 예약어

명칭 간략설명 사용예

Array 한 개의 배열선언, 복수개도 무방 Array : SwingLow[3](0)

Arrays 복수개의 배열선언Arrays : SwingLow[3](0), SwingHigh[5](0)

Begin 제어문의 시작, If, While 문에서 사용 if condi1 then buy();

Bool 함수의 사용에서 input 변수의 논리형 데이터 input : param1(Bool);

BoolArr 함수의 사용에서 input 변수의 논리형 Arrayinput : param1[a2,a3](BoolArr);

Page 199: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

BoolArrRef 함수의 사용에서 input 변수의 논리형 참조

Arrayinput : param1[a2,a3](BoolArrRef);

BoolRef 함수의 사용에서 input 변수의 논리형 참조

데이터input : param1(BoolRef);

BoolSeries 함수의 사용에서 input 변수의 논리형 시리즈

데이터input : param1(BoolSeries);

BoolSimple 함수의 사용에서 input 변수의 논리형 단순

데이터input : param1(BoolSimple);

Down For 문을 반복수행시 감소하는 최종값을 의미For V1 = 10 Down 0 Begin ~ End

DownTo For 문을 반복수행시 감소하는 최종값을 의미For V1 = 10 DownTo 0 Begin ~ End

Else If 제어문의 예외조건 처리If ( O < C ) Then V1 = 1 Else V1 = 2;

End 제어문의 종료, If ~ Then Begin ~ End  

For 지정한 회수 동안 반복해서 문장을 수행For V1 = 0 To 10 Begin ~ End;

If If 조건문 if O < C then Buy;

Input한 개의 외부변수를 선언, 복수개도 무방

Param 과 동일Input : ShortLength(20)

Inputs한 개의 외부변수를 선언, 복수개도 무방

Params 와 동일Inputs : ShortLength(20)

Num 함수의 사용에서 input 변수의 숫자형 데이터 input : param1(Num);

NumArr 함수의 사용에서 input 변수의 숫자형 Arrayinput : param1[a2,a3](NumArr);

NumArrRef 함수의 사용에서 input 변수의 숫자형 참조

Arrayinput : param1[a2,a3](NumArrRef);

NumRef 함수의 사용에서 input 변수의 숫자형 참조

데이터input : param1(NumRef);

NumSeries 함수의 사용에서 input 변수의 숫자형 시리즈

데이터input : param1(NumSeries);

NumSimple 함수의 사용에서 input 변수의 숫자형 단순

데이터input : param1(NumSimple);

Param한 개의 외부변수를 선언, 복수개도 무방

Input 과 동일Param : ShortLength(20)

Page 200: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Params한 개의 외부변수를 선언, 복수개도 무방

Inputs 와 동일Params : ShortLength(20)

Parameter복수개의 외부변수를 선언

Input 과 동일Parameter : LongLength(200)

Parameters 복수개의 외부변수를 선언

Inpus 와 동일

Parameters : LongLength(200)

step for 문에서 증가치를 지정한다

for cnt = 0 to 10 step 2beginend;

String 문자형 데이터 input : param1(String);

StringArr 문자형 Arrayinput : param1[a2,a3](StringArr);

StringArrRef 문자형 참조 Arrayinput : param1[a2,a3](StringArrRef);

StringRef 문자형 참조 데이터 input : param1(StringRef);StringSeries 문자형 시리즈 데이터 input : param1(StringSeries);StringSimple 문자형 단순 데이터 input : param1(StringSimple);Then If 조건문에서 조건만족시 수행할 문장을 정의 If ( O < C ) Then V1 = 1To For 문을 반복수행시 증가하는 최종값을 의미 For cnt = 0 To 20TrueFalse 함수의 사용에서 input 변수의 논리형 데이터 input : param1(TrueFalse);

TrueFalseArr 함수의 사용에서 input 변수의 논리형 Arrayinput : param1[a2,a3](TrueFalseArr);

TrueFalseArrRef함수의 사용에서 input 변수의 논리형 참조

Arrayinput : param1[a2,a3](TrueFalseArrRef);

TrueFalseRef 함수의 사용에서 input 변수의 논리형 참조

데이터input : param1(TrueFalseRef);

TrueFalseSeries 함수의 사용에서 input 변수의 논리형 시리즈

데이터

input : param1(TrueFalseSeries);

TrueFalseSimple

함수의 사용에서 input 변수의 논리형 단순

데이터

input : param1(TrueFalseSimple);

Up For 문에서 값이 증가한다는 의미for cnt = 0 Up 10// cnt 가 0 부터 10까지 증가

UpTo For 문에서 값이 증가한다는 의미for cnt = 0 UpTo 10// cnt 가 0 부터 10까지 증가

Var 한 개의 내부변수 선언, 복수개 선언도 무방 Var : V1(0)

Page 201: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Variable 한 개의 내부변수 선언, 복수개 선언도 무방 Variable : V1(0)Variables 복수개의 내부변수 선언 Variables : V1(0), V2(0)Vars 복수개의 내부변수 선언 Vars : V1(0), V2(0)While While 제어문 While Condition1 Begin ~ End

② 미래사용을 위해 예약중인 선언과 제어

명칭 간략설명 사용예

Ago (미래 사용을 위한 예약 )  

Next (미래 사용을 위한 예약 )  

Repeat

(미래 사용을 위한 예약 )  

return (미래 사용을 위한 예약 )  

switch (미래 사용을 위한 예약 )  

This (미래 사용을 위한 예약 )  

Under (미래 사용을 위한 예약 )  

Until (미래 사용을 위한 예약 )  

5. Signal Language 인사이드( inside )

Page 202: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

가. 주문 및 신호관련 상세내용

1) 신호처리순서

시스템트레이딩의 매매신호는 한 개의 봉에서 하나의 매매신호만 발생하는 것이 아니라, 하나의 봉에서

다양한 주문타입을 가진 여러가지의 신호들이 대량으로 동시에 발생할 수도 있을 것입니다. 이런 경우 어떤

매매신호를 먼저 처리해야 하는지를 결정하는 것이 신호처리순서 입니다. Signal Maker에서는 다음과 같은

기준에 따라 동시에 발생된 다수의 신호를 우선순위에 따라 처리합니다.

예제1)예제1에서는 동일한 주문타입(OnClose)에서 다음과 같은 신호들이 동시에 발생된 경우를 예를 들어

설명하고 예제2에서는 보다 복잡한 케이스를 예로 들어 설명합니다.

if CB = 4 then ExitShort("SX1", OnClose, 0, "", 1);if CB = 4 then ExitLong("LX4", OnClose, 0, "", 1);if CB = 4 then Buy("SE_CURR", OnClose, 0, 1);

< Signal Maker 신호처리 우선순서>1) 단계1 : 주문타입별로 그룹화

1순위 : OnClose2순위 : AtMarket 3순위 : AtStop = AtLimit (동일순위)

2) 단계2 : 동일 그룹내에서 다음과 같은 기준에 따라 우선순위 부여1순위 : 반대포지션 진입신호2순위 : 현재 포지션 재진입신호 = 현재포지션 청산신호

3) 단계1, 2가 동일할 경우 먼저 발생된 신호를 우선처리현재 매수포지션 상태이므로 동시에 발생된 신호리스트에서 가장 먼저 나타나는 “매도진입”이 우선처리됩니다.

if CB = 4 then Sell("SE2", OnClose, 0, 1);

if CB = 4 then Buy("LE3", OnClose, 0, 1);

if CB = 4 then ExitLong("LX4", OnClose, 0, "", 1);if CB = 4 then Buy("LE5", OnClose, 0, 1);

신호명 신호순서SE_CURR 매수포지션상태SE2 매수청산

매도진입LE3 매도청산

매수진입LX4 매수청산LE5 매수진입

Page 203: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

if CB = 4 then Sell("SE2", OnClose, Close, 1);

예제2)if CB = 4 then ExitShort("SX1", OnClose, 0, "", 1);if CB = 4 then Sell("SE2", AtLimit, Close, 1);if CB = 4 then Buy("LE3", AtMarket, 0, 1);if CB = 4 then ExitLong("LX4", AtStop, Close, "", 1);if CB = 4 then Buy("LE5", AtMarket, 0, 1);

if CB = 4 then Sell("SE6", OnClose, 0, 1);if CB = 4 then ExitShort("SX7", AtStop, Close, "", 1);if CB = 4 then ExitLong("LX8", Onclose, 0, "", 1);

Page 204: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

if CB = 4 then Buy("LE9", AtStop, Close, 1);if CB = 4 then Sell("SE10", AtMarket, 0, 1);if CB = 4 then ExitLong("LX11", Onclose, 0, "", 1);if CB = 4 then Buy("LE12", AtStop, Close, 1);

if CB = 4 then ExitShort("SX13", AtMarket, 0, "", 1);if CB = 4 then Sell("SE14", Onclose, 0, 1);if CB = 4 then ExitLong("LX15", AtStop, Close, "", 1);if CB = 4 then Buy("LE16", Onclose, 0, 1);if CB = 4 then ExitLong("LX17", AtMarket, 0, "", 1);if CB = 4 then Buy("LE18", AtStop, Close, 1);if CB = 4 then Sell("SE19", AtMarket, 0, 1);if CB = 4 then Sell("SE20", Onclose, 0, 1);

▶ 단계1 : 신호타입별로 그룹화

한 봉에서 동시에 발생된 신호는 OnClose, AtMarket, AtStop, AtLimit에 따라 그룹화해서 우선순위를

부여합니다. 이렇게 한 봉에 여러 개의 주문타입별 신호가 발생되었을 때 다음과 같이 그룹화 합니다.

< 1순위 그룹 >if CB = 4 then ExitShort("SX1", OnClose, 0, "", 1);if CB = 4 then Sell("SE6", OnClose, 0, 1);if CB = 4 then ExitLong("LX8", Onclose, 0, "", 1);if CB = 4 then ExitLong("LX11", Onclose, 0, "", 1);

if CB = 4 then Sell("SE14", Onclose, 0, 1);if CB = 4 then Buy("LE16", Onclose, 0, 1);if CB = 4 then Sell("SE20", Onclose, 0, 1);

< 2순위 그룹 >if CB = 4 then Buy("LE3", AtMarket, 0, 1);if CB = 4 then Buy("LE5", AtMarket, 0, 1);if CB = 4 then Sell("SE10", AtMarket, 0, 1);if CB = 4 then ExitShort("SX13", AtMarket, 0, "", 1);if CB = 4 then ExitLong("LX17", AtMarket, 0, "", 1);if CB = 4 then Sell("SE19", AtMarket, 0, 1);

< 3순위 그룹 >if CB = 4 then Sell("SE2", AtLimit, Close, 1);if CB = 4 then ExitLong("LX4", AtStop, Close, "", 1);if CB = 4 then ExitShort("SX7", AtStop, Close, "", 1);if CB = 4 then Buy("LE9", AtStop, Close, 1);if CB = 4 then Buy("LE12", AtStop, Close, 1);

if CB = 4 then ExitLong("LX15", AtStop, Close, "", 1);if CB = 4 then Buy("LE18", AtStop, Close, 1);

Page 205: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▶ 단계2 : 보유포지션에 따라 우선순위 결정

1순위 : 반대포지션 진입신호

2순위 : 현재 포지션 재진입신호 = 현재포지션 청산신호

예) - 무표지션 상태일 경우 : 매수진입, 매도진입중에 스크립트에서 먼저 서술된 주문이 우선처리되며, 처음

매수진입 혹은 매도진입한 후 남은 신호에 대해 우선순위를 결정합니다.

- 매도포지션 상태일 경우 : 반대포지션 진입이 우선하므로 매수진입이 있으면 최우선 처리됩니다. 이후

매도진입과 매도청산신호는 동일 순위이므로 먼저 나온 것이 먼저 처리됩니다. 일단, 하나의 신호가

Page 206: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

처리되고 나면 나머지 신호들에 대해 우선순위를 다시 결정합니다.- 매수포지션 상태일 경우 : 매도진입이 있으면 최우선 처리됩니다. 이후 매수진입과 매수청산신호는 동일

순위이므로 먼저 나온 것이 먼저 처리됩니다. 일단, 하나의 신호가 처리되고 나면 나머지 신호들에 대해

우선순위를 다시 결정합니다.▶ 단계3 : 단계1, 2가 동일일 경우 먼저 발생된 신호를 우선하여 처리

위의 기준에 따라 처리되는 순서를 보면 다음과 같습니다.

< 1순위 그룹 내에서의 처리 >현재 매수포지션 상태 < 1순위 그룹내에서 처리되는 순서 >if CB = 4 then Sell("SE6", OnClose, 0, 1);if CB = 4 then Buy("LE16", Onclose, 0, 1);if CB = 4 then Sell("SE14", Onclose, 0, 1);if CB = 4 then ExitShort("SX1", OnClose, 0, "", 1);if CB = 4 then Sell("SE20", Onclose, 0, 1);

< 1순위 그룹내에서 무시되는 신호 >if CB = 4 then ExitLong("LX8", Onclose, 0, "", 1);if CB = 4 then ExitLong("LX11", Onclose, 0, "", 1);

< 2순위 그룹 내에서의 처리 >현재 매도포지션 상태

< 2순위 그룹 >if CB = 4 then Buy("LE3", AtMarket, 0, 1);if CB = 4 then Sell("SE10", AtMarket, 0, 1);if CB = 4 then Buy("LE5", AtMarket, 0, 1);if CB = 4 then Sell("SE19", AtMarket, 0, 1);if CB = 4 then ExitShort("SX13", AtMarket, 0, "", 1);

< 2순위 그룹내에서 무시되는 신호 >if CB = 4 then ExitLong("LX17", AtMarket, 0, "", 1);

< 3순위 그룹 내에서의 처리 >현재 무포지션 상태

if CB = 4 then Sell("SE2", AtLimit, Close, 1);if CB = 4 then Buy("LE9", AtStop, Close, 1);if CB = 4 then ExitLong("LX4", AtStop, Close, "", 1);if CB = 4 then Buy("LE12", AtStop, Close, 1);if CB = 4 then ExitLong("LX15", AtStop, Close, "", 1);if CB = 4 then Buy("LE18", AtStop, Close, 1);

< 3순위 그룹내에서 무시되는 신호 >if CB = 4 then ExitShort("SX7", AtStop, Close, "", 1);

< 1순위 OnClose 그룹 처리순서 >

Page 207: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

1순위 처리순서

< 2순위 AtMarket, AtStop, AtLimit 그룹 처리순서 >

Page 208: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

※ 신호 우선순위 처리에 따른 유의사항

- 우선순위를 결정할 때 주식과 선물옵션의 상품구분은 고려하지 않습니다. 즉, 주식이라고 해서 우선순위

결정시 매도진입을 뺀 상태에서 나머지 순위를 고려하지는 않으며, 선물옵션과 동일한 기준에 따라 순위를

결정합니다. 다만, 주식이기 때문에 매도진입시 실제 주문처리에서는 걸러지게 됩니다.

- 중복진입 여부의 배제 : 우선순위 결정시 중복진입 허용여부는 순위결정에 어떠한 영향도 미치지 않습니다. 일단 기준에 따라 우선순위가 결정되면 이후 주문처리 과정에서 중복진입 허용여부에 따라 신호를

처리할것인지 스킵할 것인지를 결정하게 됩니다.

2순위 처리순서

Page 209: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

2) 동기화(Sync)와 비동기화(Async)의 차이

시스템트레이딩에서 동기화와 비동기화의 차이는 전략을 차트에 적용한 후 시세의 변동에 따라 시그널이

발생할 때 실제 주문을 어느 시기에 전송하느냐의 방법론에 관한 것입니다. 동기화의 경우에는 주문을

전송한 후 체결이든 거부든 그 주문에 대한 확실한 응답을 받고 나서 다음 시그널의 주문전송을 결정하는

방식인데 반해, 비동기화는 시그널이 발생하면 무조건 앞의 주문이 체결되었든 아니든 그냥 주문을 전송하는

것입니다. 따라서 비동기화의 문제는 계좌잔고와 전략잔고가 불일치하는 경우가 발생할 수 있기 때문에 항상

유의해서 수작업으로 잔고를 관리해야 합니다.주문을 동기화로 처리할 것인지 혹은 비동기화로 처리할 것인지에 대한 사항은 전략 스크립트에서 하는

것이 아니라 시뮬레이션 전략차트에 있는 다음과 같은 [주문설정] 창에서 선택해 줍니다.

가) 동기화(Sync)▶ 기본원칙

앞선 주문이 완료되지 않았다면 완료될 때 까지 기다렸다가 완료되고 나면 비로소 다음 주문을 처리하는

방식이며, 주문의 완료에는 체결, 거부, 에러 등으로써 거래소로부터 해당 주문에 대해 종결되었다는

Page 210: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

메시지를 받아야만 다음 주문이 처리됩니다.

▶ 차트표시

동기화의 경우에는 주문이 전송된 후 체결되어야만 차트에 표시가 됩니다. 만일 주문을 전송한 후 미체결

상태로 계속 있다면 차트에 표시되지 않으며, 거부나 에러가 발생했을 경우에도 체결이 아니므로 차트에

표시되지 않습니다.즉, 차트에 표시되는 경우에는 반드시 체결되었을 경우에 한하며 차트의 표시위치도 실제 해당 체결가에

나타납니다. 만일 시그널이 발생해서 10계약이 한꺼번에 주문이 나갔는데 제각각 다른 가격으로 분할되어

체결되어 들어왔다면 해당봉에서 평균체결가의 위치에 작은 화살표가 나타납니다.

▶ 동기화의 유의사항

동기화로 설정한 후 시스템트레이딩을 수행할 때 유의해야 할 사항은 우선 앞선 주문에 대해 종결처리가

되지 않으면 계속해서 기다려야 한다는 점입니다. 즉, 앞선 주문이 체결되거나 거부, 에러 등으로 마무리가

되지 않았다면 이후 후속주문이 나갈 수가 없게 됩니다. 여기에서 후속주문이란 강제청산 등과 같이

돌발상황이 발생했을 경우입니다. 앞선 주문이 어떠한 문제로 완료되지 못했다면 이후의 주문에 대해서는

처리가 될 수 없기 때문에 주문적체가 발생할 수 있게 됩니다.이런 경우에는 모니터링을 통해 수작업으로 조치를 취해 주어야만 합니다.

▶ 동기화(Sync)에서 정정, 취소의 처리

동기화 주문에서 정정이나 취소는 사용자 설정에 의한 경우와 사용자 설정과 관계없이 시스템 내부적으로

자동정정, 자동취소 되는 경우로 나누어서 생각해 볼 수 있습니다.

사용자 설정에 의한 정정/취소의 처리

사용자가 차트에 전략을 적용한 후 [주문설정]창에서 동기화일 경우의 정정에 대한 방식을 선택할 수

있는데 다음과 같습니다.

- 진입주문전송 : 신규진입 신호에 대한 정정주문입니다. 위의 그림에서 설정된 내용은 진입주문 전송

후 10초 뒤 해당 주문에 대해 체결여부를 체크하여 미체결시 상대5호가 주문으로 정정하라는

의미입니다. 여기에서 정정 반복회수를 지정해 주지 않았으므로 정정주문은 확실히 체결될 수 있는

가격으로 설정해 주는 것이 좋습니다.

Page 211: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- 청산주문전송 : 청산주문에 대한 전송을 설정합니다. 이것도 마찬가지로 처음 청산주문을 전송한 후

그 청산주문이 미체결시에 상대5호가로 주문을 정정하게 됩니다.

- 취소에 대한 처리 : 어떠한 조건이 되었을 때 주문취소를 하도록 설정할 수 있는 기능은 없습니다. 따라서 주문취소를 하려면 자동주문 혹은 반자동 주문상태를 중지하고 수작업으로 취소처리해야

합니다.

- 유의사항

사용자 설정에 따라 작동되는 정정주문은 부분체결되고 남은 잔량에 대해서도 작동됩니다.

시스템 자체적으로 자동정정, 자동취소의 처리

- 자동취소 : 어떤 봉에서 매매시그널이 발생되어 주문이 전송되었고 그 봉이 완성될 때까지 체결되지

않았다면 자동취소 주문이 전송됩니다. 이것은 사용자 설정이나 수작업에 의한 취소가 아니라

시스템 내부적으로 자동취소가 이루어지는 것입니다. 이러한 자동취소 기능은 동기화(Sync)일

경우에만 해당되며 비동기화에서는 이렇게 작동하지 않습니다. 이러한 기능이 필요한 이유는 동기화

주문이 앞선 주문이 체결되지 않으면 무한정 기다려야 하고 결과적으로 다음주문이 순차적으로

지연처리되므로 이를 방지하기 위한 차원입니다.

- 자동정정 : 어떤 봉에서 매매시그널이 발생되어 주문이 전송된 후 그 봉이 완성될 때 까지 미체결

상태로 남아 있는 와중에, 다음봉의 시작과 동시에 앞선 주문과 동일한 종류의 주문이 발생되었다면

자동정정이 됩니다. 이러한 상황을 좀더 풀어서 설명하면 다음과 같습니다.

< 자동정정 상황 > 어떤 봉에서 신규 매수주문이 발생되어 주문전송 그 봉이 완성될 때 까지 미체결 상태지속 다음봉이 시작되면서 새로운 신규 매수주문이 발생 일반적인처리방식(2단계 과정)

. 앞선신규 매수주문을 취소

. 새로운신규 매수주문을 전송

만일 위와 같은 처리방식대로 동기화주문을 처리했다면 문제는 없을 것입니다. 다만, 투자자가 효율적으로 매매를 할 수 있었다고 볼 수는 없습니다. 왜냐하면 앞선 주문과 후속주문이 모두 동일하게 신규 매수주문이므로 이때에는 앞선 주문을 단지 정정하면 좀 더 빠르게 주문처리를 할 수 있기 때문입니다.

따라서 위의 2단계 처리방식은 다음과 같이 시스템 자체적으로 1단계로 자동정정 처리됩니다. 자동정정처리방식(1단계 과정)

. 앞선 신규 매수주문을 자동정정

Page 212: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

☞ 자동정정, 자동취소의 예외처리 사항

강제청산 주문에 대해서는 시스템 자체적으로 자동취소, 자동정정이 이루어지지 않습니다. 왜냐하면

강제청산이라는 것은 대부분 다급한 상황이고 반드시 체결되어야만 하기 때문입니다.

◆ “ 자동주문 -> 동기화” 선택시 반드시 동의하고 숙지해야 할 사항

동기화 자동주문을 수행함에 있어서 아래의 내용은 대단히 중요하고 고객의 손익에도 직접적으로 영향을 미칠 수 있습니다. 따라서 세부 내용을 반드시 항목별로 모두 숙지해야 합니다. 일단 고객께서 동기화 자동주

문을 수행하셨다면 그것은 본 매매규칙에 대해 묵시적으로 동의했음을 의미함에 유의하시기 바랍니다.1) 동 기 화 자 동 주 문 : 앞선 주문을 완료해야 다음 주문을 처리하는 방식이며, 앞 주문이 종료되기

전까지 발생되는 주문신호는 무시됩니다.

☞ 주의해야 할 스크립트 작성 예Buy(“LE1”, OnClose, 0, 1);Buy(“LE2”, AtLimit, C, 1);SetStopContract ;SetStopInactivity( 5, 3, PointStop) ;

이 스크립트를 과거데이터로 시뮬레이션 하거나 가상체결시스템을 사용하여 수행해 보면 아무런 문제가 없습니다. 다만 실전 거래에서 체결이 이루어질 때 다음과 같이 ‘LE2’ 진입에 대한 청산주문이 수행되지 못합니다.

LE1 ⓐ 진입 후 3개봉 동안 5Pt 이내로 변동했으므로 4번째 봉 시가가 들어왔을 때 LE1에

대한 청산주문을 수행 5ⓑ 번째 봉 시가가 들어왔을 때 다음과 같이 동시에 주문사항이 발생

- LE1에 대한 신규주문 -> OnClose 주문이므로 이것이 먼저 수행됨- LE2에 대한 청산주문 -> LE1 주문이 완료되지 않았으므로 무시됨.

즉, 이와 같이 스크립트를 작성할 경우 LE2에 대한 청산주문은 항상 수행될 수 없음에 유의해야 합니다.

Page 213: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

2)3)2) 자동정정, 자동취소 기능

사용자 설정과 관계없이 동기화 자동주문에서는 미체결주문에 대해 자동정정, 자동취소가 이루어집니다.

☞ 자동정정, 자동취소가 이루어지는 시점 ⓐ 원칙 : 주문이 전송된 후 다음 봉 시가를 받을 때 까지 미체결 상태이면 취소주문 함. ⓑ 취소예외 : 다음 봉 시가에 앞선 미체결 주문과 동일한 주문이 발생한 경우에는 취소하지

않고 정정주문으로 처리. 즉, 앞선 주문이 매수진입이었는데 다음봉에서도 매수진입이 발생했다면 앞선 주문을 취소하지 않고 가격정정주문을 수행하게 됨.(단, 강제청산 주문 예외)☞ 자동정정, 자동취소 되는 예

※ 예외사항 : SetStoploss, SetProfitTarget 등의 강제청산 주문함수에 의해 발생된 주문의 경우에는 어떠한 경우에도 자동정정, 자동취소가 되지 않고 원주문 그대로 체결될 때 까지 유

지됩니다.

Page 214: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

3) 자동정정, 자동취소 시점

ⓐ 원칙 : 주문이 수행된 봉이 마감되는 시점, 즉 다음봉의 시가를 받는 시점까지 미체결 상태로 있게 되는

주문에 대해 자동정정, 자동취소가 이루어집니다.만일 공교롭게도 봉의 마감 직전에 신규주문이 전송되었는데 바로 체결이 이루어지지 않았다면 곧 바로

해당봉이 마감됨과 동시에 정정되거나 최소주문이 수행될 수 있습니다.

☞ 신규주문 즉시 봉 마감시 자동정정, 자동취소 되는 예

- 30초 단위 봉차트에서 거의 봉 마감이 이루어지는 시점에 신규주문이 전송되어 미체결로 남는 경우 곧 바로 봉이 마감되면서 정정주문 혹은 취소주문이 전송됨에 유의해야 합니다.

Page 215: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

4) 동기화 자동주문에서 주문에러 발생시

동기화 자동주문 시작을 누른 상태에서 에러가 발생하면 주문이 중지되고 “주문중지 안내” 창이 뜹니다. 다만, 앞선 주문과 동일한 가격에 정정주문을 내거나 앞선 주문을 취소하려고 할 때 이미 체결되어 취소할

수량이 없는 경우 등은 계속해서 자동, 반자동 주문이 진행됩니다.

5) 신규진입 주문 후 체결을 기다리는 중에 강제청산 신호가 발생될 경우 처리

신규진입에 대한 체결이 들어오지 않았다면, 강제청산 신호가 발생되었다고 하더라도 청산주문이

수행되지 않고 신규진입 체결을 기다리게 됩니다.

6) 일반 청산주문에 대해서 자동정정, 자동취소가 이루어지는가?일반 청산주문인 ExitLong, ExitShort 등에 의한 청산주문은 자동정정, 자동취소가 이루어지지만 그

이외의 강제청산에 대해서는 자동정정, 자동취소가 이루어지지 않습니다.

7) 동기화(Sync) 반자동 주문의 경우

자동정정, 자동취소 기능이 수행되지 않으며 자동주문의 경우에만 작동합니다.

8) 미체결주문 처리

자동주문을 수행중에 “주문중지” 한 경우 미체결주문은 자동으로 취소되지 않고 미체결 상태로 그대로

있게 되며 고객께서 수작업으로 처리해야 합니다.

9) 잔고와 미체결을 가지고 있는 상태에서 동기화 자동주문을 시작시 처리

HTS, MTS 등과 같이 시그널메이커 이외의 매체를 통해 주문하여 잔고와 미체결을 보유하고 있는

Page 216: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

상태에서 동기화 주문을 수행하면 다음과 같이 처리됩니다.- 기 보유잔고 : 시스템트레이딩을 수행하려는 종목의 잔고를 읽어와서 시그널메이커의 전략차트 맨

마지막봉에 잔고를 표시합니다. 따라서 주문설정창에서 중복진입 허용여부에 의해 영향을 받게

됩니다. 예) 매수잔고를 보유하고 있는 상태에서 중복진입을 허용하지 않는 경우 : 동기화 전략시작 시 기

보유중인 매수잔고가 봉 마지막에 표시되고 이후 매수 진입신호가 발생해도 매수주문이 나가지

않으며, 매수청산이나 매도 진입신호가 나와야 비로소 해당 신호가 처리됩니다.

- 기 보유 미체결내역 : 동기화 자동주문을 시작 시 타 매체에서 낸 미체결내역을 취소할 것인지를

묻게 됩니다. 이때 미체결내역을 취소하지 않으면 동기화 자동주문이 수행되지 않게 됩니다.

- “취소주문 불가” 시간대의 처리 : 싱가폴선물거래소(SGX)에 상장된 종목들의 경우에는 장이 바뀌는

중간 중간에 “취소주문 불가”시간이 있습니다. 이때 동기화 전략을 수행할 때 미체결 내역이 있으면

취소처리를 할 수 없으므로 전략이 수행되지 않습니다. 이때에는 “취소주문 불가”시간을 피해서

전략을 수행해야 합니다.

- 비동기화로 전략을 수행하는 경우에는 위와 같은 영향을 받지 않으며 잔고와 미체결은 무시됩니다.

10)강제청산 후 미체결을 취소하고 다시 강제청산 조건을 체크하는 방법

동기화 자동주문에서 강제청산이 수행된 후에는 일반 청산주문(ExitLong, ExitShort)과 달리 해당 봉이

마감되더라도 자동으로 취소되거나 정정되지 않습니다. 그러므로 강제청산주문이 수행된 후 체결될 수 없는

가격으로 변동되면 계속해서 기다릴 수 밖에 없습니다. 이런 경우에는 [잔][미] 버튼을 클릭해서 [잔고/미체결] 화면을 띄운 다음 [미체결 전부취소]를 클릭해서 강제청산주문을 취소할 수 있습니다. 이후 부터는

다시 강제청산 조건을 체크해서 처리를 하게 됩니다. 단, 비동기화로 전략을 수행하면 잔고와 미체결을

체크하지 않으므로 아무런 영향을 미치지 않습니다.

Page 217: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

11)동기화 주문을 수행 중 외부주문이 발생시 처리

동기화 주문은 고객계좌의 잔고와 시그널메이커에서 신호에 따라 수행되는 전략잔고를 일치시키면서

처리되는 방식입니다. 따라서 동기화 전략이 수행중에 HTS, MTS 등으로 외부주문을 발생시키면 잔고가

불일치 할 수 있기 때문에 부득이 전략이 중지됩니다. 이때 “전략중지 안내창”이 떠서 상황을 안내해 줍니다. 다만, 비동기화로 수행하면 외부주문으로 영향을 받지 않습니다.

12)동기화 주문을 복수개로 수행할 수 있는가? 여러 개의 차트에 동일한 종목을 차트에 그려놓고 동기화 주문을 동시에 수행할 수는 없습니다. 다만 각각

다른 종목으로 수행하면 제약을 받지 않습니다. 또한 비동기화로 수행하면 제약이 없습니다.

나) 비동기화(ASync)▶ 기본원칙

비동기화는 시그널이 발생되어 주문이 나갔을 때 그 주문이 체결되었든 혹은 취소가 되었든 신경쓰지 않고

다음 주문을 처리합니다. 즉, 신호와 주문이 별개로 처리되는 형태이며 동기화에서의 적체가 없는 대신에

Page 218: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

전략잔고와 주문잔고가 불일치할 가능성이 매우 높습니다.

▶ 차트표시

비동기화의 경우에는 신호가 발생하면 주문과 관계없이 신호가격으로 차트에 표시합니다. 만일 주문이

체결되지 못했거나 취소되었다고 하더라도 차트에는 신호가 표시되므로 불일치가 발생할 수 있습니다.

▶ 비동기화의 유의사항

비동기화로 설정한 후 시스템트레이딩을 수행할 때 유의해야 할 사항은 우선 전략잔고와 계좌잔고가

불일치하는 것을 적절히 관리해줘야 하는 것입니다. 예를 들어 매수시그널이 발생되어 차트에는

매수되었다고 표시했는데 실제 주문이 나가지 않아 매수잔고가 없었다면 불일치하게 되는 것입니다. 따라서 신호발생 후 즉시 체결될 수 있는 가격으로 주문을 전송하는 것이 무척 중요합니다. 이 경우 반드시

체결시켜주기 위해 시장가주문을 종종 사용하는데 시장가 주문은 많은 증거금이 필요하고 또 자칫 아주

불리한 가격에 체결될 수도 있으므로 상대3~5호가 정도의 가격으로 주문내는 것도 고려해 볼 필요가

있습니다.

▶ 비동기화(Sync)에서 정정주문의 처리

비동기화 방식에서 정정주문은 사용자 설정에 의한 경우에 한정합니다. 즉, 시스템에서 자동으로

정정주문과 같은 행위가 비동기화 상황에서는 일어나지 않습니다.

사용자 설정에 의한 정정 주문의 처리

사용자가 차트에 전략을 적용한 후 [주문설정]창에서 비동기화일 경우의 정정에 대한 방식을 선택할 수

있습니다.

비동기화 방식은 주문전송 후 체결여부를 체크하지 않기 때문에 정정주문시에도 단순히 주문 후

일정시간을 기다렸다가 지정한 가격으로 정정주문을 내게 됩니다. 위의 예에서는 주문전송 후 10초가

Page 219: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

경과한 후 체결되었든 미체결되었든 무조건 상대3호가로 정정주문을 2회 반복해서 내게 됩니다. 만일

체결된 주문을 정정하게 되면 에러가 발생하게 됩니다.

시스템에 의한 자동정정

비동기화 방식에서 자동정정의 기능은 지원하지 않습니다.

▶ 비동기화(Sync)에서 거부시 재주문의 처리

비동기화 방식에서 거부신호 사유가 “증거금 부족”인 경우에는 지정한 시간 가격으로 지정회수 만큼

반복으로 주문을 실행합니다. 이것은 신호와 주문이 별개로 처리되는 특성에서 기인하는 문제이기 때문에

이와 같은 기능을 제공합니다.예)- 선물 1계약을 거래할 수 있는 금액을 가진 선물옵션 계좌가 있을 경우

- 매수주문이 발생함과 동시에 매도주문이 발생했을 때 : : 정상적인 상황 : 매수주문시 증거금 1계약이 요구되고, 이후 매도주문은 청산주문이므로 별도로

증거금을 요구하지 않아 원활하게 주문이 처리됩니다.

: 거의 동시에 발생시 : 매수주문이 완료처리되지 않은 상태에서 매도주문이 잇달아 나가면 2계약의

증거금을 요구하여 “증거금부족” 에러가 발생합니다. 이런 경우 후속주문인 매도주문을 일정시간이 경과한

후 반복해서 주문을 내게되어 원활하게 주문처리가 됩니다.

3) 주문가격의 결정

신호가 발생되면 비동기화 방식에서는 신호가격을 차트에 표시하지만 동기화 방식에서는 실제 체결된

가격을 차트에 표시합니다. 그러나 비동기화 방식이든 동기화 방식이든 신호가 발생되면 주문가격을

사용자가 원하는 가격에 설정해서 낼 수 있습니다. 이렇게 사용자가 주문가격을 설정해서 내려면 다음과

같이 [주문설정]창에서 지정해 주면 됩니다.

가) 진입가격

진입가격은 그림에서 볼 수 있는 것 처럼 주문타입에 따라 제각각 설정해 줄 수 있습니다. 위의 예에서는

Page 220: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

OnClose 주문의 경우 시장가로 설정했으며 AtLimit 주문의 경우에는 신호가격으로 설정했습니다.또한

AtMarket 주문의 경우에는 매수진입의 경우 현재가에서 5틱 낮은 가격에 주문을 내며, 매도진입의 경우에는

5틱 높게 주문을 냅니다. 이와같이 신호가 발생해서 주문이 전송될 때 실제 주문이 전송되는 가격은 여기에서

설정한 가격이 됩니다.

※ 비동기화 방식에서 유의사항

비동기화 방식은 주문이 전송된 후 체결되었는지 여부를 확인하지 않고 차트에 표시됩니다. 이때 주문가격을

체결될 수 없는 가격으로 설정한 경우 전략잔고와 실제잔고가 일치하지 않을 확률이 대단히 높아지므로

유의해야 합니다.

나) 청산가격

청산은 ExitLong, ExitShort 함수를 사용하여 청산될 때 주문가격을 지정하는 것입니다. 위에서 OnClose주문의 경우에는 “현재가-5틱”으로 매도청산을 지정했으며 이런 경우에는 낮은 가격으로 매수주문이 나가는

것이므로 신속하게 체결되지 않습니다.다) 강제청산

강제청산 함수에 의해 포지션이 강제로 청산되는 경우이며 매도주문인지 매수주문인지는 잔고에 따라

달라집니다. 강제청산시의 주문가격은 위의 그림에서 하단에 별도로 선택할 수 있도록 되어 있으며 “시장가”

로 지정되어 있음을 볼 수 있습니다.

라) 알람설정

주문이 체결되거나 정정, 취소 등이 발생하면 우측 하단에 알림창이 나타나서 위로 올라갑니다. 이것이

알람기능인데 때에 따라서는 이것이 매매에 방해가 될 수 있으므로 소리로 대체하기를 원할 수도 있습니다. 알람설정은 이런 요구들을 충족시켜 줄 것입니다.

Page 221: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

각각의 wav 파일들을 바꾸고 싶으시면 … 버튼을 클릭해서 바꾸어주면 됩니다. 또한 메시지 창 띄우기 앞의

체크를 풀면 주문체결, 정정, 취소, 주문시작, 종료 등의 이벤트가 발생되도 우측하단에서 알림창이 나타나지

않습니다.

4) 중복진입(Pymiding, 피라미딩)Signal Maker에서는 중복진입의 허용여부를 사용자가 선택할 수 있으며 [주문설정]창의 [가격/수량]탭에서

지정합니다.

가) 중복진입 허용안함

매수 포지션이 있는 상태에서 추가로 매수시그널이 발생하면 처리하지 않고 무시합니다. 다만, 매도시그널이

추가로 발생하면 기존 매수포지션을 청산하고 매도진입을 하게 됩니다.

매도 포지션이 있는 상태에서 추가로 매도시그널이 발생하면 처리하지 않고 무시합니다. 다만, 매수시그널이

추가로 발생하면 기존 매도포지션을 청산하고 매수진입을 하게 됩니다.

나) 다른 진입 신호시만 허용

매수포지션이 있는 상태에서 추가로 매수시그널이 발생할 경우 무조건 거부하는 것이 아니라 앞선

매수포지션과 다른 진입신호가 있다면 그것은 허용한다는 것입니다. 다만, 최대 10계약을 넘지 않는

범위내에서 허용됩니다.

Page 222: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

다) 모든 진입신호 허용

최대 동일방향 진입허용 계약수를 넘지 않는다면 어떤 진입신호명이더라도 허용한다는 것입니다. 가장

포괄적인 중복진입 허용전략이라고 볼 수 있습니다.

5) 조건만족시 봉 내(內) 주문(IntraBarOrderGeneration, IOG)

가) IOG 개요

하나의 봉 내에서 조건이 만족되면 주문을 즉시 전송하는 방식을 말하며 각각의 전략 마다 스크립트에서

지정해 줄 수 있습니다. IOG를 False로 세팅하면 [속성]창에서 IOG관련 모든 항목들이 비활성화 처리되며, True로 해야 비로소 각 항목들을 선택할 수 있습니다. 다만, 전략을 차트에 적용한 상태에서 스크립트에

[ IOG = False ]를 [ IOG = True ]로 바꾸었다고 해서 바로 활성화 되지는 않으며 반드시 차트에서 전략을

삭제했다가 다시 차트에 적용해줘야 비로소 활성화되고 IOG가 작동 되므로 유의해야 합니다.

[ IOG = False ]input:

ATRLeng( 5 ),nAtrs( 2 ),NumBars( 5 ) ;

v0 = SignalPosition ;

if v0 = 1 thenbegin

if v0[1] <> 1 thenv1 = EntryPrice + AvgTrueRange( ATRLeng ) * nAtrs ;

if BarsSinceEntry < NumBars thenExitLong ("At - Tgt", AtLimit, v1)

elseExitLong ("At - Trl", AtStop, L);

end ;

이렇게 스크립트를 작성한 후 차트에 적용한 후 [주문설정] => [설정] => [기타속성]을 차례로 누르면

Page 223: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

아래와 같은 IOG 설정이 나옵니다.

스크립트의 서두에 [ IOG = False ]를 언급했기 때문에 IOG 관련 설정내용이 모두 Disable처리된 것을

볼 수 있습니다. 이렇게 전략을 차트에 적용한 상태에서 스크립트를 [ IOG = True ]로 고쳤다고 하더라도

위의 항목들은 enable되지 않으며, 반드시 전략을 삭제한 후 차트에 다시 적용해야 다음과 같이 Enable처리

됩니다.

① 동일한 진출입명을 한번만 허용하는 것으로 제한

하나의 봉에서 조건이 만족되면 여러 번 주문이 나갈 수 있으나 반드시 동일한 진입명이나 진출명은

한번으로 제한한다는 것입니다. 즉, 진입명이나 진출명이 중복되지 않는다면 여러 번 주문이 나갈 수 있는

것입니다.

② 동일 방향의 진출입을 한 개로 제한

하나의 봉에서 매수방향 1개, 매도방향 1개로 제한하는 것입니다. IOG 조건중에서 가장 폐쇄적인

방식이며 진출입명이 달라도 소용이 없습니다.

③ 모든 진출입명과 진출입 회수를 허용 : 최대 30회하나의 봉에서 최대 진입할 수 있는 회수를 넘지 않았다면 어떠한 진입명이나 진출명이더라도 모두

허용한다는 것입니다. 한 봉에서 대량의 주문이 나갈 수 있으므로 특히 유의를 해야 합니다.

※ IOG 관련 유의사항

Page 224: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

- IOG 기능을 이용하려면 반드시 전략 스크립트의 서두에서 [ IOG = True ]를 선언해 주어야 하며, 이후

IOG를 선언한 전략이 이미 차트에 적용되어 있었다면 해당 전략을 삭제한 후 재적용해야 합니다.- IOG 옵션의 설정에 따라 하나의 봉에서 대량의 주문이 나갈 수 있으므로 유의해야 합니다.- IOG를 True로 설정하면 하나의 틱이 하나의 봉으로 간주됩니다. 즉, 틱이 들어오면 그것은 시가, 고가, 저가, 종가가 모두 될 수 있으며, 그에 따라 주문처리가 됩니다.- IOG = True 에서 “Onclose” 처리 : 조건이 만족한 틱에서 즉시 신호가 발생하며 그 틱의 가격이

신호가격이 됩니다.- IOG = True 에서 “AtMarket” 처리 : 조건이 만족한 틱의 다음틱에서 즉시 신호가 발생하며 다음틱의

가격이 신호가격이 됩니다.- IOG = True 에서 “AtStop” 처리 : 조건이 만족한 틱의 다음틱에서 AtStop 가격조건을 만족하면 신호가

발생합니다.- IOG = True 에서 “AtLimit” 처리 : 조건이 만족한 틱의 다음틱에서 AtLimit 가격조건을 만족하면 신호가

발생합니다.

나) TradeStation, MultiCharts와 Signal Maker의 IOG 기능차이

가. IOG = True 에서 “Onclose” 처리

Signal Maker 는 조건이 만족한 tick 에서 즉시 신호가 발생하지만 TS, MC 는 IOG = True 이든

False 이든 동일하게 봉이 완성되는 시점에 한번만 신호가 발생함.구분 IOG =False IOG=True

TS, MC This bar on close(봉 완성시점 )Signal Maker(이하 SM)

This bar on close( 봉 완성시점 )

This tick on close신호 등록과 동시에 신호 생성

나. IOG = True 에서, 신호 등록 및 생성 처리

현재봉에서 지정한 진(출)입 횟수 초과 시, 신호가 발생하지 않는 것은 모두 동일합니다. 이때신호등록은 계속하게 되지만 신호는 회수제한으로 인해 더 이상 생성되지 않습니다. 여기에서

TS, MC와 SignalMaker의 차이점이 있습니다. Signal Maker는 현재봉의 마지막 틱에서

조건만족 시, “신호등록”이 되어 다음 시가에서 신호가 생성되지만 TS, MC는 지정한 진(출)입

횟수 초과 시, 신호 발생 뿐만 아니라 신호등록도 하지 않으므로 결과적으로 다음 시가에서 신호가

생성되지 않게 됩니다.구분 신호 생성 결과 IOG 설정 조건

Page 225: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TS, MC

Signal Maker

다) 기타 TradeStation, MultiCharts와 Signal Maker의 기능차이

① 신호 등록 시작 데이터

구분 신호 등록 시작 데이터

TS, MC CB = 1 의 종가부터 감시(이때부터 신호 등록이 가능)Signal Maker CB = 1 의 시가부터 감시(이때부터 신호 등록이 가능)

② 진입 수량과 청산 수량이 다른 경우

구분 처리방식

< 참고할 스크립트 >

[ IOG = TRUE ]if close > open Then

buy("buy",AtMarket);

if close < open Then ExitLong("exshort",onclose);

Page 226: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TS, MC 수량에 관계 없이 하나의 진입에 대하여 하나의 청산 처리

=> 2개 진입에 대하여 1개 청산 시, 포지션 잔고가 쌓이게 됨

=> 지정한 중복횟수 초과 지점 이후 신호가 발생이 안됨

(신호상으로는 모두 청산이 되어 매수신호가 나올 차례이나

포지션 잔고는 남아있게 되어 중복횟수 초과 조건에 필터링 되어

매수신호가 나올 수 없음)Signal Maker 포지션 잔고 계산 후 청산 처리

=> 포지션 잔고를 계산하므로, 포지션 잔고에 따른 청산신호 발생이

가능

아래 그림 참조

예시 > 환경 진입수량 : 2 / 청산수량 : 1 TS

현재 포지션 잔고: 4

Signal Maker

현재 포지션 잔고: 2

Page 227: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

③ 청산 수량 옵션

구분 수량 옵션 제공

TS, MC XSignal Maker O

④ 포지션 잔고 표시

TS, MC는 신호상태에 의해 현재 잔고를 표시해 주지만 Signal Maker에서는 잔고보다는 진입이나

청산수량을 표시합니다.

⑤ 중복 진입에 대하여 일괄적으로 청산하지만 신호표시는 1개가 아니라 진입별 청산신호의 개수를

모두 표시합니다.(Signal Maker는 TS와 동일하게 처리하지만 MC는 일괄청산인 경우 1개의 신호로 표시)

6) 강제청산주문 시점

강제청산 주문의 경우에는 스크립트에서 강제청산 함수를 사용해서 해당 조건이 만족할 때 포지션의 전부

혹은 진입건별로 청산하는 것입니다. 이때 강제청산 주문을 활성화 하는 시점은 다음과 같이 두가지가

있으며, [설정] -> [속성] -> [기타속성]을 차례로 눌러서 설정할 수 있습니다.

Page 228: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

가) 조건만족시 즉시

봉이 그려지고 있는 중이더라도 강제청산 조건이 만족되면 즉시 청산주문을 전송하는 것입니다. 어떻게

보면 강제청산의 사전적 의미를 가장 충실히 수행하고 있다고 볼 수 있지만, 일시적으로 가격에 의해

포지션이 청산되는 단점도 있을 수 있습니다.

나) 봉 완성 시점

봉이 그려지고 있는 상태에서는 아무리 강제청산 조건을 만족해도 청산되지 않으며, 오로지 봉이 완성된

시점에만 강제청산 조건을 만족해야 청산주문이 수행되는 것입니다. 순간적인 등락에 의해 영향받지 않지만

적시에 강제청산이 수행되지 못함에 따른 손실이 더 커질 수도 있음에 유의해야 합니다.

※ 강제청산 주문시점의 유의사항

- 강제청산주문 시점에 관한 사항은 전략 스크립트에서 서술할 수 없으며 오로지 [속성] 창에서만 지정할

수 있습니다.

- 봉완성 시점에 강제청산되도록 설정했다면 적시에 청산이 되지 못하고 봉이 완성될 때까지 기다려야

함으로 인해 손실이 커질 수도 있습니다.

7) 시뮬레이션에서 봉 가정의 원칙

특정 기간 동안 과거데이터를 이용하여 시뮬레이션을 할 경우 틱 데이터를 모두 가지고 한다면 별 문제가

없겠지만, 보통은 데이터 양의 방대함으로 인해 시, 고, 저, 종의 봉데이터만을 가지고 시뮬레이션을

해야하는 경우가 많을 것입니다. 이런 경우에는 봉 가정의 원칙에 따라 성과분석과 최적화를 하게되며

결과적으로 실제와의 괴리가 발생하게 됩니다. Signal Maker에서는 다음과 같은 원칙에 따라 시뮬레이션의

결과를 도출합니다.

가) 시고저종의 순서

봉으로 제공되는 과거데이터에는 시, 고, 저, 종의 가격만이 존재를 하는데 시가와 종가는 순서에 있어서

불변이지만, 고가와 저가의 경우에는 어떤 가격이 먼저 형성이 되었는가의 문제가 대두됩니다. 즉, 시세가

시, 고, 저, 종의 순서로 들어왔을 수도 있고, 시, 저, 고, 종의 순서로 들어왔을 수도 있는데 과거데이터에는

순서가 기록되지 않아서 다음과 같은 기준에 따라 결정합니다.

순서의 원칙 : 시가와 가까운 가격이 먼저 형성되었다고 가정

시가 다음에 고가가 먼저 형성되었는지 저가가 먼저 형성되었는지를 결정하는 기준은 시가와 가장 가까운

가격이 먼저 형성되었다는 것입니다. 만일 시가와의 차이가 같다면 저가가 고가보다 먼저 형성되었다고

가정합니다.

Page 229: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

예1) 시가 260.0 Pt, 고가 261.0 Pt, 저가 259.5 Pt 일 경우

고가와 시가의 가격차이 = 1.0 Pt저가와 시가의 가격차이 = 0.5 Pt

따라서 시세는 시가, 저가, 고가, 종가의 순서로 형성되었다고 가정합니다.

예2) 시가 260.0 Pt, 고가 261.0 Pt, 저가 259.0 Pt 일 경우

고가와 시가의 가격차이 = 1.0 Pt저가와 시가의 가격차이 = 1.0 Pt

두 개의 가격차이가 1.0 Pt로 동일하며 이런 경우에는 저가가 먼저 형성된 것으로 가정하므로

시뮬레이션시의 시세 순서는 시가, 저가, 고가, 종가의 순서로 처리됩니다.

나) 시뮬레이션에서 체결가의 처리

과거데이터에는 시, 고, 저, 종의 데이터만이 존재하지만 체결가는 반드시 그 4개의 가격에서 체결되지

않을 것입니다. 즉, 시가에서 고가로 가는 와중에 체결될 수도 있고 저가에서 종가로 가는중에도 체결될 수

있는 것입니다. 다음은 그러한 예를 보여줍니다.

예1)if o < c Then buy("b", AtMarket, def, 1) ;SetStopContract; SetStopLoss( 0.5 );

양봉일 때 매수를 하며 손실이 0.5Pt 이상 발생하면 강제청산하는 내용입니다.

Page 230: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

위의 차트에서 좌측의 동그라미 부분 진입가는 262.55Pt이며 0.5Pt 손실이 나면 강제청산이 됩니다. 일단

포지션 진입후 우측의 동그라미 부분의 시세는 그림의 좌측에 나와 있습니다.

강제청산 조건 : 262.55Pt – 0.5Pt = 262.05Pt 이하로 하락시 청산

- 시세 생성순서 : 시가 – 고가 – 저가 – 종가 (고가가 시가에 보다 가까우므로 먼저 형성됨)- 시가가 형성된 경우 : 강제청산 조건을 불만족

- 고가가 형성된 경우 : “- 고가에서 저가로 이동되는 경우 : 고가인 262.15Pt에서 저가인 261.90Pt로 이동하는 중에

강제청산 조건을 만족하며 이때의 강제청산 체결가는 262.05Pt로 결정함.

실제 시장상황에 따라 262.05Pt에 체결되었을 수도 있고 그렇지 않았을 수도 있으며 이것은 실제거래와

시뮬레이션의 괴리를 유발하게 됩니다.

강제청산 체결가

Page 231: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

8) 동기화(Sync) 주문시 추가로 참고할 사항

가) 주문 후 에러발생시 처리

동기화(Sync) 주문에서는 자동, 반자동주문의 구분없이 일단 주문시작을 누른 상태에서 에러가 발생하면

주문이 중지되고 “주문중지 안내” 창이 뜹니다. 다만, 앞선 주문과 동일한 가격에 정정주문을 내거나 앞선

주문을 취소하려고 할 때 이미 체결되어 취소할 수량이 없는 경우 등은 계속해서 자동, 반자동 주문이

진행됩니다.

나) 신규진입 주문 후 체결을 기다리는 중에 강제청산 신호가 발생될 경우 처리

동기화(Sync) 주문의 기본개념이 주문한 건에 대해 체결이 들어와야 다음 주문이 체결되는 개념이기

때문에 신규진입에 대한 체결이 들어오지 않았다면, 강제청산 신호가 발생되었다고 하더라도 청산주문이

수행되지 않고 신규진입 체결을 기다리게 됩니다.

나) 신규진입 주문 전송이 성공되었으나 자동정정될 때 에러가 발생할 경우

원주문이 성공적으로 전송된 상태이므로 그 다음봉에서 조건이 맞으면 계속해서 자동정정이 이루어지게

됩니다.

다) 청산주문에 대해서도 자동정정, 자동취소가 이루어져야 하는가?신규진입주문에 대해서 조건만족봉 다음봉에서 체결이 되지 않으면 자동정정, 자동취소가 이루어지는데

청산주문에 대해서도 마찬가지로 다음봉에서 체결이 이루어지지 않으면 자동으로 정정, 취소주문이

수행됩니다. 단, 강제청산 주문의 경우에는 자동정정, 자동취소가 이루어지지 않습니다.

라) 동기화(Sync) 반자동의 경우

자동정정, 자동취소의 기능이 수행되지 않으며 자동주문의 경우에만 작동합니다.

마) 자동주문을 수행중에 “주문중지” 한 경우 미체결주문은 어떻게 처리하는가?자동, 반자동주문이 수행중에 있을 때 나간 미체결주문에 대해 주문을 중지했다고 해서 취소처리하지는

않고 그냥 미체결 상태로 놔 두게 됩니다. 즉, 이것을 취소하거나 정정하는 것은 철저하게 운영자의 몫으로

남겨 둡니다.

나. 타종목 참조방법

1) 전봉의 데이터 값 참조방법

봉이 시작시점부터 현재까지 쭉 진행되어 왔을 때 현재시점을 기준으로 어느 특정 지점의 값을 읽어와서

비교하거나 연산할 수 있을 것입니다. 예를 들어 일봉차트에서 5일전의 종가를 읽어와서 오늘 종가와 비교를

한다던가 하는 작업들이 해당될 것입니다. 이렇게 앞선 봉의 데이터나 함수, 변수의 값을 읽어올때는 해당

Page 232: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

명칭 뒤에 대괄호[ ]를 붙이고 몇 번째 봉인지를 대괄호 안에 써 주면 됩니다. 다만, 현재봉을 의미할 때 [0]은

생략이 가능합니다.예) - 일봉차트에서 5일전 종가를 읽어올 때 : Close[5]

- 어떤 변수의 5봉전의 값 : Var1[5]- 어떤 함수의 5봉전의 값 : MACD(12, 26, 9)[5]

☞ DayOpen, DayHigh, DayLow, DayClose 함수의 사용시 주의할 사항

위의 함수들은 모두 분봉차트에서 각각 일중의 시, 고, 저, 종가를 가져오는 함수인데 목적에 따라 다음과

같이 정확히 써야 합니다.

- 5일전 시, 고, 저, 종가를 참조하고 싶을 때 : DayOpen(5), DayHigh(5), DayLow(5), DayClose(5)

- 당일의 5봉전 시, 고, 저, 종가를 참조할 때 : Open[5], High[5], Low[5], Close[5]

2) 타종목 참조(Data1, Data2~99)

가) 개요

Signal Maker에서는 차트를 99개 까지 띄우고 각기 다른 데이터를 적용해서 사용할 수 있습니다. 사용자는 전략, 지표 등의 스크립트를 작성시 다음과 같은 방식으로 각 차트의 데이터를 참조할 수 있습니다.

C[0]C[1]

C[2]C[3]

C[4]

C[5]

Page 233: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

99개의 차트중에 주종목이 포함된 첫번째 차트를 Data1이라고 칭하며 두번째 이후의 차트를 Data2~99로

칭하여 읽어올 수 있습니다. 이를 타종목 참조라고 하는데 예를 들어 주종목은 콜옵션1분봉으로 하고

참조종목은 선물1분봉으로 놓을 수도 있을 것입니다. 이런 경우 매매신호는 Data2에 위치한 선물에서

참조하고 실제 주문은 Data1에 위치한 콜옵션을 내는 형태를 생각해 볼 수 있을 것입니다.

- 참조종목 데이터 읽는 방법 : Var1 = Close of Data2 // 두번째 차트의 종가를 읽어와서 Var1에 할당

Var2 = Data3(Close); // 세번째 차트의 종가를 읽어와서 Var2에 할당

나) 타주기, 타종목 참조사례

① 타주기 참조 사용 예

▶ 예제

타주기란 차트의 Data1, Data2에 동일한 종목을 추가하고 주기만 다르게 하여 매매에 활용하는

것입니다. 예를 들어 최근월 지수선물을 주종목(Data1)에 추가하고 1분봉으로 설정합니다. 그 후 차트를

하나 더 추가하여 Data2에도 최근월 지수선물을 선택하고 이번에는 주기를 5분봉으로 설정합니다. 매매는

5분봉이 5분봉 20이평을 상향돌파(골든크로스)하면 주종목인 최근월 지수선물을 매수하는 것입니다.

Page 234: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▶ Charting 방법

- 차트 상단 앞의 돋보기 버튼을 클릭하여 최근월 지수선물을 추가하고 주기를 1분봉으로 설정

- 숫자 2가 있는 종목추가 버튼을 클릭하여 최근월 지수선물을 추가하고 주기를 5분봉으로 설정

▶ 스크립트 작성예

If CrossUp( C of Data2, Ma( C of Data2, 20 ) ) Then // 5분봉 종가가 5분봉 20이평을 상향돌파하면

Buy( “B”, OnClose, Def, 1 ); // 주종목인 최근월 지수선물을 매수

② 타종목 참조 사용 예

▶ 예제

타종목 참조란 주종목과 참조종목을 다르게 구성하는 것이며 참조종목의 주가변동을 이용하여 시그널을

발생시킨 후 실제 주문은 주종목으로 하는 것입니다. 여기에서는 주종목(Data1)에 등가격 풋옵션을

추가하고 참조종목(Data2)에 최근월선물 5분봉을 배치합니다. 참조종목의 5분봉 종가가 5분봉 20 이평을

하향돌파하면 매도진입하는 전략을 예로 들어보겠습니다.

Page 235: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

▶차트구성

- 차트 상단의 돋보기 버튼을 클릭하여 풋옵션 등가격을 추가하고 주기를 1분봉으로 설정

- 다음의 2자가 있는 종목추가 버튼을 클릭하여 최근월 지수선물을 추가하고 주기를 5분봉으로 설정

▶ 스크립트 작성 예

If CrossDown( C of Data2, Ma( C of Data2, 20 ) ) Then // 5분봉 종가가 5분봉 20이평을 상향돌파하면

Buy( “B”, OnClose, Def, 1 ); // 주종목인 풋옵션을 매수

다) 타주기와 타종목 참조시 유의할 사항

▶ 동일선상의 시계열 값을 참조

Data2의 종목을 참조하여 Data1의 주종목을 매매할 때는 항상 Data1이 기준시간이 됩니다. 따라서

Data1 시간보다 Data2의 시간이 앞서갈 수 없으며, (Data2시간 ≤ Data1 시간)이 성립합니다.

이런 맥락에서 볼 때 참조하는 Data2의 대상이 완성된 봉이어야 할 필요는 없으며, 봉이 만들어지고 있는

상태의 Data2이더라도 Data1의 현재봉이 참조를 하게 됩니다. 이것은 Data1과 Data2의 주기가 다를

경우에도 동일한 시계선상에 놓인 데이터를 참조하게 되므로 자연스럽게 접근을 할 수 있을 것입니다.

예) Data1 : 최근월선물 1분봉, Data2 : 최근월선물 5분봉을 배치했을 때

Page 236: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

☞ 같은 시계열 선상에 있다면 Data2가 미완성 되었다고 하더라도 Data1이 참조하게 됨.

▶ 시뮬레이션과 실전매매의 차이 발생에 유의

실전거래에서 주종목과 참조종목의 데이터 도달시간이 서로 상이하여 시뮬레이션과 실전매매의 차이가

발생할 수 있습니다. 이러한 경우는 대부분 통신상태에 기인하므로 시뮬레이션 결과를 분석할 때 그 차이를

감안해야 합니다. 즉, 시뮬레이션 결과와 실시간 매매의 결과는 항상 오차가 있다는 점을 명심해야 합니다.

다. 사용자 함수 작성시 선언방법

1) 기본선언

외부변수 선언

함수를 제외한 스터디를 작성시에 외부변수를 주고 받기 위해서는 Param, Params, Parameter, Paramters, Input, Inputs 등을 사용합니다. 다음은 전략, 지표, 패턴, 강약에서 사용하는 외부변수

선언방식입니다. 이 부분은 앞의 Signal Language 문법편에서 상세히 다루었으므로 간략히

살펴보겠습니다.

Data1이 참조하는Data2의 봉

Page 237: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

※ 주의사항

외부변수는 스터디를 차트에 적용한 후 수행중인 상태에서도 설정창에서 값을 바꾸어 줄 수 있습니다. 다만 바꾸는 시점에 즉시 컴파일되지 않으므로 차트에서 적용중인 상태(전략이 수행중이 아닌 단순히 적용만

된 상태)에서는 즉시 변경된 결과값을 도출하지 못합니다. 따라서 변경된 외부변수 값을 이용하여 결과를

보기위해서는 반드시 차트에 적용을 삭제하고 다시 적용시켜주어야 합니다.

외부변수 예약어 Param, Params, Parameter, Paramters, Input , Inputs설명 외부로부터 값을 입력 받고자 하는 변수를 선언

사용 예 Param : iVar1( Price ) ;Parameters : Leng ( 10 ) ;Input : iVar2( Price ) ;

내부변수 선언

내부변수는 외부변수와 달리 값을 주고 받는 것이 아니라 스터디 내부에서 임시로 값을 저장했다가

사용하는 것이며 다음과 같이 선언합니다. 내부변수는 초기화 시켜주는 값이 무엇인가에 따라 타입이

결정되며 숫자로 초기화하면 수치형변수, True 혹은 False 값으로 초기화하면 논리형변수, 문자열로

초기화하면 문자열변수가 됩니다. 다음은 그에 대한 선언예를 보여줍니다.

내부변수 예약어 variable, variables, var , vars,설명 스터디의 스크립트 내에서 사용할 변수를 선언

사용 예 Variable : v1( 0 ), Cond1( True ), myStr( "DailyHigh" ) ;Variables : v1( 0 ), Cond1( True ), myStr( "DailyHigh" ) ;Var : v1( 0 ), Cond1( True ), myStr( "DailyHigh" ) ;Vars : v1( 0 ), Cond1( True ), myStr( "DailyHigh" ) ;

배열변수 선언

같은 데이터 타입을 갖는 변수가 여러 개이면 배열로 선언해서 간단히 처리할 수 있습니다. 다음은 배열을

선언하는 방법입니다.내부변수 예약어 Array , Arrays설명 배열 변수를 선언할 때 사용

사용 예 Array : myArr1[5](0), myArr2[3]( True ), myString[10]("") ;Arrays : myArr1[5](0), myArr2[3]( True ), myString[10]("") ;

Page 238: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

2) 함수작성시 선언방법

사용자가 원하는 함수를 작성할 때 외부로부터 값을 입력받아 함수 내부를 수행하기를 원하는 경우가 있을

것입니다. 즉, 함수를 수행하기 위해서 외부로부터 어떤 데이터 타입의 값을 받아서 수행을 할 것인지에 관한

정의를 해 주어야 합니다. 예를 들어 다음과 같이 MACD의 경우에는 입력변수로 3개의 외부변수가 필요하며

함수에서 정의하는 방법, 전략이나 지표에서 호출하는 방법을 보면 다음과 같습니다.

수치형, 논리형, 스트링형 각각의 인자는 단순값, 시리즈형 값을 주고 받을 수도 있고, 배열이나 배열변수의

주소값 등을 주고 받을 수 있습니다. 다음은 Signal Language에서 사용가능한 인자의 종류에 대한 것들을

정리한 표입니다.

논리형

Bool 함수의 사용에서 input 변수의 논리형 데이터 input : p1(Bool);

Params :PriceVal( NumSeries ),FastLeng( NumSimple ),SLowLeng( NumSimple ) ;

MACD = XAverage( PriceVal, FastLeng ) - XAverage( PriceVal, SLowLeng ) ;

함수에서 인자를 선언하는 방법

Inputs : FastLeng( 12 ), SLowLeng( 26 ), MACDLeng( 9 ) ;Vars : V0(0), v1(0), v2(0);

v0 = MACD( C, FastLeng, SLowLeng ) ;v1 = XAverage( v0, MACDLeng ) ;v2 = v0 - v1 ;

Cond1 = CB > 2 and CrossUp(v2, 0) ;if Cond1 then

Buy ("MacdLE", AtMarket);

전략에서 인자를 주고 호출하는 방법

Page 239: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

BoolArray 함수의 사용에서 input 변수의 논리형 Array input : p2[a1] (BoolArray);

BoolArrayRef 함수의 사용에서 input 변수의 논리형 참조

Arrayinput : p3[a2,a3](BoolArrayRef);

BoolRef 함수의 사용에서 input 변수의 논리형 참조

데이터input : p4(BoolRef);

BoolSeries 함수의 사용에서 input 변수의 논리형 시리즈

데이터input : p5(BoolSeries);

BoolSimple 함수의 사용에서 input 변수의 논리형 단순

데이터input : p6(BoolSimple);

TrueFalse 함수의 사용에서 input 변수의 논리형 데이터 input : p7(TrueFalse);TrueFalseArr 함수의 사용에서 input 변수의 논리형 Array input : p8[a4](TrueFalseArr);

TrueFalseArrRef함수의 사용에서 input 변수의 논리형 참조

Arrayinput : p9[a5,a6](TrueFalseArrRef);

TrueFalseRef 함수의 사용에서 input 변수의 논리형 참조

데이터input : p1(TrueFalseRef);

TrueFalseSeries 함수의 사용에서 input 변수의 논리형 시리즈

데이터input : p1(TrueFalseSeries);

TrueFalseSimple

함수의 사용에서 input 변수의 논리형 단순

데이터input : p1(TrueFalseSimple);

수치형

Num 함수의 사용에서 input 변수의 숫자형 데이터 input : p1(Num);NumArr 함수의 사용에서 input 변수의 숫자형 Array input : p1[a2,a3](NumArr);

NumArrRef 함수의 사용에서 input 변수의 숫자형 참조

Arrayinput : p1[a3,a4](NumArrRef);

NumRef 함수의 사용에서 input 변수의 숫자형 참조

데이터input : p1(NumRef);

NumSeries 함수의 사용에서 input 변수의 숫자형 시리즈

데이터input : p1(NumSeries);

NumSimple 함수의 사용에서 input 변수의 숫자형 단순

데이터input : p1(NumSimple);

문자열 형

String 문자형 데이터 input : p1(String);

Page 240: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

StringArr 문자형 Array input : p1[a2,a3](StringArr);StringArrRef 문자형 참조 Array input : p1[a4,a5](StringArrRef);StringRef 문자형 참조 데이터 input : p1(StringRef);StringSeries 문자형 시리즈 데이터 input : p1(StringSeries);StringSimple 문자형 단순 데이터 input : p1(StringSimple);

6. 주요 기본제공 함수에 대한 설명

Abs( 수학함수 ) – AbsValue, “절대값”과 동일한 기능의 함수

1. 함수에 대한 간략해설

주어진 값을 절대값으로 변환하여 매매에 사용

2. 함수의 전체 형태

Abs( Value) : 일반적인 표준함수

AbsValue(Value) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 절대값으로 변환시킬 값

4. 반환값(Return : double)인자로 주어진 절대값으로 반환하며 실수값

5. 함수사용 예

Abs(10 ) Abs(-10) AbsValue(-10)

6. 활용방법

주어진 값을 절대값으로 변환하여 매매에 사용

Page 241: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AccDist( 기본함수 ) – Accumulation / Distribution

1. 함수에 대한 간략해설

AccDist는 주가와 거래량의 변화를 나타내는 운동량지표로서, 거래량이 많으면 많을수록 주가의 움직임을

더욱 더 신뢰할 수 있다는 토대를 기반으로 한 지표이며 AD Line이라고도 함.

2. 함수의 전체 형태

AccDist( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 기본/기본값 필수여부 부연설명

4. 반환값(Return : double)거래량을 반영한 AccDist값을 반환하며 실수값

5. 함수사용 예

AccDist( )

6. 활용방법

① 등락을 활용한 분석

AccDist가 상승하면 매수세력이 강화되어 주가상승을 예상(Accumulation) AccDist가 하락하면 매도세력의 강화로 주가하락을 예상(Distribution)

② 다이버전스를 활용한 분석

주가의 저점은 낮아지나 AccDist의 저점은 점점 높아지는 경우 매수전략 대응

주가의 고점은 높아지나 AccDist의 고점은 낮아지는 경우 매도전략으로 대응

Page 242: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Accum( 기본함수 ) – Accumulation / Distribution

1. 함수에 대한 간략해설

지정한 데이터를 첫 봉부터 누적해서 합산을 해서 반환하는 함수

2. 함수의 전체 형태

Accum(pPrice ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPrice Num 필수 누적시킬 Series, 상수값

4. 반환값(Return : double)인자로 전달된 데이터 값을 누적해서 반환하며 실수값

5. 함수사용 예

Accum( Close ) : 종가를 누적시킨 값을 반환

Accum( Volume ) : 거래량을 누적시킨 값을 반환

6. 활용방법

데이터값을 누적해서 반환하면 이 값을 이용하여 매매식에 활용

Page 243: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AccumDist ( 기본함수 ) - Accumulated Distribution

1. 함수에 대한 간략해설

AccumDist( Accumulated Distribution )는 거래량을 이용하여 시장의 상대적인 강도를 매수세와

매도세로 구분하여 분석하는 함수이며 ChaikinOsc 함수의 내부에서 호출되어 사용됨.

2. 함수의 전체 형태

AccumDist (pNVolume) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pNVolume Num Volume 필수 주가, 거래량 변화 운동량지표 처리

4. 반환값(Return : double )현재봉에 대하여 계산한 AccumDist 값을 반환하며 실수형

5. 함수사용 예

AccumDist(pNVolume)

6. 활용방법

일반적으로 ChaikinOsc 함수의 내부에서 호출되어 사용되는 함수임. 거래량을 이용하여 시장의 상대적인 강도를 매수세와 매도세로 구분함.

Page 244: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AccumN( 기본함수 ) – Accumulation

1. 함수에 대한 간략해설

지정한 데이터를 지정한 기간동안 누적합산 하여 결과를 반환하는 함수

2. 함수의 전체 형태

AccumN( pVal, pPeriod) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pVal Num 필수 누적시킬 Series, 상수값, 계산식 등

pPeriod Num 10 필수 기간값

4. 반환값(Return : double)인자로 전달된 데이터 값을 Length 기간동안 누적해서 반환하며 실수값

5. 함수사용 예

AccumN( Close – Low, 10 ) : 10일간 종가와 저가의 차이를 누적합산 후 반환

6. 활용방법

데이터값을 누적해서 반환하면 이 값을 이용하여 매매식에 활용

Accum( ) 함수와 다른점은 합산할 누적기간을 지정한다는 점

Page 245: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

ArcCos( 수학함수 )

1. 함수에 대한 간략해설

-1 ~ 1 사이의 값을 인자로 받아 아크코사인 값을 라디안 단위로 계산하여 반환하는 기본함수

2. 함수의 전체 형태

ArcCos( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 -1 ~ 1 사이의 실수값

4. 반환값(Return : double)아크코사인 값을 라디안 단위로 반환하며 실수값

5. 함수사용 예

ArcCos( 1 ) : 결과값은 0 ArcCos( 0.5 ) : 결과값은 1.05 ArcCos( -0.5 ) : 결과값은 2.09

6. 활용방법

아크코사인 값을 라디안 단위로 반환하여 매매식에 활용

Page 246: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Adx ( 기본함수 ) – Average Directional Movement Index

1. 함수에 대한 간략해설

주가가 추세를 가지고 움직이는지 여부를 판별하는 목적으로 사용하며 추세에 따른 매매를 언제

해야하는지 의사결정 할 수 있는 근거로 활용. 보통 +DI, -DI, ADX 등 3개의 선으로 구성

2. 함수의 전체 형태

ADX(Period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Period Num 14 필수 ADX값을 계산하고자 하는 기간

(봉의 개수)

4. 반환값(Return : double)Adx 값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

ADX( 14 ) : ADX

6. 활용방법

ADX가 상승추세이면 현재의 주가추세가 앞으로도 상승추세를 지속할 것으로 예상

ADX가 하락추세에 있으면 추세강도가 하락하고 있음을 의미

ADX가 바닥에서 상승하려고 할 때 +DI가 고점에 있으면 매수신호, -DI가 고점에 있으면 매도신호

Page 247: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AdxAppliedUser ( 기본함수 ) – Average Directional Movement Index of Custom

1. 함수에 대한 간략해설

ADX가 내부적으로 차트에서 선택한 주종목에 대한 DMI 평균치를 사용하는데 반해 AdxCustom은

일반적으로 참조종목에 대한 ADX를 계산해서 활용할 때 사용.

2. 함수의 전체 형태

AdxAppliedUser( PH, PL, PC, Period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PH Num High 필수 Data n에서 사용할 고가

PL Num Low 필수 Data n에서 사용할 저가

PC Num Close 필수 Data n에서 사용할 종가

Period Num 14 필수 ADX값을 계산하고자 하는 기간

4. 반환값(Return : double)Adx 값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

AdxAppliedUser(High, Low, Close, 14 ) : ADX

6. 활용방법

AdxAppliedUser은 해당종목 주가의 추세의 질을 평가하며 그 값이 크면 클수록 추세가 강하다고

판단. AdxAppliedUser은 일반적인 ADX 함수 보다 유연성을 더 제공함. AdxAppliedUser은 차트에서 참조종목을 활용하여 사용됨.

Page 248: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AdxR ( 기본함수 ) – Average Directional Movement Index Rating

1. 함수에 대한 간략해설

주가가 추세를 가지고 움직이는지 여부를 판별하는 목적으로 사용하며 추세에 따른 매매를 언제

해야하는지 의사결정 할 수 있는 근거로 활용하며, 현재 봉을 기준으로 계산한 Adx와 n-1봉 전의 Adx 값을

합계하여 단순평균한 값을 계산하여 사용

2. 함수의 전체 형태

AdxR(Period) :

3. 입력변수에 대한 설명

변수명(Name) 데이터형태

(Type)추천/기본값 필수여부 부연설명

Period Num 14 필수 Adx, AdxR값을 계산하고자 하는 기간

4. 반환값(Return : double)AdxR 값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

AdxR ( 14 ) : 일반적인 함수호출 방법

6. 활용방법

ADX가 AdxR를 상향돌파하면 매수신호, 하향돌파하면 매도신호로 해석함.

Page 249: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AdxRAppliedUser ( 기본함수 ) – Average Directional Movement Index Rating Custom

1. 함수에 대한 간략해설

주가가 추세를 가지고 움직이는지 여부를 판별하는 목적으로 사용하며 추세에 따른 매매를 언제

해야하는지 의사결정 할 수 있는 근거로 활용하며, 현재 봉을 기준으로 계산한 AdxAppliedUser와 n봉 전의

AdxAppliedUser 값을 합계하여 단순평균한 값을 계산하여 사용

2. 함수의 전체 형태

AdxRAppliedUser (PH, PL, PC, Period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PH Num High 필수 Data n에서 사용할 고가

PL Num Low 필수 Data n에서 사용할 저가

PC Num Close 필수 Data n에서 사용할 종가

Period Num 14 필수 ADX값을 계산하고자 하는 기간

4. 반환값(Return : double)AdxRAppliedUser 값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

AdxRAppliedUser (High, Low, Close, 14 )

6. 활용방법

ADX, AdxAppliedUser을 보조하여 매매신호에 활용

Page 250: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

ArcSin( 수학함수 )

1. 함수에 대한 간략해설

-1 ~ 1 사이의 값을 인자로 받아 아크사인 값을 라디안 단위로 계산하여 반환하는 기본함수

2. 함수의 전체 형태

ArcSin( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 기본값 필수여부 부연설명

Value Num 필수 -1 ~ 1 사이의 실수값

4. 반환값(Return : double)아크사인 값을 라디안 단위로 반환하며 실수값

5. 함수사용 예

ArcSin( 1 ) : 결과값은 1.57

6. 활용방법

아크사인 값을 라디안 단위로 반환하여 매매식에 활용

Page 251: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

ArcTangent( 수학함수 ) – ATan과 동일이름

1. 함수에 대한 간략해설

인자로 -1 ~ 1 사이의 값을 받아 아크탄젠트 값을 라디안 단위로 계산하여 반환하는 기본함수

2. 함수의 전체 형태

ArcTangent( Value ) : TS에서 계산하는 방식을 사용

ATan( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 기본값 필수여부 부연설명

Value Num 필수

4. 반환값(Return : double)인자로 주어진 값을 아크탄젠트 값의 라디안 단위로 반환하며 실수값

5. 함수사용 예

ArcTangent(1 ) : 반환값 0.79 ATan(-0.5) : 반환값 -0.46

6. 활용방법

주어진 값을 아크탄젠트 값의 라디안 단위로 변환하여 매매에 사용

Page 252: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

ATR( 기본함수 ) – ATan과 동일이름

1. 함수에 대한 간략해설

현재의 시장가격이 전봉 기준으로 어느방향으로 얼마나 변동했는지를 수치로써 표현한 것이며 일중, 일간, 주간, 월간 단위로 계산

2. 함수의 전체 형태

ATR(pPeriod) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 기본값 필수여부 부연설명

pPeriod Num 14 필수 ATR 계산을 위한 기간

4. 반환값(Return : double)인자로 주어진 기간(Length)에 대한 ATR 값으로 실수값

5. 함수사용 예

ATR(14 ) : True Range(TR)의 14일 평균

6. 활용방법

보유 종목에 대한 이익이나 손실에 대한 매매관리시 이용

매수, 매도 등의 매매시그널 보조지표로는 많이 사용하지 않음. ATR 값이 크면 클수록 변동성이 크고 작으면 작을수록 횡보장으로 파악

주가가 급락하여 낮은 수준에 머물 경우 ATR은 높게 나타나고, 주가가 급속히 변동하기 직전까지

일정한 수준으로 지속되어 온 경우 ATR값은 낮게 나타나는 경향이 있음.

Page 253: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Average ( 기본함수 ) – SMA와 동일한 기능의 함수

1. 함수에 대한 간략해설

정해진 기간동안의 주가평균

2. 함수의 전체 형태

Average( pPVal, pLeng ) : 일반적인 표준함수

SMA( pPriceVal, pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수

pLeng Num 필수 Average값을 계산하고자 하는 기간

4. 반환값(Return : double)인자로 주어진 가격(Price)에 대한 Average 값으로 실수값

5. 함수사용 예

Average( Close, 10 ) Average( RSI( C, 14 ), 10 )

6. 활용방법

인자로 전달된 Price의 Length 기간동안의 평균을 구하여 매매식에 활용

Page 254: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AvgFast ( 기본함수 ) => Average Fast Calculation

1. 함수에 대한 간략해설

정해진 기간동안의 주가평균을 빠르게 계산해 주는 함수

2. 함수의 전체 형태

AvgFast ( pPVal, pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수

pLeng Num 10 필수 Average값을 계산하고자 하는 기간

4. 반환값(Return : double)인자로 주어진 가격(Price)에 대한 Average 값으로 실수값

5. 함수사용 예

AvgFast ( Close, 10 )

6. 활용방법

인자로 전달된 Price의 Length 기간동안의 평균 가격수준을 파악하여 매매 의사결정에 활용

Page 255: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AvgList( 수학함수 ) – Avg(Num1…NumN) 함수와 동일

1. 함수에 대한 간략해설

인자로 주어진 리스트에 있는 모든 항목을 평균한 값을 반환하는 함수

2. 함수의 전체 형태

AvgList( A, B, C, …x) : 일반적인 표준함수

Avg( A, B, C, x…) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

A, B, C….Za, b, c…...x

Num 필수 모두 수치값 이어야 하며 최소 2개는

필수

4. 반환값(Return : double)인자로 주어진 수치들에 대한 Average 값을 반환하며 실수값

5. 함수사용 예

AvgList(Open, High, Low, Close ) Avg(Open, High, Low, Close )

6. 활용방법

리스트의 평균을 구해서 매매에 활용시 사용

AvgList 함수와 Avg 함수는 완전히 동일하며 이름만 다름.

AvgTrueRange( 기본함수 ) => Average Ture Range

Page 256: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AvgPrice( 기본함수 ) => Average Price

1. 함수에 대한 간략해설

시가, 고가, 저가, 종가를 이용해서 평균값을 계산

2. 함수의 전체 형태

AvgPrice( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double)인자로 주어진 가격(Price)에 대한 Average 값으로 실수값

5. 함수사용 예

AvgPrice( )

6. 활용방법

평균 가격수준을 파악하여 의사결정

Page 257: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

AvgTrueRange ( 기본함수 )

1. 함수에 대한 간략해설

직전종가와 현재봉의 저가, 고가를 통해 계산한 가격 변동폭 평균을 반환

2. 함수의 전체 형태

AvgTrueRange( pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pLeng Num 10 필수 기간값

4. 반환값(Return : double)인자로 주어진 기간(Length)에 대한 ATR 값으로 실수값

5. 함수사용 예

AvgTrueRange(10 ) : True Range(TR)의 10일 평균

6. 활용방법

보유 종목에 대한 이익이나 손실에 대한 매매관리시 이용

매수, 매도 등의 매매시그널 보조지표로는 많이 사용하지 않음. ATR 값이 크면 클수록 변동성이 크고 작으면 작을수록 횡보장으로 파악

Page 258: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

BBandDown( 기본함수 ) => Bollinger Bands Down

1. 함수에 대한 간략해설

볼린저밴드의 추세중심선에서 지정한 표준편차 만큼 변동하되 하한값을 의미

2. 함수의 전체 형태

BBandDown (pPeriod, vD) : 일반적인 표준함수

☞ Length는 기간, vD는 추세중심선으로 부터의 표준편차를 의미

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 20 필수 추세중심선 계산을 위한 기간

vD Num 2 필수 표준편차

4. 반환값(Return : double)볼린져밴드의 하한선 값을 반환하며 실수값

5. 함수사용 예

BBandDown(20, 2) : 추세중심선으로 20일 이동평균선 사용, 표준편차 2인 하한선 반환

6. 활용방법

추세중심선, 상한선, 하한선 등 총 3개선으로 구성되어 매매에 활용함. 상한선과 하한선은 중심선을 기준으로 주어진 표준편차에 따라 산출된 이동평균 값

주가의 변동이 큰 시기에는 밴드의 폭이 넓어지고 작은 시기에는 밴드의 폭도 작아짐. 밴드의 폭이 좁아지면 좁아질수록 향후 주가가 변화할 가능성은 높아지게 됨. 밴드의 하한선 부근에서 주가가 움직일 때 과매도 국면으로 파악하고 상한선 근처에서 주가가

움직일때 과매수 국면으로 파악하여 대응

Page 259: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

BBandUp( 기본함수 ) => Bollinger Bands Up

1. 함수에 대한 간략해설

볼린저밴드의 추세중심선에서 지정한 표준편차 만큼 변동하되 상한값을 의미

2. 함수의 전체 형태

BBandUp (pLeng, pDev) : 일반적인 표준함수

☞ Length는 기간, vD는 추세중심선으로 부터의 표준편차를 의미

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pLeng Num 20 필수 추세중심선 계산을 위한 기간

pDev Num 2 필수 표준편차

4. 반환값(Return : double)볼린져밴드의 상한선 값을 반환하며 실수값

5. 함수사용 예

BBandUp(20, 2 ) : 추세중심선으로 20일 이동평균선 사용하고 표준편차 2인 상한선 반환

6. 활용방법

추세중심선, 상한선, 하한선 등 총 3개선으로 구성되어 매매에 활용함. 한선과 하한선은 중심선을 기준으로 주어진 표준편차에 따라 산출된 이동평균 값

주가의 변동이 큰 시기에는 밴드의 폭이 넓어지고 작은 시기에는 밴드의 폭도 작아짐. 밴드의 폭이 좁아지면 좁아질수록 향후 주가가 변화할 가능성은 높아지게 됨. 밴드의 하한선 부근에서 주가가 움직일 때 과매도 국면으로 파악하고 상한선 근처에서 주가가

움직일때 과매수 국면으로 파악하여 대응

Page 260: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

BollingerBand( 기본함수 ) => Bollinger Band

1. 함수에 대한 간략해설

인자로 전달된 가격을 기준으로 주가변동성을 이동평균한 볼린저밴드의 추세중심선을 비롯하여 이로부터

표준편차 범위의 상한선, 하한선을 표시할 수 있음.

2. 함수의 전체 형태

BollingerBand (pPriceVal, Leng, Devs) : 일반적인 표준함수

☞ Length는 기간, nDevs는 추세중심선으로 부터의 표준편차를 의미

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPriceVal Num Close 필수 추세중심선 계산을 위한 가격, 계산식 등

Leng Num 20 필수 추세중심선 계산을 위한 기간

Devs Num 2 필수 표준편차

4. 반환값(Return : double)인자로 전달된 가격(Price)과 기간(Length)에 대한 볼린져밴드의 추세중심선, 하한선, 상한선 값을 반환

5. 함수사용 예

BollingerBand(Close, 20, 0) : 종가를 20일 이동평균하고 추세중심선을 반환

BollingerBand(Close, 20, 2) : 종가를 20일 이동평균하고 상한선을 반환

BollingerBand(Close, 20, -2) : 종가를 20일 이동평균하고 하한선을 반환

6. 활용방법

추세중심선, 상한선, 하한선 등 총 3개선으로 구성되어 매매에 활용함. 상한선과 하한선은 중심선을 기준으로 주어진 표준편차에 따라 산출된 이동평균 값

주가의 변동이 큰 시기에는 밴드의 폭이 넓어지고 작은 시기에는 밴드의 폭도 작아짐. 밴드의 폭이 좁아지면 좁아질수록 향후 주가가 변화할 가능성은 높아지게 됨. 밴드의 하한선 부근에서 주가가 움직일 때 과매도 국면으로 파악하고 상한선 근처에서 주가가

움직일때 과매수 국면으로 파악하여 대응

Page 261: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

BullEngulfing ( 기본함수 )

1. 함수에 대한 간략해설

이동평균이 하락하는 추세의 봉 패턴에서 현재봉의 양봉이 직전봉의 음봉을 완전히 안은 형태

2. 함수의 전체 형태

BullEngulfing ( pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 10 필수 이동평균 계산을 위한 기간값

4. 반환값(Return : TrueFalse)현재 양봉이 직전의 음봉을 안은 형태가 발생하면 True(1)을 반환하고 그렇지 않으면 False(0)을 반환

5. 함수사용 예

BullEngulfing( 20 )

6. 활용방법

상승장악형(BullEngulfing)은 향후 상승전환으로 파악되는 패턴이므로 이에 맞는 매매전략을 수립

Page 262: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

C_Doji ( 기본함수 )

1. 함수에 대한 간략해설

캔들차트에서 십자형의 봉패턴이 발생되는 것을 의미하며 특히 시초가와 종가가 거의 같은 경우를

알려주는 함수

2. 함수의 전체 형태

Candle_Doji ( pPercent ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPercent Num 5 필수 캔들길이 대비 몸통의 비율

4. 반환값(Return : TrueFalse )현재봉의 패턴이 Doji형이면 True를 뜻하는 1값을 반환하고 아니면 0을 반환

5. 함수사용 예

Candle_Doji( 5 )

6. 활용방법

Candle_Doji가 출현시 추세반전 예비신호로 파악

꼬리가 긴 Doji의 경우 신뢰도가 더 높아짐.

Page 263: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CCI ( 기본함수 )

1. 함수에 대한 간략해설

CCI는 주가의 이동평균과 주가 사이의 편차를 나타내는 지표로서 CCI값이 높으면 현재의 주가수준이

평균에 비해 높다는 것을 의미하며, CCI값이 낮으면 주가의 평균에 비해 현재의 주가수준이 낮다는 의미임.

2. 함수의 전체 형태

CCI ( pPeriod ) : TradeStation에서 호출되는 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 20 필수 기간값

4. 반환값(Return : double )CCI 값을 반환하며 실수값

5. 함수사용 예

CCI ( 20 )

6. 활용방법

CCI가 0선을 상향돌파하면 매수신호로 인식하고 하향돌파하면 매도전략으로 대응

CCI값이 +100 이상이면 과매수 상태로, -100 이하는 과매도 상태로 인식해서 대응

CCI 추세와 주가의 추세를 비교해서 Divergence가 발생하면 주가는 CCI값의 추세대로 움직일

것으로 판단

Page 264: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

ChaikinOsc ( 기본함수 )

1. 함수에 대한 간략해설

가격변화가중치에 거래량을 반영한 Accumulated Distribution 지표에서 Fast와 Slow 지수이동평균을

통해 오실레이터를 계산하는 함수

2. 함수의 전체 형태

ChaikinOsc ( VolumeData, FastPeriod, SlowPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

VolumeData Num Volume 필수 거래량

FastPeriod Num 3 필수 짧은 지수이동평균 계산시 기간

SlowPeriod Num 10 필수 긴 지수이동평균 계산시 기간

4. 반환값(Return : double )현재봉에 대한 계산 값을 반환

5. 함수사용 예

ChaikinOsc( Volume, 3, 10 )

6. 활용방법

매수시점 : ChaikinOsc 값이 0선을 상향돌파할 경우

매도시점 : “ 하향돌파할 경우

주가가 90일선 위에 있으면 상승추세로 판단하는데 이때 ChainkinOsc 값도 0선을 상향돌파하거나

0선위에 있으면 상승추세에 대한 신뢰도가 높은 것으로 판단함. 주가가 90일선 아래에 있으면 하락추세로 판단하는데 이때 ChainkinOsc 값도 0선을

하향돌파하거나 0선아래에 있으면 하락추세에 대한 신뢰도가 높은 것으로 판단함. 유의사항 : ChainkinOsc가 0선에 근접할때 거래량이 최근 평균수준을 유지하지 못하면

기존의추세를 유지하지 못할 확률이 크므로 유의

Page 265: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CloseD ( 기본함수 ) – DayClose 함수와 동일한 기능의 함수

1. 함수에 대한 간략해설

일봉, 분봉차트에서 인자로 주어진 N봉의 종가를 가져오는 함수

2. 함수의 전체 형태

CloseD ( BarsBack ) : 일반적인 표준함수

DayClose (BarsBack) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 기본값 필수여부 부연설명

BarsBack Num 필수 종가를 가져올 봉 Number

4. 반환값(Return : double )지정한 봉에 대한 계산 종가를 반환

5. 함수사용 예

CloseD( 1 ) : 일봉의 경우 3일전의 종가를 반환

6. 활용방법

특정일의 종가를 파악해서 매매에 활용

DayClose 함수와 완전동일

Page 266: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CMO ( 기본함수 ) – DayClose 함수와 동일한 기능의 함수

1. 함수에 대한 간략해설

주어진 기간내에서 상승폭과 하락폭의 차이를 오실레이터로 나타내며 그 비율을 통해 매매의사결정을

하기위한 함수

2. 함수의 전체 형태

CMO ( pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pLeng Num 9 필수 기간 값

4. 반환값(Return : double )지정한 기간에 대한 CMO 값을 반환

5. 함수사용 예

CMO( 9 )

6. 활용방법

상승과 하락의 비율이 3 : 1 정도를 기준으로 하여 그 이상이면 과열, 그 이하이면 침체로 판단

이는 상승이 과도하면 하락할 것이고 반대로 하락이 과도하면 상승할 것이라는 개념을 내포

50과 -50선을 기준선으로 그 이상에서 반전하면 매도

-50선 아래에서 반등하면 매수

Page 267: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CO ( 기본함수 ) – Chaikin’s Oscillator

1. 함수에 대한 간략해설

CO(Chaikin’s Oscillator)는 매집/분산(Accumulation/Distribution) 지표를 기초로 작성한 이동평균

오실레이터 지표

2. 함수의 전체 형태

CO ( pVolume, pShortLeng,pLongLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pVolume Num Volume 필수 거래량

pShortLeng Num 3 필수 짧은 지수이동평균 계산시 기간

pLongLeng Num 10 필수 긴 지수이동평균 계산시 기간

4. 반환값(Return : double )현재봉에 대한 계산 값을 반환

5. 함수사용 예

CO( Volume, 3, 10 )

6. 활용방법

CO 값의 추세와 주가추세를 비교하여 만일 Divergence가 발생하면 CO의 방향대로 주가가 움직일

것으로 해석함. 주가가 신고가 또는 신저가를 갱신하지만 CO지표는 최고치 혹은 최저치를 갱신하지 못하고 방향을

바꿀 때 주가의 전환신호로 인식

매수시점 : 주가가 90일 이평선 위에 있을 때 CO지표가 0선 밑에서 상승세로 전환되는 시점

매도시점 : 주가가 90일 이평선 아래에 있을 때 CO지표가 0선 위에서 하향세로 전환되는 시점

Page 268: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Correlation ( 기본함수 )

1. 함수에 대한 간략해설

인자로 전달된 두개의 가격간에 상관계수를 계산

2. 함수의 전체 형태

Correlation(pIndep, pDep, pLeng) : 일반적인 표준함수

☞ 일반적으로 Indep은 독립적인 가격, Dep는 종속적인 가격을 지정

3. 입력변수에 대한 설명

변수명(Name) 데이터형태

(Type)추천/기본값 필수여부 부연설명

pIndep Num Close 필수 독립적인 봉의 가격, 함수 반환값, 계산식 등

pDep Num Close of Date2

필수 종속적인 봉의 가격, 함수 반환값, 계산식 등

pLeng Num 20 필수 상관계수 계산을 위한 기간

4. 반환값(Return : double)상관계수의 값을 반환하며 -1 ~ +1의 값을 가짐

5. 함수사용 예

Correation(Close of data1, Close of data2, 20 ) : 차트1, 2의 종가간 상관계수를 구함.

6. 활용방법

인자로 주어진 두 가격간의 상관계수를 분석하여 매매에 활용하기 위한 목적

독립적인 인자와 종속적인 인자는 시가, 고가, 저가, 종가, 거래량, 수학식, 지표등의 반환값 등을

사용할 수 있음.

Page 269: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Cosine( 수학함수 ) – Cos와 동일한 함수

1. 함수에 대한 간략해설

각도값을 인자로 받아 코사인 값으로 반환하는 함수

2. 함수의 전체 형태

Cosine( Value ) : 일반적인 표준함수

Cos( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 각도

4. 반환값(Return : Integer)코사인 값을 반환

5. 함수사용 예

Cosine( 45) : 0.7071 값을 반환

Cos( 45) : 0.7071 값을 반환

6. 활용방법

주어진 각도를 코사인 값으로 변환받아 매매에 활용

Page 270: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CosH( 수학함수 )

1. 함수에 대한 간략해설

각도값을 인자로 받아 하이퍼블릭 코사인 값을 반환하는 기본함수

2. 함수의 전체 형태

CosH( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 각도

4. 반환값(Return : Integer)하이퍼블릭 코사인 값을 반환

5. 함수사용 예

CosH( 60 ) : 1.60 값을 반환

6. 활용방법

주어진 각도를 하이퍼블릭 코사인 값으로 변환 받아 매매에 활용

Page 271: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

1. 함수에 대한 간략해설

코탄젠트 값을 계산하여 반환하는 함수

2. 함수의 전체 형태

CoTangent( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 각도

4. 반환값(Return : double)인자로 주어진 각도를 코탄젠트 값으로 반환하며 실수값

5. 함수사용 예

CoTangent( 45 ) : 1.0 CoTangent( 72 ) : 0.3249

6. 활용방법

주어진 값을 코탄젠트 값으로 변환하여 매매에 사용

CoTangent( 수학함수 )

Page 272: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CountIF( 기본함수 )

1. 함수에 대한 간략해설

인자로 전달된 기간동안 주어진 조건을 만족하는 회수를 구하여 매매에 활용

2. 함수의 전체 형태

CountIF(pCondVal, pPeriod) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pCondVal TrueFalse 조건식 필수 주어진 조건이 참이면 1, 거짓이면 0pPeriod Num 10 필수 조건 체크 기간

4. 반환값(Return : Integer)조건을 만족하는 회수를 반환

5. 함수사용 예

CountIF( Close > Open, 10 ) : 10개 봉에서 양봉이 나온 회수를 반환

6. 활용방법

주어진 조건식과 기간을 이용하여 만족하는 회수를 계산하여 매매에 활용

Page 273: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Crosses_Above( 기본함수 ) – CrossUp도 동일한 기능의 함수

1. 함수에 대한 간략해설

주문시에 조건을 만족하는지 여부를 체크하기 위한 분석함수이며 전봉에서는 판단대상(A)이 비교대상(B)의 값보다 작거나 같았지만, 현재봉에서는 판단대상(A)이 비교대상(B) 보다 커진 상황을 의미

2. 함수의 전체 형태

Crosses_Above( pCorssAVal, pCorssBVal) : pCorssAVal 는 판단해야 할 대상, pCorssBVal 는

비교대상

CrossUp(CorssAVal, CorssBVal)

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pCorssAVal Num 필수 판단해야 할 대상

pCorssBVal Num 필수 판단을 위해 비교가 되는 대상

4. 반환값(Return : TrueFalse )조건을 만족하면 True(1), 아니면 False(0)을 반환

5. 함수사용 예

Crosses_Above( Ma(C, 5), Ma(C, 10) ) : 전봉에서는 5일이평이 10일이평 보다 작거나 같았지만

현재봉에서는 커진 상황이면 1을 반환, 아니면 0을 반환

CrossUp( Ma(C, 5), Ma(C, 10) )

6. 활용방법

주어진 조건식에 만족할 경우 주문여부 의사결정

Page 274: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Crosses_Below ( 기본함수 ) – CrossDown도 동일한 기능의 함수

1. 함수에 대한 간략해설

주문시에 조건을 만족하는지 여부를 체크하기 위한 분석함수이며 전봉에서는 판단대상(A)이 비교대상(B)의 값보다 크거나 같았지만, 현재봉에서는 판단대상(A)이 비교대상(B) 보다 작아진 상황을 의미

2. 함수의 전체 형태

Crosses_Below(pCorssAVal, pCorssBVal) : A는 판단해야 할 대상, B는 비교대상

CrossDown(pCorssAVal, pCorssBVal)

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pCorssAVal Num 필수 판단해야 할 대상

pCorssBVal Num 필수 판단을 위해 비교가 되는 대상

4. 반환값(Return : TrueFalse )조건을 만족하면 True(1), 아니면 False(0)을 반환

5. 함수사용 예

Crosses_Below( Ma(C, 5), Ma(C, 10) ) : 전봉에서는 5일이평이 10일이평 보다 크거나 같았지만

현재봉에서는 작아진 상황이면 1을 반환, 아니면 0을 반환

CrossDown( Ma(C, 5), Ma(C, 10) )

6. 활용방법

주어진 조건식에 만족할 경우 주문여부 의사결정

Page 275: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CSar ( 기본함수 )

1. 함수에 대한 간략해설

파라볼릭은 SAR(Stop and Reversal)이라고도 하며 시간의 경과와 추세의 가속도와의 관계를 매매에

활용, 즉 파라볼릭이 제시하는 추세의 가속도만큼을 시장흐름이 따라가지 못한다면 현재의 추세는 곧 전환될

것이므로 기존 포지션을 정리(Stop)하고 반대포지션을 취하는 전략(Reversal)으로 대응하고자 하는 지표. CSar함수에서는 극단값에 사용되는 고가와 저가 대신에 종가를 사용하여 계산하는 파라볼릭 지표함수임.

2. 함수의 전체 형태

CSar ( pAf, pAfMax ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pAf Num 0.02 필수 가속도를 뜻함

pAfMax Num 0.2 선택 가속도의 한계값

4. 반환값(Return : double)현재봉에 대한 파라볼릭의 CSar 값을 반환

5. 함수사용 예

CSar ( 0.02, 0.2 )

6. 활용방법

매수시점 : 주가가 파라볼릭 보다 낮게 위치하고 있다가 상향돌파하여 파라볼릭 위에 형성되는 시점

매도시점 : 주가가 파라볼릭 보다 높게 위치하고 있다가 하향돌파하여 파라볼릭 밑에 형성되는 시점

주가와 파라볼릭의 교차가 발생시 매수 혹은 매도로 대응 후 반대포지션을 취함. 기존포지션 정리차원(Stop)에서 파라볼릭 이용

가격변화가 큰 종목은 가속도를 높여 SAR값을 보다 민감하게 하여 주가에 대한 후행성을 상쇄시킴.

Page 276: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Cum( 기본함수 )

1. 함수에 대한 간략해설

인자로 전달된 가격을 모두 더함.

2. 함수의 전체 형태

Cum(pPriceVal) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPriceVal Num Close 필수 시가, 고가, 저가, 종가 등의 가격

4. 반환값(Return : double)모든 봉에 대해서 인자로 전달된 가격의 합계를 반환

5. 함수사용 예

Cum( Close ) : 종가를 모두 합계하여 반환

6. 활용방법

차트에 그려진 모든 봉의 합계를 구하여 매매식에 활용

Page 277: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CurrDate( 분석함수 )

1. 함수에 대한 간략해설

현재 컴퓨터의 날짜를 반환하는 함수

2. 함수의 전체 형태

CurrDate( )

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double)현재 컴퓨터의 날짜를 YYYYMMDD로 반환

5. 함수사용 예

CurrDate( )

6. 활용방법

현재의 날짜를 구하여 매매식에 활용

Page 278: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CV( 기본함수 ) - Chaikin’s Volatility

1. 함수에 대한 간략해설

Chaikin’s Volatility는 주가변동폭을 이용하여 주가의 변동성을 측정하는 지표로 주가의 저점 또는 정점을

판단하는데 유용함.

2. 함수의 전체 형태

CV ( Period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Period Num 10 필수 기간값

4. 반환값(Return : double)Chaikin’s Volatility 값을 반환하며 실수값

5. 함수사용 예

CV( 10 )

6. 활용방법

일반적으로 박스권 장세에서는 변동성이 감소하고 시장이 지나치게 과열되었거나 투매현상이

벌어지는 시장에서는 변동성이 증가하게 됨.

Page 279: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

CurrTime( 분석함수 )

1. 함수에 대한 간략해설

현재 컴퓨터의 시간을 반환하는 함수

2. 함수의 전체 형태

CurrTime( )

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double)현재 컴퓨터의 시간을 HHMMSS로 반환

5. 함수사용 예

CurrTime( )

6. 활용방법

현재의 시간을 구하여 매매식에 활용

Page 280: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DarkCloud( 기본함수 )

1. 함수에 대한 간략해설

DarkCloud(먹구름형) 봉패턴을 분석해서 반환하는 함수

2. 함수의 전체 형태

DarkCloud( pLeng )

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pLeng Num 10 필수 몸체의 이동평균을 계산하기 위한

기간값

4. 반환값(Return : TrueFalse )봉패턴을 분석해서 특정한 봉이 DarkCloud에 해당하면 True(1)을 반환, 아니면 False(0)을 반환

5. 함수사용 예

DarkCloud( 10 )

6. 활용방법

DarkCloud의 출현은 일반적으로 약세반전을 의미하지만 음봉이 길지 않으면 추세의 지속을

의미하므로 유의해야 함.

Page 281: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DateToJulian( 분석함수 )

1. 함수에 대한 간략해설

인자로 전달된 날짜를 Julian Date 값으로 변환하는 함수

2. 함수의 전체 형태

DateToJulian( YYYYMMDD)

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

YYYYMMDD Num 필수 변환을 원하는 날짜

4. 반환값(Return : double)인자로 전달된 날짜를 Julian Date 값으로 반환

5. 함수사용 예

DateToJulian(20121031)

6. 활용방법

현재의 날짜를 Julian 값으로 구하여 매매식에 활용

Page 282: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DayIndex( 기본함수 )

1. 함수에 대한 간략해설

당일의 시작봉에서부터 매겨진 일련번호를 반환하는 함수

2. 함수의 전체 형태

DayIndex( );

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : Integer )각 봉의 일련번호를 반환

5. 함수사용 예

DayIndex( )

6. 활용방법

당일 봉의 위치를 파악하여 매매식에 활용

분봉에서만 유효

Page 283: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DayOfWeek( 분석함수 )

1. 함수에 대한 간략해설

지정한 날짜의 요일을 반환하는 함수

2. 함수의 전체 형태

DayOfWeek( YYYYMMDD);

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

YYYYMMDD Num 필수 요일을 원하는 날짜

4. 반환값(Return : double)인자로 전달된 날짜를 해당하는 요일로 반환

일요일 : 0, 월요일 : 1, 화요일 : 2, 수요일 : 3, 목요일 : 4, 금요일 : 5. 토요일 : 6

5. 함수사용 예

DayOfWeek(20121031)

6. 활용방법

특정 날짜의 요일을 파악해서 매매식에 활용

Page 284: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Detrend( 기본함수 )

1. 함수에 대한 간략해설

현재가격과 직전 가격과의 비교를 통해 변동을 파악

2. 함수의 전체 형태

Detrend(pPrice, pPeriod) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPrice Num Close 필수 시가, 고가, 저가, 종가 등의 가격

pPeriod Num 14 필수 Detrend를 계산하기 위한 기간

4. 반환값(Return : double)현재봉의 가격과 직전봉의 가격차이

5. 함수사용 예

Detrend( Close, 14 ) : 종가를 기준으로 가격변동을 파악

6. 활용방법

현재의 가격에 국한해서 판단하기 보다 직전 일정지점의 가격과 비교를 통해 적정가를 산출하여

의사결정에 이용

Page 285: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DiMinus ( 기본함수 )

1. 함수에 대한 간략해설

DMI는 현재의 시장이 추세적 시장인지 비추세적 시장인지와 더불어 그 추세의 강도까지 알려주는

지표로서 보통 단기적인 차원이 아닌 중장기적인 관점에서 추세를 파악하며 여기에서 DiMinus(-DI)는

실질적으로 하락하는 비율을 의미함.

2. 함수의 전체 형태

DiMinus( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 14 필수 DiMinus값을 계산하고자 하는 기간

4. 반환값(Return : double)DiMinus값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

DiMinus( 14 ) :

6. 활용방법

+DI와 –DI의 교차를 이용한 매매 의사결정, 예를 들어 +DI가 –DI를 상향돌파한 후 새로운 고점을

형성하지 못하고 다시 하락한다면 매수유보는 물론 추가적인 매도포지션을 취함. +DI는 상승탄력, -DI는 하락탄력을 나타내므로 그 차이가 크면 클수록 시장의 추세는 매우 강하게

지속됨을 의미.

Page 286: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DiPlus ( 기본함수 ) – Directional Movement Index

1. 함수에 대한 간략해설

DMI는 현재의 시장이 추세적 시장인지 비추세적 시장인지와 더불어 그 추세의 강도까지 알려주는

지표로서 보통 단기적인 차원이 아닌 중장기적인 관점에서 추세를 파악하며 여기에서 DiPlus(+DI)는

실질적으로 상승하는 폭의 비율을 나타냄.

2. 함수의 전체 형태

DiPlus( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 14 필수 DiPlus값을 계산하고자 하는 기간

4. 반환값(Return : double)DiPlus값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

DiPlus( 14 ) :

6. 활용방법

+DI와 –DI의 교차를 이용한 매매 의사결정, 예를 들어 +DI가 –DI를 상향돌파한 후 새로운 고점을

형성하지 못하고 다시 하락한다면 매수유보는 물론 추가적인 매도포지션을 취함. +DI는 상승탄력, -DI는 하락탄력을 나타내므로 그 차이가 크면 클수록 시장의 추세는 매우 강하게

지속됨을 의미.

Page 287: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Disparity ( 기본함수 )

1. 함수에 대한 간략해설

Disparity(이격도)는 주가가 이동평균 값으로부터 얼마만큼 떨어져 있는가를 나타내는 지표임.

2. 함수의 전체 형태

Disparity( pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 20 필수 Disparity값을 계산 기간

4. 반환값(Return : double)Disparity 값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

Disparity( 20 ) :

6. 활용방법

이격도가 100이라면 주가와 이동평균선이 동일한 위치에 있음을 뜻하며 110이라면 주가가

이동평균선 보다 10% 높게 위치해 있음을 의미

20일, 60일 이격도를 통해 매수시점과 매도시점을 파악

일반적으로 주가가 20일 이격도 대비 ±5~8% 범위를 벗어나면 매수 혹은 매도시점으로 파악함.

Page 288: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DMI ( 기본함수 ) – Directional Movement Index

1. 함수에 대한 간략해설

현재의 시장이 추세적 시장인지 비추세적 시장인지와 더불어 그 추세의 강도까지 알려주는 지표로서 보통

단기적인 차원이 아닌 중장기적인 관점에서 추세를 파악

2. 함수의 전체 형태

DMI( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 14 필수 DMI값을 계산하고자 하는 기간

4. 반환값(Return : double)DMI값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

DMI( 14 ) :

6. 활용방법

+DI와 –DI의 교차를 이용한 매매 의사결정, 예를 들어 +DI가 –DI를 상향돌파한 후 새로운 고점을

형성하지 못하고 다시 하락한다면 매수유보는 물론 추가적인 매도포지션을 취함. +DI는 상승탄력, -DI는 하락탄력을 나타내므로 그 차이가 크면 클수록 시장의 추세는 매우 강하게

지속됨을 의미.

Page 289: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DMIUser ( 기본함수 ) – Directional Movement Index Custom

1. 함수에 대한 간략해설

현재의 시장이 추세적 시장인지 비추세적 시장인지와 더불어 그 추세의 강도까지 알려주는 지표로서 보통

단기적인 차원이 아닌 중장기적인 관점에서 추세를 파악하여 각종 가격을 인자로 제공

2. 함수의 전체 형태

DMIUser (PH, PL, PC, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PH Num High 필수 DMI계산시 고가(참조종목의 고가)PL Num Low 필수 DMI계산시 저가(참조종목의 저가)PC Num Close 필수 DMI계산시 종가(참조종목의 종가)

period Num 14 필수 DMI값을 계산하고자 하는 기간

4. 반환값(Return : double)DMI값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

DMIUser ( High of Data2, Low of Data2, Close of Data2, 14 ) : 일반적인 함수형태

6. 활용방법

+DI와 –DI의 교차를 이용한 매매 의사결정, 예를 들어 +DI가 –DI를 상향돌파한 후 새로운 고점을

형성하지 못하고 다시 하락한다면 매수유보는 물론 추가적인 매도포지션을 취함. +DI는 상승탄력, -DI는 하락탄력을 나타내므로 그 차이가 크면 클수록 시장의 추세는 매우 강하게

지속됨을 의미.

Page 290: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DMIMinus ( 기본함수, -DI ) – Directional Movement Index Minus

1. 함수에 대한 간략해설

현재의 시장이 추세적 시장인지 비추세적 시장인지와 더불어 그 추세의 강도까지 알려주는 지표로서 보통

단기적인 차원이 아닌 중장기적인 관점에서 추세를 파악, 특히 DMIMinus값이 크면 클수록 하락추세가

강하다고 판단해 볼 근거가 있음.

2. 함수의 전체 형태

DMIMinus( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 14 필수 DMIMinus값을 계산하고자 하는

기간

4. 반환값(Return : double)DMIMinus(-DI) 값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

DMIMinus( 14 ) :

6. 활용방법

+DI와 –DI의 교차를 이용한 매매 의사결정, 예를 들어 +DI가 –DI를 상향돌파한 후 새로운 고점을

형성하지 못하고 다시 하락한다면 매수유보는 물론 추가적인 매도포지션을 취함. +DI는 상승탄력, -DI는 하락탄력을 나타내므로 그 차이가 크면 클수록 시장의 추세는 매우 강하게

지속됨을 의미.

Page 291: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DMIMinusUser ( 기본함수 ) – Directional Movement Index Minus Custom

1. 함수에 대한 간략해설

현재의 시장이 추세적 시장인지 비추세적 시장인지와 더불어 그 추세의 강도까지 알려주는 지표로서 보통

단기적인 차원이 아닌 중장기적인 관점에서 추세를 파악하여 각종 가격을 인자로 제공

2. 함수의 전체 형태

DMIMinusUser(PH, PL, PC, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PH Num High 필수 DMIMinusCostom 계산시 고가

PL Num Low 필수 DMIMinusCostom 계산시 저가

PC Num Close 필수 DMIMinusCostom 계산시 종가

period Num 14 필수 DMIMinusCostom 값을 계산 기간

4. 반환값(Return : double)DMIMinusUser값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

DMIMinusUser( High of Data2, Low of Data2, Close of Data2, 14 ) : 일반적인 함수형태

6. 활용방법

+DI와 –DI의 교차를 이용한 매매 의사결정, 예를 들어 +DI가 –DI를 상향돌파한 후 새로운 고점을

형성하지 못하고 다시 하락한다면 매수유보는 물론 추가적인 매도포지션을 취함. +DI는 상승탄력, -DI는 하락탄력을 나타내므로 그 차이가 크면 클수록 시장의 추세는 매우 강하게

지속됨을 의미.

Page 292: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DMIPlus ( 기본함수, +DI ) – Directional Movement Index Plus

1. 함수에 대한 간략해설

현재의 시장이 추세적 시장인지 비추세적 시장인지와 더불어 그 추세의 강도까지 알려주는 지표로서 보통

단기적인 차원이 아닌 중장기적인 관점에서 추세를 파악, 특히 DMIPlus값이 크면 클수록 상승추세가

강하다고 판단해 볼 근거가 있음.

2. 함수의 전체 형태

DMIPlus( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 14 필수 DMIPlus값을 계산하고자 하는 기간

4. 반환값(Return : double)DMIPlus(+DI) 값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

DMIPlus( 14 ) :

6. 활용방법

+DI와 –DI의 교차를 이용한 매매 의사결정, 예를 들어 +DI가 –DI를 상향돌파한 후 새로운 고점을

형성하지 못하고 다시 하락한다면 매수유보는 물론 추가적인 매도포지션을 취함. +DI는 상승탄력, -DI는 하락탄력을 나타내므로 그 차이가 크면 클수록 시장의 추세는 매우 강하게

지속됨을 의미.

Page 293: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

DMIPlusUser ( 기본함수 ) – Directional Movement Index Plus

1. 함수에 대한 간략해설

현재의 시장이 추세적 시장인지 비추세적 시장인지와 더불어 그 추세의 강도까지 알려주는 지표로서 보통

단기적인 차원이 아닌 중장기적인 관점에서 추세를 파악하여 각종 가격을 인자로 제공

2. 함수의 전체 형태

DMIPlusUser(PH, PL, PC, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PH Num High 필수 DMIPlusCostom 계산시 고가

PL Num Low 필수 DMIPlusCostom 계산시 저가

PC Num Close 필수 DMIPlusCostom 계산시 종가

period Num 14 필수 DMIPlusCostom 값을 계산 기간

4. 반환값(Return : double)DMIPlusUser값에 대한 결과를 반환하며 데이터의 형태는 실수값

5. 함수사용 예

DMIPlusUser( High of Data2, Low of Data2, Close of Data2, 14 ) : 일반적인 함수형태

6. 활용방법

+DI와 –DI의 교차를 이용한 매매 의사결정, 예를 들어 +DI가 –DI를 상향돌파한 후 새로운 고점을

형성하지 못하고 다시 하락한다면 매수유보는 물론 추가적인 매도포지션을 취함. +DI는 상승탄력, -DI는 하락탄력을 나타내므로 그 차이가 크면 클수록 시장의 추세는 매우 강하게

지속됨을 의미.

Page 294: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Doji ( 기본함수 )

1. 함수에 대한 간략해설

시가와 종가가 동일한 경우를 알아보기 위한 목적

2. 함수의 전체 형태

Doji (pGap ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pGap Num 5 시가와 종가폭 범위 확인

4. 반환값(Return : TruseFalse)특정 봉에서 시가와 종가가 동일한 경우 True로서 1을 반환하고 그렇지 않은 경우 False로서 0을 반환

5. 함수사용 예

Doji (5) :

6. 활용방법

특정한 봉이 보합일 경우 이를 활용하여 매매로직을 구성

Page 295: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

EMA ( 기본함수 ) – Eavg, Xaverage 등의 함수와 동일한 기능

1. 함수에 대한 간략해설

주어진 기간과 가격에 대한 지수이동 평균을 반환하는 함수이며 Eavg, XAverage 함수와 동일한 기능을

하는 함수

2. 함수의 전체 형태

Ema ( Price, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 10 필수 기간값

4. 반환값(Return : 실수형 )지수이동평균을 반환하며 실수형

5. 함수사용 예

Ema( Close, 10 )

6. 활용방법

지수이동평균은 가중이동평균의 일종

최근데이터에 좀 더 많은 가중치를 부여

단순이동평균의 후행성을 극복하기 위해 고안된 방법이며 많이 사용

Page 296: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

EnvelopeDown ( 기본함수 )

1. 함수에 대한 간략해설

주가의 이동평균선과 이를 중심으로 ±n%선을 동시에 그린 것을 이동평균선에 대한 Envelope라고 함.함수는 하한선을 의미.

2. 함수의 전체 형태

EnvelopeDown ( pPeriod, pPercent ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 20 필수 중심선을 나타내는 이동평균선의

기간

pPercent Num 2 필수 ±n%

4. 반환값(Return : double )주가의 n일 이동평균선 – n% 즉, Envelope 하한선

5. 함수사용 예

EnvelopeDown( 20, 2) : Envelope 하한선

☞ EnvelopeDown의 경우 위와 같이 양수값 2%로 인자를 주고 함수를 호출하면 내부적으로

-2%로 계산함.

6. 활용방법

주가가 Envelope 중심선을 상향돌파할때를 매수시점, 하향이탈할 때를 매도시점으로 인식

Envelope를 벗어난 후 다시 Envelope로 재진입하는 시점을 매매시점으로 인식

상한선인 +n%를 저항선으로, 하한선인 –n%를 지지선으로 인식

Page 297: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

EnvelopeUp ( 기본함수 )

1. 함수에 대한 간략해설

주가의 이동평균선과 이를 중심으로 ±n%선을 동시에 그린 것을 이동평균선에 대한 Envelope라고 함. EnvelopeUp 함수는 상한선을 의미.

2. 함수의 전체 형태

EnvelopeUp ( pPeriod, pPercent ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 20 필수 중심선을 나타내는 이동평균선의

기간

pPercent Num 2 필수 ±n%

4. 반환값(Return : double )주가의 n일 이동평균선 + n% 즉, Envelope 상한선

5. 함수사용 예

EnvelopeUp( 20, 2 ) : Envelope 상한선

6. 활용방법

주가가 Envelope 중심선을 상향돌파할때를 매수시점, 하향이탈할 때를 매도시점으로 인식

Envelope를 벗어난 후 다시 Envelope로 재진입하는 시점을 매매시점으로 인식

상한선인 +n%를 저항선으로, 하한선인 –n%를 지지선으로 인식

Page 298: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

EOM ( 기본함수 )

1. 함수에 대한 간략해설

EOM은 거래량과 주가의 상관관계를 나타내는 지표

2. 함수의 전체 형태

EOM ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double )인자로 전달된 기간의 EOM을 반환하며 실수값

5. 함수사용 예

EOM( ) 6. 활용방법

EOM이 0선을 상향돌파하면 매수신호, 하향돌파하면 매도신호로 파악

주가의 변동이 거의 없거나 변동이 있는데 거래량이 많은 경우 EOM의 값은 0에 가깝게 됨. 거래량이 적은 상태에서 주가가 상승중일 때 EOM은 높은 수치를 나타내며, 거래량이 적은

상태에서 주가가 하락중일때는 낮은 EOM을 나타냄.

Page 299: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

EveningStar ( 기본함수 )

1. 함수에 대한 간략해설

봉패턴의 일종으로 상승추세에서 몸체가 긴 양봉이 출현한 후 다음날 갭이 발생하면서 몸체가 작은 봉이

나타나고 이후 셋째봉에서 몸체가 긴 음선이 출현하면서 이후 하락하는 경우를 말하며 석별형이라고도 함.

2. 함수의 전체 형태

EveningStar ( pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pLeng Num 10 필수 EveningStar을 계산하기 위한 기간

4. 반환값(Return : TrueFalse )현재봉의 패턴이 EveningStar(석별형)이면 True를 뜻하는 1값을 반환하고 아니면 0을 반환

5. 함수사용 예

EveningStar( 10 )

6. 활용방법

EveningStar는 상승추세에서 몸체가 긴 양선이 출현 후 갭을 만들면서 다음날 몸체가 작은 일봉이

출현하고 셋째날 몸체가 긴 음선이 발생하는 경우이며 하락전환 신호로 해석

EveningStar가 양선인 경우 신뢰도가 높으며 DarkCloud(먹구름형)과 비슷함.

Page 300: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FastD ( 기본함수 ) ⇒ StoFastD와 동일한 기능의 함수

1. 함수에 대한 간략해설

FastD는 Stochastic에서 산출된 함수이며 스토캐스틱은 일정 기간 동안의 주가 변동폭 중 금일종가의

위치를 백분율로 나타내어 매매의사결정을 할 때 사용

2. 함수의 전체 형태

FastD ( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 14 필수 FastK를 계산할 기간 값

4. 반환값(Return : double )FastK를 지수이동평균한 값으로 실수형

5. 함수사용 예

FastD( 14 ) : %K라고도 함.

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 301: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FastDUser ( 기본함수 )

1. 함수에 대한 간략해설

FastDCustom은 Stochastic에서 산출된 함수이며 스토캐스틱은 일정 기간 동안의 주가 변동폭 중 인자로

전달된 Price의 위치를 백분율로 나타내어 현재의 Price 위치를 파악해서 매매의사결정을 할 때 사용

2. 함수의 전체 형태

FastDUser (PriceForHigh, PriceForLow, PriceForClose, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForHigh Num High 필수 스톡캐스틱 계산용 고가

PriceForLow Num Low 필수 “ 저가

PriceForClose Num Close 필수 “ 종가

period Num 14 필수 FastK를 계산할 기간 값

4. 반환값(Return : double )사용자 지정 Price에 대한 FastD를 반환

5. 함수사용 예

FastDUser (High+1, Low-1, Close, 14) : Close를 사용한 FastD를 구함.

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 302: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FastDUserOrig ( 기본함수 )

1. 함수에 대한 간략해설

FastDUserOrig 함수는 사용자가 정의한 가격에 기반한 스토캐스틱 오실레이터에 대한 FastD 값을

반환하며, George Lane이 제안하는 고전적 평활화 방식을 사용하고 있다는 점이 FastDUser와의 차이임.

2. 함수의 전체 형태

FastDUserOrig (PriceForHigh, PriceForLow, PriceForClose, period, FastDperiod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForHigh Num High 필수 스톡캐스틱 계산용 고가

PriceForLow Num Low 필수 “ 저가

PriceForClose Num Close 필수 “ 종가

period Num 14 필수 FastK를 계산할 기간 값

FastDperiod Num 3 필수 평활화 계수

4. 반환값(Return : double )사용자 지정 Price에 대한 FastD를 반환

5. 함수사용 예

FastDUserOrig(High+1, Low-1, Close, 14, 3) : Close를 사용한 FastD를 구함.

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 303: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FastK ( 기본함수 )

1. 함수에 대한 간략해설

FastK는 기본적K라고도 하며 Stochastic에서 산출된 함수임. 스토캐스틱은 일정 기간 동안의 주가 변동폭

중 금일종가의 위치를 백분율로 나타내어 매매의사결정을 할 때 사용

2. 함수의 전체 형태

FastK ( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 14 필수 FastK를 계산할 기간 값

4. 반환값(Return : double )FastK를 계산한 값으로 실수형

5. 함수사용 예

FastK( 14 ) : 기본적K라고도 함.

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 304: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FastKUser ( 기본함수 )

1. 함수에 대한 간략해설

FastKUser은 Stochastic에서 산출된 함수이며 스토캐스틱은 일정 기간 동안의 주가 변동폭 중 인자로

전달된 Price의 위치를 백분율로 나타내어 현재의 Price 위치를 파악해서 매매의사결정을 할 때 사용

2. 함수의 전체 형태

FastKUser (PriceForHigh, PriceForLow, PriceForClose, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForHigh Num High 필수 스톡캐스틱 계산을 위한 고가

PriceForLow Num Low 필수 “ 저가

PriceForClose Num Close 필수 “ 종가

period Num 14 필수 FastK를 계산할 기간 값

4. 반환값(Return : double )사용자 지정 Price에 대한 FastK(기본적K)를 반환

5. 함수사용 예

FastKUser(High+1, Low-1, Close, 14) : Close를 사용한 FastK를 구함.

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 305: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FastKUserSimple ( 기본함수 )

1. 함수에 대한 간략해설

FastKUserSimple 은 Stochastic에서 산출된 함수이며 스토캐스틱은 일정 기간 동안의 주가 변동폭 중

인자로 전달된 Price의 위치를 백분율로 나타내어 현재의 Price 위치를 파악해서 매매의사결정을 할 때 사용

2. 함수의 전체 형태

FastKUserSimple ( Price, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수 시, 고, 저, 종 등의 가격

Period Num 14 필수 FastK를 계산할 기간 값

4. 반환값(Return : double )사용자 지정 Price에 대한 FastK(기본적K)를 반환

5. 함수사용 예

FastKUserSimple (Close, 14) : Close를 사용한 FastK를 구함.

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 306: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FastKUserOrig ( 기본함수 )

1. 함수에 대한 간략해설

FastKUserOrig 은 스토캐스틱을 처음 만든 George Lane에 의해 추천되어지는 가격, 기간을 사용하여

지수이동평균한 FastK를 구하며 결과는 FastKUser와 동일함.

2. 함수의 전체 형태

FastKUserOrig ( PriceForHigh, PriceForLow, PriceForClose, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForHigh Num High 필수 스톡캐스틱 계산을 위한 고가

PriceForLow Num Low 필수 “ 저가

PriceForClose Num Close 필수 “ 종가

period Num 14 필수 FastK를 계산할 기간 값

4. 반환값(Return : double )사용자 지정 Price에 대한 FastK(기본적K)를 반환

5. 함수사용 예

FastKUserOrig (High+1, Low-1, Close, 14) : Close를 사용한 FastK를 구함.

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 307: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Floor( 수학함수 )

1. 함수에 대한 간략해설

실수값을 인자로 받아 반올림한 후 소수점 이하의 값을 버리고 정수값만을 취한 후 반환하는 함수

2. 함수의 전체 형태

Floor( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 생략 필수 정수값으로 변환시킬 값

4. 반환값(Return : double )실수값에서 반올림한 후 정수부분만을 취하여 반환

5. 함수사용 예

Floor(14.321 ) : 14 Floor(5.934 ) : 6

6. 활용방법

실수값을 입력받아 이를 정수값으로 변환하여 매매식에 활용

Page 308: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

FracPortion( 수학함수 )

1. 함수에 대한 간략해설

FracPortion 함수는 인자로 전달된 실수형 값에서 소수점 부분만을 추출하여 반환함.

2. 함수의 전체 형태

FracPortion ( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수

4. 반환값(Return : double )소수점 부분만을 추출하여 반환

5. 함수사용 예

FracPortion( 4.5 ) : 0.5 값을 반환

6. 활용방법

FracPortion 함수를 통해 주어진 가격의 소수점 부분만을 추출

Page 309: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Hammer ( 기본함수 )

1. 함수에 대한 간략해설

추세의 바닥권에서 아래로 달린 꼬리가 몸체의 두 배 이상되는 모양의 일봉이 나타나면 추세전환의 신호로

판단하는데 이것을 망치형(Hammer)이라고 하며 이것을 구현한 함수임.

2. 함수의 전체 형태

Hammer ( pLeng, pTail ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pLeng Num 14 필수 하락일수를 계산하기 위한 기간

pTail Num 2 필수 봉의 몸체에 대비한 꼬리의 배수

4. 반환값(Return : TrueFalse)특정한 봉이 망치형(Hammer)이면 True를 뜻하는 1을 반환하고 아니면 0을 반환

5. 함수사용 예

Hammer( 14, 2 )

6. 활용방법

양봉의 Hammer가 출현시 주가가 더 이상 하락하지 않고 상승추세로 돌아설 가능성이 높아 이를

매매에 활용

Page 310: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

HighD ( 기본함수 ) – DayHigh 함수와 완전동일

1. 함수에 대한 간략해설

N일봉의 고가를 반환하는 함수

2. 함수의 전체 형태

HighD ( BarsBack ) : 일반적인 표준함수

DayHigh (BarsBack) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

BarsBack Num 생략 필수 N일전 고가

4. 반환값(Return : double)N일전의 고가를 반환

5. 함수사용 예

HighD( 3 ) : 3일전의 고가를 반환

DayHigh( 3 ) : 3일전의 고가를 반환

6. 활용방법

특정일의 일봉 고가를 구하여 매매에 활용

일봉, 주봉에서만 고가를 반환함

DayHigh함수와 완전동일

Page 311: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Highest ( 기본함수 )

1. 함수에 대한 간략해설

지정한 기간동안의 최고가를 반환해 주는 함수

2. 함수의 전체 형태

Highest ( PriceForHigh, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForHigh Num Close 필수 시, 고, 저, 종 등의 가격

period Num 10 필수 지정할 기간

4. 반환값(Return : double)Length로 지정한 기간동안 최고가를 반환

5. 함수사용 예

Highest( High, 10 ) => 10일 동안의 최고가

6. 활용방법

특정 기간동안 최고가를 추출하여 매매에 활용

Page 312: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

IFF ( 기본함수 )

1. 함수에 대한 간략해설

조건식을 체크하여 만족할 경우와 불만족할 경우 각각 다른 값을 반환하는 함수

2. 함수의 전체 형태

IFF ( pCondVal pTrueVal, pFalseVal ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명

(Name)데이터형태(Type) 추천/기본값 필수여부 부연설명

pCondVal TrueFalse 조건식 필수 조건식

pTrueVal Num 1 필수 조건식을 만족시 반환할 값

pFalseVal Num 0 필수 조건식을 만족하지 못할 경우

반환할 값

☞ TrueVale, FalseValue은 모두 같은 데이터 타입이어야 함.

4. 반환값(Return : double)조건식의 만족여부에 따른 값을 반환

5. 함수사용 예

Value1 = IFF( ( Close > Open ), 1, 0 ) : 양봉이면 1을 반환하고 아니면 0을 반환

6. 활용방법

조건식에 따라 다르게 동작하도록 할 때 본 함수를 사용

Page 313: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Index ( 기본함수 ) – BarIndex와 동일

1. 함수에 대한 간략해설

차트의 첫 봉을 0으로 시작해서 순차적으로 1씩 증가시키며 번호를 매겨 반환하는 함수

2. 함수의 전체 형태

Index ( ) : 일반적인 표준함수

BarIndex ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명

(Name)데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double)차트의 맨 왼쪽부터 순차적으로 부여한 번호값을 반환

5. 함수사용 예

If( Index( ) = 0 ) then : 첫봉인지 여부를 조건체크

6. 활용방법

차트의 봉번호를 알아내서 매매식에 활용

Page 314: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

IntPortion( 수학함수 )

1. 함수에 대한 간략해설

IntPortion 함수는 인자로 전달된 실수형 값에서 정수 부분만을 추출하여 반환함.

2. 함수의 전체 형태

IntPortion ( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수

4. 반환값(Return : double )정수 부분만을 추출하여 반환

5. 함수사용 예

IntPortion(Close)

6. 활용방법

IntPortion 함수를 통해 주어진 가격의 정수 부분만을 추출

Page 315: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

JulianToDate( 분석함수 )

1. 함수에 대한 간략해설

인자로 전달된 Julian Date 값을 날짜로 변환하는 함수

2. 함수의 전체 형태

JulianToDate( JulianDate )

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

JulianDate Num 필수 날짜로 변환을 원하는 Julian Date

4. 반환값(Return : double)인자로 전달된 Julian Date를 날짜 값으로 반환

5. 함수사용 예

JulianToDate(0) : 1900/01/01 JulianToDate(41200) : 2012/10/20

6. 활용방법

Julian Date 값을 통해 날짜를 구하여 매매식에 활용

Page 316: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

KeltnerChannel ( 기본함수 )

1. 함수에 대한 간략해설

추세추종형의 특성을 가지고 있는 지표이며 이동평균에 True Range의 평균을 더하거나 빼 주어 밴드를

구성하여 거래에 활용함. 주가가 윗 밴드를 초과하여 상승하면 매수하고 아래 밴드를 뚫고 하락하면 매도를

하는 것이 기본전략임.

2. 함수의 전체 형태

KeltnerChannel ( pPVal, pLeng, pAtr ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수 시, 고, 저, 종 등의 가격

pLeng Num 20 필수 지정할 기간

pAtr Num 1.5 필수 상단, 하단밴드를 구성할 배수

4. 반환값(Return : double)지정한 봉에 대한 Keltner Channel 값으로 실수형

5. 함수사용 예

KeltnerChannel( Close, 20, 1.5 )

6. 활용방법

위의 밴드를 상향돌파시 매수전략, 아래 밴드를 하향돌파시 매도전략으로 활용

밴드폭을 크게하여 역추세전략으로도 활용가능

Page 317: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Log( 수학함수 )

1. 함수에 대한 간략해설

인자로 전달된 값을 자연로그 값으로 돌려주는 기본함수

2. 함수의 전체 형태

Log( Value )

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 자연로그 값을 원하는 숫자, 가격 등

4. 반환값(Return : double)인자로 전달된 숫자를 자연로그 값으로 반환

5. 함수사용 예

Log( 5 ) : 1.61

6. 활용방법

입력된 값의 자연로그로 변환 후 매매식에 활용

Page 318: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Log10( 수학함수 )

1. 함수에 대한 간략해설

인자로 전달된 값을 상용로그 값으로 돌려주는 기본함수

2. 함수의 전체 형태

Log10 ( Value )

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 상용로그 값을 원하는 숫자, 가격 등

4. 반환값(Return : double)인자로 전달된 숫자를 상용로그 값으로 반환

5. 함수사용 예

Log10( 5 ) : 0.7

6. 활용방법

입력된 값의 사용로그로 변환 후 매매식에 활용

Page 319: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

LowD ( 수학함수 )

1. 함수에 대한 간략해설

N일봉의 저가를 반환하는 함수

2. 함수의 전체 형태

LowD ( BarsBack ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

BarsBack Num 필수 N일전 저가

4. 반환값(Return : double)N일전의 저가를 반환

5. 함수사용 예

LowD( 3 ) : 3일전의 저가를 반환

DayLow( 3 ) : 3일전의 저가를 반환

6. 활용방법

특정일의 일봉 저가를 구하여 매매에 활용

일봉, 주봉에서만 저가를 반환함

Page 320: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Lowest ( 기본함수 )

1. 함수에 대한 간략해설

지정한 기간 중 가장 낮은 가격을 반환하는 함수

2. 함수의 전체 형태

Lowest ( PriceForLow, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForLow Num Close 필수 시, 고, 저, 종 등의 가격

period Num 10 필수 기간값

4. 반환값(Return : double)Length 기간중의 가장 낮은 가격을 반환

5. 함수사용 예

Lowest( Close, 10 ) : 10일간의 종가중에서 가장 낮은 종가를 반환

6. 활용방법

지정가격, 지정기간중의 최저가를 구하여 매매에 활용

Page 321: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

LRL ( 기본함수 ) – Linear Regression Line

1. 함수에 대한 간략해설

LRL(선형회귀분석선)은 주가와 예측선 사이의 거리를 최소화하기 위해 주가를 최소제곱법을 사용하여

직선으로그린선임.

2. 함수의 전체 형태

LRL ( pVal, pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pVal Num Close 필수 시, 고, 저, 종 등의 가격

pPeriod Num 10 필수 기간값

4. 반환값(Return : double)Length 기간중의 선형회귀분석선을 반환하며 실수형

5. 함수사용 예

LRL( Close, 10 )

6. 활용방법

LRL 값은 균형가격의 의미를 가지므로 LRL선 위의 가격은 과매수를 의미하고 LRL선 밑의 가격은

과매도 상태의 가격으로 해석할 수 있음.

Page 322: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

LRS ( 기본함수 ) – Linear Regression Slope

1. 함수에 대한 간략해설

LRS(직선회귀기울기)는 LRL(선형회귀분석선)의 기울기를 표현하는지표로서 시장의 과열과 침체를

알리는 기능을 함.

2. 함수의 전체 형태

LRS ( pPVal, pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수 시, 고, 저, 종 등의 가격

pLeng Num 10 필수 기간값

4. 반환값(Return : double)Length 기간중의 LRS를 반환하며 실수형

5. 함수사용 예

LRS( Close, 10 )

6. 활용방법

LRS의 값이 기준선인 0을 상향돌파하면 주가의 상승을 예상하며 매수시점으로 파악

0선을 하향이탈하면 주가의 하락을 예상하여 매도시점으로 파악

LRS는 진동지표의 특성을 가지고 있어서 가격과 지표와의 Divergence에도 사용

Page 323: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MA ( 기본함수 )

1. 함수에 대한 간략해설

인자로 전달된 기간동안의 주가평균을 나타내며 단순주가평균, 지수이동평균, 가중이동평균, 기하삼각이평 등을 선택해서 참조할 수 있는 함수

2. 함수의 전체 형태

MA( pPriceVal, pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPriceVal Num Close 필수

pPeriod Num 10 필수 MA값을 계산하고자 하는 기간(봉의

개수)

4. 반환값(Return : double)인자로 주어진 가격(Price)에 대한 이동평균 값으로 실수값

5. 함수사용 예

MA( Close, 10 ) : 단순 10일 이동평균

6. 활용방법

인자로 전달된 Price의 Length 기간동안의 다양한 이동평균을 계산하여 매매식을 작성

Page 324: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MACD ( 기본함수 ) – Moving Average Convergence & Divergence

1. 함수에 대한 간략해설

MACD는 장기, 단기 두 이동평균 사이의 관계를 보여주는 운동량 지표로서 단기 지수이동평균에서 장기

지수이동평균을 뺀 값을 의미, 또한 MACD의 지수이동평균을 시그널(Signal)이라 부르며 이 두 곡선의

교차점과 주가와의 Divergence를 이용하여 매매시점을 포착하게 됨.

2. 함수의 전체 형태

MACD( Price, FastPeriod, SlowPeriod ) : TradeStation에서 사용되는 MACD함수를 사용

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수

FastPeriod Num 12 필수 단기

SlowPeriod Num 26 필수 장기

4. 반환값(Return : double)인자로 주어진 장기, 단기에 대한 MACD 값으로 실수값

5. 함수사용 예

MACD( Close, 12, 26 ) : MACD 일반적인 호출방법

6. 활용방법

MACD값이 음(-)에서 양(+)로 전환하면 상승추세로의 전환으로 보고 반대의 경우에는

하락추세로의 전환으로 판단

MACD의 n일 지수이동평균을 Signal곡선이라 하는데 MACD가 Signal곡선을 상향돌파할 때를

매수시점으로, 하향돌파할때를 매도시점으로 인식

Page 325: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MassIndex ( 기본함수 )

1. 함수에 대한 간략해설

이 함수는 MI함수와 기능은 동일하나 인자를 두 개 받아서 처리함. MassIndex는 고가와 저가 사이의

변동폭을 계산하여 추세의 전환점을 예측하는데 유용한 지표로서, 주가변동폭이 커지면 MassIndex는

증가하고 주가 변동폭이 작아지면 MassIndex는 감소하는 특징이 있음.

2. 함수의 전체 형태

MassIndex ( XPeriod, SumPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

XPeriod Num 9 필수 1차지수이동평균을 위한 기간값(단기)

SumPeriod Num 25 필수 2차지수이동평균및 합계 위한

기간값(장기)

4. 반환값(Return : double)MassIndex 값을 반환하며 실수값

5. 함수사용 예

MassIndex( 9, 25 ) : MassIndex 일반적인 호출방법

6. 활용방법

SumLength의 값이 25일인 MassIndex의 경우 추세전환의 기준값으로 27과 26.5를 정해진

값으로 사용

25일 MassIndex가 27선을 넘어선 후 바로 26.5선을 하향돌파하는 경우( 반전신호 또는 Reversal Bulge발생 )에는 곧 주가추세의 전환시점이 임박했음을 의미함.

Reversal Bulge가 발생했을 경우에 단기이평선인 SmLength 기간 지수이동평균선이

하락추세이면 매수시점, 상승추세이면 매도시점으로 파악

Page 326: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MaxList ( 수학함수 ) – Max와 동일함수

1. 함수에 대한 간략해설

인자로 지정한 가격들 중에 최고가를 반환해 주는 함수

2. 함수의 전체 형태

MaxList ( A, B … N ) : 일반적인 표준함수

Max ( A, B … N ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

A Num 필수 시, 고, 저, 종 등의 가격

B Num 필수 시, 고, 저, 종 등의 가격

…N Num 선택 시, 고, 저, 종 등의 가격

☞ Price List에서 최소 2개는 필수항목임.

4. 반환값(Return : double)Price List에서 최고가를 반환

5. 함수사용 예

MaxList( High, Close ) Max( High, Close )

6. 활용방법

주어진 가격에서 최고가를 추출해서 이를 매매에 활용

Page 327: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MaxList2 ( 수학함수 )

1. 함수에 대한 간략해설

인자로 지정한 가격들 중에 두번째로 큰 값을 반환해 주는 함수

2. 함수의 전체 형태

MaxList2 ( A, B … N ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

A Num 필수 시, 고, 저, 종 등의 가격

B Num 필수 시, 고, 저, 종 등의 가격

…N Num 선택 시, 고, 저, 종 등의 가격

☞ Price List에서 최소 2개는 필수항목임.

4. 반환값(Return : double)Price List에서 두번째로 큰 값을 반환

5. 함수사용 예

MaxList2( High, Close )

6. 활용방법

주어진 가격에서 두번째로 큰 가격을 추출해서 이를 매매에 활용

Page 328: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MedianPrice ( 기본함수 )

1. 함수에 대한 간략해설

특정 봉의 고가와 저가의 중간값을 반환해 주는 함수

2. 함수의 전체 형태

MedianPrice ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double)특정 봉의 고가와 저가의 중간값을 반환

5. 함수사용 예

MedianPrice( )

6. 활용방법

특정 봉의 중간값을 계산하여 매매에 활용

Page 329: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MFI ( 기본함수 ) - Market Facilitation Index

1. 함수에 대한 간략해설

특정 봉의 고가와 저가의 차이를 거래량으로 나누어 시장의 강도를 측정하기 위해 사용되며 MFI 함수와는

전혀 다른 함수임.

2. 함수의 전체 형태

MFI ( pVol ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pVol Num Volume 필수 거래량

4. 반환값(Return : double)특정 봉의 MFI 값을 반환하며 실수형

5. 함수사용 예

MFI(Volume)

6. 활용방법

특정 봉의 거래량 대비한 Range를 파악하여 매매에 활용

Page 330: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MidPoint ( 기본함수 )

1. 함수에 대한 간략해설

특정 기간 동안의 고가와 저가의 중간값을 반환하는 함수

2. 함수의 전체 형태

MidPoint ( Price, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 10 필수 기간값

4. 반환값(Return : double)인자로 주어진 Price에 대한 기간동안의 중간값을 반환하며 실수형

5. 함수사용 예

MidPoint( Close, 10 )

6. 활용방법

특정 Price의 중간 가격을 파악하여 매매에 활용

Page 331: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MinList ( 수학함수 ) – Min과 동일한 함수

1. 함수에 대한 간략해설

인자로 지정한 가격들 중에 최저가를 반환해 주는 함수

2. 함수의 전체 형태

MinList ( A, B … x ) : 일반적인 표준함수

Min (A, B … x )

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

A Num 필수 시, 고, 저, 종 등의 가격

B Num 필수 시, 고, 저, 종 등의 가격

…x Num 생략 선택 시, 고, 저, 종 등의 가격

☞ Price List에서 최소 2개는 필수항목임.

4. 반환값(Return : double)Price List에서 최저가를 반환

5. 함수사용 예

MinList( High, Close ) Min(Open, High, Close)

6. 활용방법

주어진 가격에서 최저가를 추출해서 이를 매매에 활용

Page 332: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MinList2 ( 수학함수 )

1. 함수에 대한 간략해설

인자로 지정한 가격들 중에 두번째로 작은 값을 반환해 주는 함수

2. 함수의 전체 형태

MinList2 ( A, B … x ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

A Num 필수 시, 고, 저, 종 등의 가격

B Num 필수 시, 고, 저, 종 등의 가격

…x Num 선택 시, 고, 저, 종 등의 가격

☞ Price List에서 최소 2개는 필수항목임.

4. 반환값(Return : double)Price List에서 두번째로 작은 값을 반환

5. 함수사용 예

MinList2( High, Close )

6. 활용방법

주어진 가격에서 두번째로 작은 가격을 추출해서 이를 매매에 활용

Page 333: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MinutesToTime( 기본함수 )

1. 함수에 대한 간략해설

인자로 전달된 분 단위 값을 시간, 분, 초 값(HHMMSS)으로 변환하는 함수

2. 함수의 전체 형태

MinutesToTime( pHHMM )

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pHHMM Num 필수 변환을 원하는 분 값

4. 반환값(Return : double)인자로 전달된 분 값을 시간과 분 값으로 반환

5. 함수사용 예

MinutesToTime(95) : 135를 반환하며 1시간35분이란 의미임.

6. 활용방법

분을 시간과 분 값(HHMM)으로 구하여 매매식에 활용

Page 334: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Mod ( 수학함수 )

1. 함수에 대한 간략해설

인자로 주어진 두개의 수치를 나눈 결과 나머지 값을 반환하는 함수

2. 함수의 전체 형태

Mod ( Dividend, Divisor ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Dividend Num 필수 나누어지는 값

Divisor Num 필수 나누는 값

4. 반환값(Return : double)나머지를 반환

5. 함수사용 예

Mod( 10, 3 ) : 1 값을 반환

6. 활용방법

인자로 주어진 두개의 수치를 나눈 결과 나머지 값을 반환하여 매매에 활용

Page 335: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Momentum ( 기본함수 )

1. 함수에 대한 간략해설

과거 일정시점의 가격과 현재의 가격을 비교하여 현재의 가격이 상승추세에 있는지 하락추세에 있는지를

판단하기 위한 목적으로 사용되는 함수

2. 함수의 전체 형태

Momentum (pPriceVal, pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPriceVal Num Close 필수 시, 고, 저, 종 등의 가격

pPeriod Num 14 필수 Momentum을 계산하기 위한 기간

4. 반환값(Return : double)현재봉에 대한 모멘텀 값을 반환

5. 함수사용 예

Momentum( Close, 14 )

6. 활용방법

가격을 이용한 추세판단 지표

과거 일정시점의 가격과 현재의 가격을 비교하여 추세를 분석

Page 336: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MorningStar ( 기본함수 )

1. 함수에 대한 간략해설

봉패턴의 일종으로 하락추세에서 몸체가 긴 봉이 출현한 후 갭을 발생하면서 몸체가 작은 봉이 나타나는

경우를 말하며 샛별형이라고도 함.

2. 함수의 전체 형태

MorningStar ( pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 14 필수 MorningStar을 계산하기 위한 기간

4. 반환값(Return : TrueFalse )현재봉의 패턴이 샛별형이면 True를 뜻하는 1값을 반환하고 아니면 0을 반환

5. 함수사용 예

MorningStar( 14)

6. 활용방법

MorningStar는 하락추세에서 몸체가 긴 음선이 나타난 후 갭을 만들면서 다음날 몸체가 작은

일봉이 출현하고 셋째날 몸체가 긴 양선이 발생하는 경우이며 상승전환신호로 해석

MorningStar가 양선인 경우 신뢰도가 높으며 셋째날 양선의 종가는 첫째날 음선의 중심선을

돌파해야함.

Page 337: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

MRO (기본함수 )

1. 함수에 대한 간략해설

특정기간 동안 지정한 조건(가격, 봉의 형태, 지표 등)을 만족하는 경우가 있는지 체크하여 만족한 곳이

있다면 해당 발생지점의 위치를 찾아 반환하는 함수

2. 함수의 전체 형태

MRO ( pBoolVal, pLeng, pInsta ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pBoolVal TrueFalse Close>Open 필수 조건식

pLeng Num 5 필수 조건식을 체크할 기간

pInsta Num 1 필수 1=가장최근, 2=직전 최근, …, -1=없을 경우

4. 반환값(Return : Integer)조건식을 만족하는 지점의 위치 값을 반환

5. 함수사용 예

MRO( C > C[1] * 1.01, 5, 1 ) : 5개 Bar에서 종가가 직전의 종가보다 1%이상 상승한 시점의

최근위치를 검색

MRO( C > O, 5, 2 ) : 5개 Bar중에서 양봉이 두번째 발생된 봉의 위치(봉의 위치 카운트는

최근봉은 0, 직전봉은 1이 되며 최대 4가 됨.)

6. 활용방법

조건을 만족하는 봉을 찾아 매매에 활용할 수 있도록 수식을 작성

Page 338: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Neg ( 수학함수 )

1. 함수에 대한 간략해설

주어진 수치에 대해 항상 음수값을 반환해주는 함수

2. 함수의 전체 형태

Neg ( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 Neg을 계산하기 위한 기간

4. 반환값(Return : double )Num에 절대값을 취한 후 -1을 곱해서 반환

5. 함수사용 예

Neg( 10 ) : -10을 반환

Neg( -5 ) : -5를 반환

6. 활용방법

Neg는 특정한 값에 절대값을 취하고 -1을 곱해서 반환해주는 함수이며 매매에 필요시 활용

Page 339: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

NthHighest ( 기본함수 )

1. 함수에 대한 간략해설

일정한 기간 동안의 데이터 중에서 값이 큰 순서로 지정한 서열(N번째)에 해당하는 값을 검색하는 함수

2. 함수의 전체 형태

NthHighest ( Nth, Price, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Nth Num 1 필수 몇 번째를 뜻하는 서열(1=첫째, 2=둘째…)

Price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 10 필수 기간값

4. 반환값(Return : double )N번째에 해당하는 값을 반환

5. 함수사용 예

NthHighest( 1, Open, 10 ) : 10개의 시가중에서 1번째로 큰 값을 반환

6. 활용방법

N번째 큰 값을 찾아서 반환해주는 함수이며 매매에 필요시 활용

Page 340: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

NthHighestBar (기본함수 )

1. 함수에 대한 간략해설

일정한 기간 동안의 데이터 중에서 값이 큰 순서로 지정한 서열(N번째)에 해당하는 값의 위치를 검색하는

함수( 지정한 서열에 해당하는 봉이 현재봉 : 0, 직전봉 : 1 …)

2. 함수의 전체 형태

NthHighestBar ( Nth, Price, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Nth Num 1 필수 몇 번째를 뜻하는 서열(1=첫째, 2=둘째…)

Price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 10 필수 기간값

4. 반환값(Return : double )N번째에 해당하는 값이 있는 위치를 반환

5. 함수사용 예

NthHighestBar( 1, Open, 10 ) : 10개의 시가중에서 1번째로 큰 값이 있는 봉의 위치를 반환

6. 활용방법

N번째 큰 값이 있는 봉의 위치를 찾아서 반환해주는 함수이며 매매에 필요시 활용

Page 341: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

NthLowest (기본함수 )

1. 함수에 대한 간략해설

일정한 기간 동안의 데이터 중에서 값이 작은 순서로 지정한 서열(N번째)에 해당하는 값을 검색하는 함수

2. 함수의 전체 형태

NthLowest ( Nth, Price, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Nth Num 1 필수 몇 번째를 뜻하는 서열(1=첫째, 2=둘째…)

Price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 10 필수 기간값

4. 반환값(Return : double )N번째에 해당하는 값을 반환

5. 함수사용 예

NthLowest( 3, Open, 10 ) : 10개의 시가중에서 3번째로 작은 값을 반환

6. 활용방법

N번째 작은 값을 찾아서 반환해주는 함수이며 매매에 필요시 활용

Page 342: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

NthLowestBar (기본함수 )

1. 함수에 대한 간략해설

일정한 기간 동안의 데이터 중에서 값이 작은 순서로 지정한 서열(N번째)에 해당하는 값의 위치를

검색하는 함수( 지정한 서열에 해당하는 봉이 현재봉 : 0, 직전봉 : 1 …)

2. 함수의 전체 형태

NthLowestBar ( Nth, Price, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Nth Num 1 필수 몇 번째를 뜻하는 서열(1=첫째, 2=둘째…)

Price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 10 필수 기간값

4. 반환값(Return : double )N번째에 해당하는 값이 있는 위치를 반환

5. 함수사용 예

NthLowestBar( 3, Open, 10 ) : 10개의 시가중에서 3번째로 작은 값이 있는 봉의 위치를 반환

6. 활용방법

N번째 작은 값이 있는 봉의 위치를 찾아서 반환해주는 함수이며 매매에 필요시 활용

Page 343: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

NthMaxList (수학함수 )

1. 함수에 대한 간략해설

인자로 전달된 리스트 중에서 N번째 큰 값을 반환해주는 함수

2. 함수의 전체 형태

NthMaxList ( A, B, …x ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

A Num 필수 몇 번째를 뜻하는 순위

B ~ x Num 필수 Number List (최소 2개 이상)

4. 반환값(Return : double )리스트 중에서 N번째 큰 값을 반환

5. 함수사용 예

NthMaxList( 3, Open, High, Low, Close ) : 시, 고, 저, 종 중에서 3번째로 큰 값을 반환

6. 활용방법

N번째 큰 값을 찾아서 반환해주는 함수이며 매매에 필요시 활용

Page 344: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

NthMinList (수학함수 )

1. 함수에 대한 간략해설

인자로 전달된 리스트 중에서 N번째로 작은 값을 반환해주는 함수

2. 함수의 전체 형태

NthMinList ( A, B, C, …x ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

A Num 필수 몇 번째를 뜻하는 순위

B ~ x Num 필수 Number List (최소 2개 이상)

4. 반환값(Return : double )리스트 중에서 N번째로 작은 값을 반환

5. 함수사용 예

NthMinList( 2, Open, High, Low, Close ) : 시, 고, 저, 종 중에서 2번째로 작은 값을 반환

6. 활용방법

N번째로 작은 값을 찾아서 반환해주는 함수이며 매매에 필요시 활용

Page 345: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

OBV ( 기본함수 ) – On Balance Volume

1. 함수에 대한 간략해설

OBV는 현재의 주식시장이 매집단계에 있는지 분산단계에 있는지를 분석할 수 있으며, 특히 주식시장이 큰

변동 없이 정체상태에 있을 때 주가의 추세방향을 예측하는데 유용한 지표. 특히 거래량의 변화형태를

가격의 변화와 관련시켜 정확히 파악함으로써 현재의 가격추세를 확인하거나 Divergence가 나타나는 경우

가격추세 반전여부를 파악하는데 유용함.

2. 함수의 전체 형태

OBV ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double)OBV 값을 반환

5. 함수사용 예

OBV( )

6. 활용방법

주가가 횡보하고 있을 때 OBV 고점이 계속 상승할 경우 조만간 주가상승이 예상되고 반대로 OBV 고점이 계속하락할 경우 조만간 주가 하락이 예상됨.

주가는 계속 하락하고 있지만 OBV는 횡보할 경우 주가는 조만간 상승이 예상되고 반대로 주가는

계속 상승하고 있지만 OBV는 횡보할 경우 조만간 주가하락이 예상됨.

Page 346: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

OpenD ( 기본함수 ) – DayOpen 함수와 완전히 동일

1. 함수에 대한 간략해설

N일봉의 시가를 반환하는 함수

2. 함수의 전체 형태

OpenD ( BarsBack ) : 일반적인 표준함수

DayOpen (BarsBack) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

BarsBack Num 필수 N일전 시가

4. 반환값(Return : double)N일전의 시가를 반환

5. 함수사용 예

OpenD( 3 ) : 3일전의 시가를 반환

DayOpen( 3 ) : 3일전의 시가를 반환

6. 활용방법

특정일의 일봉 시가를 구하여 매매에 활용

일봉, 주봉에서만 시가를 반환함

Page 347: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

OSCP ( 기본함수 ) – Price Oscillator

1. 함수에 대한 간략해설

Price Oscillator는 단기 이동평균과 장기 이동평균과의 차이를 분석하여 매매에 이용하는 지표

2. 함수의 전체 형태

OSCP ( pSLeng, pLLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pSLeng Num 5 필수 단기 이평을 계산하기 위한 기간 값

pLLeng Num 20 필수 장기 이평을 계산하기 위한 기간 값

4. 반환값(Return : double)OSCP 값을 반환

5. 함수사용 예

OSCP( 5, 20 )

6. 활용방법

0을 중심으로 상향돌파시에 매수신호, 하향돌파시에 매도신호를 발생

Page 348: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

OscV ( 기본함수 ) – Volume Oscillator

1. 함수에 대한 간략해설

Volume Oscillator는 단기 거래량 이동평균과 장기 거래량 이동평균과의 차이를 분석하여 매매에

이용하는 거래량 지표

2. 함수의 전체 형태

OscV ( pSLeng, pLLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pSLeng Num 5 필수 단기 이평을 계산하기 위한 기간 값

pLLeng Num 20 필수 장기 이평을 계산하기 위한 기간 값

4. 반환값(Return : double)OscV 값을 반환

5. 함수사용 예

OscV( 5, 20 )

6. 활용방법

OscV가 0선을 상향돌파하게 되면 단기간의 거래량 증가추세가 장기간에 걸친 거래량 증가추세

보다 더 많이 증가하고 있음을 나타냄. 거래량이 감소하면서 주가가 하락하고 거래량이 증가하면서 주가가 상승하게 되면 상승추세라고 함

주가가 큰 폭 상승한 후 하락하기 시작할 때 거래량이 증가하게 되고, 주가가 상승하는 도중

거래량이 감소하게 되면 약세 장세를 나타내는 신호로 인식

Page 349: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Parabolic ( 기본함수 )

1. 함수에 대한 간략해설

파라볼릭은 SAR(Stop and Reversal)이라고도 하며 시간의 경과와 추세의 가속도와의 관계를 매매에

활용, 즉 파라볼릭이 제시하는 추세의 가속도만큼을 시장흐름이 따라가지 못한다면 현재의 추세는 곧 전환될

것이므로 기존 포지션을 정리(Stop)하고 반대포지션을 취하는 전략(Reversal)으로 대응하고자 하는 지표.

2. 함수의 전체 형태

Parabolic ( pAfStep ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pAfStep Num 0.02 필수 가속도를 뜻함

4. 반환값(Return : double)현재봉에 대한 파라볼릭의 Stop/Reversal 값을 반환

5. 함수사용 예

Parabolic( 0.02 )

6. 활용방법

주가와 파라볼릭의 교차가 발생시 매수 혹은 매도로 대응 후 반대포지션을 취함. 기존포지션 정리차원(Stop)에서 파라볼릭 이용

Page 350: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

ParabolicUser ( 기본함수 )

1. 함수에 대한 간략해설

파라볼릭은 SAR(Stop and Reversal)이라고도 하며 시간의 경과와 추세의 가속도와의 관계를 매매에

활용, 즉 파라볼릭이 제시하는 추세의 가속도만큼을 시장흐름이 따라가지 못한다면 현재의 추세는 곧 전환될

것이므로 기존 포지션을 정리(Stop)하고 반대포지션을 취하는 전략(Reversal)으로 대응하고자 하는 지표. ParabolicCustom함수에서는 가속도의 한계값을 사용자가 지정할 수 있도록 함

2. 함수의 전체 형태

ParabolicUser ( pAfStep, pAfLimit ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pAfStep Num 0.02 필수 가속도를 뜻함

pAfLimit Num 0.2 선택 가속도의 한계값

4. 반환값(Return : double)현재봉에 대한 파라볼릭의 Stop 값을 반환

5. 함수사용 예

ParabolicUser ( 0.02, 0.2 )

6. 활용방법

주가와 파라볼릭의 교차가 발생시 매수 혹은 매도로 대응 후 반대포지션을 취함. 기존포지션 정리차원(Stop)에서 파라볼릭 이용

가격변화가 큰 종목은 가속도를 높여 SAR값을 보다 민감하게 하여 주가에 대한 후행성을 상쇄시킴.

Page 351: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

PercentChg ( 기본함수 )

1. 함수에 대한 간략해설

특정 시점의 가격에 대한 현재시점의 가격수준을 계산하는 함수

2. 함수의 전체 형태

PercentChg ( pPriceVal, pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPriceVal Num Close 필수 시, 고, 저, 종 등의 가격

pPeriod Num 5 필수 비교대상 봉

4. 반환값(Return : double)특정 시점의 봉에 대한 현재봉의 가격변동 수준

5. 함수사용 예

PercentChg( Close, 5 )

6. 활용방법

현재봉의 가격수준을 어느 특정지점의 가격과 비교하여 평가한 후 매매에 활용

Page 352: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

PercentR ( 기본함수 )

1. 함수에 대한 간략해설

특정 시점의 가격에 대한 현재시점의 가격수준을 평가하여 매매에 활용하기 위한 함수

2. 함수의 전체 형태

PercentR ( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 5 필수 비교대상 봉

4. 반환값(Return : double)특정 기간 가격대비 현재봉의 가격변동 비율

5. 함수사용 예

PercentR( 5 )

6. 활용방법

어느 특정 지점의 최고가와 최저가 대비하여 현재봉의 가격을 비율로 계산하여 평가한 후 매매에

활용

Page 353: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Pie ( 수학함수 )

1. 함수에 대한 간략해설

Pie 함수는 원주율(π) 값 3.141592를 돌려주는 기본함수

2. 함수의 전체 형태

Pie ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double )π 값을 반환

5. 함수사용 예

Pie( ) : 3.141592를 반환

6. 활용방법

Pie 값을 이용하여 매매에 활용

Page 354: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Plot1 ( 출력함수 )

1. 함수에 대한 간략해설

계산된 데이터 값을 지표로 표현하는 출력함수이며 Plot1 ~ 99 까지 준비되어 사용가능 함.

2. 함수의 전체 형태

Plot1 ( Value, PlotName, Color, BGColor, Weight ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 출력하고자 하는 변수 등

PlotName String 선택 데이터에 대한 식별자명

Color Num Black 선택 차트에 출력될 색상

BGColor NumWeight Num

<색상예약어>색상명 색상 RGB 색상명 색상 RGB

Black 0,0, 0 Green 0,255,0Blue 0, 0,255 Lblue 192,217,217Bwhite 255,255,25

5Lcyan 224,255,255

Cyan 0,255,255 Lgreen 144,238,144DarkBlue 0, 0,139 LightGray 168,168,168DarkBrown 92,64,51 Lmagenta 168,0,168DarkCyan 0,139,139 Lyellow 255,255,224DarkGray 169,169,16

9Magenta 255,0,255

DarkGreen 47,79,47 Pink 188,143,143DarkMagenta

139,0,139 Red 255,0,0

DarkRed 139,0,0 White 255,255,255Gray 192,192,19

2Yellow 255,255,0

Page 355: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

4. 반환값(Return : ) 차트에 지표로서 출력됨.

5. 함수사용 예

Plot1( Volume, “거래량”, RED ) // 거래량을 지표로 출력

Plot2( MA(Close, 5), “이동평균” ) // 5일 단순이동평균을 지표로 출력

..

. Plot99( OBV ) // OBV 지표를 출력함. 이때 표시되는 이름은 기본값인 “Plot99”로 출력

6. 활용방법

Plot 함수는 Plot1 ~ Plot99 까지 사용가능

Page 356: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Pos ( 수학함수 )

1. 함수에 대한 간략해설

주어진 수치에 대해 항상 양수값을 반환해주는 함수

2. 함수의 전체 형태

Pos ( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 Pos을 계산하기 위한 기간

4. 반환값(Return : double )Num에 절대값을 취한 후 반환

5. 함수사용 예

Pos( 10 ) : 10을 반환

Pos( -5 ) : 5를 반환

6. 활용방법

Pos는 특정한 값에 절대값을 취하고 반환해주는 함수이며 매매에 필요시 활용

Page 357: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Power ( 수학함수 ) - Pow함수와 동일한 명칭

1. 함수에 대한 간략해설

주어진 두개의 수치에 대해 누승을 반환해주는 함수

2. 함수의 전체 형태

Power ( Base, Exponent ) : 일반적인 표준함수

Pow ( Num1, Num2 ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Base Num 필수 거듭제곱에서 밑수에 해당

Exponent Num 필수 거듭제곱에서 누승 혹은 멱

4. 반환값(Return : double )Base에 Exponent를 누승한 값을 반환

5. 함수사용 예

Power( 10, 2 ) : 100을 반환

Power( High – Low, 2 ) : 고가에서 저가를 뺀 결과에 자승한 값을 반환

Pow( Close, 2 ) : 종가에 제곱을 한 값을 반환

6. 활용방법

Power는 Num1을 밑수로 하고 Num2를 누승한 값을 반환해주는 함수이며 매매에 필요시 활용

Page 358: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

PriceOSC ( 기본함수 )

1. 함수에 대한 간략해설

인자로 전달된 가격에 대한 단기 이동평균대비 장.단기 이동평균의 차이에 대한 비율을 반환하는 함수

2. 함수의 전체 형태

PriceOSC ( pPVal, pFastLeng, pSLowLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수 시, 고, 저, 종 등의 가격

pFastLeng Num 5 필수 단기이동평균

pSlowLeng Num 20 필수 장기이동평균

4. 반환값(Return : double)이동평균을 이용한 PriceOSC

5. 함수사용 예

PriceOSC ( Close, 5, 20 )

6. 활용방법

인자로 전달된 가격에 대한 장.단기 이평의 차이를 평가한 후 매매에 활용

Page 359: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

PROC ( 기본함수 ) – Price Rate of Change

1. 함수에 대한 간략해설

특정 시점의 가격 대비 현재시점의 가격변동비율을 구하는 함수

2. 함수의 전체 형태

PROC ( pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 5 필수 특정 시점을 뜻하는 기간

4. 반환값(Return : double)특정 시점의 가격대비 현재 시점의 가격변동 비율

5. 함수사용 예

PROC( 5 )

6. 활용방법

현재 시점의 가격에 대한 검토로서 특정 시점의 가격과 비교하여 평가한 후 매매에 활용

Page 360: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

PVI ( 기본함수 )

1. 함수에 대한 간략해설

거래량을 통해 현재 활황장인가 침체장인가를 판별하기 위한 함수

2. 함수의 전체 형태

PVI () : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double)거래량으로 분석한 PVI 값

5. 함수사용 예

PVI( )

6. 활용방법

거래량의 증감을 통해 직전대비 가격변동을 분석하여 매매에 활용

Page 361: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

PVT ( 기본함수 )

1. 함수에 대한 간략해설

현재의 주식시장이 매집단계인지 분산단계에인지를 분석하기 위한 지표로서 주가변동폭과 거래량을 이용

2. 함수의 전체 형태

PVT ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double)주가변동폭과 거래량으로 분석한 PVT 값

5. 함수사용 예

PVT( )

6. 활용방법

주가의 변동폭과 거래량을 통해 매집단계인지 분산단계인지를 분석하여 매매에 활용

Page 362: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Random ( 수학함수 )

1. 함수에 대한 간략해설

인자로 주어진 수치의 범위에서 난수를 발생시켜 반환하는 함수

2. 함수의 전체 형태

Random ( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 10 필수 난수를 발생시킬 숫자의 최대값

4. 반환값(Return : Integer )0 ~ Num 의 정수값을 반환

5. 함수사용 예

Random( 10 ) // 0 ~ 10까지의 값을 반환

6. 활용방법

임의의 난수값을 이용하여 매매식에 활용

Page 363: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Range ( 기본함수 )

1. 함수에 대한 간략해설

특정한 봉의 길이를 반환하는 함수

2. 함수의 전체 형태

Range ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double) 특정한 봉의 길이를 반환

5. 함수사용 예

Range( )

6. 활용방법

특정봉의 길이를 이용하여 매매에 활용

Page 364: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Round ( 수학함수 )

1. 함수에 대한 간략해설

Round는 실수값과 지정된 소수점 이하 자리수를 인자로 받아 소수점의 반올림값을 반환하는 함수

2. 함수의 전체 형태

Round ( Value, Precision ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 실수값

Precision Num 필수 소수점 이하 자리수

4. 반환값(Return : double )지정한 자리수의 소수점 이하 값을 반올림해서 반환

5. 함수사용 예

Round( 20.4357, 3 ) // 20.436

6. 활용방법

지정한 소수점 이하의 자리수에서 반올림한 값을 반환받아 매매식에서 처리

Page 365: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

RSI ( 수학함수 )

1. 함수에 대한 간략해설

과거의 가격흐름과 현재의 가격흐름을 상대비교하여 매매에 활용, 여기에서는 윌더(Wilder)가 고안한 RSI 계산방식이 아닌 최근의 TradeStation과의 호환성을 고려한 RSI함수임.

2. 함수의 전체 형태

RSI ( pPVal, pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수 시, 고, 저, 종 등의 가격

pLeng Num 14 필수 특정 시점을 뜻하는 기간

4. 반환값(Return : double)과거의 가격흐름과 현재의 가격흐름의 비율

5. 함수사용 예

RSI( Close, 14 )

6. 활용방법

RSI선이 70~80% 수준이면 경계신호로 상한선을 나타내며 이 선을 돌파하면 매도전략수립

RSI선이 (20 ~ 30%) 수준이면 하한선을 나타내며 하향돌파할 경우 매수전략을 수립

Page 366: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

1. 함수에 대한 간략해설

파라볼릭은 SAR(Stop and Reversal)이라고도 하며 시간의 경과와 추세의 가속도와의 관계를 매매에

활용, 즉 파라볼릭이 제시하는 추세의 가속도만큼을 시장흐름이 따라가지 못한다면 현재의 추세는 곧 전환될

것이므로 기존 포지션을 정리(Stop)하고 반대포지션을 취하는 전략(Reversal)으로 대응하고자 하는 지표.

2. 함수의 전체 형태

Sar ( pAF, pAFMAX ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pAF Num 0.02 필수 가속도를 뜻함

pAFMAX Num 0.2 필수 가속도의 한계값

4. 반환값(Return : double)현재봉에 대한 파라볼릭의 Sar 값을 반환

5. 함수사용 예

Sar ( 0.02, 0.2 )

6. 활용방법

매수시점 : 주가가 파라볼릭 보다 낮게 위치하고 있다가 상향돌파하여 파라볼릭 위에 형성되는 시점

매도시점 : 주가가 파라볼릭 보다 높게 위치하고 있다가 하향돌파하여 파라볼릭 밑에 형성되는 시점

주가와 파라볼릭의 교차가 발생시 매수 혹은 매도로 대응 후 반대포지션을 취함. 기존포지션 정리차원(Stop)에서 파라볼릭 이용

가격변화가 큰 종목은 가속도를 높여 SAR값을 보다 민감하게 하여 주가에 대한 후행성을 상쇄시킴.

Sar ( 기본함수 ) – Stop and Reversal

Page 367: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Simrido ( 기본함수 )

1. 함수에 대한 간략해설

지정한 기간동안의 시장의 인기, 즉 과열 및 침체도를 파악하고자 하는 기법 특히 시장분위기에 있어서

심리적인 과열상태를 찾아내려고 하는 것이 이 지표의 특징임.

2. 함수의 전체 형태

Simrido ( pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 10 필수 특정 시점을 뜻하는 기간

4. 반환값(Return : double )인자로 전달된 기간동안의 심리도 값을 반환

5. 함수사용 예

Simrido( 10 )

6. 활용방법

매도시점 : 심리도 지표가 75% 이상(투자환경이 밝고 매입세력이 지나치게 왕성함) 매수시점 : 심리도 지표가 25% 이하(투자환경이 매우 어둡고 매도물량이 지나치게 많음)

Page 368: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Sin ( 기본함수 ) – Sine 함수와 동일한 기능

1. 함수에 대한 간략해설

각도 값을 인자로 받아 사인값을 반환하는 기본함수

2. 함수의 전체 형태

Sin( Value ) : 일반적인 표준함수

Sine( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수

4. 반환값(Return : double)사인 값을 반환하며 실수값

5. 함수사용 예

Sin( 30 ) : 결과값은 0.5 Sin( 90 ) : 결과값은 1.0 Sine( 30 ) : 결과값은 0.5

6. 활용방법

각도값을 사인 값으로 변환하여 매매식에 활용

Page 369: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SinH( 수학함수 )

1. 함수에 대한 간략해설

각도값을 인자로 받아 하이퍼블릭 사인 값을 반환하는 기본함수

2. 함수의 전체 형태

SinH( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 각도

4. 반환값(Return : Integer)하이퍼블릭 사인 값을 반환

5. 함수사용 예

SinH( 30 ) : 0.55 값을 반환

6. 활용방법

주어진 각도를 하이퍼블릭 사인 값으로 변환받아 매매에 활용

Page 370: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SlowD ( 기본함수 ) ⇒ StochasticsD와 동일한 기능을 하는 함수

1. 함수에 대한 간략해설

SlowD는 Stochastic에서 산출된 함수이며 스토캐스틱은 일정 기간 동안의 주가 변동폭 중 금일종가의

위치를 백분율로 나타내어 매매의사결정을 할 때 사용, 이 함수에서 기본적K를 지수이동평균하는 기간 3, 3은 기본으로 설정되어 있음.

2. 함수의 전체 형태

SlowD ( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 14 필수

4. 반환값(Return : double )FastD를 지수이동평균한 값으로 실수형

5. 함수사용 예

SlowD(5) : %D라고도 함.

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, Failure 등의 현상을 파악하여 매매에 활용

Page 371: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SlowDUser ( 기본함수 )

1. 함수에 대한 간략해설

SlowDUser 은 Stochastic에서 산출된 함수이며 스토캐스틱은 일정 기간 동안의 주가 변동폭 중 인자로

전달된 Price의 위치를 백분율로 나타내어 현재의 Price 위치를 파악해서 매매의사결정을 할 때 사용

2. 함수의 전체 형태

SlowDUser ( PriceForHigh, PriceForLow, PriceForClose, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForHigh Num High 필수 스톡캐스틱 계산용 고가

PriceForLow Num Low 필수 “ 저가

PriceForClose Num Close 필수 “ 종가

period Num 5 필수 FastK를 계산할 기간 값

4. 반환값(Return : double )사용자 지정 Price에 대한 SlowD를 반환

5. 함수사용 예

SlowDUser (High+1, Low-1, Close, 5) SlowDUser (High of Data2, Low of Data2, Close of Data2, 5 )

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 372: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SlowDUserOrig ( 기본함수 )

1. 함수에 대한 간략해설

SlowDUserOrig 은 스토캐스틱을 처음 만든 George Lane에 의해 추천되어지는 가격, 기간을 사용하여

지수이동평균한 SlowD를 구하며 결과는 SlowDUserOrig 과 동일함.

2. 함수의 전체 형태

SlowDUserOrig (PriceForHigh, PriceForLow, PriceForClose, period, FastDperiod, SlowDperiod) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForHigh Num High 필수 스톡캐스틱 계산용 고가

PriceForLow Num Low 필수 “ 저가

PriceForClose Num Close 필수 “ 종가

period Num 5 필수 FastK를 계산할 기간 값

FastDperiod NumSlowDperiod Num

4. 반환값(Return : double )사용자 지정 Price에 대한 SlowD를 반환

5. 함수사용 예

SlowDUserOrig (High+1, Low-1, Close, 5)

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 373: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SlowK ( 기본함수 )

1. 함수에 대한 간략해설

SlowK는 Stochastic에서 산출된 함수이며 스토캐스틱은 일정 기간 동안의 주가 변동폭 중 금일종가의

위치를 백분율로 나타내어 매매의사결정을 할 때 사용

2. 함수의 전체 형태

SlowK ( period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 5 필수 FastK를 계산할 기간 값

4. 반환값(Return : double )FastK를 지수이동평균한 값으로 실수형

5. 함수사용 예

SlowK(5) : %K라고도 함.

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, Failure 등의 현상을 파악하여 매매에 활용

Page 374: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SlowKUser ( 기본함수 )

1. 함수에 대한 간략해설

SlowKUser은 Stochastic에서 산출된 함수이며 스토캐스틱은 일정 기간 동안의 주가 변동폭 중 인자로

전달된 Price의 위치를 백분율로 나타내어 현재의 Price 위치를 파악해서 매매의사결정을 할 때 사용

2. 함수의 전체 형태

SlowKUser (PriceForHigh, PriceForLow, PriceForClose, period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForHigh Num High 필수 스톡캐스틱 계산용 고가

PriceForLow Num Low 필수 “ 저가

PriceForClose Num Close 필수 “ 종가

period Num 5 필수 FastK를 계산할 기간 값

4. 반환값(Return : double )사용자 지정 Price에 대한 SlowK를 반환

5. 함수사용 예

SlowKUser (High+1, Low-1, Close, 5) SlowKUser (High of Data2, Low of Data2, Close of Data2, 5)

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 375: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SlowKUserOrig ( 기본함수 )

1. 함수에 대한 간략해설

SlowKUserOrig은 스토캐스틱을 처음 만든 George Lane에 의해 추천되어지는 가격, 기간을 사용하여

지수이동평균한 SlowK를 구하며 결과는 SlowKUser와 동일함.

2. 함수의 전체 형태

SlowKUserOrig (PriceForHigh, PriceForLow, PriceForClose, period, FastDperiod) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

PriceForHigh Num High 필수 스톡캐스틱 계산용 고가

PriceForLow Num Low 필수 “ 저가

PriceForClose Num Close 필수 “ 종가

period Num 5 필수 FastK를 계산할 기간 값

FastDperiod Num 3

4. 반환값(Return : double )사용자 지정 Price에 대한 SlowK를 반환

5. 함수사용 예

SlowKUserOrig (High+1, Low-1, Close, 5 )

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 376: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SMI ( 기본함수 ) - Stochastics Momentum Index

1. 함수에 대한 간략해설

SMI는 Stochastic에서 응용된 지표로서 스토캐스틱의 급격한 움직임으로 인해 상황을 오도하는 폐해를

줄이고자 개발된 것임. 스토캐스틱이 일정 기간 동안 종가의 위치를 분석하는데 반해 SMI에서는 최고가와

최저가의 중간점과 종가의 위치를 비교하여 분석하고 있음.

2. 함수의 전체 형태

SMI ( period1, period2, period3 ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period1 Num 5 필수 스톡캐스틱 모멘텀(SM) 기간값

period2 Num 3 필수 SM의 1차 지수이평을 위한 기간값

period3 Num 3 필수 SM의 2차 지수이평을 위한 기간값

4. 반환값(Return : double )SMI를 계산한 값으로 실수형

5. 함수사용 예

SMI(5, 3, 3)

6. 활용방법

단기 SMI와 중기 SMI의 교차시 매매지표로 활용

Signal Line을 설정하여 SMI값과 Signal Line의 교차점을 매매신호로 분석

Page 377: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SmoothAvg ( 기본함수 )

1. 함수에 대한 간략해설

SmoothAvg는 특정한 값에 의해 왜곡되는 평균치를 평활화하기 위하여 사용

2. 함수의 전체 형태

SmoothAvg ( pPVal, pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수 시, 고, 저, 종 등의 가격

pLeng Num 10 필수 기간값

4. 반환값(Return : double )SmoothAvg를 계산한 값으로 실수형

5. 함수사용 예

SmoothAvg(Close, 10)

6. 활용방법

단순이평과 가중이평의 중간 개념의 이평

특정 값에 의해 평균값이 왜곡될 경우 유용하게 활용

Page 378: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SONAR ( 기본함수 )

1. 함수에 대한 간략해설

소나 모멘텀(Sonar Momentum)은 주가의 기울기(한계변화율)로 현재 주가의 수준 및 향후 주가의

흐름을 알아내는 기법이며 주가 사이클의 전환점을 파악하는데 유용한 지표임.

2. 함수의 전체 형태

SONAR ( pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 9 필수 기간값

4. 반환값(Return : double )SONAR를 계산한 값으로 실수형

5. 함수사용 예

SONAR( 9 )

6. 활용방법

소나 모멘텀이 0선을 상향 돌파시 매수, 하향동파시 매도전략으로 활용

소나 모멘텀의 반전을 이용한 매매활용

SONAR가 SONAR 이동평균을 아래에서 위로 교차했을 경우에는 매수신호로, 위에서 아래로

교차했을 경우에는 매도신호로 인식.

Page 379: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Square ( 수학함수 )

1. 함수에 대한 간략해설

인자로 주어진 값을 제곱하여 반환하는 함수

2. 함수의 전체 형태

Square ( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수

4. 반환값(Return : double )인자로 주어진 값의 제곱을 반환하며 실수형

5. 함수사용 예

Square( 5 )

6. 활용방법

인자로 주어진 값의 제곱을 알아내서 매매에 활용

Page 380: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SquareRoot ( 수학함수 )

1. 함수에 대한 간략해설

인자로 주어진 값의 제곱근을 반환하는 함수

2. 함수의 전체 형태

SquareRoot ( Value ) : 일반적인 표준함수

Sqrt ( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수

4. 반환값(Return : double )인자로 주어진 값의 제곱근을 반환하며 실수형

5. 함수사용 예

SquareRoot( 5 ) Sqrt( 4 ) : 2 값을 반환

6. 활용방법

인자로 주어진 값의 제곱근을 알아내서 매매에 활용

Page 381: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

StandardDev ( 기본함수 )

1. 함수에 대한 간략해설

인자로 주어진 가격의 표준편차를 반환하는 함수

2. 함수의 전체 형태

StandardDev ( Price, period, Type ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 21 필수 기간값

Type Num 2 필수 1 = 모집단, 2 = 샘플

4. 반환값(Return : double )인자로 주어진 가격의 표준편차를 반환하며 실수형

5. 함수사용 예

StandardDev( Close, 21, 2 ) : 샘플데이터로 표준편차를 구함

6. 활용방법

인자로 주어진 가격과 기간을 활용하여 표준편차를 계산하여 이를 매매에 활용

Page 382: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

StandardError ( 기본함수 )

1. 함수에 대한 간략해설

StandardError(표준오차)는 주가가 선형회귀선에 얼마만큼 집중되어 있는가를 나타냄. 즉, 주가가

상승이든 하락이든 추세가 형성되었을 때 표준오차 값은 적어지게 되고 반대로 추세가 변화되거나 등락을

반복하게 되면 표준오차 값은 증가하게 됨.

2. 함수의 전체 형태

StandardError ( Price, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 21 필수 기간값

4. 반환값(Return : double )인자로 주어진 가격의 표준오차를 반환하며 실수형

5. 함수사용 예

StandardError( C, 20 )

6. 활용방법

StandardError 값이 큼 ⇒ 주가가 선형회귀선 주위로 넓게 분산됨 ⇒ 주가의 변동성이 큼

StandardError 값이 작음 ⇒ 주가가 선형회귀선 주위로 집중됨 ⇒ 주가의 변동성이 작음

일반적으로 결정계수와 함께 사용하여 선형관계 분석에 유용

Page 383: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

StdDev ( 기본함수 ) – STD 함수와 동일한 기능

1. 함수에 대한 간략해설

인자로 주어진 가격의 표준편차를 반환하는 함수이며 데이터는 샘플이 아닌 모집단을 사용

2. 함수의 전체 형태

StdDev ( Price, period) : 일반적인 표준함수

STD ( Price, period, Type ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 21 필수 기간값

4. 반환값(Return : double )인자로 주어진 가격의 표준편차를 반환하며 실수형

5. 함수사용 예

StdDev( Close, 21 ) : 언제나 모집단으로 표준편차를 구함

STD( Close, 21 ) : 언제나 모집단으로 표준편차를 구함

6. 활용방법

인자로 주어진 가격과 기간의 모집단을 이용하여 표준편차를 계산하여 이를 매매에 활용

Page 384: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

StochasticsD ( 기본함수 ) ⇒ SlowD와 동일한 기능을 하는 함수

1. 함수에 대한 간략해설

StochasticsD는 SlowD 혹은 %D로 불리며 Stochastic에서 산출된 함수임. 스토캐스틱은 일정 기간

동안의 주가 변동폭 중 금일종가의 위치를 백분율로 나타내어 매매의사결정을 할 때 사용

2. 함수의 전체 형태

StochasticsD ( Price, FastDPeriod, SlowDPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Period Num 5 필수 FastK를 계산할 기간 값

FastDPeriod Num 3 필수 FastD를 계산할 기간 값

SlowDPeriod Num 3 필수 SlowD를 계산할 기간 값

4. 반환값(Return : double )StochasticsD( %D, SlowD)를 계산한 값으로 실수형

5. 함수사용 예

StochasticsD(5, 3, 3)

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, Failure 등의 현상을 파악하여 매매에 활용

Page 385: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

StochasticsK ( 기본함수 ) ⇒ StochasticsSlow와 동일한 기능을 하는 함수

1. 함수에 대한 간략해설

StochasticsK는 %K 혹은 FastD 혹은 SlowK이며 스토캐스틱은 일정 기간 동안의 주가 변동폭 중

금일종가의 위치를 백분율로 나타내어 매매의사결정을 할 때 사용

2. 함수의 전체 형태

StochasticsK ( period, FastDPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 5 필수 FastK를 계산할 기간 값

FastDPeriod Num 3 필수 FastD를 계산할 기간 값

4. 반환값(Return : double )StochasticsK( %K, FastD, SlowK)를 계산한 값으로 실수형

5. 함수사용 예

StochasticsK( 5, 3 )

6. 활용방법

%K를 이용하여 과매수 혹은 과매도여부를 판단함. %K와 %D의 교차를 이용하여 매수 혹은 매도 시그널로 이용

Divergence, failure 등의 현상을 파악하여 매매에 활용

Page 386: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Sum ( 수학함수 ) – Summation 함수와 동일한 기능의 함수

1. 함수에 대한 간략해설

주어진 기간 가격들의 합계를 반환하는 함수

2. 함수의 전체 형태

Sum ( Price, Length ) : 일반적인 표준함수

Summation ( pPriceVal, pPeriod) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수

Length Num 0 선택

4. 반환값(Return : double )주어진 기간동안 가격들의 합계를 반환하며 실수형

5. 함수사용 예

Sum( Close ) : 모든 봉의 종가를 더함

Sum( 1 ) : 봉의 개수를 구하는 효과

Sum( Close, 10 ) : 10개 봉의 종가를 더함

Summation( Close ) : 모든 봉의 종가를 더함

Summmation( 1 ) : 봉의 개수를 구하는 효과

Summmation( Close, 10 ) : 10개 봉의 종가를 더함

6. 활용방법

인자로 주어진 가격들의 합계를 알아내서 매매에 활용

Page 387: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SumList ( 수학함수 )

1. 함수에 대한 간략해설

인자로 주어진 숫자들의 합계를 반환하는 함수

2. 함수의 전체 형태

SumList ( A, B, x…. ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

A Num 필수

B~x Num 선택 Num의 개수는 최대 10개

4. 반환값(Return : double )인자로 주어진 숫자들의 합계를 반환하며 실수형

5. 함수사용 예

SumList( Open, High, Low, Close ) : 시, 고, 저, 종의 합계

6. 활용방법

인자로 주어진 가격들의 합계를 알아내서 매매에 활용

Page 388: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SummationFast ( 기본함수 ) Fast Calculation of Summation

1. 함수에 대한 간략해설

주어진 기간, 가격들의 합계를 반환하는 함수이며 보다 빠르게 계산할 수 있도록 함.

2. 함수의 전체 형태

SummationFast ( pPVal, pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수

pLeng Num 10 선택

4. 반환값(Return : double )주어진 기간동안 가격들의 합계를 반환하며 실수형

5. 함수사용 예

SummationFast( Close, 10 ) : 10개 봉의 종가를 더함

6. 활용방법

인자로 주어진 가격들의 합계를 알아내서 매매에 활용

Page 389: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

IfSummation ( 기본함수 )

1. 함수에 대한 간략해설

주어진 기간내에서 조건을 만족하는 봉의 가격들의 합계를 반환하는 함수

2. 함수의 전체 형태

IfSummation ( pValue, pPriceVal, pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pValue Num 조건식 필수

pPriceVal Num Close 필수

pPeriod Num 10 선택

4. 반환값(Return : double )주어진 기간동안 주어진 조건을 만족하는 가격들의 합계를 반환하며 실수형

5. 함수사용 예

IfSummation ( High>Close[1], High-Close, 10 ) : 당일고가가 전일종가 보다 크면 합계함.

6. 활용방법

주어진 조건을 만족할 경우 인자로 주어진 가격들의 합계를 알아내서 매매에 활용

Page 390: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SwingHigh ( 기본함수 )

1. 함수에 대한 간략해설

SwingHigh는 기준봉에서의 가격이 좌측과 우측의 가격보다 높거나 같게 형성될 경우의 기준봉 가격을

반환

2. 함수의 전체 형태

SwingHigh ( Nthoccur, Price, area, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Nthoccur Num 1 필수 발생순서 1 : 가장최근, 2 : 두번째로

발생

Price Num Close 필수 가격이나 함수식

area Num 4 필수 기준봉 양측의 봉개수

period Num 10 필수 기간값

4. 반환값(Return : double )SwingHigh를 만족하는 기준봉 값을 반환하며 실수형

5. 함수사용 예

SwingHigh( 1, Close, 4, 10 ) : 10개봉 중에서 기준봉의 종가가 좌, 우측의 종가 보다 큰 값

6. 계산과정

조건1 : ( 기준이 되는 Price >= 좌측 Strength개 만큼의 Price ) ⇒ 기준 Price가 크거나 같을 경우

조건2 : ( 기준이 되는 Price >= 우측 Strength개 만큼의 Price ) ⇒ 기준 Price가 크거나 같을 경우

SwingHigh = 조건1과 조건2를 만족하는 “기준이 되는 Price”

☞ 탐색방법

양쪽의 가격이 기준이 되는 Price 보다 작은 봉의 위치의 가격을 다음과 같은 순서로 탐색

오른쪽 봉 개수만큼 과거봉으로 이동

그 위치의 봉이 오른쪽이나 왼쪽봉들보다 값이 크가나 같은 값이면 만족

만족하지 않을 경우, 앞의 작업을 이전봉으로 이동하면서 Length번 만큼 수행

7. 활용방법

Page 391: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

기준봉의 상대적인 가격을 파악해서 매매에 활용

Page 392: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SwingHighBar ( 기본함수 )

1. 함수에 대한 간략해설

SwingHighBar는 기준봉에서의 가격이 좌측과 우측의 가격보다 높거나 같게 형성될 경우의 기준봉의

위치를 반환

2. 함수의 전체 형태

SwingHighBar (Nthoccur, Price, area, period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Nthoccur Num 1 필수 발생순서 1 : 가장최근, 2 : 두번째로

발생

Price Num Close 필수 가격이나 함수식

area Num 4 필수 기준봉 양측의 봉개수

period Num 10 필수 기간값

4. 반환값(Return : Integer )SwingHighBar를 만족하는 기준봉의 위치를 반환하며 정수형

5. 함수사용 예

SwingHighBar( 1, High, 4, 10 ) : 10개봉 중에서 기준봉의 고가가 좌, 우측의 고가 보다 큰 위치

6. 계산과정

조건1 : ( 기준이 되는 Price >= 좌측 Strength개 만큼의 Price ) ⇒ 기준 Price가 크거나 같을 경우

조건2 : ( 기준이 되는 Price >= 우측 Strength개 만큼의 Price ) ⇒ 기준 Price가 크거나 같을 경우

SwingHighBar = 조건1과 조건2를 만족하는 “기준이 되는 Price의 봉의 위치”

☞ 탐색방법

양쪽의 가격이 기준이 되는 Price 보다 작은 봉의 위치를 다음과 같은 순서로 탐색

오른쪽 봉 개수만큼 과거봉으로 이동

그 위치의 봉이 오른쪽이나 왼쪽봉들보다 값이 크거나 같은 봉이면 만족

만족하지 않을 경우, 앞의 작업을 이전봉으로 이동하면서 Length번 만큼 수행

7. 활용방법

기준봉의 상대적인 위치를 파악해서 매매에 활용

Page 393: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SwingLow ( 기본함수 )

1. 함수에 대한 간략해설

SwingLow는 기준봉에서의 가격이 좌측과 우측의 가격보다 작거나 같게 형성될 경우의 기준봉 가격을

반환

2. 함수의 전체 형태

SwingLow (Nthoccur, Price, area, period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Nthoccur Num 1 필수 발생순서 1 : 가장최근, 2 : 두번째로

발생

Price Num Close 필수 가격이나 함수식

area Num 4 필수 기준봉 양측의 봉개수

period Num 10 필수 기간값

4. 반환값(Return : double )SwingLow를 만족하는 기준봉 값을 반환하며 실수형, 단, 조건에 만족하는 봉이 없을 경우 -1을 반환

5. 함수사용 예

SwingLow( 1, Close, 4, 10 ) : 10개봉 중에서 기준봉의 종가가 좌, 우측의 종가보다 작은 값

6. 계산과정

조건1 : ( 기준이 되는 Price <= 좌측 Strength개 만큼의 Price ) ⇒ 기준 Price가 작거나 같을 경우

조건2 : ( 기준이 되는 Price <= 우측 Strength개 만큼의 Price ) ⇒ 기준 Price가 작거나 같을 경우

SwingLow = 조건1과 조건2를 만족하는 “기준이 되는 Price”☞ 탐색방법

양쪽의 가격이 기준이 되는 Price 보다 큰 봉의 위치의 가격을 다음과 같은 순서로 탐색

오른쪽 봉 개수만큼 과거봉으로 이동

그 위치의 봉이 오른쪽이나 왼쪽봉들보다 값이 작거나 같은 값이면 만족

만족하지 않을 경우, 앞의 작업을 이전봉으로 이동하면서 Length번 만큼 수행

7. 활용방법

기준봉의 상대적인 위치를 파악해서 매매에 활용

Page 394: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

SwingLowBar ( 기본함수 )

1. 함수에 대한 간략해설

SwingLowBar는 기준봉에서의 가격이 좌측과 우측의 가격보다 낮거나 같게 형성될 경우의 기준봉의

위치를 반환

2. 함수의 전체 형태

SwingLowBar (Nthoccur, Price, area, period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Nthoccur Num 1 필수 발생된 순서로서 1 : 가장최근, 2 : 두번째

Price Num Close 필수 가격이나 함수식

area Num 4 필수 기준봉 양측의 봉개수

period Num 10 필수 기간값

4. 반환값(Return : Integer )SwingLowBar를 만족하는 기준봉의 위치를 반환하며 정수형, 단, 조건에 만족하는 봉이 없을 경우 -1을

반환

5. 함수사용 예

SwingLowBar( 1, High, 4, 10 ) : 10개봉 중에서 기준봉의 고가가 좌, 우측의 고가 보다 작은

위치

6. 계산과정

조건1 : ( 기준이 되는 Price <= 좌측 Strength개 만큼의 Price ) ⇒ 기준 Price가 작거나 같을 경우

조건2 : ( 기준이 되는 Price <= 우측 Strength개 만큼의 Price ) ⇒ 기준 Price가 작거나 같을 경우

SwingLowBar = 조건1과 조건2를 만족하는 “기준이 되는 Price의 봉의 위치”

☞ 탐색방법

양쪽의 가격이 기준이 되는 Price 보다 큰 봉의 위치를 다음과 같은 순서로 탐색

오른쪽 봉 개수만큼 과거봉으로 이동

그 위치의 봉이 오른쪽이나 왼쪽봉들보다 값이 작거나 같은 봉이면 만족

만족하지 않을 경우, 앞의 작업을 이전봉으로 이동하면서 Length번 만큼 수행

7. 활용방법

Page 395: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

기준봉의 상대적인 위치를 파악해서 매매에 활용

Tangent( 수학함수 ) – Tan과 동일한 기능의 함수

1. 함수에 대한 간략해설

인자로 각도값을 받아 탄젠트 값을 계산하여 반환하는 기본함수

2. 함수의 전체 형태

Tangent( Value ) : 일반적인 표준함수

Tan( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 각도값

4. 반환값(Return : double)인자로 주어진 각도 값을 탄젠트 값으로 반환하며 실수값

5. 함수사용 예

Tangent(50) : 반환값 1.19 Tan(50 ) : 반환값 1.19

6. 활용방법

주어진 각도 값을 탄젠트 값으로 변환하여 매매에 사용

Page 396: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TanH( 수학함수 )

1. 함수에 대한 간략해설

인자로 각도값을 받아 하이퍼블릭 탄젠트 값을 계산하여 반환하는 기본함수

2. 함수의 전체 형태

TanH( Value ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Value Num 필수 각도값

4. 반환값(Return : double)인자로 주어진 각도 값을 하이퍼블릭 탄젠트 값으로 반환하며 실수값

5. 함수사용 예

TanH(50) : 반환값 0.70

6. 활용방법

주어진 각도 값을 하이퍼블릭 탄젠트 값으로 변환하여 매매에 사용

Page 397: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TimeToMin( 기본함수 )

1. 함수에 대한 간략해설

인자로 전달된 시간, 분, 초 값(HHMMSS)을 분 값으로 변환하는 함수

2. 함수의 전체 형태

TimeToMin( pTime )

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pTime Num 필수 변환을 원하는 분 값

4. 반환값(Return : double)인자로 전달된 시간, 분, 초 값(HHMMSS)을 분으로 반환

5. 함수사용 예

TimeToMin(153000) : 930을 반환

6. 활용방법

시간, 분, 초 값(HHMMSS)을 분으로 계산하여 반환하며 이를 매매식에 활용

Page 398: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TriAverage ( 기본함수 )

1. 함수에 대한 간략해설

주어진 가격을 이중으로 평균하는 함수, 즉, 삼각이동평균 함수

2. 함수의 전체 형태

TriAverage ( pPVal, pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수 가격이나 함수식

pLeng Num 20 필수 기간값

4. 반환값(Return : double )삼각이동평균한 값을 반환하며 실수형

5. 함수사용 예

TriAverage(Close, 20) : 종가를 이용한 삼각이동평균

6. 활용방법

이동평균을 이중으로 평활화해서 매매에 활용

Page 399: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TriAverage_Gen ( 기본함수 )

1. 함수에 대한 간략해설

주어진 가격을 이중으로 평균하는 함수, 즉, 삼각이동평균 함수

2. 함수의 전체 형태

TriAverage_Gen ( pPVal, pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수 가격이나 함수식

pLeng Num 20 필수 기간값

4. 반환값(Return : double )삼각이동평균한 값을 반환하며 실수형

5. 함수사용 예

TriAverage_Gen(Close, 20) : 종가를 이용한 삼각이동평균

6. 활용방법

이동평균을 이중으로 평활화해서 매매에 활용

Page 400: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TRIX ( 기본함수 ) – Tripple Exponentially Smoothed Moving Average

1. 함수에 대한 간략해설

기존의 이동평균은 후행성이라는 단점을 가지고 있는데 반해 TRIX 지표는 이동평균의 장점은 그대로

유지하면서 불필요한 주가변화를 제거하여 후행성을 극복한 매매지표, 즉 주가의 지수이동평균을 세차례

거듭 이동평균한 다음 그 값의 변화율을 구하여 매매에 활용함.

2. 함수의 전체 형태

TRIX ( Price, period ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수 가격이나 함수식

period Num 14 필수 기간값(보통 12일 ~ 25일 값을

사용)

4. 반환값(Return : double )세 차례 지수이동평균한 후 그 변화율 값을 반환하는 실수형

5. 함수사용 예

TRIX( Close, 14 ) : 종가를 이용한 TRIX

6. 활용방법

기준선과 시그널을 이용하여 매매시 활용. 여기에서 시그널은 TRIX의 M일 지수이동평균을 사용

MACD를 중기추세 파악용으로 TRIX를 중장기 추세 파악용으로 사용하면서 보완

Page 401: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TrueHigh ( 기본함수 )

1. 함수에 대한 간략해설

직전봉의 종가와 현재봉의 고가 중에서 큰 값을 반환하는 함수

2. 함수의 전체 형태

TrueHigh ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double )직전봉의 종가와 현재봉의 고가 중에서 큰 값을 반환

5. 함수사용 예

TrueHigh( )

6. 활용방법

직전봉의 종가와 현재봉의 고가중에 진정한 고가를 찾아 매매에 활용

Page 402: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TrueLow ( 기본함수 )

1. 함수에 대한 간략해설

직전봉의 종가와 현재봉의 저가 중에서 작은 값을 반환하는 함수

2. 함수의 전체 형태

TrueLow ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double )직전봉의 종가와 현재봉의 저가 중에서 작은 값을 반환

5. 함수사용 예

TrueLow( )

6. 활용방법

직전봉의 종가와 현재봉의 저가중에 진정한 저가를 찾아 매매에 활용

Page 403: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TrueRange ( 기본함수 )

1. 함수에 대한 간략해설

진정한 고가(TrueHigh)와 저가(TrueLow)와의 차이 값을 반환하는 함수

2. 함수의 전체 형태

TrueRange ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double )TrueRange 값을 반환

5. 함수사용 예

TrueRange( )

6. 활용방법

현재봉의 진정한 범위를 찾아 매매에 활용

Page 404: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TrueRangeUser ( 기본함수 )

1. 함수에 대한 간략해설

사용자가 지정한 고가와 저가에 기반한 범위의 값을 반환하는 함수

2. 함수의 전체 형태

TrueRangeUser ( pPH, pPL, pPC ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPH Num High 필수 TrueRange 계산시 사용할 고가

pPL Num Low 필수 TrueRange 계산시 사용할 저가

pPC Num Close 필수 TrueRange 계산시 사용할 종가

4. 반환값(Return : double )사용자 지정 TrueRange 값을 반환

5. 함수사용 예

TrueRangeUser (High, Low, Close )

6. 활용방법

사용자가 지정한 값을 토대로 현재봉의 진정한 범위를 찾아 매매에 활용

Page 405: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TSI ( 기본함수 ) – True Strength Index

1. 함수에 대한 간략해설

TSI는 RSI와 유사한 지표로 시장의 추세와 강도, 방향을 분석하는데 사용함. RSI가 상승일 때와 하락일

때를 구분해서 상대강도를 측정하는 지표인 반면, TSI는 상승과 하락강도를 한번에 적용함으로써 보다

실질적인 변동폭을 알 수 있도록 고안된 지표임.

2. 함수의 전체 형태

TSI ( pPVal, pLeng1, pLeng2, pLeng3 ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수 가격

pLeng1 Num 12 필수 1차 지수이동평균 기간

pLeng2 Num 26 필수 2차 “

pLeng3 Num 9 필수 3차 “

4. 반환값(Return : double )TSI(True Strength Index) 값을 반환

5. 함수사용 예

TSI( Price – Price[1], 12, 26, 9 )

6. 활용방법

TSI는 여러 번의 장단기 지수이동평균을 취하기 때문에 왜곡된 주가 흐름으로 인한 휩소를

방지하는데 효과적임. TSI 값을 n일 지수이동평균하여 TSI Signal을 만든 후 TSI와 교차매매시 활용

TypicalPrice ( 기본함수 )

Page 406: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TXAverage( 기본함수 ) – Triple Exponential Moving Average

1. 함수에 대한 간략해설

TXAverage는 삼중지수이동평균이란 의미이며 세번에 걸쳐 지수이동평균을 구하여 평활화시킨 것임.

2. 함수의 전체 형태

TXAverage( pPrice, pRR, pSS, pUU ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPrice Num Close 필수 가격

pRR Num 10 필수 1차 지수이동평균 기간

pSS Num 5 필수 2차 “

pUU Num 5 필수 3차 “

4. 반환값(Return : double)삼중 지수이동평균한 값

5. 함수사용 예

TXAverage( Close, 10, 5, 5 ) : 종가를 기준으로 21 삼중지수이평

6. 활용방법

주가가 TXAverage 위로 상승할때를 매수신호로 보고 아래로 하락할때를 매도신호로 해석

두개의 TXAverage 지표를 이용하여 단기, 장기 지표의 골든크로스나 데드크로스를 이용

Page 407: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

TypicalPrice ( 기본함수 )

1. 함수에 대한 간략해설

고가+저가+종가를 3으로 나눈 값을 반환하는 함수

2. 함수의 전체 형태

TypicalPrice ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double )TypicalPrice 값을 반환

5. 함수사용 예

TypicalPrice( )

6. 활용방법

고가, 저가, 중가를 이용하여 평균가격을 구한 후 매매에 활용

UlcerIndex ( 기본함수 )

Page 408: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

UlcerIndex ( 기본함수 )

1. 함수에 대한 간략해설

시장조건과 관련한 스트레스 레벨을 측정한 값을 반환하는 함수

2. 함수의 전체 형태

UlcerIndex ( pPriceVal, pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPriceVal Num Close 필수 시, 고, 저, 종 등의 가격

pPeriod Num 14 필수 기간값

4. 반환값(Return : double )현재봉에 대한 UlcerIndex 값을 반환

5. 함수사용 예

UlcerIndex(Close, 14 )

6. 활용방법

스트레스 레벨을 측정하여 매매에 활용

Page 409: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

UltimateOsc ( 기본함수 )

1. 함수에 대한 간략해설

Ultimate Oscillator는 3개의 oscillator의 가중치 합(일반적으로 7, 14 및 28개 기간)을 사용하기 때문에

단지 1개 기간만을 사용할때 발생할 수 있는 지표의 편차를 부드럽게 하며, oscillator는 0부터 100 사이의

단일 선으로 그려짐.

2. 함수의 전체 형태

UltimateOsc ( pLeng1, pLeng2, pLeng3 ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pLeng1 Num 7 필수 단기 기간값

pLeng2 Num 14 필수 중기 기간값

pLeng3 Num 28 필수 장기 기간값

4. 반환값(Return : double )현재봉에 대한 UltimateOsc 값을 반환

5. 함수사용 예

UltimateOsc( 7, 14, 28 )

6. 활용방법

신규매수 혹은 신규매도 진입 신호로 활용

매수청산 혹은 매도청산 신호로 활용

Page 410: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

UltimateOscillator ( 기본함수 )

1. 함수에 대한 간략해설

Ultimate Oscillator는 3개의 oscillator의 가중치 합(일반적으로 7, 14 및 28개 기간)을 사용하기 때문에

단지 1개 기간만을 사용할때 발생할 수 있는 지표의 편차를 부드럽게 하며, oscillator는 0부터 100 사이의

단일 선으로 그려짐.

2. 함수의 전체 형태

UltimateOscillator (pLeng1, pLeng2, pLeng3) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pLeng1 Num 7 필수 단기 기간값

pLeng2 Num 14 필수 중기 기간값

pLeng3 Num 28 필수 장기 기간값

4. 반환값(Return : double )현재봉에 대한 UltimateOscillator 값을 반환

5. 함수사용 예

UltimateOscillator( 7, 14, 28 )

6. 활용방법

신규매수 혹은 신규매도 진입 신호로 활용

매수청산 혹은 매도청산 신호로 활용

Page 411: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

VHF ( 기본함수 ) – Vertical Horizontal Filter

1. 함수에 대한 간략해설

VHF( Vertical Horizontal Filter)는 시장이 추세적 시장인지 비추세적 시장인지를 결정하므로 사용할

지표를 선택하는데 도움이 되는 지표임.

2. 함수의 전체 형태

VHF ( period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 28 필수 기간값

4. 반환값(Return : double )VHF 값을 반환하며 실수형

5. 함수사용 예

VHF( 28 )

6. 활용방법

VHF 값이 커지면 추세적 시장으로 발전할 가능성이 높으므로 추세지향형 지표를 사용

VHF 값이 작아지면 비추세적 국면으로 진입함을 의미하므로 비추세지표를 사용할 것으로 고려

Page 412: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

Volatility ( 기본함수 )

1. 함수에 대한 간략해설

변동성 값을 반환하는 함수

2. 함수의 전체 형태

Volatility ( Leng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Leng Num 60 필수 기간값

4. 반환값(Return : double )변동성 값을 반환하며 실수형

5. 함수사용 예

Volatility( 60 )

6. 활용방법

변동성을 수준과 추이를 판단하여 매매에 활용

Page 413: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

VolOSC ( 기본함수 ) – Volume Oscillator

1. 함수에 대한 간략해설

거래량 오실레이터는 단기거래량 이동평균과 장기거래량 이동평균의 차이를 분석하여 매매에 이용하는

지표

2. 함수의 전체 형태

VolOSC ( pSLeng, pLLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pSLeng Num 9 필수 기간값

pLLeng Num 18 필수 기간값

4. 반환값(Return : double )변동성 오실레이터 값을 반환하며 실수형

5. 함수사용 예

VolOSC( 9, 18 )

6. 활용방법

주가가 큰 폭 상승 후 급락할 때 Volume Oscillator는 증가함. 주가가 상승하는 도중 VolOSC가 감소하면 약세장으로 전환되는 신호로 해석

Page 414: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

VR ( 기본함수 ) – Volume Ratio

1. 함수에 대한 간략해설

VR( Volume Ratio )은 일정기간 동안의 주가 상승일의 거래량과 주가 하락일의 거래량을 비교하여

백분율로 나타낸 지표로서 현재 주식시장이 과열인지 침체인지를 판단하는데 유용한 지표임.

2. 함수의 전체 형태

VR ( pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pLeng Num 14 필수 기간값

4. 반환값(Return : double )VR 값을 반환하며 실수형

5. 함수사용 예

VR( 14 )

6. 활용방법

일반적으로 VR의 값에 대하여 다음과 같이 해석

- 450% : 과열

- 300% : 강세

- 150% : 보통

- 100% : 약세

- 75% : 바닥

Page 415: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

VROC ( 기본함수 ) – Volume Rate of Change

1. 함수에 대한 간략해설

VROC( Volume Rate of Change )는 금일 거래량과 Length 전 거래량 사이의 차이를 나타내는 지표임.

2. 함수의 전체 형태

VROC ( pPeriod ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPeriod Num 14 필수 기간값

4. 반환값(Return : double )VROC 값을 반환하며 실수형

5. 함수사용 예

VROC( 14 )

6. 활용방법

VROC는 거래량의 변화속도를 나타며 일반적으로 거래량이 나타내는 특성을 반영함. Proc와 계산방법은 같고 단지 가격대신 거래량을 사용하여 계산함.

Page 416: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

WAverage ( 기본함수 ) – WMA와 동일한 기능의 함수

1. 함수에 대한 간략해설

인자로 주어진 가격과 기간을 가중평균값을 반환하는 함수

2. 함수의 전체 형태

WAverage ( pPriceVal, pPeriod ) : 일반적인 표준함수

WMA ( Price, Length ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPriceVal Num Close 필수 시, 고, 저, 종 등의 가격

pPeriod Num 10 필수 기간값

4. 반환값(Return : double )가중평균 값을 반환하며 실수형

5. 함수사용 예

WAverage( Close, 10 ) WMA( Close, 10 )

6. 활용방법

최근봉에 가까운 가격에는 가중치를 많이 주고 먼 봉에는 가중치를 낮춰 평균을 구함. 가중평균을 매매에 활용

Page 417: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

WeightedClose ( 기본함수 )

1. 함수에 대한 간략해설

단순 종가가 아닌 가중치를 적용한 종가를 반환하는 함수

2. 함수의 전체 형태

WeightedClose ( ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

4. 반환값(Return : double )가중치를 반영한 종가 값을 반환하며 실수형

5. 함수사용 예

WeightedClose( )

6. 활용방법

종가에 가중치를 적용한 후 고가와 저가를 이용하여 가중치 종가를 계산

가중종가를 매매에 활용

Page 418: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

WILLA( 기본함수 ) => Williams’ Accumulation / Distribution

1. 함수에 대한 간략해설

WILLA( Williams’ Accumulation / Distribution )는 현재 주식시장의 매수, 매도 세력을 나타내주는

지표임.

2. 함수의 전체 형태

WILLA ( Price ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수 가격

4. 반환값(Return : double)WILLA 값으로 실수값

5. 함수사용 예

WILLA( Close )

6. 활용방법

주가가 신고가를 형성하고 있는데 WILLA 지표가 신고가에 실패하면 매수세력이 분산되고 있음을

뜻하므로 매도신호로 활용

주가가 신저가를 형성하고 있는데 WILLA 지표가 신저가에 실패하면 매수세력이 축적되고 있음을

뜻하므로 매수신호로 활용

Page 419: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

WILLR ( 기본함수 ) - Williams’ %R

1. 함수에 대한 간략해설

WILLA( Williams’ %R ) 함수는 과매수, 과매도 여부를 측정하기 위한 탄력지표이며 스톡캐스틱과

유사하지만 수치는 0 ~ -100 범위를 갖음.

2. 함수의 전체 형태

WILLR ( period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

period Num 14 필수 기간값

4. 반환값(Return : 실수형 )WILLR을 반환하며 실수형

5. 함수사용 예

WILLR( 14 )

6. 활용방법

0% ~ -20%사이에서는 과매수권으로 판단

-80% ~ -100%사이에서는 과매도권으로 판단

WILLR은 매매신호가 발생되더라도 반드시 시장 주가의 변화를 확인한 후 매매에 참여. 강세장에서는 스토캐스틱 보다 높은 예측력을 보이지만 약세장에서는 다소 떨어짐.

Page 420: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

XAverage ( 기본함수 ) – EMA, EAvg와 동일한 기능의 함수

1. 함수에 대한 간략해설

주어진 기간과 가격에 대한 지수이동 평균을 반환하는 함수이며 EAvg함수와 동일한 기능을 하는 함수

2. 함수의 전체 형태

XAverage ( Price, period) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

Price Num Close 필수 시, 고, 저, 종 등의 가격

period Num 10 필수 기간값

4. 반환값(Return : 실수형 )지수이동평균을 반환하며 실수형

5. 함수사용 예

XAverage( Close, 10 )

6. 활용방법

지수이동평균은 가중이동평균의 일종

최근데이터에 좀 더 많은 가중치를 부여

단순이동평균의 후행성을 극복하기 위해 고안된 방법이며 많이 사용

Page 421: Signal Language Language... · Web view트리구조의 하단에는 [분류] 혹은 [통합] 탭이 있으며, 기본적으로는 [분류] 탭이 선택되어 있습니다. [분류]

XAverageOrig ( 기본함수 )

1. 함수에 대한 간략해설

주어진 기간과 가격에 대한 지수이동 평균을 반환하는 함수이며 XAverage함수와 유사하나 평활화를

다르게 한 것임.

2. 함수의 전체 형태

XAverageOrig ( pPVal, pLeng ) : 일반적인 표준함수

3. 입력변수에 대한 설명

변수명(Name) 데이터형태(Type) 추천/기본값 필수여부 부연설명

pPVal Num Close 필수 시, 고, 저, 종 등의 가격

pLeng Num 10 필수 기간값

4. 반환값(Return : 실수형 )지수이동평균을 반환하며 실수형

5. 함수사용 예

XAverageOrig( Close, 10 )

6. 활용방법

지수이동평균은 가중이동평균의 일종

최근데이터에 좀 더 많은 가중치를 부여

단순이동평균의 후행성을 극복하기 위해 고안된 방법이며 많이 사용