커뮤니티
문의드립니다.
2013-01-10 12:47:08
293
글번호 57993
1.어제 조건검색식에서 일주월봉의 시고저종가를 부탁드렸었는데요.
일주월봉의 시고저종가를 이용하다 보니 변수값이 계속변해 수치가 계속 바뀌워 저의의도대로 표시가 안되네요 월주일봉의 시고저종가를 배열변수로 저장되게해주세요.
현재 작성되고 있는 이번 주의 시고저종가는 h[0] 완성된 전 주의 시고저종가는 h[1] 이런식으로 저장 사용할수 있게 작성 부탁드립니다.
아래는 월간,주간,일간 시고저종가를 계산하는 식입니다.
var : Mopen(0),Mhigh(0),Mlow(0),Mclose(0);
var : Wopen(0),Whigh(0),Wlow(0),Wclose(0);
var : Dopen(0),Dhigh(0),Dlow(0),Dclose(0);
if date > date[1]+30 Then{
Mopen = O;
Mhigh = H;
Mlow = L;
}
if H > Mhigh Then
Mhigh = H;
if L < Mlow Then
Mlow = L;
Mclose = C;
if dayofweek(date) < dayofweek(date[1]) Then{
Wopen = O;
Whigh = H;
Wlow = L;
}
if H > Whigh Then
Whigh = H;
if L < Wlow Then
Wlow = L;
Wclose = C;
Dopen = dayopen;
Dhigh = dayopen;
Dlow = dayopen;
Dclose = dayopen;
2.
var:m(0);
if dayhigh(0) > dayhigh(1) THEN
m = 1;
if daylow(0) < daylow(1) then
m = -1;
연습삼아서 작성해봤는데요.
당일고가가 실시간으로 전날의 고가를 상향돌파시 m = 1
당일저가가 실시간으로 전날의 저가를 하향돌파시 m = -1이라고 작성해봤는데요.
지표값으로 출력해봤더니 전날의 저가를 당일 하향 돌파했는데 -1로 변하지않고
다음날 변하네요.일봉차트에서요. 당일봉이 전날의 고가와 저가를 모두 돌파했다면 시간의 흐름상 나중에 돌파한 값으로 저장이 되어야 하는 것 아닌가요?당일 전일의 고가를 먼저 돌파했다면 m = 1; 그후 당일 전일의 저가를 돌파했다면
마지막엔 m = -1 ;로 저장이 되어있어야하는 것 아닌가요?
무엇이 잘못되었는지 답변 부탁드립니다.
수고하세요^^
답변 1
예스스탁 예스스탁 답변
2013-01-10 15:25:16
안녕하세요
예스스탁입니다.
1.
일간시고저종가는 dayhigh,daylow,daylcose,dayopen함수로
기본 제공되고 있으므로 별도로 작성하실 필요가 없습니다.
함수도움말 참고하시기 바랍니다.
각값은 차트에 있는 기간만큼만 값이 리턴됩니다.
가령 차트에 3주정도의 데이터만 있다면 그 이전주 값들은 모두 0입니다.
var : cnt(0);
Array : Mopen[10](0),Mhigh[10](0),Mlow[10](0),Mclose[10](0);
Array : Wopen[10](0),Whigh[10](0),Wlow[10](0),Wclose[10](0);
if date > date[1]+30 Then{
Mopen[0] = O;
Mhigh[0] = H;
Mlow[0] = L;
Mclose[0] = C;
for cnt = 1 to 9 {
Mopen[cnt] = Mopen[cnt-1][1];
Mhigh[cnt] = Mhigh[cnt-1][1];
Mlow[cnt] = Mlow[cnt-1][1];
Mclose[cnt] = Mclose[cnt-1][1];
}
}
if H > Mhigh[0] Then
Mhigh[0] = H;
if L < Mlow[0] Then
Mlow[0] = L;
Mclose[0] = C;
if dayofweek(date) < dayofweek(date[1]) Then{
Wopen[0] = O;
Whigh[0] = H;
Wlow[0] = L;
Wclose[0] = L;
for cnt = 1 to 9 {
Wopen[cnt] = Wopen[cnt-1][1];
Whigh[cnt] = Whigh[cnt-1][1];
Wlow[cnt] = Wlow[cnt-1][1];
Wclose[cnt] = Wclose[cnt-1][1];
}
}
if H > Whigh[0] Then
Whigh[0] = H;
if L < Wlow[0] Then
Wlow[0] = L;
Wclose[0] = C;
2.
날짜가 변경되면 0으로 초기화하시기 바랍니다.
변수를 만들어 사용할 경우 데이터예약어는 선언해서 사용하실 수 없습니다.
변수는 mm으로 변경했습니다.
var : mm(0);
if date != date[1] Then
mm = 0;
if dayhigh(0) > dayhigh(1) THEN
mm = 1;
if daylow(0) < daylow(1) then
mm = -1;
plot1(mm);
즐거운 하루되세요
> 아싸가오리 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 1.어제 조건검색식에서 일주월봉의 시고저종가를 부탁드렸었는데요.
일주월봉의 시고저종가를 이용하다 보니 변수값이 계속변해 수치가 계속 바뀌워 저의의도대로 표시가 안되네요 월주일봉의 시고저종가를 배열변수로 저장되게해주세요.
현재 작성되고 있는 이번 주의 시고저종가는 h[0] 완성된 전 주의 시고저종가는 h[1] 이런식으로 저장 사용할수 있게 작성 부탁드립니다.
아래는 월간,주간,일간 시고저종가를 계산하는 식입니다.
var : Mopen(0),Mhigh(0),Mlow(0),Mclose(0);
var : Wopen(0),Whigh(0),Wlow(0),Wclose(0);
var : Dopen(0),Dhigh(0),Dlow(0),Dclose(0);
if date > date[1]+30 Then{
Mopen = O;
Mhigh = H;
Mlow = L;
}
if H > Mhigh Then
Mhigh = H;
if L < Mlow Then
Mlow = L;
Mclose = C;
if dayofweek(date) < dayofweek(date[1]) Then{
Wopen = O;
Whigh = H;
Wlow = L;
}
if H > Whigh Then
Whigh = H;
if L < Wlow Then
Wlow = L;
Wclose = C;
Dopen = dayopen;
Dhigh = dayopen;
Dlow = dayopen;
Dclose = dayopen;
2.
var:m(0);
if dayhigh(0) > dayhigh(1) THEN
m = 1;
if daylow(0) < daylow(1) then
m = -1;
연습삼아서 작성해봤는데요.
당일고가가 실시간으로 전날의 고가를 상향돌파시 m = 1
당일저가가 실시간으로 전날의 저가를 하향돌파시 m = -1이라고 작성해봤는데요.
지표값으로 출력해봤더니 전날의 저가를 당일 하향 돌파했는데 -1로 변하지않고
다음날 변하네요.일봉차트에서요. 당일봉이 전날의 고가와 저가를 모두 돌파했다면 시간의 흐름상 나중에 돌파한 값으로 저장이 되어야 하는 것 아닌가요?당일 전일의 고가를 먼저 돌파했다면 m = 1; 그후 당일 전일의 저가를 돌파했다면
마지막엔 m = -1 ;로 저장이 되어있어야하는 것 아닌가요?
무엇이 잘못되었는지 답변 부탁드립니다.
수고하세요^^