커뮤니티

답변 수정좀 해주세요

프로필 이미지
팔보채
2012-09-27 01:03:55
279
글번호 55112
답변완료

첨부 이미지

아래와 같이 질문을 해서 답변을 주셨는데 적용을 해보니 첨부그림처럼 안맞는 구간이 나옴니다 수정좀 해주세요 안녕하세요 예스스탁입니다. 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); if date != date[1] then { PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMacdVal = macdSig[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; //macd macdSig = macdVal * Ep3 + PreMacdVal * (1-Ep3); //macd signal var1 = macdVal - macdSig; var2 = iff(var1>0,100,-100); plot1(var2); plot2(0, "기준선", BLACK); 즐거운 하루되세요 > 팔보채 님이 쓴 글입니다. > 제목 : 지표식 부탁드립니다. > 오실레이터 A1 = MACD(short,long)-eavg(MACD(short,long),signal); if(A1>0, 100,-100) 아래 수식은 일봉 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); if date != date[1] then { PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMacdVal = macdSig[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; //macd macdSig = macdVal * Ep3 + PreMacdVal * (1-Ep3); //macd signal var1 = macdVal - macdSig; plot1(var1); plot2(0, "기준선", BLACK);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-09-27 16:49:07

안녕하세요 예스스탁입니다. 해당식 수정해야 할 부분이 없습니다. MACD(short,long)-eavg(MACD(short,long),signal); if(A1>0, 100,-100) 올리신 조건식 내용이 MACD오실레이터값이 0보다 크면 100 아니면 -100 이므로 0에서 위아래로 움직이면 해당 부분과 같이 발생합니다. 즐거운 하루되세요 > 팔보채 님이 쓴 글입니다. > 제목 : 답변 수정좀 해주세요 > 아래와 같이 질문을 해서 답변을 주셨는데 적용을 해보니 첨부그림처럼 안맞는 구간이 나옴니다 수정좀 해주세요 안녕하세요 예스스탁입니다. 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); if date != date[1] then { PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMacdVal = macdSig[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; //macd macdSig = macdVal * Ep3 + PreMacdVal * (1-Ep3); //macd signal var1 = macdVal - macdSig; var2 = iff(var1>0,100,-100); plot1(var2); plot2(0, "기준선", BLACK); 즐거운 하루되세요 > 팔보채 님이 쓴 글입니다. > 제목 : 지표식 부탁드립니다. > 오실레이터 A1 = MACD(short,long)-eavg(MACD(short,long),signal); if(A1>0, 100,-100) 아래 수식은 일봉 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); if date != date[1] then { PreJISU1 = JISU1[1]; PreJISU2 = JISU2[1]; PreMacdVal = macdSig[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; //macd macdSig = macdVal * Ep3 + PreMacdVal * (1-Ep3); //macd signal var1 = macdVal - macdSig; plot1(var1); plot2(0, "기준선", BLACK);