커뮤니티
시스템식 질문입니다
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%하락시 청산
감사합니다
다음글
이전글