커뮤니티

문의드립니다.

프로필 이미지
예스매니아
2014-04-29 16:31:19
280
글번호 74760
답변완료
아래와 같은 지표를 예스글로벌에서 작동시키는데요,,, 이상하게 시간이 흐름에 따라 지표가 움직임이 없이 수평선값으로 진행이 됩니다. 그래서 예스글로벌을 껐다가 다시 로그인하면 움직여져 있고,,,왜 그런지 모르겠네요,,, if dayindex==0 then{ Value1 = Accum((Data2(C[1])-Data2(C[0]))/Data2(C[1])); Value2 = Accum((Data2(C[2])-Data2(C[0]))/Data2(C[2])); Value3 = Accum((Data2(C[3])-Data2(C[0]))/Data2(C[3])); Value4 = Accum((Data2(C[4])-Data2(C[0]))/Data2(C[4])); Value5 = Accum((Data2(C[5])-Data2(C[0]))/Data2(C[5])); Value6 = Accum((Data2(C[6])-Data2(C[0]))/Data2(C[6])); } Value7 = Accum((Data2(C[1])-Data2(C[0]))/Data2(C[1]))-Value1; Value8 = Accum((Data2(C[2])-Data2(C[0]))/Data2(C[2]))-Value2; Value9 = Accum((Data2(C[3])-Data2(C[0]))/Data2(C[3]))-Value3; Value10 = Accum((Data2(C[4])-Data2(C[0]))/Data2(C[4]))-Value4; Value11 = Accum((Data2(C[5])-Data2(C[0]))/Data2(C[5]))-Value5; Value12 = Accum((Data2(C[6])-Data2(C[0]))/Data2(C[6]))-Value6; PlotBaseLine1(-Value7,"증감율"); PlotBaseLine2(-Value8,"증감율"); PlotBaseLine3(-Value9,"증감율"); PlotBaseLine4(-Value10,"증감율"); PlotBaseLine5(-Value11,"증감율"); PlotBaseLine6(-Value12,"증감율");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-04-30 09:54:04

안녕하세요 예스스탁입니다. 수식은 차트 첫봉부터 계산하면서 현재봉으로 오게 됩니다. Accum이 첫봉부터 값을 누적해야 하는데 특정 if 조건문(dayindex == 0)에 포함이 되어 이전봉의 값을 계속 누적할수 없게 작성을 하셨습니다. 아래와 같이 accum을 if문 없이 단독으로 계산하게 하고 필요시 값을 저장해 사용하셔야 합니다. 또한 참조데이터를 이용하실 때 if문의 조건도 데이터번호로 지정해 주셔야 합니다. data2(함수)와 같이 계산식을 작성해 가셔야 합니다. var : D1(0,data2),D2(0,data2),D3(0,data2),D4(0,data2),D5(0,data2),D6(0,data2); var : V1(0,data2),V2(0,data2),V3(0,data2),V4(0,data2),V5(0,data2),V6(0,data2); var : V7(0,data2),V8(0,data2),V9(0,data2),V10(0,data2),V11(0,data2),V12(0,data2); D1 = data2(Accum((C[1]-C[0])/C[1])); D2 = data2(Accum((C[2]-C[0])/C[2])); D3 = data2(Accum((C[3]-C[0])/C[3])); D4 = data2(Accum((C[4]-C[0])/C[4])); D5 = data2(Accum((C[5]-C[0])/C[5])); D6 = data2(Accum((C[6]-C[0])/C[6])); if data2(dayindex==0) then{ V1 = D1; V2 = D2; V3 = D3; V4 = D4; V5 = D5; V6 = D6; } V7 = D1-V1; V8 = D2-V2; V9 = D3-V3; V10 = D4-V4; V11 = D5-V5; V12 = D6-V6; PlotBaseLine1(-V7,"증감율"); PlotBaseLine2(-V8,"증감율"); PlotBaseLine3(-V9,"증감율"); PlotBaseLine4(-V10,"증감율"); PlotBaseLine5(-V11,"증감율"); PlotBaseLine6(-V12,"증감율"); 즐거운 하루되세요 > 예스매니아 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래와 같은 지표를 예스글로벌에서 작동시키는데요,,, 이상하게 시간이 흐름에 따라 지표가 움직임이 없이 수평선값으로 진행이 됩니다. 그래서 예스글로벌을 껐다가 다시 로그인하면 움직여져 있고,,,왜 그런지 모르겠네요,,, if dayindex==0 then{ Value1 = Accum((Data2(C[1])-Data2(C[0]))/Data2(C[1])); Value2 = Accum((Data2(C[2])-Data2(C[0]))/Data2(C[2])); Value3 = Accum((Data2(C[3])-Data2(C[0]))/Data2(C[3])); Value4 = Accum((Data2(C[4])-Data2(C[0]))/Data2(C[4])); Value5 = Accum((Data2(C[5])-Data2(C[0]))/Data2(C[5])); Value6 = Accum((Data2(C[6])-Data2(C[0]))/Data2(C[6])); } Value7 = Accum((Data2(C[1])-Data2(C[0]))/Data2(C[1]))-Value1; Value8 = Accum((Data2(C[2])-Data2(C[0]))/Data2(C[2]))-Value2; Value9 = Accum((Data2(C[3])-Data2(C[0]))/Data2(C[3]))-Value3; Value10 = Accum((Data2(C[4])-Data2(C[0]))/Data2(C[4]))-Value4; Value11 = Accum((Data2(C[5])-Data2(C[0]))/Data2(C[5]))-Value5; Value12 = Accum((Data2(C[6])-Data2(C[0]))/Data2(C[6]))-Value6; PlotBaseLine1(-Value7,"증감율"); PlotBaseLine2(-Value8,"증감율"); PlotBaseLine3(-Value9,"증감율"); PlotBaseLine4(-Value10,"증감율"); PlotBaseLine5(-Value11,"증감율"); PlotBaseLine6(-Value12,"증감율");