커뮤니티
AtStop , AtLimit 에 대해
2013-06-12 19:44:09
200
글번호 64263
저번에 AtStop , AtLimit 에 대해 질문을 드렸을때
특정값 이상의 시세가 발생할때 buy신호 발생하고자 하시면 atstop
특정값 이하의 시세가 발생할때 sell신호 발생하고자 하시면 atstop
근데... 또 다시 한번 질문 드리면서 뭐가 잘못 되었는지 한번 문의 드립니다.
IF MarketPosition() == 0
AND sTime < 143000
AND DAY_저점 > C
Then {
Sell("매도",AtStop,DAY_저점);
}
근데 위에 식은 보기에 조건 즉시 만족 하는 것이 아니라 일단은 " DAY_저점 > C "
이부분이 만족해야 하니깐 결국 제가 하고 픈건 DAY_저점 이하가 되면 신호를 발생하기
위해 Sell("매도",AtStop,DAY_저점); 게 해 놓았는데
결국 신호 나오는건 보면 " DAY_저점 > C " 이 부분 때문에 조건 즉시 만족하면 나오는게
아니라 다음봉에 DAY_저점 보다 현재가가 낮다면 신호가 나옵니다.
그러면 .. 답변 해 주신대로 한다면 ..
IF MarketPosition() == 0
AND sTime < 143000
AND DAY_저점 < C
Then {
Sell("매도",AtStop,DAY_저점);
}
이렇게 하면 설명 하신대로 되어야 할꺼 같습니다.
즉 전봉에서 " DAY_저점 < C " 이라면 값을 셋팅하고 현재봉에서 DAY_저점 이하가 되면 매도가 들어 가라..
이렇게 이해하는게 설명해 주신 부분 대로 라면 맞는거 같은데..
문제는 물론 제가 의도 하는 바는 DAY_저점 이란 부분을 체크 해서 그 DAY_저점 이란 걸
깨게 되면 신호를 발생하고자 하는게 제 목적입니다.
한데 " AND DAY_저점 < C "
이렇게 조건을 넣게 되면 신호 자체가 발생을 하지 않습니다.
그렇다면
IF MarketPosition() == 0
AND sTime < 143000
Then {
Sell("매도",AtStop,DAY_저점);
}
조건을 체크 하는 부분을 빼면 신호가 나오냐... 그것도 신호 자체가 나오지 않습니다.
해서 어쩔수 없이
IF MarketPosition() == 0
AND sTime < 143000
AND DAY_저점 > C
Then {
Sell("매도",AtStop,DAY_저점);
}
이렇게 조건을 주면 종가가 DAY_저점 보다 낮다면 이란 신호를 넣게 되면 신호는
나오는데 AtStop 을 쓰면서 DAY_저점 이란 값 이하가 되면 바로 신호를 내게 할려고
했는 효과가 나질 않습니다.
왜 그럴까요..?
제가 뭘 할려고 하는지는 아시겠죠 ? 시원한 답변 부탁 드립니다..
답변 1
예스스탁 예스스탁 답변
2013-06-13 14:52:58
안녕하세요
예스스탁입니다.
수식작성에서 atstop을 사용할때 작성은 2가지 패턴이 있습니다.
올리신 내용이 매도이므로 sell만 예로 들어 드리면
1번 패턴(if문 없이 사용)
현재봉 완성시 값을 셋팅하고 다음봉의 시세가 셋팅된 값 이하이면 즉시 신호발생
Sell("s",AtStop,셋팅값);
2번 패턴(if문과 같이 사용)
현재봉 완성시 if조건이 만족하면 값을 셋팅하고
다음봉의 시세가 셋팅된 값 이하이면 즉시 신호발생
if 조건 then
Sell("s",AtStop,셋팅값);
1번 패턴에서 신호가 발생하지 않으면
완성봉 다음 봉의 시세 중에 셋팅된 값보다 작거나 같은 값이 발생하지 않았을 경우 입니다.
2번 패턴에서 신호가 발생하지 않으면
봉완성시 지정한 if조건이 만족하지 않거나
봉완성시 지정한 if조건은 만족해 값은 셋팅했지만
다음봉의 시세가 셋팅된 값보다 작거나 같은 값이 발생하지 않았을 경우 입니다.
즉 1번셋팅으로 신호가 발생하지 않으면 셋팅값(DAY_저점)에 문제가 있거나
동일포지션의 진입이 이미 들어가 있는 상태입니다.
02-3453-1060으로 전화주시기 바랍니다.
해당 부분은 원격으로 설명과 함께 처리해 드리도록 하겠습니다.
즐거운 하루되세요
> 뽀로로엄마 님이 쓴 글입니다.
> 제목 : AtStop , AtLimit 에 대해
> 저번에 AtStop , AtLimit 에 대해 질문을 드렸을때
특정값 이상의 시세가 발생할때 buy신호 발생하고자 하시면 atstop
특정값 이하의 시세가 발생할때 sell신호 발생하고자 하시면 atstop
근데... 또 다시 한번 질문 드리면서 뭐가 잘못 되었는지 한번 문의 드립니다.
IF MarketPosition() == 0
AND sTime < 143000
AND DAY_저점 > C
Then {
Sell("매도",AtStop,DAY_저점);
}
근데 위에 식은 보기에 조건 즉시 만족 하는 것이 아니라 일단은 " DAY_저점 > C "
이부분이 만족해야 하니깐 결국 제가 하고 픈건 DAY_저점 이하가 되면 신호를 발생하기
위해 Sell("매도",AtStop,DAY_저점); 게 해 놓았는데
결국 신호 나오는건 보면 " DAY_저점 > C " 이 부분 때문에 조건 즉시 만족하면 나오는게
아니라 다음봉에 DAY_저점 보다 현재가가 낮다면 신호가 나옵니다.
그러면 .. 답변 해 주신대로 한다면 ..
IF MarketPosition() == 0
AND sTime < 143000
AND DAY_저점 < C
Then {
Sell("매도",AtStop,DAY_저점);
}
이렇게 하면 설명 하신대로 되어야 할꺼 같습니다.
즉 전봉에서 " DAY_저점 < C " 이라면 값을 셋팅하고 현재봉에서 DAY_저점 이하가 되면 매도가 들어 가라..
이렇게 이해하는게 설명해 주신 부분 대로 라면 맞는거 같은데..
문제는 물론 제가 의도 하는 바는 DAY_저점 이란 부분을 체크 해서 그 DAY_저점 이란 걸
깨게 되면 신호를 발생하고자 하는게 제 목적입니다.
한데 " AND DAY_저점 < C "
이렇게 조건을 넣게 되면 신호 자체가 발생을 하지 않습니다.
그렇다면
IF MarketPosition() == 0
AND sTime < 143000
Then {
Sell("매도",AtStop,DAY_저점);
}
조건을 체크 하는 부분을 빼면 신호가 나오냐... 그것도 신호 자체가 나오지 않습니다.
해서 어쩔수 없이
IF MarketPosition() == 0
AND sTime < 143000
AND DAY_저점 > C
Then {
Sell("매도",AtStop,DAY_저점);
}
이렇게 조건을 주면 종가가 DAY_저점 보다 낮다면 이란 신호를 넣게 되면 신호는
나오는데 AtStop 을 쓰면서 DAY_저점 이란 값 이하가 되면 바로 신호를 내게 할려고
했는 효과가 나질 않습니다.
왜 그럴까요..?
제가 뭘 할려고 하는지는 아시겠죠 ? 시원한 답변 부탁 드립니다..