커뮤니티

문의

프로필 이미지
회원
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분으로 변경해서 부탁드립니다. 감사합니다.