커뮤니티

질문드리겠습니다

프로필 이미지
yamu
2025-04-07 11:07:29
301
글번호 189883
답변완료
안녕하세요 분봉상에서 7일간 합산 거래대금과 평균거래대금 (2가지로 각각 나눠서 부탁드립니다) 을 분봉에서 다음날 첫봉 완료시에 (첫봉에만) 표시하는 수식을 부탁드립니다 예를 들어서 오늘 첫봉 완료시에, 이전 7일간의 대금 합 (대금 평균) 을 표시하려고 합니다. 질문2) 배열 관련 질문인데요 var 에서 배열을 45개까지 선언을 했는데 아래에서 처럼 tttl[46] (45개 초과) 를 불러오면 어떤 현상이 나타나게 되는거에요?? 차트 전체의 모든 추세선이 나타나는거 같은데요 배열에 저장이 안돼있을텐데 모두 다 나오는 이유가 궁금하네요.,, var: tttl[45](0),sd[45](0),st[45](0); For cnt = 40 DownTo 1 { tttl[cnt] = tttl[cnt-1]; sd[cnt] =sd[cnt-1]; st[cnt] =st[cnt-1]; } sd[0] = sDate; st[0] = sTime; TL_SetExtRight(tttl[46],False); tttl[0]=tl_new(sd[1],st[1],aa[0],sd[0],st[0],aa[0]); TL_SetSize(tttl[0],0); TL_SetDrawMode(tttl[0],0); TL_Delete(tttl[46]); TL_SetExtRight(tttl[0],true); 감사합니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-04-07 11:37:13

안녕하세요 예스스탁입니다. 1-1 input : N(7); var : cnt(0),sum(0); Array : dm[50](0); if Bdate != Bdate[1] Then { For cnt = 49 DownTo 1 { dm[cnt] = dm[cnt-1]; } dm[0] = 0; if dm[n] > 0 Then { sum = 0; For cnt = 1 to n { sum = sum + dm[cnt]; } Plot1(sum); } } dm[0] = dm[0]+m; 1-2 input : N(7); var : cnt(0),sum(0),mav(0); Array : dm[50](0); if Bdate != Bdate[1] Then { For cnt = 49 DownTo 1 { dm[cnt] = dm[cnt-1]; } dm[0] = 0; if dm[n] > 0 Then { sum = 0; For cnt = 1 to n { sum = sum + dm[cnt]; } mav = sum/N; Plot1(sum); } } dm[0] = dm[0]+m; 3 var: tttl[45](0); 위와 같이 선언되면 0번방~44번방까지 총 45개방입니다. 하지만 보통 선언한 갯수까지 사용하는 경우가 많아 1개 추가해 0번방~45번까지 총 46개를 만들어 제공됩니다. 그러므로 해당식에서는 tttl[0]~tttl[45]까지만 방이 존재하고 tttl[46]은 존재하지 않습니다. 그러므로 TL_Delete(tttl[46])이 동작하지 않습니다. 또한 작성하신 수식에서는 아래와 같이 tttl[40]까지만 값을 저장합니다. 41부터는 저장된 값이 없습니다. For cnt = 40 DownTo 1 { tttl[cnt] = tttl[cnt-1]; 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문드리겠습니다 > 안녕하세요 분봉상에서 7일간 합산 거래대금과 평균거래대금 (2가지로 각각 나눠서 부탁드립니다) 을 분봉에서 다음날 첫봉 완료시에 (첫봉에만) 표시하는 수식을 부탁드립니다 예를 들어서 오늘 첫봉 완료시에, 이전 7일간의 대금 합 (대금 평균) 을 표시하려고 합니다. 질문2) 배열 관련 질문인데요 var 에서 배열을 45개까지 선언을 했는데 아래에서 처럼 tttl[46] (45개 초과) 를 불러오면 어떤 현상이 나타나게 되는거에요?? 차트 전체의 모든 추세선이 나타나는거 같은데요 배열에 저장이 안돼있을텐데 모두 다 나오는 이유가 궁금하네요.,, var: tttl[45](0),sd[45](0),st[45](0); For cnt = 40 DownTo 1 { tttl[cnt] = tttl[cnt-1]; sd[cnt] =sd[cnt-1]; st[cnt] =st[cnt-1]; } sd[0] = sDate; st[0] = sTime; TL_SetExtRight(tttl[46],False); tttl[0]=tl_new(sd[1],st[1],aa[0],sd[0],st[0],aa[0]); TL_SetSize(tttl[0],0); TL_SetDrawMode(tttl[0],0); TL_Delete(tttl[46]); TL_SetExtRight(tttl[0],true); 감사합니다