커뮤니티
문의 (YG)
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. 예스차이나 한글버전은 어디서 다운로드 가능한지요?
오늘도 감사합니다.