커뮤니티
swinghigh 함수에 대해 질문 좀 드립니다.
2011-11-25 14:45:38
529
글번호 45176
안녕하세요?
3가지 문의좀 드릴게요.
첨부파일은 사용자함수인 SwingHigh 에 대한 매뉴얼의 그림설명인데요,,
1. 기준봉의 좌측봉값이 기준봉과 같아도 SwingHigh가 성립된다고 설명되어 있는데 제가 소스코드(아래부분)를 봤을 때는 그렇지 않은 것 같아요. 확인좀 부탁드립니다.
J = X + Left;
Ltrue = TRUE;
while Ltrue && J > X
Begin
if Value[X] < Value[J] then Ltrue = FALSE;
J = J - 1;
End
2. 만약 제가 틀린거라면, SwingHigh 성립조건을 [기준봉값이 좌/우측봉의 값보다 클때만 성립하도록] 할 수 있는지 알려주셨으면 좋겠습니다.
3. 두번째 첨부파일은 매뉴얼에 설명된 swinghig에 대한 설명스샷인데요, B의 경우 좌측 세번째 음봉의 고가가 두번째 양봉의 고가보다 큰데 어떻게 B 지점이 Swinghigh값이 나오게 되는건가요? A의 경우에는 왼쪽 세번째 양봉의 고가가 두번째 양봉보다 크고요,
A,B 둘다 Swinghigh가 안되는 경우 아닌가요??
답변좀 부탁드립니다.
감사합니다. 꾸벅
- 1. 스샷00494.jpg (0.10 MB)
- 2. 스샷00495.jpg (0.07 MB)
답변 1
예스스탁 예스스탁 답변
2011-11-25 15:48:20
안녕하세요
예스스탁입니다.
1.
J = X + Left;
Ltrue = TRUE;
while Ltrue && J > X {
if Value[X] < Value[J] then
Ltrue = FALSE;
J = J - 1;
}
위 내용을 보시면
Value[X]은 기준봉이며 Value[J]이 좌측봉들의 값입니다.
기준봉이 좌측봉의 값보다 작으면 Ltrue가 false가 되는 식입니다.
그러므로 기준봉의 값이 좌측봉들의 값과 비교 해 작지만 않으면
Ltrue가 계속 True를 유지하는 구조입니다.
2.
문의하신 내용으로 따로 함수식을 작성해서 사용하시면 됩니다.
아래와 같이 작성하시면 되며 함수명만 다르고 사용방법은 swinghigh와 같습니다
함수명 : Shigh
Input : Occur(NumericSimple), Value(NumericSeries), Left(NumericSimple), Right(NumericSimple), Length(NumericSimple);
Var : Result(0), X(0), J(0), Z(0), Ltrue(FALSE), Counter(0), Found(FALSE);
if CurrentBar >= 1 then
{
Result = -1;
Z = 0;
X = Right;
Counter = 0;
Found = FALSE;
while Counter < Length && X + Left < Length && Found == FALSE
Begin
J = X + Left;
Ltrue = TRUE;
while Ltrue && J > X
Begin
if Value[X] <= Value[J] then Ltrue = FALSE;
J = J - 1;
End
J = X - 1;
while Ltrue && J >= X - Right
Begin
if Value[X] <= Value[J] then Ltrue = FALSE;
J = J - 1;
End
if LTrue == TRUE then
{
Z = Z + 1;
if Z >= Occur then
{
Result = Value[X];
Found = TRUE;
}
}
X = X + 1;
Counter = Counter + 1;
End
if Z == 0 then
SHigh = -1;
else
SHigh = Result;
}
3,
좌측봉들 혹은 우측봉들끼리는 서로 비교하지 않습니다.
모두 기준봉과 값만 비교합니다.
즐거운 하루되세요
> coolstuf 님이 쓴 글입니다.
> 제목 : swinghigh 함수에 대해 질문 좀 드립니다.
> 안녕하세요?
3가지 문의좀 드릴게요.
첨부파일은 사용자함수인 SwingHigh 에 대한 매뉴얼의 그림설명인데요,,
1. 기준봉의 좌측봉값이 기준봉과 같아도 SwingHigh가 성립된다고 설명되어 있는데 제가 소스코드(아래부분)를 봤을 때는 그렇지 않은 것 같아요. 확인좀 부탁드립니다.
J = X + Left;
Ltrue = TRUE;
while Ltrue && J > X
Begin
if Value[X] < Value[J] then Ltrue = FALSE;
J = J - 1;
End
2. 만약 제가 틀린거라면, SwingHigh 성립조건을 [기준봉값이 좌/우측봉의 값보다 클때만 성립하도록] 할 수 있는지 알려주셨으면 좋겠습니다.
3. 두번째 첨부파일은 매뉴얼에 설명된 swinghig에 대한 설명스샷인데요, B의 경우 좌측 세번째 음봉의 고가가 두번째 양봉의 고가보다 큰데 어떻게 B 지점이 Swinghigh값이 나오게 되는건가요? A의 경우에는 왼쪽 세번째 양봉의 고가가 두번째 양봉보다 크고요,
A,B 둘다 Swinghigh가 안되는 경우 아닌가요??
답변좀 부탁드립니다.
감사합니다. 꾸벅
다음글
이전글