커뮤니티

진입횟수 질문입니다.

프로필 이미지
골드핑거
2011-06-06 16:00:28
710
글번호 39435
답변완료
수고많으십니다. 진입횟수에 대한 질문입니다. FX 시스템트레이딩에서 1. 진입조건 식 가. 진입조건1에 If marketposition==0 and 진입조건 then (); 나. 진입조건2에 If marketposition==0 and CurrentEntries < 2 and 진입조건 then(); 라고 했는데 진입결과를 보면 buy포지션2, sell 포지션1개가 들어가 있더군요 물론 매매설정창에서 피라미딩을 설정한했습니다. 2. 조건식에 if marketposition>=0 and 진입조건 then (); 일경우에도 피라미딩을 설정하지 않았는데 진입포지션이 동일 방향 3개가 진입되어 있더군요 이경우 시뮬레이션에서는 1개의 포지션만 유지하는데 말입니다. 진입포지션을 동일방향으로 1개, 2개, 3개 지정설정하는 식을 부탁드립니다. 3. 만일 조건식에서 marketposition==0로 하고 매매설정창에서 피라미딩설정을 하면 진입횟수를 횟수를 제한할 수 있나요? 4. 아래수식 검토부탁드립니다. 가. 문제점 : 진입즉시 해당봉에서 청산됨 매수진입이 안되고 매도만 진입됨(최초 진입방향대로만 이후 진입) 나. 위 문제해결후 리버스 진입식을 부탁드입니다. 다시말해 buy 손절후 즉시 sell 진입, sell 손절후 buy 동시진입 inputs : hlc(10), p1(10), p2(30),egc(0.0001), lb(3),rb(3),rb2(2),alb(30); var:aa(0); var1=Average(abs(c-o),p1); var2=Average(abs(c-o),p2); var3=swinghigh(1,H,lb,rb,alb)-SwingLow(1,L,lb,rb,alb)/ SwingLowBar(1,L,lb,rb,alb)-SwingHighBar(1,H,lb,rb,alb);//buy 기울기 var4=swinghigh(1,H,lb,rb,alb)-SwingLow(1,L,lb,rb,alb)/ SwingHighBar(1,H,lb,rb,alb)-SwingLowBar(1,L,lb,rb,alb);//sell 기울기 //cond if SwingLowBar(1,L,lb,rb,alb)>SwingHighBar(1,H,lb,rb,alb) and swinghigh(1,H,lb,rb,alb)-SwingLow(1,L,lb,rb,alb)>var2*hlc Then condition1=true; value1=SwingLow(1,L,lb,rb,alb); value2=swinghigh(1,H,lb,rb,alb); if SwinghighBar(1,H,lb,rb,alb)>SwinglowBar(1,L,lb,rb,alb) and swinghigh(1,H,lb,rb,alb)-SwingLow(1,L,lb,rb,alb)>var2*hlc Then condition2=true; value3=swinghigh(1,H,lb,rb,alb); value4=SwingLow(1,L,lb,rb,alb); if MarketPosition(1)==1 and BarsSinceExit(1)==1 Then Condition1=false; if MarketPosition(1)==-1 and BarsSinceExit(1)==1 Then Condition2=false; //진입 if MarketPosition==0 and condition1==True Then buy("b",atstop, value2-egc); if MarketPosition==0 and condition2==True Then sell("s",atstop, value4+egc); //청산 if MarketPosition==1 and swinghigh(1,H,lb,rb2,lb+rb2+1)>C and BarsSinceEntry(1)>1 Then exitlong("xl"); if MarketPosition==-1 and swinglow(1,L,lb,rb,lb+rb+1)<C and BarsSinceEntry(1)>1 Then exitshort("xs"); 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-06-07 13:58:55

안녕하세요 예스스탁입니다. marketpositio == 0 은 차트상 무포지션일때만 조건이 만족하면 신호가 발생하라는 내용입니다. 그러므로 가. If marketposition==0 and 진입조건 then (); 나. If marketposition==0 and CurrentEntries < 2 and 진입조건 then(); 2개의 식은 같은 동작을 하는 식입니다. 즉 무포지션일때 진입조건만족하면 한번만 신호가 발생합니다 marketposition==0 을 사용하면 CurrentEntries < 2은 의미가 없는 표현입니다. 나머지 내용은 식만으로는 어떻게 손을 봐드려야 할지 모르겟습니다. 전화주시기 바랍니다. 02-3453-1060 즐거운 하루되세요 > 골드핑거 님이 쓴 글입니다. > 제목 : 진입횟수 질문입니다. > 수고많으십니다. 진입횟수에 대한 질문입니다. FX 시스템트레이딩에서 1. 진입조건 식 가. 진입조건1에 If marketposition==0 and 진입조건 then (); 나. 진입조건2에 If marketposition==0 and CurrentEntries < 2 and 진입조건 then(); 라고 했는데 진입결과를 보면 buy포지션2, sell 포지션1개가 들어가 있더군요 물론 매매설정창에서 피라미딩을 설정한했습니다. 2. 조건식에 if marketposition>=0 and 진입조건 then (); 일경우에도 피라미딩을 설정하지 않았는데 진입포지션이 동일 방향 3개가 진입되어 있더군요 이경우 시뮬레이션에서는 1개의 포지션만 유지하는데 말입니다. 진입포지션을 동일방향으로 1개, 2개, 3개 지정설정하는 식을 부탁드립니다. 3. 만일 조건식에서 marketposition==0로 하고 매매설정창에서 피라미딩설정을 하면 진입횟수를 횟수를 제한할 수 있나요? 4. 아래수식 검토부탁드립니다. 가. 문제점 : 진입즉시 해당봉에서 청산됨 매수진입이 안되고 매도만 진입됨(최초 진입방향대로만 이후 진입) 나. 위 문제해결후 리버스 진입식을 부탁드입니다. 다시말해 buy 손절후 즉시 sell 진입, sell 손절후 buy 동시진입 inputs : hlc(10), p1(10), p2(30),egc(0.0001), lb(3),rb(3),rb2(2),alb(30); var:aa(0); var1=Average(abs(c-o),p1); var2=Average(abs(c-o),p2); var3=swinghigh(1,H,lb,rb,alb)-SwingLow(1,L,lb,rb,alb)/ SwingLowBar(1,L,lb,rb,alb)-SwingHighBar(1,H,lb,rb,alb);//buy 기울기 var4=swinghigh(1,H,lb,rb,alb)-SwingLow(1,L,lb,rb,alb)/ SwingHighBar(1,H,lb,rb,alb)-SwingLowBar(1,L,lb,rb,alb);//sell 기울기 //cond if SwingLowBar(1,L,lb,rb,alb)>SwingHighBar(1,H,lb,rb,alb) and swinghigh(1,H,lb,rb,alb)-SwingLow(1,L,lb,rb,alb)>var2*hlc Then condition1=true; value1=SwingLow(1,L,lb,rb,alb); value2=swinghigh(1,H,lb,rb,alb); if SwinghighBar(1,H,lb,rb,alb)>SwinglowBar(1,L,lb,rb,alb) and swinghigh(1,H,lb,rb,alb)-SwingLow(1,L,lb,rb,alb)>var2*hlc Then condition2=true; value3=swinghigh(1,H,lb,rb,alb); value4=SwingLow(1,L,lb,rb,alb); if MarketPosition(1)==1 and BarsSinceExit(1)==1 Then Condition1=false; if MarketPosition(1)==-1 and BarsSinceExit(1)==1 Then Condition2=false; //진입 if MarketPosition==0 and condition1==True Then buy("b",atstop, value2-egc); if MarketPosition==0 and condition2==True Then sell("s",atstop, value4+egc); //청산 if MarketPosition==1 and swinghigh(1,H,lb,rb2,lb+rb2+1)>C and BarsSinceEntry(1)>1 Then exitlong("xl"); if MarketPosition==-1 and swinglow(1,L,lb,rb,lb+rb+1)<C and BarsSinceEntry(1)>1 Then exitshort("xs"); 감사합니다.