커뮤니티

문의 (YG)

프로필 이미지
TRF
2014-04-09 10:55:30
499
글번호 74267
답변완료
1. 35839번 질문 2번째에 대한 전체수식입니다. 일봉차트와 이평값을 비교해보면 제대로 동작이 안되는듯 합니다. 확인부탁드립니다. 또한 자정에는 적용안되게 수정부탁드립니다. VARS: MAXDAYLINE.SHORT(33); VARS: M5DP(5), M13DP(13), M20DP(20), M33DP(33);//, M60DP(60); VARS: M5D(0, DATA2), M13D(0, DATA2), M20D(0, DATA2), M33D(0, DATA2);//, M60D(0, DATA2); VARS: M5D.SUM(0, DATA2), M13D.SUM(0, DATA2), M20D.SUM(0, DATA2), M33D.SUM(0, DATA2), /*M60D.SUM(0, DATA2),*/ CNT(0); ARRAY: CC[100](0, DATA2); //---------------------------------------------------------------------------------------------------------------------------------------------------------- // INIT if ( DATA2(stime == 070000) OR ((stime > 070000 AND stime[1] < 070000)) ) then { for CNT = 1 to MAXDAYLINE.SHORT - 1 { CC[CNT] = CC[CNT - 1][1]; } } CC[0] = Z2C; M5D.SUM = 0; M13D.SUM = 0; M20D.SUM = 0; M33D.SUM = 0;// M60D.SUM = 0; for CNT = 1 to MAXDAYLINE.SHORT - 1 { if ( (CNT < M5DP) AND (CC[M5DP - 1] > 0) ) Then M5D.SUM = M5D.SUM + CC[CNT]; if ( (CNT < M13DP) AND (CC[M13DP - 1] > 0) ) Then M13D.SUM = M13D.SUM + CC[CNT]; if ( (CNT < M20DP) AND (CC[M20DP - 1] > 0) ) Then M20D.SUM = M20D.SUM + CC[CNT]; if ( (CNT < M33DP) AND (CC[M33DP - 1] > 0) ) Then M33D.SUM = M33D.SUM + CC[CNT]; //if ( (CNT < M60DP) AND (CC[M60DP - 1] > 0) ) Then M60D.SUM = M60D.SUM + CC[CNT]; } M5D = ((M5D.SUM + DATA2(OPEND(0))) / M5DP); M13D = ((M13D.SUM + DATA2(OPEND(0))) / M13DP); M20D = ((M20D.SUM + DATA2(OPEND(0))) / M20DP); M33D = ((M33D.SUM + DATA2(OPEND(0))) / M33DP); //M60D = (M60D.SUM / M60DP); 2. 장시작시간부터 끝나는 시간까지의 금일고점 표기는 정상적으로 정상작동하는 듯 합니다. 하루전일의 고점표기(자정에는 적용안되게)도 추가로 부탁드리겠습니다. VARS: H2(0, DATA2), H3(0, DATA2); if ( DATA2(stime == 070000) OR ((stime > 070000 AND stime[1] < 070000)) ) then { H2 = DATA2(H); } if ( (DATA2(H) > H2) ) Then { H2 = DATA2(H); } Plot51(H2, "DAYHIGH(0)", RGB(255,0,180), DEF, 0); Plot52(H3, "DAYHIGH(1)", RGB(150,0,30), DEF, 0); 3. 예스차이나 한글버전은 어디서 다운로드 가능한지요? 오늘도 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-04-09 14:26:31

안녕하세요 예스스탁입니다. 1. 해당 식상에서 마지막 평균값을 구하실때 data2(OpenD(0))이 잘못되어 있습니다. 0시 기준의 시가이므로 7시 시가를 따로 저장해 사용하셔야 합니다. VARS: MAXDAYLINE.SHORT(33); VARS: M5DP(5), M13DP(13), M20DP(20), M33DP(33);//, M60DP(60); VARS: M5D(0, DATA2), M13D(0, DATA2), M20D(0, DATA2), M33D(0, DATA2);//, M60D(0, DATA2); VARS: M5D.SUM(0, DATA2), M13D.SUM(0, DATA2), M20D.SUM(0, DATA2), M33D.SUM(0, DATA2), /*M60D.SUM(0, DATA2),*/ CNT(0); var : DO(0); ARRAY: CC[100](0, DATA2); //---------------------------------------------------------------------------------------------------------------------------------------------------------- // INIT if ( DATA2(stime == 070000) OR ((stime > 070000 AND stime[1] < 070000)) ) then { DO = data2(O); for CNT = 1 to MAXDAYLINE.SHORT - 1 { CC[CNT] = CC[CNT - 1][1]; } } CC[0] = Z2C; M5D.SUM = 0; M13D.SUM = 0; M20D.SUM = 0; M33D.SUM = 0;// M60D.SUM = 0; for CNT = 1 to MAXDAYLINE.SHORT - 1 { if ( (CNT < M5DP) AND (CC[M5DP - 1] > 0) ) Then M5D.SUM = M5D.SUM + CC[CNT]; if ( (CNT < M13DP) AND (CC[M13DP - 1] > 0) ) Then M13D.SUM = M13D.SUM + CC[CNT]; if ( (CNT < M20DP) AND (CC[M20DP - 1] > 0) ) Then M20D.SUM = M20D.SUM + CC[CNT]; if ( (CNT < M33DP) AND (CC[M33DP - 1] > 0) ) Then M33D.SUM = M33D.SUM + CC[CNT]; //if ( (CNT < M60DP) AND (CC[M60DP - 1] > 0) ) Then M60D.SUM = M60D.SUM + CC[CNT]; } M5D = ((M5D.SUM + DO) / M5DP); M13D = ((M13D.SUM + DO)) / M13DP); M20D = ((M20D.SUM + DO)) / M20DP); M33D = ((M33D.SUM + DO)) / M33DP); //M60D = (M60D.SUM / M60DP); 2. VARS: H2(0, DATA2), H3(0, DATA2); if ( DATA2(stime == 070000) OR ((stime > 070000 AND stime[1] < 070000)) ) then { H2 = DATA2(H); H3 = H2[1]; } if ( (DATA2(H) > H2) ) Then { H2 = DATA2(H); } Plot51(H2, "DAYHIGH(0)", RGB(255,0,180), DEF, 0); Plot52(H3, "DAYHIGH(1)", RGB(150,0,30), DEF, 0); 즐거운 하루되세요 > TRF 님이 쓴 글입니다. > 제목 : 문의 (YG) > 1. 35839번 질문 2번째에 대한 전체수식입니다. 일봉차트와 이평값을 비교해보면 제대로 동작이 안되는듯 합니다. 확인부탁드립니다. 또한 자정에는 적용안되게 수정부탁드립니다. VARS: MAXDAYLINE.SHORT(33); VARS: M5DP(5), M13DP(13), M20DP(20), M33DP(33);//, M60DP(60); VARS: M5D(0, DATA2), M13D(0, DATA2), M20D(0, DATA2), M33D(0, DATA2);//, M60D(0, DATA2); VARS: M5D.SUM(0, DATA2), M13D.SUM(0, DATA2), M20D.SUM(0, DATA2), M33D.SUM(0, DATA2), /*M60D.SUM(0, DATA2),*/ CNT(0); ARRAY: CC[100](0, DATA2); //---------------------------------------------------------------------------------------------------------------------------------------------------------- // INIT if ( DATA2(stime == 070000) OR ((stime > 070000 AND stime[1] < 070000)) ) then { for CNT = 1 to MAXDAYLINE.SHORT - 1 { CC[CNT] = CC[CNT - 1][1]; } } CC[0] = Z2C; M5D.SUM = 0; M13D.SUM = 0; M20D.SUM = 0; M33D.SUM = 0;// M60D.SUM = 0; for CNT = 1 to MAXDAYLINE.SHORT - 1 { if ( (CNT < M5DP) AND (CC[M5DP - 1] > 0) ) Then M5D.SUM = M5D.SUM + CC[CNT]; if ( (CNT < M13DP) AND (CC[M13DP - 1] > 0) ) Then M13D.SUM = M13D.SUM + CC[CNT]; if ( (CNT < M20DP) AND (CC[M20DP - 1] > 0) ) Then M20D.SUM = M20D.SUM + CC[CNT]; if ( (CNT < M33DP) AND (CC[M33DP - 1] > 0) ) Then M33D.SUM = M33D.SUM + CC[CNT]; //if ( (CNT < M60DP) AND (CC[M60DP - 1] > 0) ) Then M60D.SUM = M60D.SUM + CC[CNT]; } M5D = ((M5D.SUM + DATA2(OPEND(0))) / M5DP); M13D = ((M13D.SUM + DATA2(OPEND(0))) / M13DP); M20D = ((M20D.SUM + DATA2(OPEND(0))) / M20DP); M33D = ((M33D.SUM + DATA2(OPEND(0))) / M33DP); //M60D = (M60D.SUM / M60DP); 2. 장시작시간부터 끝나는 시간까지의 금일고점 표기는 정상적으로 정상작동하는 듯 합니다. 하루전일의 고점표기(자정에는 적용안되게)도 추가로 부탁드리겠습니다. VARS: H2(0, DATA2), H3(0, DATA2); if ( DATA2(stime == 070000) OR ((stime > 070000 AND stime[1] < 070000)) ) then { H2 = DATA2(H); } if ( (DATA2(H) > H2) ) Then { H2 = DATA2(H); } Plot51(H2, "DAYHIGH(0)", RGB(255,0,180), DEF, 0); Plot52(H3, "DAYHIGH(1)", RGB(150,0,30), DEF, 0); 3. 예스차이나 한글버전은 어디서 다운로드 가능한지요? 오늘도 감사합니다.