커뮤니티
두번의 진입을 하려고 합니다.
2009-01-19 00:02:50
712
글번호 19620
안녕하세요 관리자님.
진입관련 질문있습니다.
9시와 9시1분에 양봉/음봉여부에 따라서
진입신호를 2번 주려고 합니다. 각각의 진입신호는 서로 독립적입니다.
제가 의도한 것은 9시에 양봉이면 매수/음봉이면 매도.
9시1분에 양봉이면 매수/음봉이면 매도이고.
청산은 9시에 진입한 신호는 14시59분 청산
9시1분 진입한 신호는 15시15분청산입니다.
그런데 진입관련 문제가 생기는 것은
9시 진입이 매수(+1)이고 9시1분진입이 매도(-1)인 경우,
제가 코딩을 한 의도는
9시 매수포지션진입(+1)
9시1분 매도포지션진입(-1) 총 (0)
이렇게 나오기를 원하는데요.
벡테스팅을 해보면
9시 매수포지션진입(+1)
9시1분 매수포지션청산(-1) 매도포지션진입(-1) 총 (-1)이 됩니다.
(다른진입신호 모두 허용으로 했습니다)
이를 방지하기 위해서 buy와 sell진입시 이름을 각각 써주었는데요.
해결이 안되네요. 답변 주세요.
항상 감사합니다.
아래는 식입니다.
var:dr(0),drr(0);
If stime==90000 Then
{
if C>O Then
{
Buy("B2long",OnClose,DEF,1);
drr=1;
}
Else
{
Sell("B2short",OnClose,DEF,1);
drr=2;
}
}
If stime==90100 Then
{
if C>O Then
{
Buy("B4long",OnClose,DEF,1);
dr=1;
}
Else
{
Sell("B4short",OnClose,DEF,1);
dr=2;
}
}
If stime==145900 Then
{
if drr==1 Then
{
exitlong("B2exLong",OnClose,DEF,"B2long",1);
drr=0;
}
Else If drr=2 Then
{
ExitShort("B2exShort",OnClose,DEF,"B2short",1);
drr=0;
}
}
If stime==151500 Then
{
if dr==1 Then
{
exitlong("B4exLong",OnClose,DEF,"B4long",1);
dr=0;
}
Else If dr=2 Then
{
ExitShort("B4exShort",OnClose,DEF,"B4short",1);
dr=0;
}
}
답변 1
예스스탁 예스스탁 답변
2009-01-19 22:24:21
안녕하세요? 예스스탁입니다.
아래와 같이 작성해 보았습니다.
var : drr(0), dr(0);
if date<> date[1] Then {
drr = 0;
dr = 0;
}
if stime == 90000 Then {
if C > O Then {
buy("B2long");
drr = 1;
}
if C < O Then {
sell("B2short");
drr = 1;
}
}
if stime == 90100 then {
if marketposition == 1 Then {
if C > O Then {
buy("B4long");
dr = 2;
}
if C < O Then
exitlong();
}
if marketposition == -1 then {
if C < O Then {
sell("B4short");
dr = 2;
}
if C > O Then
exitshort();
}
}
If stime==145900 Then
{
if drr==1 Then
{
exitlong("B2exLong",OnClose,DEF,"B2long",1);
drr=0;
}
Else If drr=2 Then
{
ExitShort("B2exShort",OnClose,DEF,"B2short",1);
drr=0;
}
}
If stime==151500 Then
{
if dr==2 Then
{
exitlong("B4exLong",OnClose,DEF,"B4long",1);
dr=0;
}
Else If dr=2 Then
{
ExitShort("B4exShort",OnClose,DEF,"B4short",1);
dr=0;
}
}
> 구름속태산 님이 쓴 글입니다.
> 제목 : 두번의 진입을 하려고 합니다.
> 안녕하세요 관리자님.
진입관련 질문있습니다.
9시와 9시1분에 양봉/음봉여부에 따라서
진입신호를 2번 주려고 합니다. 각각의 진입신호는 서로 독립적입니다.
제가 의도한 것은 9시에 양봉이면 매수/음봉이면 매도.
9시1분에 양봉이면 매수/음봉이면 매도이고.
청산은 9시에 진입한 신호는 14시59분 청산
9시1분 진입한 신호는 15시15분청산입니다.
그런데 진입관련 문제가 생기는 것은
9시 진입이 매수(+1)이고 9시1분진입이 매도(-1)인 경우,
제가 코딩을 한 의도는
9시 매수포지션진입(+1)
9시1분 매도포지션진입(-1) 총 (0)
이렇게 나오기를 원하는데요.
벡테스팅을 해보면
9시 매수포지션진입(+1)
9시1분 매수포지션청산(-1) 매도포지션진입(-1) 총 (-1)이 됩니다.
(다른진입신호 모두 허용으로 했습니다)
이를 방지하기 위해서 buy와 sell진입시 이름을 각각 써주었는데요.
해결이 안되네요. 답변 주세요.
항상 감사합니다.
아래는 식입니다.
var:dr(0),drr(0);
If stime==90000 Then
{
if C>O Then
{
Buy("B2long",OnClose,DEF,1);
drr=1;
}
Else
{
Sell("B2short",OnClose,DEF,1);
drr=2;
}
}
If stime==90100 Then
{
if C>O Then
{
Buy("B4long",OnClose,DEF,1);
dr=1;
}
Else
{
Sell("B4short",OnClose,DEF,1);
dr=2;
}
}
If stime==145900 Then
{
if drr==1 Then
{
exitlong("B2exLong",OnClose,DEF,"B2long",1);
drr=0;
}
Else If drr=2 Then
{
ExitShort("B2exShort",OnClose,DEF,"B2short",1);
drr=0;
}
}
If stime==151500 Then
{
if dr==1 Then
{
exitlong("B4exLong",OnClose,DEF,"B4long",1);
dr=0;
}
Else If dr=2 Then
{
ExitShort("B4exShort",OnClose,DEF,"B4short",1);
dr=0;
}
}
다음글