커뮤니티
Data3의 평균값 차이???
2010-08-04 11:14:32
719
글번호 31333
Data1 : 연결선물 5분봉
Data2 : 연결선물 30분봉
Data3 : 연결선물 일봉이라면
Data3의 종가와 시가차의 절대값 평균을 구하려고 합니다.
시뮬레이션 챠트에 최종일은 8월 3일 입니다.
일자 시가 고가 저가 종가 시가-종가의 절대값
2010/08/03 234.4 234.55 233.7 234.15 0.25
2010/08/02 231.6 233.75 231.25 233.25 1.65
2010/07/30 231.75 232.1 229.8 230.2 1.55
2010/07/29 231.8 232.75 231.7 232.35 0.55
2010/07/28 232.7 232.8 231.15 232.8 0.1
2010/07/27 232 232.35 231.3 231.6 0.4
2010/07/26 230.1 231.8 229.9 231.3 1.2
소스
If Date != Date[1] Then
{
Value2 = 0;
Value3 = 0;
Value4 = 0;
Value5 = 0;
Value2 = Average(AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))), 5);
Value3 = Average(AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))), 5);
Value4 = AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))) +
AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))) +
AbsValue(Data3(CloseD(2)) - Data3(OpenD(2))) +
AbsValue(Data3(CloseD(3)) - Data3(OpenD(3))) +
AbsValue(Data3(CloseD(4)) - Data3(OpenD(4)));
Value5 = Value4 / 5;
}
Plot1(Value2, "2");
Plot2(Value3, "3");
Plot3(Value5, "5");
제가 의도한 값은
Value5가 제대로 된 값인데
Value2와 Value5가 같아야 되지 않나요
value2가 틀리고 Value5만 맞다면
평균값의 Length 최적화는 어떻게 하는건지......?
답변 3
예스스탁 예스스탁 답변
2010-08-05 11:52:04
안녕하세요
예스스탁입니다.
작성하신 내용이 분봉에서 일간값의 평균을 구하고자 하신 거라면
value2와 value3은 잘못된 계산식입니다.
value4와 같이 값을 모아 value5와 같이 5로 나누어 평균값을 구하셔야 합니다.
다만 참조종목함수는 for문에 직접사용하실 수 없으므로
최적화등을 해보실 의향이시면
배열변수에 이용하고자 하는 기간에 대해 값을 할당을 하고서
이평값을 만드시면 최적화도 가능합니다.
식에서는 10일전까지만 작성했습니다.
input : P(5);
var : cnt(0);
Array : D3diff[20](0,data3);
D3diff[0] = Abs(Data3(CloseD(0)) - Data3(OpenD(0)));
D3diff[1] = Abs(Data3(CloseD(1)) - Data3(OpenD(1)));
D3diff[2] = Abs(Data3(CloseD(2)) - Data3(OpenD(2)));
D3diff[3] = Abs(Data3(CloseD(3)) - Data3(OpenD(3)));
D3diff[4] = Abs(Data3(CloseD(4)) - Data3(OpenD(4)));
D3diff[5] = Abs(Data3(CloseD(5)) - Data3(OpenD(5)));
D3diff[6] = Abs(Data3(CloseD(6)) - Data3(OpenD(6)));
D3diff[7] = Abs(Data3(CloseD(7)) - Data3(OpenD(7)));
D3diff[8] = Abs(Data3(CloseD(8)) - Data3(OpenD(8)));
D3diff[9] = Abs(Data3(CloseD(9)) - Data3(OpenD(9)));
D3diff[10] = Abs(Data3(CloseD(10)) - Data3(OpenD(10)));
value4 = 0;
for cnt = 0 to P-1{
value4 = value4 +D3diff[cnt];
}
value5 =value4/P;
plot1(value5);
즐거운 하루되세요
> 푸른냄비 님이 쓴 글입니다.
> 제목 : Data3의 평균값 차이???
> Data1 : 연결선물 5분봉
Data2 : 연결선물 30분봉
Data3 : 연결선물 일봉이라면
Data3의 종가와 시가차의 절대값 평균을 구하려고 합니다.
시뮬레이션 챠트에 최종일은 8월 3일 입니다.
일자 시가 고가 저가 종가 시가-종가의 절대값
2010/08/03 234.4 234.55 233.7 234.15 0.25
2010/08/02 231.6 233.75 231.25 233.25 1.65
2010/07/30 231.75 232.1 229.8 230.2 1.55
2010/07/29 231.8 232.75 231.7 232.35 0.55
2010/07/28 232.7 232.8 231.15 232.8 0.1
2010/07/27 232 232.35 231.3 231.6 0.4
2010/07/26 230.1 231.8 229.9 231.3 1.2
소스
If Date != Date[1] Then
{
Value2 = 0;
Value3 = 0;
Value4 = 0;
Value5 = 0;
Value2 = Average(AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))), 5);
Value3 = Average(AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))), 5);
Value4 = AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))) +
AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))) +
AbsValue(Data3(CloseD(2)) - Data3(OpenD(2))) +
AbsValue(Data3(CloseD(3)) - Data3(OpenD(3))) +
AbsValue(Data3(CloseD(4)) - Data3(OpenD(4)));
Value5 = Value4 / 5;
}
Plot1(Value2, "2");
Plot2(Value3, "3");
Plot3(Value5, "5");
제가 의도한 값은
Value5가 제대로 된 값인데
Value2와 Value5가 같아야 되지 않나요
value2가 틀리고 Value5만 맞다면
평균값의 Length 최적화는 어떻게 하는건지......?
푸른냄비
2010-08-05 13:02:01
그렇다면 value2가 뜻하는 값은 어떤것입니까?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Data3의 평균값 차이???
> 안녕하세요
예스스탁입니다.
작성하신 내용이 분봉에서 일간값의 평균을 구하고자 하신 거라면
value2와 value3은 잘못된 계산식입니다.
value4와 같이 값을 모아 value5와 같이 5로 나누어 평균값을 구하셔야 합니다.
다만 참조종목함수는 for문에 직접사용하실 수 없으므로
최적화등을 해보실 의향이시면
배열변수에 이용하고자 하는 기간에 대해 값을 할당을 하고서
이평값을 만드시면 최적화도 가능합니다.
식에서는 10일전까지만 작성했습니다.
input : P(5);
var : cnt(0);
Array : D3diff[20](0,data3);
D3diff[0] = Abs(Data3(CloseD(0)) - Data3(OpenD(0)));
D3diff[1] = Abs(Data3(CloseD(1)) - Data3(OpenD(1)));
D3diff[2] = Abs(Data3(CloseD(2)) - Data3(OpenD(2)));
D3diff[3] = Abs(Data3(CloseD(3)) - Data3(OpenD(3)));
D3diff[4] = Abs(Data3(CloseD(4)) - Data3(OpenD(4)));
D3diff[5] = Abs(Data3(CloseD(5)) - Data3(OpenD(5)));
D3diff[6] = Abs(Data3(CloseD(6)) - Data3(OpenD(6)));
D3diff[7] = Abs(Data3(CloseD(7)) - Data3(OpenD(7)));
D3diff[8] = Abs(Data3(CloseD(8)) - Data3(OpenD(8)));
D3diff[9] = Abs(Data3(CloseD(9)) - Data3(OpenD(9)));
D3diff[10] = Abs(Data3(CloseD(10)) - Data3(OpenD(10)));
value4 = 0;
for cnt = 0 to P-1{
value4 = value4 +D3diff[cnt];
}
value5 =value4/P;
plot1(value5);
즐거운 하루되세요
> 푸른냄비 님이 쓴 글입니다.
> 제목 : Data3의 평균값 차이???
> Data1 : 연결선물 5분봉
Data2 : 연결선물 30분봉
Data3 : 연결선물 일봉이라면
Data3의 종가와 시가차의 절대값 평균을 구하려고 합니다.
시뮬레이션 챠트에 최종일은 8월 3일 입니다.
일자 시가 고가 저가 종가 시가-종가의 절대값
2010/08/03 234.4 234.55 233.7 234.15 0.25
2010/08/02 231.6 233.75 231.25 233.25 1.65
2010/07/30 231.75 232.1 229.8 230.2 1.55
2010/07/29 231.8 232.75 231.7 232.35 0.55
2010/07/28 232.7 232.8 231.15 232.8 0.1
2010/07/27 232 232.35 231.3 231.6 0.4
2010/07/26 230.1 231.8 229.9 231.3 1.2
소스
If Date != Date[1] Then
{
Value2 = 0;
Value3 = 0;
Value4 = 0;
Value5 = 0;
Value2 = Average(AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))), 5);
Value3 = Average(AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))), 5);
Value4 = AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))) +
AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))) +
AbsValue(Data3(CloseD(2)) - Data3(OpenD(2))) +
AbsValue(Data3(CloseD(3)) - Data3(OpenD(3))) +
AbsValue(Data3(CloseD(4)) - Data3(OpenD(4)));
Value5 = Value4 / 5;
}
Plot1(Value2, "2");
Plot2(Value3, "3");
Plot3(Value5, "5");
제가 의도한 값은
Value5가 제대로 된 값인데
Value2와 Value5가 같아야 되지 않나요
value2가 틀리고 Value5만 맞다면
평균값의 Length 최적화는 어떻게 하는건지......?
예스스탁 예스스탁 답변
2010-08-05 14:26:10
안녕하세요
예스스탁입니다.
value2는 주종목으로 5개 봉을 세어서 이동평균을 하게 작성된 식입니다.
주종목(5분봉)에서 현재로 부터 5개봉의 각각에서 봤을때
AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))
을 모아 평균낸 것입니다.
5분봉상 현재봉의 AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))
5분봉상 1봉전의 AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))
5분봉상 2봉전의 AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))
5분봉상 3봉전의 AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))
5분봉상 4봉전의 AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))
을 합산한 후 나누기 5된 값입니다.
아래와 같이 식을 작성하시면
val2와 val5가 값이 같은 것을 확인하실 수 있습니다.
참고로 다른 주기를 사용하실 경우에는 각 변수를 선언할 때
각각의 주기로 이전값 참조가 되도록 선언시에 타겟이 되는 데이터를
같이 선언해 주셔야 합니다. 식작성에 참고하시기 바랍니다.
var : val2(0,data3),val3(0,data3),val4(0,data3),val5(0,data3);
If Date != Date[1] Then
{
Val2 = data3(ma(AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))), 5));
Val3 = data3(ma(AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))), 5));
Val4 = AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))) +
AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))) +
AbsValue(Data3(CloseD(2)) - Data3(OpenD(2))) +
AbsValue(Data3(CloseD(3)) - Data3(OpenD(3))) +
AbsValue(Data3(CloseD(4)) - Data3(OpenD(4)));
Val5 = Val4 / 5;
}
Plot1(Val2, "2");
Plot2(Val3, "3");
Plot3(Val5, "5");
즐거운 하루되세요
> 푸른냄비 님이 쓴 글입니다.
> 제목 : Re : Re : Data3의 평균값 차이???
> 그렇다면 value2가 뜻하는 값은 어떤것입니까?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Data3의 평균값 차이???
> 안녕하세요
예스스탁입니다.
작성하신 내용이 분봉에서 일간값의 평균을 구하고자 하신 거라면
value2와 value3은 잘못된 계산식입니다.
value4와 같이 값을 모아 value5와 같이 5로 나누어 평균값을 구하셔야 합니다.
다만 참조종목함수는 for문에 직접사용하실 수 없으므로
최적화등을 해보실 의향이시면
배열변수에 이용하고자 하는 기간에 대해 값을 할당을 하고서
이평값을 만드시면 최적화도 가능합니다.
식에서는 10일전까지만 작성했습니다.
input : P(5);
var : cnt(0);
Array : D3diff[20](0,data3);
D3diff[0] = Abs(Data3(CloseD(0)) - Data3(OpenD(0)));
D3diff[1] = Abs(Data3(CloseD(1)) - Data3(OpenD(1)));
D3diff[2] = Abs(Data3(CloseD(2)) - Data3(OpenD(2)));
D3diff[3] = Abs(Data3(CloseD(3)) - Data3(OpenD(3)));
D3diff[4] = Abs(Data3(CloseD(4)) - Data3(OpenD(4)));
D3diff[5] = Abs(Data3(CloseD(5)) - Data3(OpenD(5)));
D3diff[6] = Abs(Data3(CloseD(6)) - Data3(OpenD(6)));
D3diff[7] = Abs(Data3(CloseD(7)) - Data3(OpenD(7)));
D3diff[8] = Abs(Data3(CloseD(8)) - Data3(OpenD(8)));
D3diff[9] = Abs(Data3(CloseD(9)) - Data3(OpenD(9)));
D3diff[10] = Abs(Data3(CloseD(10)) - Data3(OpenD(10)));
value4 = 0;
for cnt = 0 to P-1{
value4 = value4 +D3diff[cnt];
}
value5 =value4/P;
plot1(value5);
즐거운 하루되세요
> 푸른냄비 님이 쓴 글입니다.
> 제목 : Data3의 평균값 차이???
> Data1 : 연결선물 5분봉
Data2 : 연결선물 30분봉
Data3 : 연결선물 일봉이라면
Data3의 종가와 시가차의 절대값 평균을 구하려고 합니다.
시뮬레이션 챠트에 최종일은 8월 3일 입니다.
일자 시가 고가 저가 종가 시가-종가의 절대값
2010/08/03 234.4 234.55 233.7 234.15 0.25
2010/08/02 231.6 233.75 231.25 233.25 1.65
2010/07/30 231.75 232.1 229.8 230.2 1.55
2010/07/29 231.8 232.75 231.7 232.35 0.55
2010/07/28 232.7 232.8 231.15 232.8 0.1
2010/07/27 232 232.35 231.3 231.6 0.4
2010/07/26 230.1 231.8 229.9 231.3 1.2
소스
If Date != Date[1] Then
{
Value2 = 0;
Value3 = 0;
Value4 = 0;
Value5 = 0;
Value2 = Average(AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))), 5);
Value3 = Average(AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))), 5);
Value4 = AbsValue(Data3(CloseD(0)) - Data3(OpenD(0))) +
AbsValue(Data3(CloseD(1)) - Data3(OpenD(1))) +
AbsValue(Data3(CloseD(2)) - Data3(OpenD(2))) +
AbsValue(Data3(CloseD(3)) - Data3(OpenD(3))) +
AbsValue(Data3(CloseD(4)) - Data3(OpenD(4)));
Value5 = Value4 / 5;
}
Plot1(Value2, "2");
Plot2(Value3, "3");
Plot3(Value5, "5");
제가 의도한 값은
Value5가 제대로 된 값인데
Value2와 Value5가 같아야 되지 않나요
value2가 틀리고 Value5만 맞다면
평균값의 Length 최적화는 어떻게 하는건지......?
다음글
이전글