커뮤니티
스탑로스에 관한 질문입니다.(질문 2가지)
2005-10-28 08:22:40
1730
글번호 8632
[질문 1]
귀사의 수식작성 예제에 보면...
[주가가 파라볼릭을 상향돌파할때 매수, 하향이탈할때 매도, 매수거래의 강제청산은 0.8% , 매도거래의 강제청산은 0.7%] 의 시스템 수식으로 아래와 같이 수식을 작성하셨습니다.
[시스템식]
Input : af(0.02), maxAF(0.2);
Var : value(0);
value = sar(af,maxAF);
If CrossUp(C,value) Then {
Buy();
setstoploss(0.8);
}
If CrossDown(C,value) Then {
Sell();
setstoploss(0.7);
}
여기서 이해가 잘 안되는 것이..매수식을 아래와 같이 적으면, 조건이 만족한 봉 다음 봉부터는 다시 재차 조건을 만족하지 않는 경우가 대부분으므로.. 예스트레이더가 수식을 봉 마다 읽어들이다가..조건만족 다음봉 부터는 조건이 만족하지 않으니까.. { } 안에 있는 setstoploss 구문이 적용되지 않는 것 아닌가요?
If CrossUp(C,value) Then {
Buy();
setstoploss(0.8);
}
아니면 제가 setstoploss를 잘못 이해하고 있는 것입니까? 예를 들면 setstoploss는 한번 만나게 되면 별도의 해제 조치가 없는 동안은 시스템식 전체에 계속 적용되는 것인지요?
만일 바로 위의 말이 맞는 것이라면...매수쪽 구문에만 setstoploss를 적용하면... 매도의 경우에는 별도의 setstop구문을 작성하지 않아도, 매수쪽에서 적용한 setstoploss가 바로 적용되는 것인지요?
예스트레이더 공부하다가 잘 이해가 안되서 질문올립니다.
[질문 2]
추가로 하나만 더 여쭤보면요, 수식작성예제의 (가격상승 Pyramid 매수)에 보면 var:step(1), max_step(1); 이라는 부분이 있잖아요. 여기서 왜 step과 maxstep에 (1)을 사용하는거지요? 원래는 (0)을 사용해야 하는것 아닌가요? (1)과 (0)을 사용하는 경우가 어떻게 틀린건지 그 의미를 알려주시기 바랍니다.
항상 빠르고 친절한 답변 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2005-10-28 16:34:32
안녕하세요
예스스탁입니다.
1.
Input : af(0.02), maxAF(0.2);
Var : value(0);
value = sar(af,maxAF);
If CrossUp(C,value) Then {
Buy();
setstoploss(0.8);
}
If CrossDown(C,value) Then {
Sell();
setstoploss(0.7);
}
와 같이 작성시 제일 먼저 조건에 만족한 설정이 해제가 없으므로 차트전체에
적용이 되게 됩니다.
식을 수정했습니다.
Input : af(0.02), maxAF(0.2);
Var : value(0);
value = sar(af,maxAF);
If CrossUp(C,value) Then {
Buy();
}
If CrossDown(C,value) Then {
Sell();
}
if marketposition() == 1 then
setstoploss(0.8);//매수시 0.5
else if marketposition() == -1 then
setstoploss(0.7); //매도시 0.7
else
setstoploss(0);//그외 해제
2.
분할 매매에서 1보다 작은 분할은 없으므로
기본값을 1로 선언한 것입니다.
var: 에 선언시 보통(0)을 사용하지만 위와같이 기본값으로 지정시
그 값을 지정해도 무방합니다.
즐거운 하루되세요
> 제우스 님이 쓴 글입니다.
> 제목 : 스탑로스에 관한 질문입니다.(질문 2가지)
> [질문 1]
귀사의 수식작성 예제에 보면...
[주가가 파라볼릭을 상향돌파할때 매수, 하향이탈할때 매도, 매수거래의 강제청산은 0.8% , 매도거래의 강제청산은 0.7%] 의 시스템 수식으로 아래와 같이 수식을 작성하셨습니다.
[시스템식]
Input : af(0.02), maxAF(0.2);
Var : value(0);
value = sar(af,maxAF);
If CrossUp(C,value) Then {
Buy();
setstoploss(0.8);
}
If CrossDown(C,value) Then {
Sell();
setstoploss(0.7);
}
여기서 이해가 잘 안되는 것이..매수식을 아래와 같이 적으면, 조건이 만족한 봉 다음 봉부터는 다시 재차 조건을 만족하지 않는 경우가 대부분으므로.. 예스트레이더가 수식을 봉 마다 읽어들이다가..조건만족 다음봉 부터는 조건이 만족하지 않으니까.. { } 안에 있는 setstoploss 구문이 적용되지 않는 것 아닌가요?
If CrossUp(C,value) Then {
Buy();
setstoploss(0.8);
}
아니면 제가 setstoploss를 잘못 이해하고 있는 것입니까? 예를 들면 setstoploss는 한번 만나게 되면 별도의 해제 조치가 없는 동안은 시스템식 전체에 계속 적용되는 것인지요?
만일 바로 위의 말이 맞는 것이라면...매수쪽 구문에만 setstoploss를 적용하면... 매도의 경우에는 별도의 setstop구문을 작성하지 않아도, 매수쪽에서 적용한 setstoploss가 바로 적용되는 것인지요?
예스트레이더 공부하다가 잘 이해가 안되서 질문올립니다.
[질문 2]
추가로 하나만 더 여쭤보면요, 수식작성예제의 (가격상승 Pyramid 매수)에 보면 var:step(1), max_step(1); 이라는 부분이 있잖아요. 여기서 왜 step과 maxstep에 (1)을 사용하는거지요? 원래는 (0)을 사용해야 하는것 아닌가요? (1)과 (0)을 사용하는 경우가 어떻게 틀린건지 그 의미를 알려주시기 바랍니다.
항상 빠르고 친절한 답변 감사드립니다.
이전글