커뮤니티

이해가 안가서요

프로필 이미지
개미왕초
2015-08-28 09:29:44
117
글번호 89879
답변완료
input : setTime(30); var : Hval(0), Lval(0), preHval(0), preLval(0); var1 = TimeToMinutes(stime); var2 = mod(var1,setTime); if var2 == 0 then { Hval = H; Lval = L; preHval = Hval[1]; preLval = Lval[1]; } if var2 <> 0 then { if H > Hval Then Hval = H; if L < Lval Then Lval = L; } 특히나 var2에 mod가 무슨뜻이고 어떤때 쓰는지 예제좀 부탁드리고 위에 var2==0 은 또 무슨뜻인지 이해가 안가서요? 줄당 오른쪽옆에 주석좀 꼭좀 달아주시면 감사드립니다~~환절기 날씨 감기조심하시고 주말 잘보내십시요 꾸벅
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-08-28 12:26:10

안녕하세요 예스스탁입니다. TimeToMinutes(시간)은 시간을 0시 이후에 경과된 분수로 리턴해 주는 함수이고 mod(num1,num2)는 num1을 num2로 나누어서 나머지값을 리턴해 주는 함수입니다. 즉 분수를 30으로 나누어 나머지가 몇인지 보고 전체시간을 30분 단위로 구분하는 것입니다. 예를 들어 9시는 TimeToMinutes이 540분 --> 540/30 --> 나머지가 0 9시10분는 550분 --> 550/30 --> 나머지가 10 9시20분는 560분 --> 560/30 --> 나머지가 20 9시30분는 570분 --> 570/30 --> 나머지가 0 9시40분는 580분 --> 580/30 --> 나머지가 10 9시50분는 590분 --> 590/30 --> 나머지가 20 10시는 600분 --> 600/30 --> 나머지가 0 위와 같이 나머지가 변하게 됩니다. 그러므로 나머지가 0인(나누어서 정수로 딱 떨어지는 시간) 봉이 새로운 30분봉이 시작하는 시간입니다. 수식에서 if var2 == 0 then 은 새로운 30분이 시작하면 이라는 의미입니다. var1 = TimeToMinutes(stime);#시간을 0시 이후에 경과된 분수로 변경 var2 = mod(var1,setTime); #var1값을 30으로 나누어 나머지값 계산 if var2 == 0 then {#나머지가 0이면(30분 시작봉) Hval = H; #Hval에 초기값으로 고가 저장 Lval = L; #Hval에 초기값으로 저가 저장 preHval = Hval[1];#직전 30분간 최고가 preLval = Lval[1];#직전 30분간 최저가 } if var2 <> 0 then {#나머지가 0이 아니면 if H > Hval Then #Hval보다 큰 고가가 발생하면 Hval = H; #Hval에 새로운 고가를 저장 if L < Lval Then #Lval보다 작은 저가가 발생하면 Lval = L;#Lval에 새로운 저가를 저장 } 즐거운 하루되세요 > 개미왕초 님이 쓴 글입니다. > 제목 : 이해가 안가서요 > input : setTime(30); var : Hval(0), Lval(0), preHval(0), preLval(0); var1 = TimeToMinutes(stime); var2 = mod(var1,setTime); if var2 == 0 then { Hval = H; Lval = L; preHval = Hval[1]; preLval = Lval[1]; } if var2 <> 0 then { if H > Hval Then Hval = H; if L < Lval Then Lval = L; } 특히나 var2에 mod가 무슨뜻이고 어떤때 쓰는지 예제좀 부탁드리고 위에 var2==0 은 또 무슨뜻인지 이해가 안가서요? 줄당 오른쪽옆에 주석좀 꼭좀 달아주시면 감사드립니다~~환절기 날씨 감기조심하시고 주말 잘보내십시요 꾸벅