커뮤니티

30분봉과 60분봉을 동시 운용하는 방법 문의

프로필 이미지
회원
2011-08-05 14:00:25
733
글번호 41676
답변완료
30분봉으로 고가,저가를 검색진행중에 60분봉의 고가,저가를 검색하는 방법을 알고 싶습니다. dayindex() == 1 ,,, TimeToMinutes(stime)%30 == 0 TimeToMinutes(stime)%60 == 0 이런 함수 조합으로 각 시간대별로 진행중에 고가,저가를 30분봉, 60분봉 기준으로 검색하고자 합니다.
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2011-08-05 14:38:58

안녕하세요 예스스탁입니다. 수식으로 풀어서 해당시간동안의 고가와 저가를 계산하여 사용하시면 됩니다. #30분봉의 고가와 저가 var : H30(0),L30(0); var1 = TimeToMinutes(stime)%30; if dayindex == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ H30 = H; L30 = L; } if H > H30 Then H30 = H; if L < L30 Then L30 = L; #60분봉의 고가와 저가 var : H60(0),L60(0); var2 = TimeToMinutes(stime)%60; if dayindex == 0 or (var2 <= var2[1] and stime > stime[1]) Then{ H60 = H; L60 = L; } if H > H60 Then H60 = H; if L < L60 Then L60 = L; 즐거운 하루되세요 즐거운 하루되세요 > 사하라 님이 쓴 글입니다. > 제목 : 30분봉과 60분봉을 동시 운용하는 방법 문의 > 30분봉으로 고가,저가를 검색진행중에 60분봉의 고가,저가를 검색하는 방법을 알고 싶습니다. dayindex() == 1 ,,, TimeToMinutes(stime)%30 == 0 TimeToMinutes(stime)%60 == 0 이런 함수 조합으로 각 시간대별로 진행중에 고가,저가를 30분봉, 60분봉 기준으로 검색하고자 합니다.
프로필 이미지

회원

2011-08-05 16:03:40

array : H30[30](0), L30[30](0), O30[30](0), C30[30](0), H60[30](0), L60[30](0), O60[30](0), C60[30](0); #30분봉, 60분봉의 고가와 저가 var1 = TimeToMinutes(stime)%30; var2 = TimeToMinutes(stime)%60; if dayindex == 0 Then { cnt30 = 0; cnt60 = 0; } if dayindex == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ H30[cnt30] = H; L30[cnt30] = L; MessageLog("30 CNT : %.2f", cnt30); MessageLog("30 H: %.2f", H30[cnt30]); cnt30 = cnt30 + 1; } if dayindex == 0 or (var2 <= var2[1] and stime > stime[1]) Then{ H60[cnt60] = H; L60[cnt60] = L; MessageLog("60 CNT : %.2f", cnt60); MessageLog("60 H : %.2f", H60[cnt60]); cnt60 = cnt60 + 1; } 이렇게 변형하여 출력해보았습니다만 60분봉의 데이터도 30분단위로 출력됩니다. 60분봉의 값은 정각에만 나오게 할 수 있는 방법을 알려주시면 감사하겠습니다.
프로필 이미지

예스스탁 예스스탁 답변

2011-08-05 16:17:21

> 사하라 님이 쓴 글입니다. > 제목 : 60분봉에 대해 추가 질문 > array : H30[30](0), L30[30](0), O30[30](0), C30[30](0), H60[30](0), L60[30](0), O60[30](0), C60[30](0); #30분봉, 60분봉의 고가와 저가 var1 = TimeToMinutes(stime)%30; var2 = TimeToMinutes(stime)%60; if dayindex == 0 Then { cnt30 = 0; cnt60 = 0; } if dayindex == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ H30[cnt30] = H; L30[cnt30] = L; MessageLog("30 CNT : %.2f", cnt30); MessageLog("30 H: %.2f", H30[cnt30]); cnt30 = cnt30 + 1; } if dayindex == 0 or (var2 <= var2[1] and stime > stime[1]) Then{ H60[cnt60] = H; L60[cnt60] = L; MessageLog("60 CNT : %.2f", cnt60); MessageLog("60 H : %.2f", H60[cnt60]); cnt60 = cnt60 + 1; } 이렇게 변형하여 출력해보았습니다만 60분봉의 데이터도 30분단위로 출력됩니다. 60분봉의 값은 정각에만 나오게 할 수 있는 방법을 알려주시면 감사하겠습니다.