커뮤니티
문의요
2011-04-27 22:58:08
720
글번호 38045
안녕하세요?
아래 시스템식에서..
"Condition1= date==exitdate(1) And marketposition(1)==1; //최근청산날짜가 금일이고 직전이 매수
Condition2= date==exitdate(1) And marketposition(1)==-1;//최근청산날짜가 금일이고 직전이 매도 "
의 의미를 잘모르겠습니다.
설명 부탁드려요.
//출처 : 7th감각 시스템트레이딩, p218
input : len(3.2), len1(0.34);
//디마크 설정
If dayOpen>dayClose(1) Then { //시가가 전일종가보다 크면
Var1=(dayHigh(1)+dayClose(1)+2*dayLow(1))/2-dayLow(1);
Var2=(dayHigh(1)+dayClose(1)+2*dayLow(1))/2-dayHigh(1);
}
Else if dayOpen<dayClose(1) Then {//시가가 전일종가보다 작으면
Var1=(2*dayHigh(1)+dayClose(1)+dayLow(1))/2-dayLow(1);
Var2=(2*dayHigh(1)+dayClose(1)+dayLow(1))/2-dayHigh(1);
}
Else {//두조건다 아니라면
Var1=(dayHigh(1)+2*dayClose(1)+dayLow(1))/2-dayLow(1);
Var2=(dayHigh(1)+2*dayClose(1)+dayLow(1))/2-dayHigh(1);
}
Condition1= date==exitdate(1) And marketposition(1)==1; //최근청산날짜가 금일이고 직전이 매수
Condition2= date==exitdate(1) And marketposition(1)==-1;//최근청산날짜가 금일이고 직전이 매도
//진입
If stime < 150000 Then {
If Condition1==False and MarketPosition <> 1 Then {
If dayOpen>var1 Then //시가가 var1보다 크면
buy("매수1",Atstop,dayOpen+(Var1-var2)*len1);//지정가 상향돌파시 매수
If dayOpen<var2 Then //시가가 var2보다 작으면
buy("매수4",Atstop,Var2); //지정가 상향돌파시 매수
}
If Condition2==False and MarketPosition <> -1 Then {
If dayOpen>var1 Then //시가가 var1보다 크면
sell("매도1",Atstop,Var1);//지정가 하향돌파시 매도
If dayOpen<var2 Then //시가가 var2보다 작으면
sell("매도4",Atstop,dayOpen-(Var1-var2)*len1); //지정가 하향돌파시 매도
}
}
//청산
If marketposition<>0 Then {
exitlong("매수청산",Atstop,highest(high,barssinceentry+1)-atr(20)*len);
exitshort("매도청산",Atstop,lowest(low,barssinceentry+1)+atr(20)*len);
}
답변 1
예스스탁 예스스탁 답변
2011-04-28 09:36:02
안녕하세요
예스스탁입니다.
condition1은 당일 매수포지션에 대해 청산이 있었으면 true 아니면 false
condition2은 당일 매도포지션에 대해 청산이 있었으면 true 아니면 false
라는 내용으로 하루에 한번씩만 각방향으로 거래하겠다는 내용으로
식에 사용되었습니다.
즐거운 하루되세요
> 도시군인 님이 쓴 글입니다.
> 제목 : 문의요
> 안녕하세요?
아래 시스템식에서..
"Condition1= date==exitdate(1) And marketposition(1)==1; //최근청산날짜가 금일이고 직전이 매수
Condition2= date==exitdate(1) And marketposition(1)==-1;//최근청산날짜가 금일이고 직전이 매도 "
의 의미를 잘모르겠습니다.
설명 부탁드려요.
//출처 : 7th감각 시스템트레이딩, p218
input : len(3.2), len1(0.34);
//디마크 설정
If dayOpen>dayClose(1) Then { //시가가 전일종가보다 크면
Var1=(dayHigh(1)+dayClose(1)+2*dayLow(1))/2-dayLow(1);
Var2=(dayHigh(1)+dayClose(1)+2*dayLow(1))/2-dayHigh(1);
}
Else if dayOpen<dayClose(1) Then {//시가가 전일종가보다 작으면
Var1=(2*dayHigh(1)+dayClose(1)+dayLow(1))/2-dayLow(1);
Var2=(2*dayHigh(1)+dayClose(1)+dayLow(1))/2-dayHigh(1);
}
Else {//두조건다 아니라면
Var1=(dayHigh(1)+2*dayClose(1)+dayLow(1))/2-dayLow(1);
Var2=(dayHigh(1)+2*dayClose(1)+dayLow(1))/2-dayHigh(1);
}
Condition1= date==exitdate(1) And marketposition(1)==1; //최근청산날짜가 금일이고 직전이 매수
Condition2= date==exitdate(1) And marketposition(1)==-1;//최근청산날짜가 금일이고 직전이 매도
//진입
If stime < 150000 Then {
If Condition1==False and MarketPosition <> 1 Then {
If dayOpen>var1 Then //시가가 var1보다 크면
buy("매수1",Atstop,dayOpen+(Var1-var2)*len1);//지정가 상향돌파시 매수
If dayOpen<var2 Then //시가가 var2보다 작으면
buy("매수4",Atstop,Var2); //지정가 상향돌파시 매수
}
If Condition2==False and MarketPosition <> -1 Then {
If dayOpen>var1 Then //시가가 var1보다 크면
sell("매도1",Atstop,Var1);//지정가 하향돌파시 매도
If dayOpen<var2 Then //시가가 var2보다 작으면
sell("매도4",Atstop,dayOpen-(Var1-var2)*len1); //지정가 하향돌파시 매도
}
}
//청산
If marketposition<>0 Then {
exitlong("매수청산",Atstop,highest(high,barssinceentry+1)-atr(20)*len);
exitshort("매도청산",Atstop,lowest(low,barssinceentry+1)+atr(20)*len);
}