날짜 시간함수
1. DayOfWeek()
- 현재봉의 날짜가 일요일부터 토요일중 어떤 요일에 해당하는지 리턴 (1 ~ 7)
ex) 현재봉이 목요일이면 -> DayOfWeek() = 5
2. DayOfMonth()
- 현재봉의 날짜가 그달에서 몇일차인지 리턴 (1 ~ 31)
ex) 현재봉이 이번달의 처음일이면 -> DayOfMonth() = 1
3. Month()
- 현재봉의 월을 리턴 (1 ~ 12)
ex) 현재봉이 12월이면 -> Month() = 12
4. Year()
- 현재봉의 년도를 리턴 (YYYY)
ex) 현재봉이 2003년 이면 -> Year() = 2003
5. LocalDate(), LocalTime()
- 현재 PC날짜와 PC시간을 리턴
ex) 지금 시간이 오후 2시 45분 이후이면 -> LocalTime() >= 144500
예제) 일봉 봉미완성 전략에서 현재 PC시간이 2:40이 경과 하였을 경우 현재가가 5일 이평선을 하회할 경우 매도하는 식을 작성하라
-> (LocalTime() >= 144000) And (C < Ma(C, 5))
수학함수
1. Abs(num)
- 절대값 리턴
ex) Abs(C - O)
2. Avg(num1, num2, …)
- 평균값을 리턴
ex) Avg(O, H, L, C)
3. Cos(num) - Cosine 값 리턴
ex) Cos(45)
4. Log(num)
- 자연로그값 리턴
ex) Log(C)
5. Log10(num)
- 상용로그값 리턴
ex) Log10(C)
6. Max(num1, num2, …)
- 최고값을 리턴
ex) Max(O, C)
7. Min(num1, num2, …)
- 최저값을 리턴
ex) Min(O, C)
8. Pie, p- 3.141592
9. Pow(num1, num2)
- num1의 num2 제곱승을 리턴
ex) Pow(C, 2)
10. Sin(num)
- Sine 값 리턴
ex) Sin(45)
11. Sqrt(num)
- 제곱근값 리턴
ex) Sqrt(4)
12. Tan(num1)
- Tangent 값을 리턴
ex) Tan(45)
13. Round(num)
- 소수점 이하 반올림
ex) Round(1.6) -> 2
14. Ceiling(num)
- 소숫점이하 올림
ex) Ceiling(2.8) -> 3, Ceiling(-2.8) -> -2
15. Fix(num)
- 소수점 이하 버림
ex) Fix(5.231) -> 5
16. Int(num)
- 소수점 이하 버림
ex) Int(2.8) -> 2, Int(-2.8) -> -3
예제) 종가를 기준으로 과거 5개봉의 최고가를 구하시오
-> Max(C, C(1), C(2), C(3), C(4))
지표함수
1. Accum(Value)
- Value의 누적합
Accum(Value, Period)
- Period기간 동안의 Value의 누적합
ex) 20일동안의 종가의 평균을 구하라 -> Accum(C, 20) / 20
2. BHTotal(Period)
- Period기간 전의 매수 호가 잔량
SHTotal(Period)
- Period기간 전의 매도 호가 잔량
ex) 현재봉의 매수호가잔량을 구하라 -> BHTotal(0)
3. BCUnit(Period)
- Period기간 전의 단위 매수 체결량
SCUnit(Period)
- Period기간 전의단위 매도 체결량
ex) 현재봉의 매도 체결량을 구하라 -> SCUnit(0)
4. CrossUp(Value1, Value2)
- Value1이 Value2를 상향돌파 하였는지 참, 거짓을 리턴
CrossDn(Value1, Value2)
- Value1이 Value2를 하향돌파 하였는지 참, 거짓을 리턴
ex) 5,20일 Golden Cross인가? -> CrossUp(Ma(C, 5), Ma(C, 20))
5. DayValue(Type, Period)
- N일전 Type에 해당하는 수치를 리턴
- Type : O, H, L, C, V
* 해당기간+1일의 데이터가 챠트에 존재하여야 함
ex) 5분봉에서 당일시가와 전일종가를 표시하라 -> DayValue(O, 0), DayValue(C, 1)
6. Ma(Value, Period), Ma(Value, Period, PrevCnt)
- Period기간 동안의 Value에 대한 단순 이동평균값을 리턴
Ema(Value, Period), Ema(Value, Period, PrevCnt)
- Period기간 동안의 Value에 대한 지수이동평균값을 리턴
Wma(Value, Period), Wma(Value, Period, PrevCnt)
- Period기간 동안의 Value에 대한 가중이동평균값을 리턴
* PrevCnt가 추가되면 PrevCnt 기간전의 이동평균값을 리턴
ex) 전일 5일지수이동평균을 구하라 -> Ema(C, 5, 1)
7. Highest(Value, Period)
- Period 기간 동안의 Value의 최고가를 리턴
Lowest(Value, Period)
- Period 기간 동안의 Value의 최저가를 리턴
ex) 상위 Price Channel을 구하라 -> Highest(C(1), 20)
8. Peak(Value, Ratio, Period)
- Value값이 앞뒤 가격대비 Ratio 비율만큼 꼭지점을 형성했을때의 가격을 리턴
- Period는 이전 꼭지점의 참조 기간임(1 == 현재)
Trough(Value, Ratio, Period)
- Value값이 앞뒤 가격대비 Ratio 비율만큼 골을 형성했을때의 가격을 리턴
- Period는 이전 골의 참조 기간임(1 == 현재)
ex) 고가가 앞뒤 10% 이상의 꼭지점을 형성한 때의 최근 꼭지점 값을 리턴하라
-> Peak(H, 0.1, 1)
9. Ref(Value, Period)
- Period기간 전의 Value 값을 리턴
ex) 현재가가 이전봉까지의 당일 최고가 돌파식을 작성하라
-> CrossUp(C, Ref(DayValue(H, 0), 1)) ex) 전일 5일이동평균을 구하라
-> Ref(Ma(C, 5), 1)
10. Sar(AF, EP)
- Parabolic Sar(Stop And Reverse) 값을 리턴
- AF : 가속변수, EP : 극단가격
ex) AF: 0.02, EP: 0.2인 Sar값을 구하라 -> Sar(0.02, 0.2)
연습1) 선물 5분봉에서 TrueRange를 구하고, 당일 시가대비 TrueRange의 20% 인 지점과
-20%인 Channel 을 작성하여 상위채널은 빨간색, 하위채널은 파란색으로 표시하고
오버레이 지표로 만들어 보자
연습2) 위에서 구한 상위채널을 상향돌파할때 매수 진입, 하위채널을 하향돌파할때
매도진입하고, 당일 2:40에 무조건 청산, 혹은 손실이 0.6% 발생시 청산하여
시뮬레이션 레포트를 작성하라
전략함수
1. EntryDate()
- 현재 포지션 진입일(YYYYMMDD)
2. EntryTime()
- 현재 포지션 진입 시간(HHMMSS)
3. EntryIndex()
- 현재 포지션 진입 봉번호
4. EntryPosition()
- 현재 진입한 포지션 (1:매수, 2:매도, 0: 없음)
5. EntryPrice()
- 현재 포지션 진입 가격
6. ExitDate()
- 마지막 포지션 청산일(YYYYMMDD)
7. ExitTime()
- 마지막 포지션 청산 시간(HHMMSS)
8. ExitIndex()
- 마지막 포지션 청산 봉번호
9. ExitPosition()
- 마지막 청산한 포지션 (1:매수, 2:매도, 0: 없음)10. ExitPrice()
- 마지막 청산한 포지션의 청산가격
11. MaxProfitPrice()
- 진입후 최고점
12. MaxProfitIndex()
- 진입후 최고점의 봉번호
13. StartIndex()
- 감시 시작시의 봉번호
14. LastIndex()
- 현재 챠트상의 마지막 봉번호
15. IndexValue(Type, Index)
- 해당 봉 Index에서 Type에 해당하는 값을 리턴 - Type : O, H, L, C, V
연습1) 이동평균 교차 진입후 10개봉 후에 무조건 청산하는 식을 작성하라
이때 진입후에는 청산신호나 반대포지션 진입신호는 나올 수 없다.
연습2) 이평교차 매매에 Trailing Stop을 식으로 구현하라
(최고 이익대비 50% 하락시 청산)
공통함수
1. ADL
- 형식 : ADL() * 변수 설정 없음
- 개념 : Accumulation/Distribution Line의 약자로서 거래량 집중/분산 지표.
((C ? L) ? (H ? C)) / (H ? L) * V + Pre ADL
- 사용예 : ADL()
2. ADX
- 형식 : ADX(Period)
- 개념 : Period 기간 동안의 ADX 값을 표시하며 ADX는 해당 주식의 변동성의 크기를 표시하는 지표이며,
통상 DMI 지표의 필터로서 주로 사용된다.
- 사용예 : ADX(14)
3. ATR
- 형식 : ATR(Period)
- 개념 : Period 기간동안의 Average True Range를 표시하는 지표로서 ADX와 마찬가지로 주식의
변동성 계산시 사용된다.
- 사용예 : ATR(14)
4. BinaryWave
- 형식 : BinaryWave(MApriod, ROCperiod, STOperiod1, STOperiod2)
- 개념 : Steven Achelis가 고안한 지표로서 MACD, EMA, ROC, 스토캐스틱의 4가지 지표를 이용하여
-4 ~ +4 까지의 값을 표시하는 지표
- 사용예 : BinaryWave(20, 14, 5, 3)
5. Bollbandbot
- 형식 : Bollbandbot(Period, Multiple)
- 개념 : Period 기간 기준의 볼린저밴드 하단밴드
- 사용예 : Bollbandbot(20, 2) ? 20일 기준, 2표준편차의 볼린저 하단밴드
6. Bollbandtop
- 형식 : Bollbandtop(Period, Multiple)
- 개념 : Period 기간 기준의 볼린저밴드 상단밴드
- 사용예 : Bollbandtop(20, 2) ? 20일 기준, 2표준편차의 볼린저 상단밴드
7. CCI
- 형식 : CCI(Period)
- 개념 : Commodity Channel Index의 약자로서 주가평균과 현재가의 편차를 이용한 지표이다.
모멘텀과 오실레이터의 성질을 두가지 모두 가지고 있음
- 사용예 : CCI(20) : 20일 이동평균을 활용한 CCI 지표
8. CO
- 형식 : CO() * 변수 설정 없음
- 개념 : Chaikin’s Oscillator의 약자로서 Accumulation / Distribution지표의 약점을 극복하기 위해 고안된
지표임, 3일 지수식 A/D Line에서 10일 지수식 A/D Line을 차감하여 제작함
- 사용예 : CO()
9. CV
- 형식 : CV(Period, Num)
- 개념 : Cahikin’s Volatility의 약자로서 주가의 고점과 저점사이의 변동성으로 변곡점을 측정하는 지표
- 사용예 : CV(5, 20)
10. Disparity
- 형식 : Disparity(Period)
- 개념 : Period 기준의 이동평균선과 현재가와의 이격도
- 사용예 : Disparity(20) ? 20일 이격도
11. Envelopetop
- 형식 : Envelopetop(Period, Percent)
- 개념 : 엔벨롭 지표를 구성하는 상단 밴드로 Period기간의 이동평균선에서 Percent 만큼 상단에 표시
- 사용예 : Envelopetop(20, 5)
12. Envelopebot
- 형식 : Envelopebot(Period, Percent)
- 개념 : 엔벨롭 지표를 구성하는 하단 밴드로 Period기간의 이동평균선에서 Percent 만큼 하단에 표시
- 사용예 : Envelopebot(20, 5)
13. EOM
- 형식 : EOM() * 변수설정 없음
- 개념 : Ease Of Movement의 약자로서 거래량과 주가의 상관관계를 표시, 주로 EOM의 이동평균선
으로 사용하게 됨
- 사용예 : EOM()
14. Ilmok_tl
- 형식 : Ilmok-tl() * 변수설정 없음
- 개념 : 일목균형표 전환선, 9일간 최고가와 최저가의 중간값
- 사용예 : Ilmok-tl()
15. Ilmok_st
- 형식 : Ilmok-st() * 변수설정 없음
- 개념 : 일목균형표 기준선, 26일간 최고가와 최저가의 중간값
- 사용예 : Ilmok-st()
16. Macd
- 형식 : Macd(period1, period2)
- 개념 : 단기이동평균선과 장기이동평균선의 차이를 오실레이터 지표로 표시
- 사용예 : Macd(12, 26)
17. MAO
- 형식 : MAO(period1, period2)
- 개념 : Macd와 동일하지만 Macd는 지수식, MAO는 단순식의 차이가 있음
- 사용예 : MAO(5, 20)
18. MFI
- 형식 : MFI(period)
- 개념 : Money Flow Index의 약자로서 그날의 평균가와 거래량을 구한뒤 RSI처럼 현금유입이
많으면 과열, 적으면 침체의 지표로서 활용한다.
- 사용예 : MFI(14)
19. MI
- 형식 : MI(period)
- 개념 : Mass Index의 약자로서 고가와 저가사이의 평균폭의 수렴과 발산을 측정,추세의 전환을
확인하는 지표임
- 사용예 : MI(25)
20. MinusDI
- 형식 : MinusDI(Period)
- 개념 : MDI 값을 계산하는 지표로서 일일단위의 고점갱신 크기로 추세를 측정함
- 사용예 : MinusDI(14)
21. Momentum
- 형식 : Momentum(Num)
- 개념 : Momentum은 Num 전일의 가격과 비교하여 현재 주가의 추세를 점검 Num일보다 현주가가
높으면 100이상을 표시
- 사용예 : Momenutm(9)
22. OBV
- 형식 : OBV() * 변수설정 없음
- 개념 : On Balance Volume의 약자로서 주식의 매집과 분산을 표시하는 지표 주가가 상승할때의
거래량은 매집, 하락할때의 거래량은 분산으로 표시함
- 사용예 : OBV()
23. Pivot
- 형식 : Pivot()
- 개념 : 피봇라인을 구성하는 중간값(종가, 고가, 저가의 평균값)
- 사용예 : 분봉그래프에서 사용하는 것이 바람직함
24. PlusDI
- 형식 : PlusDI(Period)
- 개념 : PDI 값을 계산하는 지표로서 일일단위의 저점갱신의 크기로 추세 측정
- 사용예 : PlusDI(14)
25. PriceChannelHigh
- 형식 : PriceChannelHigh(period)
- 개념 : 프라이 채널의 상단 채널을 구성함, 기간중 최고가 라인
- 사용예 : PriceChannelHigh(20) - 20일 PriceCahnnel 상단
26. PriceChannelLow
- 형식 : PriceChannelLow(period)
- 개념 : 프라이 채널의 하단 채널을 구성함, 기간중 최고가 라인
- 사용예 : PriceChannelLow(20) ? 20일 PriceCahnnel 하단
27. PriceOSC
- 형식 : PriceOSC(period1, period2)
- 개념 : 단기이동평균선과 장기이동평균선의 차이를 %로 표시한 오실레이터
(단기이평선 ? 장기이평선) / (단기이평선) *100 이므로 0과 100사이의 지표
- 사용예 : PriceOSC(5, 20)
28. PROC
- 형식 : PROC(Num)
- 개념 : 모멘텀과 마찬가지로 Num 일전과 현재가를 비교하여 추세를 점검함
모멘텀은 100선을 기준으로 표시되지만 PROC는 0을 기준으로 표시됨
- 사용예 : PROC(12)
29. Psychological
- 형식 : Psychological(period)
- 개념 : “투자심리선”으로서 기간중 상승한 날이 차지하는 비중
- 사용예 : Psychological(10)
30. PVT
- 형식 : PVT() * 변수설정 없음
- 개념 : Price Volume Trend의 약자로서 OBV와 비슷하지만 PVT는 일정한 미율의 거래량을 가감한다는
차이가 있다.
- 사용예 : PVT()
31. RSI
- 형식 : RSI(period)
- 개념 : Relative Strength Index의 약자로서 기간중 총 변동폭 중 상승폭이 차지하는 비율을 표시하는
지표
- 사용예 : RSI(14)
32. SONAR
- 형식 : Sonar(period1, Num)
- 개념 : 지수식 이동평균과 Num일 전의 지수식이동평균의 이격을 구하여 추세판별
- 사용예 : Sonar(14, 9)
33. Stddev
- 형식 : Stddev(period)
- 개념 : Standard Deviation(표준편차)를 계산하는 함수, 볼린저 밴드 작성에 사용됨
- 사용예 : Ma(c,20) + 2*Stddev(20) = 볼린저밴드 상단 밴드
34. StochasticsK
- 형식 : StochasticsK(Period1,Period2)
- 개념 : Slow Stochastics %K 지표
- 사용예 : StochasticsK(5, 3)
35. StochasticsD
- 형식 : StochasticsD(Period1, Period2, Period3)
- 개념 : Slow Stochastics %D 지표
- 사용예 : StochasticsD(5, 3, 3)
36. Trix
- 형식 : Trix(period)
- 개념 : 기간기준의 지수식이동평균을 세번 중복
- 사용예 : Trix(14)
37. VHF
- 형식 : VHF(period)
- 개념 : Vertical Horizontal Filter의 약자로서 일정기간동안의 고점과 저점사이의 범위와 변화율 총계를
나타냄
- 사용예 : VHF(28)
38. VRoc
- 형식 : VRoc(Num)
- 개념 : Proc와 마찬가지로 일정기간 이전의 거래량과 현재거래량을 비교
- 사용예 : Vroc(9)
39. VR
- 형식 : VR() * 변수지정 없음
- 개념 : Volume Ratio의 약자로서 주가가 상승한 날의 거래량과 하락한 날의거래량을 비교하여 현재
과열/침체 시장의 수준을 파악하는 지표
- 사용예 : VR()
40. VolumeOsc
- 형식 : VolumeOsc(period1, period2)
- 개념 : 기간이 다른 두 거래량 이동평균의 이격을 나타냄
- 사용예 : VolumeOsc(5, 20)
41. Will_AD
- 형식 : Will_AD() * 변수지정 없음
- 개념 : William’s Accumulation / Distribution의 약자로서 주가와의 디버전스 파악
- 사용예 : Will_AD()
42. Will_R
- 형식 : Will_R(period)
- 개념 : 스토캐스틱과 마찬가지로 기간중 고점과 저점의 Range에서 현재가의 비중
- 사용예 : Will_R(14) |
|
|