커뮤니티

수식 문의(추가)

프로필 이미지
gt
2014-06-19 16:15:46
171
글번호 75967
답변완료
빠른 답변 감사드립니다. 아래 질문(36706)에 추가하여 재문의드립니다. 피라미딩 진입시 2개가 진입될 수 있고, 6개가 진입될 수가 있습니다. 진입의 해당 조건만 맞는다면 N번도 진입니다. 피라미딩 진입이 1~N개라고 했을때 마지막 N을 기준으로 다시한번 부탁드리겠습니다. 질문: 피라미딩 진입후 A => B => C 매수신호가 차례대로 발생했다고 했을때, 마지막 신호를 기준으로 M1이 M2를 두번 이상 Crossdown시 청산한다는 식 부탁드리겠습니다. 단, 마지막 발생신호의 이름은 항상 C가 아닙니다. 주신 답변: var : cnt(0); if MarketPosition == 1 Then{ //진입수량증가(진입발생) if CurrentContracts > CurrentContracts[1] Then Cnt = 0; if CrossDown(m1,m2) Then{ cnt = cnt+1; if cnt == 2 Then ExitLong(); } } 2. 해외선물 시장시간기준으로 08시 30분부터 15:15분까지만 매매하고자 합니다. 아래식같이 했는데 왜 다른 시간대에도 진입이 되는지 모르겠습니다. 차트는 시장시간으로 설정했습니다. if (MARKETPOSITION <= 0) AND (stime >= 083000) AND (time <= 151500) then { ~~~~ } 고개숙여 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-06-19 17:40:55

안녕하세요 예스스탁입니다. 1. var : cnt(0); if MarketPosition == 1 Then{ //진입수량증가(진입발생) if CurrentContracts > CurrentContracts[1] Then Cnt = 0; if CrossDown(m1,m2) Then{ cnt = cnt+1; if cnt == 2 Then ExitLong(); } } 기존 답변드린 내용이 첫진입이나 추가로 매수진입이 발생할 때마다 다시 크로스다운을 카운트하게 되어 있습니다. 추가진입횟수에 관계없이 사용할수 있습니다. 2. 올려주신 if문에는 문제가 없습니다. if (MARKETPOSITION <= 0) AND (stime >= 083000) AND (time <= 151500) then { if crossup(c,ma(c,20)) Then buy(); } if (MARKETPOSITION >= 0) AND (stime >= 083000) AND (time <= 151500) then { if CrossDown(c,ma(c,20)) Then sell(); } 위 식 적용해 보시면 해당 시간을 벗어나 신호가 발생하는게 없습니다. 첨부된 파일은 크로드오일 10분에 적용한 거래내역입니다. 신호의 시간확인하시기 바랍니다. 진입이 atstop,atlimit,atmaket이면 if조건만족 봉의 다음봉에 신호가 발생하므로 time <= 151500이므로 현재봉은 time이 15시 15분 이하이지만 다음봉은 해당 시간을 넘을수 있습니다. 즉 현재 해당식 작성한 조건상 위 타입을 사용하셨다면 time이 15시15분을 넘어가는 첫봉에는 나올수 있습니다. 해당 부분은 신호타입에 대해 아시고 계신사항이므로 해당 내용은 아니신거 같습니다. 지정한 if문에 벗어난 다른식이 있는지 확인하시기 바랍니다. 즐거운 하루되세요 > gt 님이 쓴 글입니다. > 제목 : 수식 문의(추가) > 빠른 답변 감사드립니다. 아래 질문(36706)에 추가하여 재문의드립니다. 피라미딩 진입시 2개가 진입될 수 있고, 6개가 진입될 수가 있습니다. 진입의 해당 조건만 맞는다면 N번도 진입니다. 피라미딩 진입이 1~N개라고 했을때 마지막 N을 기준으로 다시한번 부탁드리겠습니다. 질문: 피라미딩 진입후 A => B => C 매수신호가 차례대로 발생했다고 했을때, 마지막 신호를 기준으로 M1이 M2를 두번 이상 Crossdown시 청산한다는 식 부탁드리겠습니다. 단, 마지막 발생신호의 이름은 항상 C가 아닙니다. 주신 답변: var : cnt(0); if MarketPosition == 1 Then{ //진입수량증가(진입발생) if CurrentContracts > CurrentContracts[1] Then Cnt = 0; if CrossDown(m1,m2) Then{ cnt = cnt+1; if cnt == 2 Then ExitLong(); } } 2. 해외선물 시장시간기준으로 08시 30분부터 15:15분까지만 매매하고자 합니다. 아래식같이 했는데 왜 다른 시간대에도 진입이 되는지 모르겠습니다. 차트는 시장시간으로 설정했습니다. if (MARKETPOSITION <= 0) AND (stime >= 083000) AND (time <= 151500) then { ~~~~ } 고개숙여 감사드립니다.