커뮤니티
참조 데이터 관련 문의드립니다.
2013-03-14 16:03:02
195
글번호 60716
지표식을 만들어 사용하던 중, 참조 data를 사용하는 경우
지표식 계산에 있어서 결과가 이상하게 나옵니다.
아래 간단한 샘플을 올립니다.
=============================================
// source
var77 = data2(C); //실제 사용하지는 않음.
var1 = V;
var2 = ma(V,3);
var3 = ma(var1,3);
if dayindex==0 && sdate==20130314 then {
print("test.txt","ma(V,3):%f",var2);
print("test.txt","ma(var1,3):%f",var3);
print("test.txt","V:%f %f %f",V[2],V[1],V);
print("test.txt","Var1:%f %f %f",Var1[2],Var1[1],Var1);
}
==========================================
결과값
기본차트: 연결선물지수 1분봉
==========================================
참조 data:ATM콜5분
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):5085.666667
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:3165.000000 3165.000000 8927.000000
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):7006.333333
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:3165.000000 8927.000000 8927.000000
참조 data:연결선물5분
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):4377.666667
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):7006.333333
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:3165.000000 8927.000000 8927.000000
참조 data:ATM콜1분
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):5085.666667
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:3165.000000 3165.000000 8927.000000
참조 data:연결선물1분
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):4377.666667
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:1041.000000 3165.000000 8927.000000
=============================================
위의 결과에서 보이는 것 처럼 실제 식에서는 참조 data를 사용하지는 않고
TEST를 위해 V에 대한 이동평균만을 구하였습니다만...
V를 사용하는 경우에는 정상적으로 계산이 되나
V를 var1으로 저장하여 계산하는 경우에는
참조 data 종류나 시간에 따라서 결과가 다 다르게 나타나는것처럼 보입니다.
(날짜가 바뀌는 구간에서 차이가 나는 듯 합니다.
=> 참조를 5분봉 사용시에는 2번씩 print 되네요.)
대체로 날짜가 바뀌는 부근에서 뭔가 2번씩 계산되면서
V가 두번 저장되어 버리는것처럼 보입니다.
실제 지표식들은 아무래도 변수를 만들어 저장해서 사용해야 할 듯 한데....
참조 data가 존재할 때 어떤 식으로 작성해야 오류가 없나요?
답변부탁드립니다~ 감사합니다.
답변 1
예스스탁 예스스탁 답변
2013-03-14 19:24:48
안녕하세요
예스스탁입니다.
수식에서 참조데이터를 사용하실 때는
변수의 선언과 값이 어떤 데이터가 기준인지
명시를 해주셔야 합니다.
참조데이터를 사용하시는 경우 변수를 선언해 사용하시고
사용하실때 해당 데이터가 해당 데이터의 주기로 이전값을
참조할 수 있도록 선언에 데이터번호를 추가해 주시고
게산식 등도 데이터 번호로 묶어주시면 됩니다.
var : V1(0,data1),V2(0,data1),V3(0,data1),V77(0,data2);
v77 = data2(C); //실제 사용하지는 않음.
v1 = data1(v);
v2 = data1(ma(V,3));
v3 = data1(ma(v1,3));
if data1(dayindex==0 && sdate==20130314) then {
print("test.txt","ma(V,3):%f",v2);
print("test.txt","ma(var1,3):%f",v3);
print("test.txt","V:%f %f %f",V[2],V[1],V);
print("test.txt","Var1:%f %f %f",V1[2],V1[1],V1);
}
즐거운 하루되세요
> showtime 님이 쓴 글입니다.
> 제목 : 참조 데이터 관련 문의드립니다.
>
지표식을 만들어 사용하던 중, 참조 data를 사용하는 경우
지표식 계산에 있어서 결과가 이상하게 나옵니다.
아래 간단한 샘플을 올립니다.
=============================================
// source
var77 = data2(C); //실제 사용하지는 않음.
var1 = V;
var2 = ma(V,3);
var3 = ma(var1,3);
if dayindex==0 && sdate==20130314 then {
print("test.txt","ma(V,3):%f",var2);
print("test.txt","ma(var1,3):%f",var3);
print("test.txt","V:%f %f %f",V[2],V[1],V);
print("test.txt","Var1:%f %f %f",Var1[2],Var1[1],Var1);
}
==========================================
결과값
기본차트: 연결선물지수 1분봉
==========================================
참조 data:ATM콜5분
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):5085.666667
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:3165.000000 3165.000000 8927.000000
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):7006.333333
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:3165.000000 8927.000000 8927.000000
참조 data:연결선물5분
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):4377.666667
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):7006.333333
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:3165.000000 8927.000000 8927.000000
참조 data:ATM콜1분
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):5085.666667
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:3165.000000 3165.000000 8927.000000
참조 data:연결선물1분
2013-03-14 9:00:00 ma(V,3):4377.666667
2013-03-14 9:00:00 ma(var1,3):4377.666667
2013-03-14 9:00:00 V:1041.000000 3165.000000 8927.000000
2013-03-14 9:00:00 Var1:1041.000000 3165.000000 8927.000000
=============================================
위의 결과에서 보이는 것 처럼 실제 식에서는 참조 data를 사용하지는 않고
TEST를 위해 V에 대한 이동평균만을 구하였습니다만...
V를 사용하는 경우에는 정상적으로 계산이 되나
V를 var1으로 저장하여 계산하는 경우에는
참조 data 종류나 시간에 따라서 결과가 다 다르게 나타나는것처럼 보입니다.
(날짜가 바뀌는 구간에서 차이가 나는 듯 합니다.
=> 참조를 5분봉 사용시에는 2번씩 print 되네요.)
대체로 날짜가 바뀌는 부근에서 뭔가 2번씩 계산되면서
V가 두번 저장되어 버리는것처럼 보입니다.
실제 지표식들은 아무래도 변수를 만들어 저장해서 사용해야 할 듯 한데....
참조 data가 존재할 때 어떤 식으로 작성해야 오류가 없나요?
답변부탁드립니다~ 감사합니다.