커뮤니티

for문

프로필 이미지
하늘땅
2010-01-29 14:29:53
771
글번호 27750
답변완료
for 문안에서 for문을 돌리는 설명을 자세히 설명해 주셨으면 합니다. {데이시스템,5분봉} 1.골든크로스 5개봉연속 유지확인후(for문을 이용) 2.1이 모두 양봉확인(for문을 이용) 종가청산
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-01-29 16:34:03

안녕하세요 예스스탁입니다. 문의하신 내용은 for문을 중첩으로 사용하는 경우는 아닙니다. 한번만 사용하시면 됩니다. var1 = ma(C,5); var2 = ma(c,20)' count = 0; for cnt = 0 to 4 { if var1[cnt] > var2[cnt] and C[cnt] and O[cnt] Then count = count+1; } if count == 5 Then buy(); SetStopEndofday(150000); for문을 중첩으로 사용하시는 경우는 아래와 같은 경우입니다. 예를 들어 5개의 이평중에 가장큰값부터 작은값순으로 정열시켜 값을 저장하여 사용하고자 하실 때 사용되는 수식입니다. Var : count2(0), tempmax(0), tempindex(0), count1(0),NTHindex(0); Array : VALUE[10](0), NTHVALUE[10](0); VALUE[1] = ma(c,5); VALUE[2] = ma(c,10); VALUE[3] = ma(c,20); VALUE[4] = ma(c,60); VALUE[5] = ma(c,120); For count1 = 1 to 5 { # 1번 tempmax = -99999999; For count2 = 1 to 5 { # 2번 if VALUE[count2] > tempmax then{ tempmax = VALUE[count2]; tempIndex = count2; } } NTHVALUE[count1] = tempmax; VALUE[tempIndex] = -99999999; } plot1(NTHVALUE[1]); plot2(NTHVALUE[2]); plot3(NTHVALUE[3]); plot4(NTHVALUE[4]); plot5(NTHVALUE[5]); 1번 for문이 1번 루프돌때 2번은 5번씩 루프를 돌게 되는 식입니다. 먼저 count1에 1이할당되면 count2에 1부터 5까지 차례로 할당하여 5개이평중 가장큰값을 찾고 NTHVALUE[1]에 최고값을 저장한후 해당이평값은 -99999999로 만들고 다시 두번째 값을 찾게되며 위순서를 반복하며 총 5개의 이동평균을 고가순으로 NTHVALUE[1]~NTHVALUE[5]번방에 저장하게 됩니다. 1번 for문은 배열변수의 방을 지정하기 위한 용도이고 2번 for문은 값을 비교하기 위한 루프입니다. 참고하시기 바랍니다. 즐거운 하루되세요 > 하늘땅 님이 쓴 글입니다. > 제목 : for문 > for 문안에서 for문을 돌리는 설명을 자세히 설명해 주셨으면 합니다. {데이시스템,5분봉} 1.골든크로스 5개봉연속 유지확인후(for문을 이용) 2.1이 모두 양봉확인(for문을 이용) 종가청산