커뮤니티

시스템식 문의드립니다.

프로필 이미지
때기리
2013-04-02 22:13:57
203
글번호 61600
답변완료
안녕하세요.. 너무 안돼서 문의드립니다. 분봉상에서 일봉상의 이평과 맞닿는 부분에서 익절을 하려고 합니다. 허나 이게 잘 안돼네요. 진입조건 if 매수조건 then buy("b",onclose,def,4); if 매도조건 then sell("s",onclose,def,4); 청산조건 일단 일봉상 5이평과 20이평을 이용하여 분할청산하려고 합니다. 당일의 시가가 5이평과 20이평 위에서 3포인트 이상 떠서 시작하고 진입식이 매도가 나오고 밑으로 빠질때 5이평과 20이평에 닿을때마다 하나씩 청산하려 합니다. 그래서 제가 작성한 것이 if marketposition == -1 then { if dayopen - mav1(일봉 5이평) >= 3 then exitshort("sx",atlimit,mav1,"",1); # 하나 청산 if dayopen - mav2(일봉 20이평) >= 3 then exitshort("sx1",atlimit,mav1,"",1); # 하나 청산 } 이런식으로 분할 조건을 넣었는데 이상한 자리에서 신호가 나오고 5이평만 닿았는데도 두가지 청산조건이 한자리에서 다 나와버리고 하네요. 머리를 싸메고 해봐도 안됩니다. 조언 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-04-03 09:44:51

안녕하세요 예스스탁입니다. 청산함수의 일곱번째 인자가 청산옵션입니다. 전체수량에서 지정된 수량만큼만 청산할때는 1로 지정하셔야 합니다. 생략하면 0으로 진입신호 전체에서 각 지정수량만큼 청산합니다. 청산함수도움말 참고하시기 바랍니다. input : P1(5),P2(20); var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0); sum1 = 0; sum2 = 0; for cnt = 0 to P2{ if cnt < P1 Then sum1 = sum1+DayClose(cnt); if cnt < P2 Then sum2 = sum2+DayClose(cnt); } mav1 = sum1/P1; mav2 = sum2/P2; if marketposition == -1 then { if dayopen - mav1 >= 3 and L > mav1 then exitshort("sx1",atlimit,mav1,"",1,1); if dayopen - mav2 >= 3 and L > mav2 then exitshort("sx2",atlimit,mav2,"",1,1); } 즐거운 하루되세요 > 때기리 님이 쓴 글입니다. > 제목 : 시스템식 문의드립니다. > 안녕하세요.. 너무 안돼서 문의드립니다. 분봉상에서 일봉상의 이평과 맞닿는 부분에서 익절을 하려고 합니다. 허나 이게 잘 안돼네요. 진입조건 if 매수조건 then buy("b",onclose,def,4); if 매도조건 then sell("s",onclose,def,4); 청산조건 일단 일봉상 5이평과 20이평을 이용하여 분할청산하려고 합니다. 당일의 시가가 5이평과 20이평 위에서 3포인트 이상 떠서 시작하고 진입식이 매도가 나오고 밑으로 빠질때 5이평과 20이평에 닿을때마다 하나씩 청산하려 합니다. 그래서 제가 작성한 것이 if marketposition == -1 then { if dayopen - mav1(일봉 5이평) >= 3 then exitshort("sx",atlimit,mav1,"",1); # 하나 청산 if dayopen - mav2(일봉 20이평) >= 3 then exitshort("sx1",atlimit,mav1,"",1); # 하나 청산 } 이런식으로 분할 조건을 넣었는데 이상한 자리에서 신호가 나오고 5이평만 닿았는데도 두가지 청산조건이 한자리에서 다 나와버리고 하네요. 머리를 싸메고 해봐도 안됩니다. 조언 부탁드립니다.