커뮤니티

수식작성

프로필 이미지
kriskorn
2021-02-19 10:25:42
810
글번호 146456
답변완료
안녕하세요 bill williams fractal을 구현하고 싶습니다. swinghigh 가 아니고제가 원하는건 현재 바에서부터 게속 뒤로 루프를 돌리면서 high[bar_x] > high[bar_x+1] && high[bar_x] > high[bar_x+2] && high[bar_x] > high[bar_x+3] && high[bar_x] > high[bar_x+4] && high[bar_x] > high[bar_x+5] && high[bar_x] > high[bar_x-1] && high[bar_x] > high[bar_x-2] && high[bar_x] > high[bar_x-3] && high[bar_x] > high[bar_x-4] && high[bar_x] > high[bar_x-5] 이거를 해서 가장 최근에 일어났던 프랙탈의 index number (즉 bar_x 의 값) 와 해당하는 bar_x index의 가격을 출력하고 배열에저장 하고 싶습니다. 각 주기마다 가징최근에 발생한 5바 프랙탈 고가와 5바 프랙탈 저가 구현하는 수식 작성해주세요 그리고 data compress를 이용해서 주기를 어떻게 사용하는지 예제도 써주시면 감사하겠습니다. 예를 들어서 일봉의 이동평균선을 분봉에서 적용하는법을 data compress 를 이용해서 주기별로 구현하는거요... 마지막으로 사용자지표함수로 조간감색가능한가요?감사합니다!
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-02-19 16:21:52

안녕하세요 예스스탁입니다. 1 현재봉 과거첫봉까지 과거로 가면서 루프를 돌리면서 값을 저장하신다면 아래와 같습니다. var : count(0),bar_x(0); Array : value[100](0),idx[100](0); count = 0; #매봉 값 초기화 For var1= 0 to 99 { value[0] = 0; Idx[0] = 0; } #매봉 현재봉부터 과거 첫봉까지 루프 For bar_x = 5 to Index { if high[bar_x] > high[bar_x+1] && high[bar_x] > high[bar_x+2] && high[bar_x] > high[bar_x+3] && high[bar_x] > high[bar_x+4] && high[bar_x] > high[bar_x+5] && high[bar_x] > high[bar_x-1] && high[bar_x] > high[bar_x-2] && high[bar_x] > high[bar_x-3] && high[bar_x] > high[bar_x-4] && high[bar_x] > high[bar_x-5] Then { count = count+1; value[count] = high[bar_x]; idx[count] = Index[bar_x]; } } 다만 위식은 로드가 많이 걸리는 내용이 됩니다. 차트가 5000개봉이면 봉당 수천번씩 루프가 돌게 됩니다. 수식은 차트에 적용되면 차트 첫봉부터 마지막봉으로 계산해서 오게 됩니다. 그러므로 조건만족시 값을 배열변수에 저장하고 다음조건만족시 배열값을 뒷 배열방으로 옮기게 하시면 좀더 간단한 식이 됩니다. input : bar_x(5); var : count(0); Array : value[100](0),idx[100](0); if high[bar_x] > Highest(H,bar_x)[bar_x+1] && high[bar_x] > Highest(H,bar_x) Then { value[1] = high[bar_x]; idx[1] = Index[bar_x]; For count = 99 downto 2 { value[count] = value[count-1]; idx[count] = idx[count-1]; } } 두식 모두 [1]가 직전, [2]가 전전 순입니다. 2 input : Period(20); var : sum(0),mav(0),cnt(0); #차트가 분봉일때 if datacompress == 4 Then { #일봉이평계산 sum = 0; For cnt = 0 to Period-1 { sum = sum + DayClose(cnt); } mav = sum/Period; #일봉이평 출력 Plot1(mav); } 3 가능합니다. 즐거운 하루되세요 > kriskorn 님이 쓴 글입니다. > 제목 : 수식작성 > 안녕하세요 bill williams fractal을 구현하고 싶습니다. swinghigh 가 아니고제가 원하는건 현재 바에서부터 게속 뒤로 루프를 돌리면서 high[bar_x] > high[bar_x+1] && high[bar_x] > high[bar_x+2] && high[bar_x] > high[bar_x+3] && high[bar_x] > high[bar_x+4] && high[bar_x] > high[bar_x+5] && high[bar_x] > high[bar_x-1] && high[bar_x] > high[bar_x-2] && high[bar_x] > high[bar_x-3] && high[bar_x] > high[bar_x-4] && high[bar_x] > high[bar_x-5] 이거를 해서 가장 최근에 일어났던 프랙탈의 index number (즉 bar_x 의 값) 와 해당하는 bar_x index의 가격을 출력하고 배열에저장 하고 싶습니다. 각 주기마다 가징최근에 발생한 5바 프랙탈 고가와 5바 프랙탈 저가 구현하는 수식 작성해주세요 그리고 data compress를 이용해서 주기를 어떻게 사용하는지 예제도 써주시면 감사하겠습니다. 예를 들어서 일봉의 이동평균선을 분봉에서 적용하는법을 data compress 를 이용해서 주기별로 구현하는거요... 마지막으로 사용자지표함수로 조간감색가능한가요?감사합니다!