커뮤니티
고저점 질문입니다
2012-11-27 15:24:03
380
글번호 56863
안녕하세요, 항상 친절한 답변 감사합니다.
고/저점을 swinglow, swinghigh 로 잡아보려고 합니다.
아래소스의 결과물을 첨부하였는데요.
그림판으로 정말 표시되어야 하는 날짜에만 초록색선으로 표시하였습니다.
빨간색은 저점, 파란색은 고점을 표시합니다.
다른날짜도 표시되는 이유를 모르겠습니다...
제가 이해기로는, SwingHighBar 에서 Period(20)일 중
가운데 기준으로 Left, Right 중 가장 높은 값의 위치로 알고있는데요.
Left,Right 중 가장 높은 값은 하나 뽑았으니, 좌우 범위(아래 예로는 5)안에서
SwingHighBar 가 또 찾아지면 안되는거 아닌가요?
var: period(0), percent(0), left(5), right(5), i(1), swing_low(0), swing_high(0);
swing_low = SwingLowBar(1, L, left, right, 20);
swing_high = SwingHighBar(1, H, left, right, 20);
If ( swing_low != -1 ) Then {
PlotPaintBar(Low * 0.99, Low*0.9, "고저점", BLUE);
}
Else If ( swing_high != -1 ) Then {
PlotPaintBar(Low * 0.99, Low*0.9, "고저점", RED);
}
Else{
NoPlot(1);
}
- 그리고, 전체 봉의 갯수는 어떤 변수를 써야하나요?
- 1. aaa.png (0.05 MB)
답변 1
예스스탁 예스스탁 답변
2012-11-27 17:31:02
안녕하세요
예스스탁입니다.
SwingLowBar(1, L, left, right, 20)
는 최근 20봉 안에서 좌측 5개봉 우측 5개봉보다 작은 저가가 발생하면
그 인덱스를 리턴해 주고 값이 없으면 -1값을 리턴합니다.
가령 10개봉전에 해당 조건이 만족하는 봉이 있으면
10을 리턴하고 한봉뒤에는 11을 리턴하고 또 한봉 뒤에는 12가
리턴되므로 모두 -1이 아니므로 조건이 성립이 됩니다.
작성하신 식은 20개봉안에 그런 조건이 만족한 봉이 있으면
봉에 색을 칠하라는 내용입니다.
그러므로 현재 발생시점만을 따져야 할때는
SwingLowBar(1, L, left, right, left+right+1)
로 작성하셔야 합니다.
수정한 식입니다.
var: period(0), percent(0), left(5), right(5), i(1), swing_low(0), swing_high(0);
swing_low = SwingLowBar(1, L, left, right, left+right+1);
swing_high = SwingHighBar(1, H, left, right, left+right+1);
If ( swing_low != -1 ) Then {
PlotPaintBar(Low * 0.99, Low*0.9, "고저점", BLUE);
}
if ( swing_high != -1 ) Then {
PlotPaintBar(Low * 0.99, Low*0.9, "고저점", RED);
}
즐거운 하루되세요
> 코윈 님이 쓴 글입니다.
> 제목 : 고저점 질문입니다
> 안녕하세요, 항상 친절한 답변 감사합니다.
고/저점을 swinglow, swinghigh 로 잡아보려고 합니다.
아래소스의 결과물을 첨부하였는데요.
그림판으로 정말 표시되어야 하는 날짜에만 초록색선으로 표시하였습니다.
빨간색은 저점, 파란색은 고점을 표시합니다.
다른날짜도 표시되는 이유를 모르겠습니다...
제가 이해기로는, SwingHighBar 에서 Period(20)일 중
가운데 기준으로 Left, Right 중 가장 높은 값의 위치로 알고있는데요.
Left,Right 중 가장 높은 값은 하나 뽑았으니, 좌우 범위(아래 예로는 5)안에서
SwingHighBar 가 또 찾아지면 안되는거 아닌가요?
var: period(0), percent(0), left(5), right(5), i(1), swing_low(0), swing_high(0);
swing_low = SwingLowBar(1, L, left, right, 20);
swing_high = SwingHighBar(1, H, left, right, 20);
If ( swing_low != -1 ) Then {
PlotPaintBar(Low * 0.99, Low*0.9, "고저점", BLUE);
}
Else If ( swing_high != -1 ) Then {
PlotPaintBar(Low * 0.99, Low*0.9, "고저점", RED);
}
Else{
NoPlot(1);
}
- 그리고, 전체 봉의 갯수는 어떤 변수를 써야하나요?
다음글
이전글