커뮤니티

질문있습니다

프로필 이미지
공부중
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으로 하면 진입신호가 나오지 않습니다 제가 식의 어느부분을 잘못이해하고 있는것인지 설명부탁드립니다