커뮤니티

부탁 드립니다,

프로필 이미지
yes
2017-11-18 19:38:40
163
글번호 114292
답변완료
도움주심에 감사 드립니다. 55436번에서 답변해 주신것을 실행결과 x(100)으로 지정한봉수 이후에만 계산하길 원합니다. 그런데 점을찍는 위치가 그 이전에도 결과가 나타나고 있어 오직 x(100)으로 지정한 위치 이후에만 계산하고 점도 x(100)으로 지정한 위치 이후에만 찍히길 원합니다. 미리 감사 드립니다. input : Price(1.3), Per(10),N(3),X(100); var : cnt(0),cnt1(0),cnt2(0),idx(0); Array : VV[50](0); Array : OTL[50](0),HTL[50](0),LTL[50](0),CTL[50](0); Array : OTx[50](0),HTx[50](0),LTx[50](0),CTx[50](0),TX[50](0); idx = idx+1; for cnt = 1 to 49{ VV[cnt] = 0; } if index > X then{ //차트전체 X번째 봉부터 계산 #N개값 출력 for cnt1 = 1 to N{ #차트 과거봉 전체 스캔 for cnt2 = 1 to idx{ #Price대비 +- Per%안에 종가가 형성된 if C[cnt2] <= Price*(1+Per/100) and C[cnt2] >= Price*(1-Per/100) and V[cnt2] > VV[cnt1] and (cnt1 == 1 or (cnt1 >= 2 and V[cnt2] < VV[cnt1-1])) Then{ VV[cnt1] = V[cnt2]; #거래량순 상위 cnt1번째 값추세선 출력 #종가선 TL_Delete(CTL[cnt1]); CTL[cnt1] = TL_New(Sdate[cnt2],stime[cnt2],C[cnt2],sdate,stime,C[cnt2]); TL_SetExtLeft(CTL[cnt1],true); TL_SetExtRight(CTL[cnt1],true); #거래량순 상위 cnt1번째 값텍스트 출력 #종가선값 Text_Delete(CTx[cnt1]); // CTx[cnt1] = Text_New(sdate,stime,C[cnt2],"상위"+NumToStr(cnt1,0)+"번째봉 종가:"+NumToStr(C[cnt2],0)); Text_SetStyle(CTx[cnt1],0,0); #점출력 Text_Delete(Tx[cnt1]); Tx[cnt1] = Text_New(sdate[cnt2],stime[cnt2],C[cnt2],"●"+NumToStr(cnt1,0)); Text_SetStyle(Tx[cnt1],2,2); } } } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-11-20 11:14:22

안녕하세요 예스스탁입니다. idx를 index > X이후부터 카운트 하게 하시면 됩니다. input : Price(1.3), Per(10),N(3),X(100); var : cnt(0),cnt1(0),cnt2(0),idx(0); Array : VV[50](0); Array : OTL[50](0),HTL[50](0),LTL[50](0),CTL[50](0); Array : OTx[50](0),HTx[50](0),LTx[50](0),CTx[50](0),TX[50](0); for cnt = 1 to 49{ VV[cnt] = 0; } if index > X then{ //차트전체 X번째 봉부터 계산 idx = idx+1; #N개값 출력 for cnt1 = 1 to N{ #차트 과거봉 전체 스캔 for cnt2 = 1 to idx{ #Price대비 +- Per%안에 종가가 형성된 if C[cnt2] <= Price*(1+Per/100) and C[cnt2] >= Price*(1-Per/100) and V[cnt2] > VV[cnt1] and (cnt1 == 1 or (cnt1 >= 2 and V[cnt2] < VV[cnt1-1])) Then{ VV[cnt1] = V[cnt2]; #거래량순 상위 cnt1번째 값추세선 출력 #종가선 TL_Delete(CTL[cnt1]); CTL[cnt1] = TL_New(Sdate[cnt2],stime[cnt2],C[cnt2],sdate,stime,C[cnt2]); TL_SetExtLeft(CTL[cnt1],true); TL_SetExtRight(CTL[cnt1],true); #거래량순 상위 cnt1번째 값텍스트 출력 #종가선값 Text_Delete(CTx[cnt1]); // CTx[cnt1] = Text_New(sdate,stime,C[cnt2],"상위"+NumToStr(cnt1,0)+"번째봉 종가:"+NumToStr(C[cnt2],0)); Text_SetStyle(CTx[cnt1],0,0); #점출력 Text_Delete(Tx[cnt1]); Tx[cnt1] = Text_New(sdate[cnt2],stime[cnt2],C[cnt2],"●"+NumToStr(cnt1,0)); Text_SetStyle(Tx[cnt1],2,2); } } } } 즐거운 하루되세요 > yes 님이 쓴 글입니다. > 제목 : 부탁 드립니다, > 도움주심에 감사 드립니다. 55436번에서 답변해 주신것을 실행결과 x(100)으로 지정한봉수 이후에만 계산하길 원합니다. 그런데 점을찍는 위치가 그 이전에도 결과가 나타나고 있어 오직 x(100)으로 지정한 위치 이후에만 계산하고 점도 x(100)으로 지정한 위치 이후에만 찍히길 원합니다. 미리 감사 드립니다. input : Price(1.3), Per(10),N(3),X(100); var : cnt(0),cnt1(0),cnt2(0),idx(0); Array : VV[50](0); Array : OTL[50](0),HTL[50](0),LTL[50](0),CTL[50](0); Array : OTx[50](0),HTx[50](0),LTx[50](0),CTx[50](0),TX[50](0); idx = idx+1; for cnt = 1 to 49{ VV[cnt] = 0; } if index > X then{ //차트전체 X번째 봉부터 계산 #N개값 출력 for cnt1 = 1 to N{ #차트 과거봉 전체 스캔 for cnt2 = 1 to idx{ #Price대비 +- Per%안에 종가가 형성된 if C[cnt2] <= Price*(1+Per/100) and C[cnt2] >= Price*(1-Per/100) and V[cnt2] > VV[cnt1] and (cnt1 == 1 or (cnt1 >= 2 and V[cnt2] < VV[cnt1-1])) Then{ VV[cnt1] = V[cnt2]; #거래량순 상위 cnt1번째 값추세선 출력 #종가선 TL_Delete(CTL[cnt1]); CTL[cnt1] = TL_New(Sdate[cnt2],stime[cnt2],C[cnt2],sdate,stime,C[cnt2]); TL_SetExtLeft(CTL[cnt1],true); TL_SetExtRight(CTL[cnt1],true); #거래량순 상위 cnt1번째 값텍스트 출력 #종가선값 Text_Delete(CTx[cnt1]); // CTx[cnt1] = Text_New(sdate,stime,C[cnt2],"상위"+NumToStr(cnt1,0)+"번째봉 종가:"+NumToStr(C[cnt2],0)); Text_SetStyle(CTx[cnt1],0,0); #점출력 Text_Delete(Tx[cnt1]); Tx[cnt1] = Text_New(sdate[cnt2],stime[cnt2],C[cnt2],"●"+NumToStr(cnt1,0)); Text_SetStyle(Tx[cnt1],2,2); } } } }