커뮤니티

Data1과 Data2사용시

프로필 이미지
데미안
2021-01-17 11:43:03
1237
글번호 145508
답변완료
data1과 data2 모두 10분봉 사용 data1에서 날짜가 바뀌면 data1과 data2를 이용, 새로이 지표를 1회만 계산하고자 함 문제) data1은 15시 20분 데이터(전일자 마지막 데이터)가 없고, 익일 시가 데이터가 있음 data2는 15시 20분 데이터(전일자 마지막 데이터)가 있고, 익일 시가 데이터가 있음 이 경우 data1은 data2에 비교해서 당일자 마지막 봉이 없어서 (비어있어서), 위의 경우에 날짜가 바뀌는 것을 1회가 아니라 2회로 인식해서, 지표 계산을 2회에 걸쳐 함. 이 경우 1회만 지표를 계산하게 하려고 합니다. 어찌해야 할까요.
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2021-01-18 15:43:21

안녕하세요 예스스탁입니다. 2번계산을 하는 것을 막을 수는 없습니다. 다만 2번을 계산해도 동일값이 리턴되게 계산에 필요한 변수등을 선언할떄 var : 변수(0,data1); 과 같이 변수에 사용되는 값을 특정데이타를 기준으로 저장되게 하셔야 합니다. 어떤 계산식인지 알수 없어 정확히 답변이 가능하지 않으므로 해당 계산식 부분만 올려주시기 바랍니다. 즐거운 하루되세요 > 데미안 님이 쓴 글입니다. > 제목 : Data1과 Data2사용시 > data1과 data2 모두 10분봉 사용 data1에서 날짜가 바뀌면 data1과 data2를 이용, 새로이 지표를 1회만 계산하고자 함 문제) data1은 15시 20분 데이터(전일자 마지막 데이터)가 없고, 익일 시가 데이터가 있음 data2는 15시 20분 데이터(전일자 마지막 데이터)가 있고, 익일 시가 데이터가 있음 이 경우 data1은 data2에 비교해서 당일자 마지막 봉이 없어서 (비어있어서), 위의 경우에 날짜가 바뀌는 것을 1회가 아니라 2회로 인식해서, 지표 계산을 2회에 걸쳐 함. 이 경우 1회만 지표를 계산하게 하려고 합니다. 어찌해야 할까요.
프로필 이미지

데미안

2021-01-20 11:45:45

데미안 님에 의해 삭제된 답변입니다.
프로필 이미지

데미안

2021-01-20 11:45:48

해당 부분은 미니 코스피 기준 10분 봉기준 2018-8-13 ~ 8-17에 발생하였습니다 수식은 다음과 같습니다. 날짜가 달라지는 경우 시가를 기준으로 각각의 이평을 1회만 계산하도록 부탁드립니다. 감사합니다. Input : AvgLen(2); Array : Book[50,10](0); var : Counter(0),SubCounter(0); var : SumAvgD1(0),SumAvgD2(0); //{**********************************************************************} If Date<>Date[1] then begin SumAvgD1=0; SumAvgD2=0; For Counter=49 downto 1 begin Book[Counter+1,1]=Book[Counter,1]; //{Ksf Open} Book[Counter+1,2]=Book[Counter,2]; //{Ssf Open} Book[Counter+1,3]=Book[Counter,4]; //{SumKsf} Book[Counter+1,4]=Book[Counter,5]; //{SumSsf} Book[Counter+1,5]=Book[Counter,6]; //{AvgKsf} Book[Counter+1,6]=Book[Counter,7]; //{AvgSsf} End; // {**********************************************************************} Book[1,1]=Data1(Open); Book[1,2]=Data2(Open); For SubCounter=1 to AvgLen begin SumAvgD1=SumAvgD1+Book[SubCounter,1]; SumAvgD2=SumAvgD2+Book[SubCounter,2]; End; Book[1,3]=SumAvgD1; Book[1,4]=SumAvgD2; Book[1,5]=Book[1,3]/AvgLen; Book[1,6]=Book[1,4]/AvgLen; End; Plot1(Book[1,5]); plot2(Book[1,6]);