커뮤니티

재진입 관련 매매신호 차이 문의

프로필 이미지
새로운세상
2011-04-04 10:00:35
729
글번호 37207
답변완료
안녕하세요... 좋은 주말되셨는지요. 지난주 재진입관련 답변해주신 부분을 주말에 test해 보고, 문의드립니다. (참고 17881) [문의드린 수식] //진입(1) If DayIndex==0 Then { if 조건1 then Buy("b1"); if 조건2 then Sell("s1"); } //진입(2) If MarketPodition==0 and stime>=103000 Then { if 조건3 then Buy("b2"); if 조건4 then Sell("s2"); } //청산 If MarketPodition==1 and stime>=103000 Then { if 조건4 then ExitLong("xb"); } If MarketPodition==-1 and stime>=103000 Then { if 조건3 then ExitShort("xs"); } SetStopEndofday(145000); 위의 수식을 다음과 같은 내용으로 수정 부탁드립니다. 1) 만약 첫봉에서 진입(1)이 발생하지 않았다면, 현재와 같은 방식으로 진입(2)와 청산이 반복됨 (10:30이후 매수,매도 진입과 청산) 2) 만약 첫봉에서 진입(1)이 발생하였다면, 조건4,3에 의하여 청산으로 무포지션이 된 후 진입(2) 발생시, 진입(1)과 동일방향의 신호로만 진입(2)가 발생할 수 있도록 하고 싶습니다. <첫봉 매수진입시 --> 10:30이후 매수청산 발생 --> 이후 진입(2) 발생시 매수진입만 --> 이후 청산과 진입(2)의 매수진입 반복 첫봉 매도진입시 --> 10:30이후 매도청산 발생 --> 이후 진입(2) 발생시 매도진입만 --> 이후 청산과 진입(2)의 매도진입 반복> [답변해주신 수식] //진입(1) If DayIndex==0 Then { Condition1 = false; Condition2 = false; if 조건1 then{ Buy("b1"); Condition1 = true; } if 조건2 then { Sell("s1"); Condition2 = true; } } //진입(2) If MarketPosition==0 and stime>=103000 Then { if ((Condition1 == false and Condition2 == false) or Condition1 == true) and 조건3 then Buy("b2"); if ((Condition1 == false and Condition2 == false) or Condition2 == true) and 조건4 then Sell("s2"); } //청산 If MarketPosition==1 and stime>=103000 Then { if 조건4 then ExitLong("xb"); } If MarketPosition==-1 and stime>=103000 Then { if 조건3 then ExitShort("xs"); } SetStopEndofday(145000); ----------------------------------- test 결과 작성해주신 내용이 제가 의도한 바와 맞습니다. 그런데 한가지 궁금한 점이 있는데, 진입(1)에서 매매신호가 발생 안하고, 진입(2)에서 첫매매신호가 발생하였을 때 두 수식의 내용상 진입(2)의 진입시점이 일치하여야 할 것 같은데, 그렇지 않은 경우가 가끔씩 발생하는데 어떤 경우에 이런 문제가 발생할 수 있는지요? (현재 20회 거래당 1회정도 발생) 우선 결과 및 제가 생각한 바를 말씀드리면, 1) 진입(1)에서 거래가 없었고, 진입(2)의 첫거래에서의 문제이므로 PositionProfit 함수와는 상관이 없을 것으로 판단됨 2) 청산부분은 별다른 차이를 발견하지 못하였슴 3) 진입(1)에서 Condition1, Condition2는 진입(1)에 영향을 미치지 않고 진입(2)에 영향을 미칠 수 있슴...진입(1)은 DayIndex==0 에서 작동하므로.. 4) 그래서 결론은 혹시 진입(2)의 ((Condition1 == false and Condition2 == false) or Condition1 == true) 와 ((Condition1 == false and Condition2 == false) or Condition2 == true) 에서 무언가 진입시점이 달라질 수 있는 것이 아닌지 생각되는데, 이역시 진입(1)의 발생이 없고, 진입(2)의 첫진입발생된 대부분은 정상적으로 동일한 시점에서 일어나고 있어 헷갈리고 있습니다. 5) 수수료, 슬리피지는 동일하게 설정되었고, 수식 및 기타 챠트 등 설정사항 동일한 상태임 6) 수식을 정확히 보지 않고 답변해주시기 어려운 점이 있으시겠지만, 어떤 경우에 이런 일이 발생할 수 있는지 혹시 답변 가능하시면 부탁드리겠습니다. ## 아무리 생각해봐도 condition1, condition2가 추가되었어도, 진입(1)의 발생이 없었다면 진입(2)의 첫진입시점은 동일해야 할 것 같은데 이유를 모르겠습니다. 이상입니다. 봄날이 완연합니다. 환절기에 건강 유의하시고... 그럼 안녕히 계세요 !!!
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-04-04 17:42:40

안녕하세요 예스스탁입니다. 해당 부분은 조건 1,2,3,4를 좀 살펴봐야 할 것 같습니다. 오늘 밤이나 내일 오전에 전화드리도록 하겠습니다. 즐거운 하루되세요 > 새로운세상 님이 쓴 글입니다. > 제목 : 재진입 관련 매매신호 차이 문의 > 안녕하세요... 좋은 주말되셨는지요. 지난주 재진입관련 답변해주신 부분을 주말에 test해 보고, 문의드립니다. (참고 17881) [문의드린 수식] //진입(1) If DayIndex==0 Then { if 조건1 then Buy("b1"); if 조건2 then Sell("s1"); } //진입(2) If MarketPodition==0 and stime>=103000 Then { if 조건3 then Buy("b2"); if 조건4 then Sell("s2"); } //청산 If MarketPodition==1 and stime>=103000 Then { if 조건4 then ExitLong("xb"); } If MarketPodition==-1 and stime>=103000 Then { if 조건3 then ExitShort("xs"); } SetStopEndofday(145000); 위의 수식을 다음과 같은 내용으로 수정 부탁드립니다. 1) 만약 첫봉에서 진입(1)이 발생하지 않았다면, 현재와 같은 방식으로 진입(2)와 청산이 반복됨 (10:30이후 매수,매도 진입과 청산) 2) 만약 첫봉에서 진입(1)이 발생하였다면, 조건4,3에 의하여 청산으로 무포지션이 된 후 진입(2) 발생시, 진입(1)과 동일방향의 신호로만 진입(2)가 발생할 수 있도록 하고 싶습니다. <첫봉 매수진입시 --> 10:30이후 매수청산 발생 --> 이후 진입(2) 발생시 매수진입만 --> 이후 청산과 진입(2)의 매수진입 반복 첫봉 매도진입시 --> 10:30이후 매도청산 발생 --> 이후 진입(2) 발생시 매도진입만 --> 이후 청산과 진입(2)의 매도진입 반복> [답변해주신 수식] //진입(1) If DayIndex==0 Then { Condition1 = false; Condition2 = false; if 조건1 then{ Buy("b1"); Condition1 = true; } if 조건2 then { Sell("s1"); Condition2 = true; } } //진입(2) If MarketPosition==0 and stime>=103000 Then { if ((Condition1 == false and Condition2 == false) or Condition1 == true) and 조건3 then Buy("b2"); if ((Condition1 == false and Condition2 == false) or Condition2 == true) and 조건4 then Sell("s2"); } //청산 If MarketPosition==1 and stime>=103000 Then { if 조건4 then ExitLong("xb"); } If MarketPosition==-1 and stime>=103000 Then { if 조건3 then ExitShort("xs"); } SetStopEndofday(145000); ----------------------------------- test 결과 작성해주신 내용이 제가 의도한 바와 맞습니다. 그런데 한가지 궁금한 점이 있는데, 진입(1)에서 매매신호가 발생 안하고, 진입(2)에서 첫매매신호가 발생하였을 때 두 수식의 내용상 진입(2)의 진입시점이 일치하여야 할 것 같은데, 그렇지 않은 경우가 가끔씩 발생하는데 어떤 경우에 이런 문제가 발생할 수 있는지요? (현재 20회 거래당 1회정도 발생) 우선 결과 및 제가 생각한 바를 말씀드리면, 1) 진입(1)에서 거래가 없었고, 진입(2)의 첫거래에서의 문제이므로 PositionProfit 함수와는 상관이 없을 것으로 판단됨 2) 청산부분은 별다른 차이를 발견하지 못하였슴 3) 진입(1)에서 Condition1, Condition2는 진입(1)에 영향을 미치지 않고 진입(2)에 영향을 미칠 수 있슴...진입(1)은 DayIndex==0 에서 작동하므로.. 4) 그래서 결론은 혹시 진입(2)의 ((Condition1 == false and Condition2 == false) or Condition1 == true) 와 ((Condition1 == false and Condition2 == false) or Condition2 == true) 에서 무언가 진입시점이 달라질 수 있는 것이 아닌지 생각되는데, 이역시 진입(1)의 발생이 없고, 진입(2)의 첫진입발생된 대부분은 정상적으로 동일한 시점에서 일어나고 있어 헷갈리고 있습니다. 5) 수수료, 슬리피지는 동일하게 설정되었고, 수식 및 기타 챠트 등 설정사항 동일한 상태임 6) 수식을 정확히 보지 않고 답변해주시기 어려운 점이 있으시겠지만, 어떤 경우에 이런 일이 발생할 수 있는지 혹시 답변 가능하시면 부탁드리겠습니다. ## 아무리 생각해봐도 condition1, condition2가 추가되었어도, 진입(1)의 발생이 없었다면 진입(2)의 첫진입시점은 동일해야 할 것 같은데 이유를 모르겠습니다. 이상입니다. 봄날이 완연합니다. 환절기에 건강 유의하시고... 그럼 안녕히 계세요 !!!