커뮤니티

수식 문의 드립니다

프로필 이미지
커피한잔
2022-07-20 09:58:59
1781
글번호 160903
답변완료
수고하십니다 이겨도 시호 만들려고 했는데 아무런 반응이 없어서 수식 수정 부탁드립니다 Input : Period(Numeric),Period1(Numeric); var : cnt(0),count(0); var : sum1(0),csum1(0); var : mav1(0); Array : CC[300](0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then { CC[0] = Period1; for cnt = 299 downto 1 { CC[cnt] = CC[cnt-1]; } } If Period1 > CC[0] Then CC[0] = Period1; if CC[Period-1] > 0 Then { sum1 = 0; csum1 = 0; for count = 0 to Period-1 { sum1 = sum1+CC[count] * (Period - cnt); csum1 = csum1 + Period - cnt; } mav1 = sum1/csum1; DsWWparity = Period1 / mav1 * 100; } input : P1(1),P2(2),P3(3),P4(4),P5(5),n(100); Value1 = DsWWparity(p1,H); Value2 = DsWWparity(p2,H); Value3 = DsWWparity(p3,H); Value4 = DsWWparity(p4,H); Value5 = DsWWparity(p5,H); Value6 = MinList(Value1,Value2,Value3,Value4,Value5); If CrossUp(Value6 ,n) Then Plot1(L * 0.99);
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-07-20 14:43:52

안녕하세요 예스스탁입니다. 1 사용자함수에 잘못된 부분이 있어 수정해 드립니다. Input : Period(Numeric),Period1(Numeric); var : cnt(0),count(0); var : sum1(0),csum1(0); var : mav1(0); Array : CC[300](0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then { for cnt = 299 downto 1 { CC[cnt] = CC[cnt-1]; } CC[0] = Period1; } If Period1 > CC[0] Then CC[0] = Period1; if CC[Period-1] > 0 Then { sum1 = 0; csum1 = 0; for count = 0 to Period-1 { sum1 = sum1+CC[count] * (Period - count); csum1 = csum1 + Period - count; } mav1 = sum1/csum1; DsWWparity = CC[0] / mav1 * 100; } 2 작성하신 식에서 Value1 = DsWWparity(p1,H); value1은 1기간 이격도이므로 항상 100입니다. Value6 = MinList(Value1,Value2,Value3,Value4,Value5); 그러므로 value6은 최대값이 100입니다. value6이 최대값이 100이므로 돌파(n보다 큰값)가 발생할 수 없습니다. crossup(A,B)는 현재봉 A는 B보다 크고 전봉에서는 A가 B 이하이어야 합니다. 아래와 같이 전봉은 100미만인데 현재봉은 100으로 작성하셔아 합니다. If Value6 == n and value6[1] < n Then Plot1(L * 0.99); 즐거운 하루되세요 > 커피한잔 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다 > 수고하십니다 이겨도 시호 만들려고 했는데 아무런 반응이 없어서 수식 수정 부탁드립니다 Input : Period(Numeric),Period1(Numeric); var : cnt(0),count(0); var : sum1(0),csum1(0); var : mav1(0); Array : CC[300](0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then { CC[0] = Period1; for cnt = 299 downto 1 { CC[cnt] = CC[cnt-1]; } } If Period1 > CC[0] Then CC[0] = Period1; if CC[Period-1] > 0 Then { sum1 = 0; csum1 = 0; for count = 0 to Period-1 { sum1 = sum1+CC[count] * (Period - cnt); csum1 = csum1 + Period - cnt; } mav1 = sum1/csum1; DsWWparity = Period1 / mav1 * 100; } input : P1(1),P2(2),P3(3),P4(4),P5(5),n(100); Value1 = DsWWparity(p1,H); Value2 = DsWWparity(p2,H); Value3 = DsWWparity(p3,H); Value4 = DsWWparity(p4,H); Value5 = DsWWparity(p5,H); Value6 = MinList(Value1,Value2,Value3,Value4,Value5); If CrossUp(Value6 ,n) Then Plot1(L * 0.99);