커뮤니티

수식 조건 관련 질문드려요

프로필 이미지
yamu
2025-01-07 14:19:44
430
글번호 186912
답변완료
수고가 많으십니다 아래 식과 관련해서 질문 몇가지 드리겠습니다 var : cnt(0), sum1(0), sumi(0); var : t(0),StartBarIndex(0); Array : ii[50](0),aa[50](0); if h>l*1.08 Then { TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); var1=Index; Var2=var1[1]; Var3=h; value1=0; Value2=0; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = h; For cnt = 1 to (var1-Var2) { if h[cnt] > Var3 Then { value1= h[cnt]; } } if Value1 >0 Then Plot12(value1,"va2",Red,Def,1); } 질문1) 현재만족봉과 직전만족봉 사이의 가장 큰 고가값을 현재만족봉에 나타내는 수식을 만들었는데요 값이 제대로 안나오는 부분들이 있는데 수정을 좀 해주셨으면 합니다 이전봉을 비교해서 크면 변수에 넣고 계속 비교하면서 고가값을 갱신하는 조건이 맞지 않나요? 어디서 잘못됐는지 헷갈리네요 질문2) 최고가값을 구하는 수식에서 for 루프를 돌려서 가장 마지막으로 해당하는 고가값을 나타내게되는데 만약에 첫번째로 만족한 고가를 나타내려면 어떻게 해야될까요? 첫번째로 만족한 고가가 나오면 루프를 빠져나가게 하고 싶습니다 질문3) 위의 경우와는 반대로 직전 만족봉을 기준으로 현재봉 쪽으로 가면서 최고가를 구하는 수식을 만들고 최고점을 추세선으로 나타내고 싶습니다. 이 경우에도 질문2와 같이 가장 최초로 나오는 고가를 (마지막 최고점이 아닌)추세선 표현 할 수 있나요?? 감사합니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-01-07 18:45:10

안녕하세요 예스스탁입니다. 1 var : cnt(0), sum1(0), sumi(0); var : t(0),StartBarIndex(0); Array : ii[50](0),aa[50](0); if h>l*1.08 Then { TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); var1 = Index; Var2 = var1[1]; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = h; #현재 조건만족봉 고가 Var3=h; #최고가 저장변수 value1=0; #최고가 날짜 저장변수 Value2=0; #최저가 날짜 저장변수 Value3=0; For cnt = 1 to (var1-Var2) { if h[cnt] > var3 and H[cnt] > value1 Then { value1 = h[cnt]; Value2 = sdate[cnt]; Value3 = sTime[cnt]; } } if Value1 > 0 Then { TL_New(Value2,Value3,value1,sDate,sTime,var3); } } 2 var : cnt(0), sum1(0), sumi(0); var : t(0),StartBarIndex(0); Array : ii[50](0),aa[50](0); if h>l*1.08 Then { TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); var1 = Index; Var2 = var1[1]; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = h; #현재 조건만족봉 고가 Var3=h; #최고가 저장변수 value1=0; #최고가 날짜 저장변수 Value2=0; #최저가 날짜 저장변수 Value3=0; For cnt = 1 to (var1-Var2) { #H[cnt]가 var3보다 크면 if h[cnt] > var3 Then { #가격,날짜,시간 저장 value1 = h[cnt]; Value2 = sdate[cnt]; Value3 = sTime[cnt]; #For문의 값받는 변수에 최종값보다 큰값을 주어 빠져나감 cnt = (var1-var2)+1; } } if Value1 > 0 Then { TL_New(Value2,Value3,value1,sDate,sTime,var3); } } 3 var : cnt(0), sum1(0), sumi(0); var : t(0),StartBarIndex(0); Array : ii[50](0),aa[50](0); if h>l*1.08 Then { TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); var1 = Index; Var2 = var1[1]; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = h; #현재 조건만족봉 고가 Var3=h; #최고가 저장변수 value1=0; #최고가 날짜 저장변수 Value2=0; #최저가 날짜 저장변수 Value3=0; #과거로부터 현재로 올때는 DownTo For cnt = (var1-Var2) DownTo 1 { #H[cnt]가 var3보다 크면 if h[cnt] > var3 Then { #가격,날짜,시간 저장 value1 = h[cnt]; Value2 = sdate[cnt]; Value3 = sTime[cnt]; #DownTo 이므로 For문의 값받는 변수에 최종값보다 작은값을 주어 빠져나감 cnt = 0; } } if Value1 > 0 Then { TL_New(Value2,Value3,value1,sDate,sTime,var3); } } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 수식 조건 관련 질문드려요 > 수고가 많으십니다 아래 식과 관련해서 질문 몇가지 드리겠습니다 var : cnt(0), sum1(0), sumi(0); var : t(0),StartBarIndex(0); Array : ii[50](0),aa[50](0); if h>l*1.08 Then { TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); var1=Index; Var2=var1[1]; Var3=h; value1=0; Value2=0; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = h; For cnt = 1 to (var1-Var2) { if h[cnt] > Var3 Then { value1= h[cnt]; } } if Value1 >0 Then Plot12(value1,"va2",Red,Def,1); } 질문1) 현재만족봉과 직전만족봉 사이의 가장 큰 고가값을 현재만족봉에 나타내는 수식을 만들었는데요 값이 제대로 안나오는 부분들이 있는데 수정을 좀 해주셨으면 합니다 이전봉을 비교해서 크면 변수에 넣고 계속 비교하면서 고가값을 갱신하는 조건이 맞지 않나요? 어디서 잘못됐는지 헷갈리네요 질문2) 최고가값을 구하는 수식에서 for 루프를 돌려서 가장 마지막으로 해당하는 고가값을 나타내게되는데 만약에 첫번째로 만족한 고가를 나타내려면 어떻게 해야될까요? 첫번째로 만족한 고가가 나오면 루프를 빠져나가게 하고 싶습니다 질문3) 위의 경우와는 반대로 직전 만족봉을 기준으로 현재봉 쪽으로 가면서 최고가를 구하는 수식을 만들고 최고점을 추세선으로 나타내고 싶습니다. 이 경우에도 질문2와 같이 가장 최초로 나오는 고가를 (마지막 최고점이 아닌)추세선 표현 할 수 있나요?? 감사합니다