커뮤니티

수식문의 드립니다.

프로필 이미지
하얀모래
2012-07-12 09:05:46
405
글번호 52818
답변완료
안녕하세요~ 수고가 많으십니다. 1분봉에서 3분봉의 macd와 william'r의 값을 참조하는 수식을 문의 드립니다.
시스템
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2012-07-12 09:59:35

안녕하세요 예스스탁입니다. 1. MACD Input : Atime(3),Period1(12),Period2(26),Period3(9); Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0); Var : Ep2(0), JISU2(0), PreJISU2(0); Var : Ep3(0), JISU3(0), PreJISU3(0); var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0); Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); Ep3 = 2/(Period3+1); var1 = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ DINDEX1 = DINDEX1 + 1; PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMACDOsc = MACDOsc[1]; if Dindex1 >= 2 Then PreJISU3 = MACDVal[1]; } if DINDEX1 <= 1 then { JISU1 = C; JISU2 = C; } else{ JISU1 = C * EP1 + PreJISU1 * (1-EP1); JISU2 = C * EP2 + PreJISU2 * (1-EP2); } MACDVal = JiSu1-Jisu2; if DINDEX1 <= 2 then { JISU3 = Jisu1-jisu2; } else{ JISU3 = MACDVal * EP3 + PreJISU3 * (1-EP3); } MACDsig = Jisu3; MACDOsc = MACDVal-MACDsig; plot1(MACDVal); plot2(MACDsig); plot3(MACDOsc); 2. williamsR input : Atime(3),Period(14); var : WR(0),count(0),cnt(0); Array : HH[50](0),LL[50](0); var1 = TimeToMinutes(stime)%Atime; if dayindex == 0 or var1 < var1[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; value1 = HH[0]; value2 = LL[0]; for count = 0 to Period-1 { if HH[count] > value1 then value1 = HH[count]; if LL[count] < value2 then value2 = LL[count]; } if HH[Period] > 0 Then WR = (value1 - Close) / (value1 - value2) * (-100); Else WR = 0; plot1(WR); 즐거운 하루되세요 > 하얀모래 님이 쓴 글입니다. > 제목 : 수식문의 드립니다. > 안녕하세요~ 수고가 많으십니다. 1분봉에서 3분봉의 macd와 william'r의 값을 참조하는 수식을 문의 드립니다.
프로필 이미지

하얀모래

2012-07-12 10:27:42

하얀모래 님에 의해 삭제된 답변입니다.
프로필 이미지

하얀모래

2012-07-12 11:03:56

> 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식문의 드립니다. > 안녕하세요 예스스탁입니다. 1. MACD Input : Atime(3),Period1(12),Period2(26),Period3(9); Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0); Var : Ep2(0), JISU2(0), PreJISU2(0); Var : Ep3(0), JISU3(0), PreJISU3(0); var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0); Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); Ep3 = 2/(Period3+1); var1 = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ DINDEX1 = DINDEX1 + 1; PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMACDOsc = MACDOsc[1]; if Dindex1 >= 2 Then PreJISU3 = MACDVal[1]; } if DINDEX1 <= 1 then { JISU1 = C; JISU2 = C; } else{ JISU1 = C * EP1 + PreJISU1 * (1-EP1); JISU2 = C * EP2 + PreJISU2 * (1-EP2); } MACDVal = JiSu1-Jisu2; if DINDEX1 <= 2 then { JISU3 = Jisu1-jisu2; } else{ JISU3 = MACDVal * EP3 + PreJISU3 * (1-EP3); } MACDsig = Jisu3; MACDOsc = MACDVal-MACDsig; plot1(MACDVal); plot2(MACDsig); plot3(MACDOsc); macd sig값과 오실레이터 값이 실제 3분봉의 데이터와 차이가 나는듯 합니다. 혹시 확인 되시면 부탁드립니다.
프로필 이미지

예스스탁 예스스탁 답변

2012-07-12 13:14:27

안녕하세요 예스스탁입니다. 식을 조금 수정했습니다. MACD가 지수이평이 기반이 되는 지표라 차트에 봉갯수에 영향을 받고 수식으로 타분봉의 지표를 계산하는 것이므로 약간 오차가 발생할 수 있습니다. Input : Atime(3),Period1(12),Period2(26),Period3(9); Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0); Var : Ep2(0), JISU2(0), PreJISU2(0); Var : Ep3(0), JISU3(0), PreMACDSIG(0); var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0); Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); Ep3 = 2/(Period3+1); var1 = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ DINDEX1 = DINDEX1 + 1; PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMACDOsc = MACDOsc[1]; if Dindex1 >= 2 Then PreMACDSIG = MACDSIG[1]; } if DINDEX1 <= 1 then { JISU1 = C; JISU2 = C; } else{ JISU1 = C * EP1 + PreJISU1 * (1-EP1); JISU2 = C * EP2 + PreJISU2 * (1-EP2); } MACDVal = JiSu1-Jisu2; if DINDEX1 <= 2 then { MACDSIG = Jisu1-jisu2; } else{ MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3); } MACDOsc = MACDVal-MACDsig; plot1(MACDVal); plot2(MACDsig); plot3(MACDOsc); 즐거운 하루되세요 > 하얀모래 님이 쓴 글입니다. > 제목 : Re : Re : 수식문의 드립니다. > > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식문의 드립니다. > 안녕하세요 예스스탁입니다. 1. MACD Input : Atime(3),Period1(12),Period2(26),Period3(9); Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0); Var : Ep2(0), JISU2(0), PreJISU2(0); Var : Ep3(0), JISU3(0), PreJISU3(0); var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0); Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); Ep3 = 2/(Period3+1); var1 = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ DINDEX1 = DINDEX1 + 1; PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMACDOsc = MACDOsc[1]; if Dindex1 >= 2 Then PreJISU3 = MACDVal[1]; } if DINDEX1 <= 1 then { JISU1 = C; JISU2 = C; } else{ JISU1 = C * EP1 + PreJISU1 * (1-EP1); JISU2 = C * EP2 + PreJISU2 * (1-EP2); } MACDVal = JiSu1-Jisu2; if DINDEX1 <= 2 then { JISU3 = Jisu1-jisu2; } else{ JISU3 = MACDVal * EP3 + PreJISU3 * (1-EP3); } MACDsig = Jisu3; MACDOsc = MACDVal-MACDsig; plot1(MACDVal); plot2(MACDsig); plot3(MACDOsc); macd sig값과 오실레이터 값이 실제 3분봉의 데이터와 차이가 나는듯 합니다. 혹시 확인 되시면 부탁드립니다.
프로필 이미지

하얀모래

2012-07-12 14:13:57

^^;