커뮤니티
진입횟수 질문입니다.
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");
감사합니다.
다음글
이전글