커뮤니티

수식관련 질문드립니다.

프로필 이미지
다낚아
2019-07-01 04:49:43
117
글번호 129882
답변완료
질문번호 62667에서 질문답입니다. input : P1(60),P2(120); var : entry(0),setup(false),cnt(0); var : sum1(0),sum11(0),sum2(0),sum21(0); var : mav1(0),mav11(0),mav2(0),mav21(0); sum1 = 0; sum11 = 0; sum2 = 0; sum21 = 0; if DayClose(P2) > 0 then { for cnt = 0 to P2-1 { if cnt < P1 then { sum1 = sum1 + DayClose(cnt); sum11 = sum11 + DayClose(cnt+1); } if cnt < P2 then { sum2 = sum2 + DayClose(cnt); sum21 = sum21 + DayClose(cnt+1); } } mav1 = sum1/P1; mav11 = sum11/P1; mav2 = sum2/P2; mav21 = sum21/P2; } if bdate != bdate[1] Then { setup = false; entry = 0; } if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; if 특정조건 Then setup = true; if L < 지지선 or mav1 < mav11 or mav2 < mav21 Then setup = false; if entry < 1 and setup == true and 매수조건 Then buy(); 위와 같이 답변을 받았읍니다. 수정해서 사용하다보니 이상해서 찍어보니 일이평값이 전부 0으로 나오네요.. 혹시 수식적용에 전제조건이나 주의할점이 있나요.. 1분봉챠트에 일120이평사용하면 1분챠트에 120일이상의 데이터가 필요한가요.. 그리고 위 일이평을 사용자함수로 작성해주셨으면합니다. 위 수식에서 sum을 var로 초기화 했는데 본문에 다시한번 초기화한게 궁금하네요..
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-07-01 13:22:32

안녕하세요 예스스탁입니다. 1 차트에 수식 계산에 필요한 충분한 데이타가 있어야 합니다. 해당식은 p2가 120 이므로 120일전 데이타가 있어야 하는데 분봉이하의 차트에는 내부적으로 차트의 첫봉의 날짜 +99일의 일간 데이타가 제공되고 있으므로 차트에는 약 20여일치의 데이타만 있으면 됩니다. 데이타가 부족하면 계산을 할수 없습니다. 내부적으로 제공되는 일간 데이타에서 값을 가져오는 함수가 dayclose/dayhigh/daylow/dayopen/dayvolume 입니다. 2 var는 초기 선언값입니다. 해당 변수는 매봉 이전일의 값을 가져와 누적해서 평균을 내게 되므로 봉마다 0으로 초기화합니다. 3 p1이평도 p2이평에 필요한 120일이 확보될떄만 계산되게 되어 있는데 p1은 독립적으로 계산되게 수정해 드립니다. input : P1(60),P2(120); var : entry(0),setup(false),cnt(0); var : sum1(0),sum11(0),sum2(0),sum21(0); var : mav1(0),mav11(0),mav2(0),mav21(0); sum1 = 0; sum11 = 0; if DayClose(P1) > 0 then { for cnt = 0 to P1-1 { sum1 = sum1 + DayClose(cnt); sum11 = sum11 + DayClose(cnt+1); } mav1 = sum1/P1; mav11 = sum11/P1; } sum2 = 0; sum21 = 0; if DayClose(P2) > 0 then { for cnt = 0 to P2-1 { sum2 = sum2 + DayClose(cnt); sum21 = sum21 + DayClose(cnt+1); } mav2 = sum2/P2; mav21 = sum21/P2; } if bdate != bdate[1] Then { setup = false; entry = 0; } if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; if 특정조건 Then setup = true; if L < 지지선 or mav1 < mav11 or mav2 < mav21 Then setup = false; if entry < 1 and setup == true and 매수조건 Then buy(); 즐거운 하루되세요 > 다낚아 님이 쓴 글입니다. > 제목 : 수식관련 질문드립니다. > 질문번호 62667에서 질문답입니다. input : P1(60),P2(120); var : entry(0),setup(false),cnt(0); var : sum1(0),sum11(0),sum2(0),sum21(0); var : mav1(0),mav11(0),mav2(0),mav21(0); sum1 = 0; sum11 = 0; sum2 = 0; sum21 = 0; if DayClose(P2) > 0 then { for cnt = 0 to P2-1 { if cnt < P1 then { sum1 = sum1 + DayClose(cnt); sum11 = sum11 + DayClose(cnt+1); } if cnt < P2 then { sum2 = sum2 + DayClose(cnt); sum21 = sum21 + DayClose(cnt+1); } } mav1 = sum1/P1; mav11 = sum11/P1; mav2 = sum2/P2; mav21 = sum21/P2; } if bdate != bdate[1] Then { setup = false; entry = 0; } if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; if 특정조건 Then setup = true; if L < 지지선 or mav1 < mav11 or mav2 < mav21 Then setup = false; if entry < 1 and setup == true and 매수조건 Then buy(); 위와 같이 답변을 받았읍니다. 수정해서 사용하다보니 이상해서 찍어보니 일이평값이 전부 0으로 나오네요.. 혹시 수식적용에 전제조건이나 주의할점이 있나요.. 1분봉챠트에 일120이평사용하면 1분챠트에 120일이상의 데이터가 필요한가요.. 그리고 위 일이평을 사용자함수로 작성해주셨으면합니다. 위 수식에서 sum을 var로 초기화 했는데 본문에 다시한번 초기화한게 궁금하네요..