커뮤니티
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분봉의 값은 정각에만 나오게 할 수 있는 방법을 알려주시면 감사하겠습니다.