커뮤니티
문의
2013-09-11 16:59:14
143
글번호 67468
안녕하세요
지난 질문 32399 번의 답변을 받았는데, 죄송하지만 식에 설명을 좀 달아주시면 감사하겠습니다.
그리고 한가지 더, 100틱과 300틱을 분차트 1분,3분으로 변경해서 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2013-09-12 10:57:18
안녕하세요
예스스탁입니다.
아래 주석 참고하시기 바랍니다.
Input : Period(5), Period1(3);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0),cnt(0),TT(0);
Array : HH[50](0),LL[50](0);
#당일 봉을 3개 단위로 구별
#TT는 0-->1-->2 -->0 -->1 -->2 순으로 값이 변경됨
TT = Dayindex%3;
#당일 첫봉이거나 TT값이 직전봉보다 하락하면(3개봉 구간의 첫봉을 나타냄)
if dayindex == 0 or (TT < TT[1] and stime > stime[1]) Then{
#당일 3개봉구간의 갯수
DINDEX = DINDEX + 1;
#새로운 3개봉 최고가를 계산하기 위해 기초값으로 현재봉 고가를 HH[0]번방에 저장
HH[0] = H;
#새로운 3개봉 최저가를 계산하기 위해 기초값으로 현재봉 저가를 LL[0]번방에 저장
LL[0] = L;
#[0]번방에서 새로운 3개봉최고/최저값을 넣어야 하므로
#이전 3개봉 구간의 최고/최저값들은 순차적으로 다음 배열방으로 값을 옮겨 저장
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
#현재봉 고가가 기존에 HH[0]에 저장된 값보다 크면 HH[0]에 현재봉 고가로 변경
if H > HH[0] Then
HH[0] = H;
#현재봉 저가가 기존에 LL[0]에 저장된 값보다 작으면면 LL[0]의 값을 현재봉 저가로 변경
if L < LL[0] Then
LL[0] = L;
#HH와 LL의 0번 방부터 Period-1번 빵까지의 값 중 중 최대값과 최저값을 찾음
highVal = HH[0];
lowVal = LL[0];
for count = 0 to Period-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
#스토케스틱 fastK 계산
#(종가-최저가)/(최고가-최저가)*100
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
#### Slow StochasticsK 계산 ####
#fastK를 지수이평
#지수이평 공식
#EMA = 현재봉값 * EP + 직전봉 지수이평값 * (1-EP)
# ※ EP(평활계수) = 2/(기간 + 1)
#평활계수값 계산
Ep = 2/(Period1+1);
#3봉구간 변경될때마다 직전의 stok값 저장
if DINDEX >= Period and (date != date[1] or TT < TT[1]) then {
PreStoK = StoK[1];
}
#전체 차트에서 3개봉씩 묶음이 1개이만이면 fastk값 저장
if DINDEX <= 1 then
StoK = StoFastK ;
else #2개 이상이면 현재봉 FastK값*평활계순+ 직전구간 stok값*(1-평활계수)
StoK = StoFastK * EP + PreStoK * (1-EP);
#위는 타주기 스토케스틱
#value1는 차트주기에서 스토케스틱K
value1 = StochasticsK(Period,Period1);
if crossup(value1,20) and stok > prestok and stok > 50 Then
buy();
if CrossDown(value1,80) and stok < prestok and stok < 50 Then
sell();
위식에서 타주기 스토케스틱은 적용되는 차트에서 당일 봉을 몇개씩 모아
타주기의 스토케스틱을 계산합니다.
1분차트에 적용하시면 3분 스토케스틱이고
5분차트에 적용하시면 15분 스토케스틱입니다.
즐거운 하루되세요
> HI_jh***** 님이 쓴 글입니다.
> 제목 : 문의
> 안녕하세요
지난 질문 32399 번의 답변을 받았는데, 죄송하지만 식에 설명을 좀 달아주시면 감사하겠습니다.
그리고 한가지 더, 100틱과 300틱을 분차트 1분,3분으로 변경해서 부탁드립니다.
감사합니다.