커뮤니티

이해 안 갑니다

프로필 이미지
ST
2012-11-12 15:40:07
193
글번호 56416
답변완료
아래 답변 감사합니다. 그런데 이해가 가지 않는 부분이 있습니다. 아래와 같이 작성하면 가격이 지정한 가격(=1385) 위에 있는경우에 아래로 터치하면 매수신호가 즉시 발생하게 된다고 하셨습니다. (참고: 저는 수학 전공은 아니지만, 대학~대학원 시절 수학, 통계학 10과목 정도, 그리고 C++를 수강한 적 있는데도 간단한 대수학인데도 도무지 납득이 가지 않네요...) if H < 1385 Then buy("b1",AtStop,1385,1); if L > 1385 Then buy("b2",AtLimit,1385,1); if MarketPosition == 1 and CrossDown(c,ma(c,7)) Then sell("s",OnClose,def,1); 문의드렸던 대로 1385위에서 지수값 형성되어 있다가 오늘 처음으로 1385를 하향터치하자마자 동지수값에서 매수주문이 나가길 원합니다. (1) 첫째 조건식을 보면 고가가 이미 1385미만이므로 이미 1385를 터치하고 내려온 것을 의미하므로 제가 상정한 상황과 다릅니다. 혹시, 시스템 적용시 이미 1385를 하향터치한 경우를 반영하신 건가요? (2) 두 번째 식은 아직 1385를 하향터치하지 않은 경우를 반영하신 것 같습니다. 의아한 것은 부등호가 아닌 부호가 사용되어 있습니다. 1385 보다 큰 지수값은 무척 많으며 분할매수가 아니므로 조건식이 될 수 없다는 판단이 들며, 1385를 하향터치하는 경우가 반영되어 있지 않다는 판단이 듭니다. 부호 방향도 이해가 안 갑니다. L <= 1385가 되어야 하지 않나요? 답변 기다리겠습니다. 수고하세요.
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-11-12 15:38:46

안녕하세요 예스스탁입니다. 수식에서 봉 미완성시에 신호가 발생할 수 있는 타입은 atstop과 atlimit이 있습니다. buy에 atstop을 사용하면 지정한 가격 이상의 시세이면 신호가 발생하고 buy에 atlimit을 사용하면 지정한 가격 이하의 시세이면 신호가 발생합니다. 그러므로 buy("b",atstop,1385,1); 과 같이 if문 없이 작성하면 봉의 가격이 이미 지정된 가격이상이면 신호가 발생하므로 if H < 1385 Then buy("b1",AtStop,1385,1); 와 같이 작성해서 가격이 1385보다 아래에 있는 상황에서 가격이 상승해 1385이상을 기록하면 바로 주문이 발생하도록 작성한 것입니다. 해석하면 "현재봉의 고가가 1385보다 낮으면 1385라는 가격으로 stop라인을 설정하고 다음봉의 가격중에 1385이상을 기록하는 가격이 출현하면 그때 바로 매수신호를 발생한다." 입니다. 반대로 buy("b",atlimit,1385,1); 와 같이 작성하면 적용하시는 시점에 이미 아래에 가 있으면 신호가 발생하므로 if L > 1385 Then buy("b2",AtLimit,1385,1); 가격이 1385위에 있다가 아래로 내려와서 1385를 터치하면 그때 신호가 발생하게 제어를 한것입니다. 해석하면 "현재봉의 저가가 1385보다 높으면 1385라는 가격으로 limit라인을 설정하고 다음봉의 가격 중에 1385보다 낮은 가격이 출현하면 그때 바로 매수신호를 발생한다." 입니다. 좀더 자세한 답변이 필요하시면 02-3453-1060으로 전화주시기 바랍니다. 즐거운 하루되세요 > ST 님이 쓴 글입니다. > 제목 : 이해 안 갑니다 > 아래 답변 감사합니다. 그런데 이해가 가지 않는 부분이 있습니다. 아래와 같이 작성하면 가격이 지정한 가격(=1385) 위에 있는경우에 아래로 터치하면 매수신호가 즉시 발생하게 된다고 하셨습니다. (참고: 저는 수학 전공은 아니지만, 대학~대학원 시절 수학, 통계학 10과목 정도, 그리고 C++를 수강한 적 있는데도 간단한 대수학인데도 도무지 납득이 가지 않네요...) if H < 1385 Then buy("b1",AtStop,1385,1); if L > 1385 Then buy("b2",AtLimit,1385,1); if MarketPosition == 1 and CrossDown(c,ma(c,7)) Then sell("s",OnClose,def,1); 문의드렸던 대로 1385위에서 지수값 형성되어 있다가 오늘 처음으로 1385를 하향터치하자마자 동지수값에서 매수주문이 나가길 원합니다. (1) 첫째 조건식을 보면 고가가 이미 1385미만이므로 이미 1385를 터치하고 내려온 것을 의미하므로 제가 상정한 상황과 다릅니다. 혹시, 시스템 적용시 이미 1385를 하향터치한 경우를 반영하신 건가요? (2) 두 번째 식은 아직 1385를 하향터치하지 않은 경우를 반영하신 것 같습니다. 의아한 것은 부등호가 아닌 부호가 사용되어 있습니다. 1385 보다 큰 지수값은 무척 많으며 분할매수가 아니므로 조건식이 될 수 없다는 판단이 들며, 1385를 하향터치하는 경우가 반영되어 있지 않다는 판단이 듭니다. 답변 기다리겠습니다. 수고하세요.