커뮤니티

한번 더 부탁드립니다...ㅠ

프로필 이미지
금여록
2016-12-26 17:44:22
108
글번호 105329
답변완료
자꾸 문의를 드려 죄송합니다..ㅠ..제가 실력이 너무 없어서 귀찮게 해 드리는건 아닌지...ㅠ 만들어주신 수식을 활용하고 있는데.. 제가 미처 발견하지 못한 점 때문에 다시 한번만 더 부 탁드립니다. 아래의 조건은 다 맞는것 같은데..다만 20일 기간내에 data1과 data2의 최저가를 구한 다음 그 날짜를 기준으로 뒷쪽(이를테면, 최저가 발생일이 26일이면 26일 이전 방향으로 두번째 최저가 발생일의 최저가와 세번째 최저가 발생일의 최저가)의 최저가 3개씩을 기준으로 아래의 수식이 적용되면 제가 원하는 값을 표현할수 있을것 같네요.. 미리 감사드립니다.. ------------------------------------------------- 안녕하세요 예스스탁입니다. 1 1차로는 기준값보다 작은 값중에 찾고 작은값이 없으면 기준값 위의 값중에 가장 가까운 값을 찾게 수정했습니다. 2 N은 원하시는 기간값 지정하시면 됩니다. 3 input : N(20); var : cnt(0),L11(0),L21(0),L12(0),L22(0),L13(0),L23(0),Price(0),diff(0),VV(0); Array : DL2[50](0,data2); if data2(bdate != bdate[1]) Then{ DL2[0]= data2(L); for cnt = 1 to 49{ DL2[cnt] = DL2[cnt-1][1]; } } if data2(L) < DL2[0] Then DL2[0] = data2(L); if DL2[N] > 0 then{ L11 = 99999999; L21 = 99999999; for cnt = 0 to N-1{ if daylow(cnt) < L11 Then L11 = daylow(cnt); if DL2[cnt] < L21 Then L21 = DL2[cnt]; } L12= 99999999; L22 = 99999999; for cnt = 0 to N-1{ if daylow(cnt) < L12 and daylow(cnt) > L11 Then L12 = daylow(cnt); if DL2[cnt] < L22 and DL2[cnt] > L21 Then L22 = DL2[cnt]; } L13= 99999999; L23 = 99999999; for cnt = 0 to N-1{ if daylow(cnt) < L13 and daylow(cnt) > L12 Then L13 = daylow(cnt); if DL2[cnt] < L23 and DL2[cnt] > L22 Then L23 = DL2[cnt]; } Price = (data1(c)+data2(c))/2; diff = 99999999; VV = 99999999; if L11 < Price and abs(Price-L11) < diff Then{ diff = abs(Price-L11); VV = L11; } if L12 < Price and abs(Price-L12) < diff Then{ diff = abs(Price-L12); VV = L12; } if L13 < Price and abs(Price-L13) < diff Then{ diff = abs(Price-L13); VV = L13; } if L21 < Price and abs(Price-L21) < diff Then{ diff = abs(Price-L21); VV = L21; } if L22 < Price and abs(Price-L22) < diff Then{ diff = abs(Price-L22); VV = L22; } if L23 < Price and abs(Price-L23) < diff Then{ diff = abs(Price-L23); VV = L23; } if Diff == 99999999 then{ diff = 99999999; VV = 99999999; if abs(Price-L11) < diff Then{ diff = abs(Price-L11); VV = L11; } if abs(Price-L12) < diff Then{ diff = abs(Price-L12); VV = L12; } if abs(Price-L13) < diff Then{ diff = abs(Price-L13); VV = L13; } if abs(Price-L21) < diff Then{ diff = abs(Price-L21); VV = L21; } if abs(Price-L22) < diff Then{ diff = abs(Price-L22); VV = L22; } if abs(Price-L23) < diff Then{ diff = abs(Price-L23); VV = L23; } } plot1(Price,"data1+data2 종가 중간값"); plot2(VV,"가장가까운값"); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-12-27 11:40:25

안녕하세요 예스스탁입니다. 죄송하지만 문의하신 부분은 식작성에 시간이 많이 소모되는 내용이라 작성해 드릴수가 없습니다. 업무상 한분의 수식에 많은 시간을 투입할수는 없습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 금여록 님이 쓴 글입니다. > 제목 : 한번 더 부탁드립니다...ㅠ > 자꾸 문의를 드려 죄송합니다..ㅠ..제가 실력이 너무 없어서 귀찮게 해 드리는건 아닌지...ㅠ 만들어주신 수식을 활용하고 있는데.. 제가 미처 발견하지 못한 점 때문에 다시 한번만 더 부 탁드립니다. 아래의 조건은 다 맞는것 같은데..다만 20일 기간내에 data1과 data2의 최저가를 구한 다음 그 날짜를 기준으로 뒷쪽(이를테면, 최저가 발생일이 26일이면 26일 이전 방향으로 두번째 최저가 발생일의 최저가와 세번째 최저가 발생일의 최저가)의 최저가 3개씩을 기준으로 아래의 수식이 적용되면 제가 원하는 값을 표현할수 있을것 같네요.. 미리 감사드립니다.. ------------------------------------------------- 안녕하세요 예스스탁입니다. 1 1차로는 기준값보다 작은 값중에 찾고 작은값이 없으면 기준값 위의 값중에 가장 가까운 값을 찾게 수정했습니다. 2 N은 원하시는 기간값 지정하시면 됩니다. 3 input : N(20); var : cnt(0),L11(0),L21(0),L12(0),L22(0),L13(0),L23(0),Price(0),diff(0),VV(0); Array : DL2[50](0,data2); if data2(bdate != bdate[1]) Then{ DL2[0]= data2(L); for cnt = 1 to 49{ DL2[cnt] = DL2[cnt-1][1]; } } if data2(L) < DL2[0] Then DL2[0] = data2(L); if DL2[N] > 0 then{ L11 = 99999999; L21 = 99999999; for cnt = 0 to N-1{ if daylow(cnt) < L11 Then L11 = daylow(cnt); if DL2[cnt] < L21 Then L21 = DL2[cnt]; } L12= 99999999; L22 = 99999999; for cnt = 0 to N-1{ if daylow(cnt) < L12 and daylow(cnt) > L11 Then L12 = daylow(cnt); if DL2[cnt] < L22 and DL2[cnt] > L21 Then L22 = DL2[cnt]; } L13= 99999999; L23 = 99999999; for cnt = 0 to N-1{ if daylow(cnt) < L13 and daylow(cnt) > L12 Then L13 = daylow(cnt); if DL2[cnt] < L23 and DL2[cnt] > L22 Then L23 = DL2[cnt]; } Price = (data1(c)+data2(c))/2; diff = 99999999; VV = 99999999; if L11 < Price and abs(Price-L11) < diff Then{ diff = abs(Price-L11); VV = L11; } if L12 < Price and abs(Price-L12) < diff Then{ diff = abs(Price-L12); VV = L12; } if L13 < Price and abs(Price-L13) < diff Then{ diff = abs(Price-L13); VV = L13; } if L21 < Price and abs(Price-L21) < diff Then{ diff = abs(Price-L21); VV = L21; } if L22 < Price and abs(Price-L22) < diff Then{ diff = abs(Price-L22); VV = L22; } if L23 < Price and abs(Price-L23) < diff Then{ diff = abs(Price-L23); VV = L23; } if Diff == 99999999 then{ diff = 99999999; VV = 99999999; if abs(Price-L11) < diff Then{ diff = abs(Price-L11); VV = L11; } if abs(Price-L12) < diff Then{ diff = abs(Price-L12); VV = L12; } if abs(Price-L13) < diff Then{ diff = abs(Price-L13); VV = L13; } if abs(Price-L21) < diff Then{ diff = abs(Price-L21); VV = L21; } if abs(Price-L22) < diff Then{ diff = abs(Price-L22); VV = L22; } if abs(Price-L23) < diff Then{ diff = abs(Price-L23); VV = L23; } } plot1(Price,"data1+data2 종가 중간값"); plot2(VV,"가장가까운값"); }