/body id =
반응형

1) 전략: 차트의 특정 조건을 만족하는 봉에 매수(매도청산) 또는 매도(매수청산) 화살표를 그리는 것.

보통 Buy와 Exitshort, Sell과 Exitlong 함수가 한 쌍으로 표현된다. 예를 들어 DMI전략의 경우 PMI의 값이 MDI를 상향 돌파할 때 매수에 해당하는 붉은 화살표, PMI의 값이 MDI를 하향 돌파할 때 매도에 해당하는 청색 화살표가 생성된다. 

 

사실 전략의 경우 구성이 신호(매수) + 신호(매도)로 이루어져있는게 대부분이기 때문에 전략식을 만드는게 어렵게 느껴진다면 신호 스크립트를 작성하여 매수 + 매도 신호를 각각 적용시키는 것도 괜찮은 방법이다.


2) 강세약세: 보통 차트를 강세구간과 약세구간 또는 보합 구간으로 나누기 위한 지표로 실행되며 보통 강세구간일 경우 차트 내 붉은색으로 표시, 약세 구간일 경우 청색으로 표시되며 보합구간의 경우 아무것도 표시되지 않는다. 강세를 의미하는 "Bull"과 약세를 의미하는 "Bear" 함수가 사용된다.


3) 지표: 차트에서 많이 사용해본 사람은 알겠지만 차트의 하단에 붙어 각 봉에 해당하는 데이터를 시각적으로 표현해주는 방법이다. "Plot"이라는 함수가 사용되며 Plot 함수 사용시 차트 하단에 특정 사용자가 작성한 스크립트가 붙는다고 생각하면 된다. 가장 많이 사용하는 스크립트지만, 사용법이 까다롭고 존재하지 않는 함수가 많아 작성이 힘들 수도 있다


4) 신호: 전략과 비슷하게 차트상 매수에 해당하는 적색, 매도에 해당하는 청색으로 표시된다. 보통 (매수)와 (매도)가 한 쌍으로 묶여 사용되며 (매수)에는 BuyCond, (매도)에는 SellCond가 사용된다. [전략]과 가장 큰 차이점은 전략은 매수, 매도가 하나의 스크립트에서 사용되는 반면 신호는 보통 (매수)신호와 (매도)신호 스크립트가 각각 분리되어 사용된다


파스칼 문법(Trade Station)과 전략을 선택하여 진행.

1) 전략

첫번쨰 전략부터 알아보자. 위는 예제로 사용될 DMI전략의 언어편집기 스크립트다. 참고로 DMI전략의 경우 위에서 한 번 설명했듯 아주 쉬운 스크립트 중 하나이므로 어렵더라도 포기하지말고 차근차근 아래 설명을 보면서 배워볼 수 있도록 하자. 참고로 DMI전략은 PDI가 MDI 상향돌파 시 매수, 하향돌파시 매도 신호다.

 

PDI: Plus DirectionalIndex

MDI: Miuns DirectionalIndex 


상단에 보면 Input이라고 입력변수를 설정하는 칸이 있다. Period는 기간을 뜻하며 Period(14)는 14이동평균을 의미하는데, 사용하려는 지표에서 이동평균 기간이 들어간다면, Period 선언은 꼭 해주는게 좋다. 이거저거 하다보면 알겠지만, 보통 최초 지표값은 14로 설정되어있는데 보통 이동평균이 14로 설정되어있기 때문에 해당 스크립트에도 디폴트 값이 14로 설정되어있는 것이다.

 

만약 본인이 단순이동평균 14가 아닌, 이동평균 20을 기준으로 DMI매수, 매도전략을 짜고 싶다면 Period(14)가 아닌 Period(20)으로 설정하면 된다. 세미콜론(;)은 문단의 끝을 맺어줄 때 사용하는 일종의 선언기호로 기간설정 각 스크립트의 끝에 붙여넣어주면 된다.


다음은 Var라고 하여 사용될 변수들을 하나하나 선언해주는 단계다. Var 설정이 가끔 헷갈릴 때가 있는데, 이 때는 지표에 사용되는 함수를 모두 생각하여 적어준다고 생각하면 된다. 우선 예시로 든 DMI 스크립트의 경우 PDI와 MDI 각각의 변수가 필요하기 때문에 우선 총 2개의 변수가 필요하다. 각각 Value1(0)과 Value2(0)으로 설정할 것이다. (0)은 디폴트를 의미하는 것이므로 일종의 형식값이다. 흔히 말해서 겉 형식만 갖춘, 안에는 텅텅 빈 깡통이라고 생각하면 된다.

 

여기에 Buycond(FLASE)와 SELLCond(FALSE)역시 매수, 매도 전략으로써 하나의 변수로 사용되기 때문에 우리는 Var 칸에 총 4개의 변수를 입력하게 된다. value에서는 (0)이 기본값이었듯, Buy,Sellcond에서는(FALSE)가 기본값이 된다. (상황과 사용되는 변수 선언에 따라 Var의 개수는 달라질 수 있다) 


value1= PDI, value2 = MDI로 설정할 것이다. 옆 괄호의 (Period, 2)는 기간 14를 의미하게되고 2는 지수이평을 뜻한다. 만약 본인이 단순이동평균으로 계산된 식을 보고 싶다면 (period, 1)로 설정하면 된다. DMI 지표의 경우 기본값이 지수이동평균으로 설정되어있기 때문에 스크립트에서도 지수이동평균이 기본값으로 나오지만 대부분 1(단순이동평균)이 디폴트인 스크립트가 많다.

 


 

다음부터는 비교적 쉽다. 외우거나 구조를 이해하면 된다.

BuyCond = Value1 Cross Above Value2 / 매수전략은 Value1이 Value2를 상향돌파했을 때.

SellCond = Value1 Cross Below Value2 / 매수전략은 Value1이 Value2를 하향돌파했을 때. 

 

매수전략과 매도전략을 뜻하는 BuyCond와 SellCond, 상향돌파와 하향돌파를 뜻하는 Cross Above, Cross Below, 정도만 알면 누구나 작성할 수 있는 아주 간단한 식이다. 문단의 끝에 세미콜론 ;를 붙이는 것을 잊지 말자.

 


 

마지막으로 

If  BuyCond Then Begin Buy(); Exitshort();
End;

If  SellCond Then Begin Sell(); Exitlong();
End;

 

를 입력하여 끝맺음 해주면 되는데, 위와 같은 형식을 지켜주어야 차트에서 정상적으로 전략이 실행된다. 굳이 해석하자면 PDI(Value1)가 MDI(Value2)를 상향(하향)돌파 시 매수(또는 매도청산), 하향돌파시 매도(또는 매수청산)하라는 뜻인데 전략에서 사용하는 대부분의 스크립트는 저렇게 구성되기 때문에, 외우기 힘들다면 타 전략의 실행구분단을 그대로 복사 붙여넣기하여 사용하는 것도 가능하다.


간단하게 DMI전략을 예시로 들어 포스팅했는데 위와 같이 기초적인 원리를 알고만 있다면 차트에서 사용하는 각 지표의 변수들을 활용해 내가 원하는 모양의 전략을 차트에 띄우는 것쯤은 어렵지 않게 된다.

 

단, 해당 지표의 함수가 제공되는지를 알아야하는데 언어편집기의 경우 「도움말」에서 확인할 수 있다.

 

DMI는 스크립트에서 사용 불가

그 외에도 해당 함수를 사용했을 때 청색 하이퍼링크가 걸린다면 해당 함수를 제공하고, 또 사용할 수도 있다. 위 예시처럼 DMI의 경우 청색 하이퍼링크가 생성되지 않았으므로 언어편집기에서 사용할 수 없는 함수가 된다.


*본 편집기 기능은 언어편집기를 사용하고 있는 증권사의 스크립트에서만 적용이 가능하며 시그널메이커 등, 다른 컨셉의 스크립트 시스템을 사용하는 증권사에서는 사용할 수 없다. 언어자체가 다르기 때문이다.

반응형