커뮤니티
질문있습니다
2012-08-21 14:43:48
278
글번호 53970
스토캐스틱 70하향이탈하는 시점을 카운트하려고 합니다
var:value(0),cnt(0);
if date<>date[1] Then
cnt=0;
var10=StochasticsK(12,5);
if CrossDown(var10, 70) Then
cnt=cnt+1;
if MarketPosition==0 and
Entriestoday==0 and
cnt==1 and
c>dayopen and
CrossDown(var10, 70) Then{
sell();
}
if marketposition==-1 and
crossup(var10,30) then
exitshort();
위식처럼 첫번째 하향이탈시점이 cnt==0일때가 아니고 cnt==1일때 진입을 확인했습니다
원래의도는 cnt==0일때(처음하향이탈시) 진입하는것인데 cnt==0으로 하면 진입신호가 나오지 않습니다 제가 식의 어느부분을 잘못이해하고 있는것인지 설명부탁드립니다
답변 1
예스스탁 예스스탁 답변
2012-08-21 15:44:37
안녕하세요
예스스탁입니다.
작성하신 식에서 첫봉에서 cnt는 0이되고
cnt가 0이라고 하는 것은 당일 장중
70하향이탈이 한번도 일어난적이 없다는 것을 의미합니다.
if CrossDown(var10, 70) Then
cnt=cnt+1;
위 조건이 만족하면 cnt가 1씩 증가를 합니다.
진입식에서 현재봉에서 70을 하향이탈했다는 내용의 표현이 있으므로
그보다 위에 있는 조건식에 의해 cnt가 1이 된 상태입니다.
그러므로 당일 첫번째 데드크로스는 cnt == 1일 때입니다
즉 진입조건문 보다 위에서 70을 하향이탈하면 cnt값을 1씩 증가하는
수식이 있으므로 진입조건문에서 cnt == 0으로 사용하면
당일 아직 70을 하향이탈한적이 없고 현재봉에서 70을 하향이탈이라는 논리상 맞지않는 식이 됩니다.
if MarketPosition==0 and
Entriestoday==0 and
cnt==1 and
c>dayopen and
CrossDown(var10, 70) Then{
sell();
}
당일 첫번째 70을 하향이탈할때는
기존에 작성하신 내용이 맞습니다.
즐거운 하루되세요
> 공부중 님이 쓴 글입니다.
> 제목 : 질문있습니다
> 스토캐스틱 70하향이탈하는 시점을 카운트하려고 합니다
var:value(0),cnt(0);
if date<>date[1] Then
cnt=0;
var10=StochasticsK(12,5);
if CrossDown(var10, 70) Then
cnt=cnt+1;
if MarketPosition==0 and
Entriestoday==0 and
cnt==1 and
c>dayopen and
CrossDown(var10, 70) Then{
sell();
}
if marketposition==-1 and
crossup(var10,30) then
exitshort();
위식처럼 첫번째 하향이탈시점이 cnt==0일때가 아니고 cnt==1일때 진입을 확인했습니다
원래의도는 cnt==0일때(처음하향이탈시) 진입하는것인데 cnt==0으로 하면 진입신호가 나오지 않습니다 제가 식의 어느부분을 잘못이해하고 있는것인지 설명부탁드립니다
다음글