커뮤니티

재질문

프로필 이미지
으쌰
2013-03-11 13:12:09
201
글번호 60531
답변완료
작성해주신 시스템 식을 적용해보니 결과값이 의도와는 다르게 나옵니다. 직전값과 비교를 원하는 macd오실레이터 값은 [일]봉이 아닌 [주]봉값들의 비교 입니다. 실제론 주봉상 오실레이터 값이 현재봉값이 더 커도 신호가 나옵니다. 안녕하세요 예스스탁입니다. Input : Period1(12), Period2(26), Period3(9); Var : Ep1(0), EP2(0), EP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0); Var : macdVal(0), preMacdVal(0), macdSig(0),macdOsc(0),PreMacdOsc(0); #주봉 MACD if (dayofweek(date) <= DayOfWeek(date[1]) and sdate > sdate[1]) then { PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMacdVal = macdVal[1]; } Ep1 = 2/(Period1+1); EP2 = 2/(Period2+1); EP3 = 2/(Period3+1); JISU1 = C * Ep1 + PreJISU1 * (1-Ep1); JISU2 = C * Ep2 + PreJISU2 * (1-Ep2); macdVal = JISU1 - JISU2; if crossup(ma(c,5),ma(c,20)) and macdVal > premacdVal Then buy(); 즐거운 하루되세요 > 으&#49968; 님이 쓴 글입니다. > 제목 : 수식문의 > [일]봉 주기 매매식입니다 5일 이평선이 20일 이평선을 골든크로스 하면 매수하는 시스템 식에 동일종목 타주기 지표값의 다음 조건을 삽입하고 싶습니다. 단 매수하는 시점에 [주]봉 주기상 macd 오실레이터 값이 직전값보다 작아야 한다. 시스템식 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-03-11 15:43:58

안녕하세요 예스스탁입니다. 죄송합니다. 오실레이터가 아닌 MACD값으로 계산했습니다. 오실레이터로 수정했습니다. 지표식 같이 올려드립니다. 일봉차트에 조회갯수를 최대인 5000으로 지정하시고 적용하시기 바랍니다. 1. 시스템 Input : Period1(12), Period2(26), Period3(9); Var : Ep1(0), EP2(0), EP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0); Var : macdVal(0), preMacdVal(0), macdSig(0),PreMacdsig(0),macdOsc(0),PreMacdOsc(0); if (dayofweek(date) <= DayOfWeek(date[1]) and sdate > sdate[1]) then { PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMacdVal = macdVal[1]; PreMacdsig = macdSig[1]; PreMacdOsc = macdOsc[1]; } Ep1 = 2/(Period1+1); EP2 = 2/(Period2+1); EP3 = 2/(Period3+1); JISU1 = C * Ep1 + PreJISU1 * (1-Ep1); JISU2 = C * Ep2 + PreJISU2 * (1-Ep2); macdVal = JISU1 - JISU2; macdSig = macdVal * Ep3 + PreMacdSig * (1-Ep3); macdOsc = macdval-macdsig; if crossup(ma(c,5),ma(c,20)) and macdOsc > premacdOsc Then buy(); 2. 지표식 Input : Period1(12), Period2(26), Period3(9); Var : Ep1(0), EP2(0), EP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0); Var : macdVal(0), preMacdVal(0), macdSig(0),PreMacdsig(0),macdOsc(0),PreMacdOsc(0); if (dayofweek(date) <= DayOfWeek(date[1]) and sdate > sdate[1]) then { PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMacdVal = macdVal[1]; PreMacdsig = macdSig[1]; PreMacdOsc = macdOsc[1]; } Ep1 = 2/(Period1+1); EP2 = 2/(Period2+1); EP3 = 2/(Period3+1); JISU1 = C * Ep1 + PreJISU1 * (1-Ep1); JISU2 = C * Ep2 + PreJISU2 * (1-Ep2); macdVal = JISU1 - JISU2; macdSig = macdVal * Ep3 + PreMacdSig * (1-Ep3); macdOsc = macdval-macdsig; plot1(MACdOSC); PlotBaseLine1(0); 즐거운 하루되세요 > 으&#49968; 님이 쓴 글입니다. > 제목 : 재질문 > 작성해주신 시스템 식을 적용해보니 결과값이 의도와는 다르게 나옵니다. 직전값과 비교를 원하는 macd오실레이터 값은 [일]봉이 아닌 [주]봉값들의 비교 입니다. 실제론 주봉상 오실레이터 값이 현재봉값이 더 커도 신호가 나옵니다. 안녕하세요 예스스탁입니다. Input : Period1(12), Period2(26), Period3(9); Var : Ep1(0), EP2(0), EP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0); Var : macdVal(0), preMacdVal(0), macdSig(0),macdOsc(0),PreMacdOsc(0); #주봉 MACD if (dayofweek(date) <= DayOfWeek(date[1]) and sdate > sdate[1]) then { PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMacdVal = macdVal[1]; } Ep1 = 2/(Period1+1); EP2 = 2/(Period2+1); EP3 = 2/(Period3+1); JISU1 = C * Ep1 + PreJISU1 * (1-Ep1); JISU2 = C * Ep2 + PreJISU2 * (1-Ep2); macdVal = JISU1 - JISU2; if crossup(ma(c,5),ma(c,20)) and macdVal > premacdVal Then buy(); 즐거운 하루되세요 > 으&#49968; 님이 쓴 글입니다. > 제목 : 수식문의 > [일]봉 주기 매매식입니다 5일 이평선이 20일 이평선을 골든크로스 하면 매수하는 시스템 식에 동일종목 타주기 지표값의 다음 조건을 삽입하고 싶습니다. 단 매수하는 시점에 [주]봉 주기상 macd 오실레이터 값이 직전값보다 작아야 한다. 시스템식 부탁드립니다.