커뮤니티

수식 문의

프로필 이미지
코코몽
2011-06-29 13:20:23
693
글번호 40314
답변완료
수고가 많으십니다. 수식을 실행 시켜 보다가 이해가 가지 않는 부분이 있어서... 여쭤봅니다. 1. ----------------------------- Value3=Average(c,shortperiod); Value4=Average(c,longperiod); Condition1=var3>var4; if Condition2 = true then { if CrossUp(Value3,Value4) then buy("매수진입"); } ----------------------------- 위 식에서 var3의 값이 var4보다 항상 큰데... 어떻게 crossup이 일어날 수 있는지... 이해가 안 갑니다. crossup이라는 것은 아래에서 위로 뚫는것인데.. 즉, 값이 작았다가 커지는 것인데... 제가 코딩을 잘못했나 확인해 봤지만, 실제로 작동을 하더라구요. 왜 crossup이 작동해서 매수가 일어나는 지 설명을 좀 부탁드립니다. 2. ----------------------------- if c<Value4 and c<Lowest(L,12)[1] then ExitLong("매수청산"); ----------------------------- 위 식은 종가가 value4보다 작고 12개의 저가 중 가장 작은 저가보다 적을 때, 매수 청산하라는 식인데... c<Lowest(L,12)[1] 요 부분에서, [1]의 의미를 잘 모르겠습니다. 쉽게 찾아지지가 않아서... 여쭤봅니다. [1]의 의미가 한 봉 전의 가격을 의미하는 것인가요? highest 함수에서도 같이 적용되는 지요? 다른 함수에서도 [] 의미가 같은 지요? 초보적인 질문을 드려죄송합니다. 답변해 주시면 정말 감사하겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-06-29 13:45:05

안녕하세요 예스스탁입니다. 1. 예스랭귀지에서 같다라는 표현은 == 입니다. =만 쓰시면 오른쪽 값을 왼쪽에 저장한다라는 의미입니다. 식을 아래와 같이 수정하셔야 합니다. Value3=Average(c,shortperiod); Value4=Average(c,longperiod); Condition1=var3>var4; if Condition2 == true then { #<---- = 을 ==로 수정 if CrossUp(Value3,Value4) then buy("매수진입"); } 2. []은 이전값을 가져올 때 사용됩니다. [1]은 한봉전을 나타냅니다. c<Lowest(L,12)[1]은 현재봉 종가가 1봉전 기준 12개봉 최저가보다 작다라는 표현입니다. c <Lowest(L,12)와 같이 작성하시면 논리적으로 현재봉종가가 현재봉을 저가를 포함하여 12개봉 최저가보다 작다라른 식이 되어 조건자체가 맞지 않게 됩니다. 즉 C < L , 현재봉 저가가 현재봉 저가보다 작다라는 식을 작성한 것과 같습니다. 그러므로 최저가를 한봉전기준으로 하고 현재봉종가하고 비교해 신저가 식을 만들게 됩니다. 즐거운 하루되세요 > 코코몽 님이 쓴 글입니다. > 제목 : 수식 문의 > 수고가 많으십니다. 수식을 실행 시켜 보다가 이해가 가지 않는 부분이 있어서... 여쭤봅니다. 1. ----------------------------- Value3=Average(c,shortperiod); Value4=Average(c,longperiod); Condition1=var3>var4; if Condition2 = true then { if CrossUp(Value3,Value4) then buy("매수진입"); } ----------------------------- 위 식에서 var3의 값이 var4보다 항상 큰데... 어떻게 crossup이 일어날 수 있는지... 이해가 안 갑니다. crossup이라는 것은 아래에서 위로 뚫는것인데.. 즉, 값이 작았다가 커지는 것인데... 제가 코딩을 잘못했나 확인해 봤지만, 실제로 작동을 하더라구요. 왜 crossup이 작동해서 매수가 일어나는 지 설명을 좀 부탁드립니다. 2. ----------------------------- if c<Value4 and c<Lowest(L,12)[1] then ExitLong("매수청산"); ----------------------------- 위 식은 종가가 value4보다 작고 12개의 저가 중 가장 작은 저가보다 적을 때, 매수 청산하라는 식인데... c<Lowest(L,12)[1] 요 부분에서, [1]의 의미를 잘 모르겠습니다. 쉽게 찾아지지가 않아서... 여쭤봅니다. [1]의 의미가 한 봉 전의 가격을 의미하는 것인가요? highest 함수에서도 같이 적용되는 지요? 다른 함수에서도 [] 의미가 같은 지요? 초보적인 질문을 드려죄송합니다. 답변해 주시면 정말 감사하겠습니다.