커뮤니티

시스템식 질문입니다

프로필 이미지
파인애플
2010-12-27 21:25:17
718
글번호 34605
답변완료
1 001 시스템 : 매수조건1 매수청산1 002 시스템 : 매수조건2 매수청산2 을 시스템합성관리자로 이용하여 00시스템을 실행하였습니다 매수1 090500 시그널 나오고 매수2 090600 시그널 나왔는데 청산1 에서 매수1,2 가 모두 청산이 되는 오류가 나왔는데 로직에서 어떻게 관리를 해야 하나요? 2 시스템 트레이딩 설정 창에있는 피라미딩 설정에서 위의 같은 경우가 허용안함 다른진입신호만허용 모든진입신호허용 중 어떤것을 선택해야 하나요? 3 매수== 시가*1.10 돌파시 매수 청산== 최고가 대비 20% 하락시 청산 재매수== 청산이후의 값들중에서 최소값을찾고 대비 20%돌파시 재매수, 횟수제한:5회 재청산== 최고가대비20%하락시 청산 감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-12-28 14:08:21

안녕하세요 예스스탁입니다. 1. 시스템합성관리자는 or로 묶이게 됩니다. if 매수조건1 or 매수조건2 then buy(); if 매수청산1 or 매수청산2 then exitlong(); 과 같이 2개중 먼저 만족한 조건으로 진입 두개중 먼저 만족한 조건으로 청산입니다. 각 진입별로 따로 청산을 하시고자 하시면 따로 하나의 식으로 작성하셔야 합니다. 즉 합성관리자로는 제어가 안되며 새로운 식을 하나 만드셔야 합니다. if 매수조건1 then buy("b1"); if 매수조건2 then buy("b2"); if 매수청산1 then exitlong("x1",OnClose,def,"b1"); if 매수청산2 then exitlong("x2",OnClose,def,"b2"); 2. 진입을 누적하시므로 피라미딩 기능을 사용하셔야 하며 동일 신호를 반복적으로 누적하실 것이 아니시면 다른진입신호만 허용으로 설정하시면 됩니다. 즉 매수1이나 매수2가 한번씩만 발동하여 누적되게 됩니다. 3. var : cnt(0),count(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if crossup(C,dayopen*1.10) and count < 1 Then buy(); if crossup(C,lowest(L,BarsSinceExit(1))*1.20) and count >= 1 and count < 5 Then buy(); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(h,BarsSinceEntry)*0.8); 즐거운 하루되세요 > 파인애플 님이 쓴 글입니다. > 제목 : 시스템식 질문입니다 > 1 001 시스템 : 매수조건1 매수청산1 002 시스템 : 매수조건2 매수청산2 을 시스템합성관리자로 이용하여 00시스템을 실행하였습니다 매수1 090500 시그널 나오고 매수2 090600 시그널 나왔는데 청산1 에서 매수1,2 가 모두 청산이 되는 오류가 나왔는데 로직에서 어떻게 관리를 해야 하나요? 2 시스템 트레이딩 설정 창에있는 피라미딩 설정에서 위의 같은 경우가 허용안함 다른진입신호만허용 모든진입신호허용 중 어떤것을 선택해야 하나요? 3 매수== 시가*1.10 돌파시 매수 청산== 최고가 대비 20% 하락시 청산 재매수== 청산이후의 값들중에서 최소값을찾고 대비 20%돌파시 재매수, 횟수제한:5회 재청산== 최고가대비20%하락시 청산 감사합니다