안녕하세요 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 를 이용해서 주기별로 구현하는거요...
마지막으로 사용자지표함수로 조간감색가능한가요?감사합니다!