커뮤니티

swinghigh 함수에 대해 질문 좀 드립니다.

프로필 이미지
coolstuf
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
프로필 이미지

예스스탁 예스스탁 답변

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가 안되는 경우 아닌가요?? 답변좀 부탁드립니다. 감사합니다. 꾸벅