커뮤니티
보내주신 수식 잘 받았습니다. 궁금한 점이 있어서요.
2009-05-21 10:59:14
588
글번호 22326
수식 감사합니다. 그런데 작성하신 내용 중에 아래와 같은 부분이 잘 이해가 가지 않습니다.
[10일 혹은 20일간의 고저가를 돌파하면 청산입니다.
이는 진입봉이 20일 혹은 55일간 고저가를 돌파하는 내용이므로
진입하자 마자 청산되어 청산을 진입이후의 사용하는 필터의 기간만큰 봉 경과후에 발생하도록 했습니다.
이부분 또한 추가 내용이 필요합니다.]
위 설명 부분에서, 예를 들어 20일 고가를 돌파하여 진입하였다면 10일 저가를 청산 기준으로 삼는데, 당일 일봉 기준으로 20일 고가를 돌파하였다가 장중에 10일 저가를 돌파하면 청산하므로, 일봉 기준으로 진입봉에서 청산된다는 것은 이해하겠는데, 그런 날이 별로 없을 것 같아서요.
답변 3
루시
2009-05-21 13:47:07
# Exits (이익 청산)
10일 동안의 고저가를 돌파하면 청산합니다.
(매수일 경우 10일간의 저가 돌파시 청산, 매도일 경우 10일간의 고가 돌파시 청산)
이 부분을 추가했습니다. 제가 보내드린 메일 중 이익 청산 부분이 불명확해서,
매수일 경우 10일간의 고가돌파시 청산, 매도일 경우 10일전의 저가 돌파시 청산하는 것으로 작성해 주셨기 때문에 동일봉 청산이 나왔던 것 같은데,
보내주신 수식에서 제가 그 부분을 각각 저가와 고가로 수정하고 진입봉부터 바로 청산식을 적용하도록 수정하였는데도 왜 계속해서 같은 봉에서 청산이 되는지 궁금하네요.
if MarketPosition == 1 Then{
value1 = EntryPrice-N[BarsSinceEntry]*2;
value2 = N[BarsSinceEntry]/2;
if BarsSinceEntry > 0 Then
exitlong("BP",AtLimit,Lowest(L,20));
if CurrentEntries == 1 Then
exitlong("bx1",AtStop,value1);
if CurrentEntries == 2 Then
exitlong("bx2",AtStop,value1+value2*1);
if CurrentEntries == 3 Then
exitlong("bx3",AtStop,value1+value2*2);
if CurrentEntries == 4 Then
exitlong("bx4",AtStop,value1+value2*3);
}
이렇게 고쳤는데도 다음봉 저가에서 계속 청산이 되어 버리는군요.
> 루시 님이 쓴 글입니다.
> 제목 : 보내주신 수식 잘 받았습니다. 궁금한 점이 있어서요.
> 수식 감사합니다. 그런데 작성하신 내용 중에 아래와 같은 부분이 잘 이해가 가지 않습니다.
[10일 혹은 20일간의 고저가를 돌파하면 청산입니다.
이는 진입봉이 20일 혹은 55일간 고저가를 돌파하는 내용이므로
진입하자 마자 청산되어 청산을 진입이후의 사용하는 필터의 기간만큰 봉 경과후에 발생하도록 했습니다.
이부분 또한 추가 내용이 필요합니다.]
위 설명 부분에서, 예를 들어 20일 고가를 돌파하여 진입하였다면 10일 저가를 청산 기준으로 삼는데, 당일 일봉 기준으로 20일 고가를 돌파하였다가 장중에 10일 저가를 돌파하면 청산하므로, 일봉 기준으로 진입봉에서 청산된다는 것은 이해하겠는데, 그런 날이 별로 없을 것 같아서요.
예스스탁
2009-05-21 13:45:21
관리자님에 의해 삭제된 답변입니다.
루시
2009-05-21 13:48:49
원하는 시점에서 청산이 되네요.^^
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : 보내주신 수식 잘 받았습니다. 궁금한 점이 있어서요.
> 안녕하세요
예스스탁입니다.
죄송합니다.
청산부분을 의도하신바와는 다르게 반대로 작성해 드렸습니다.
청산식 내용을
매수이익청산의 경우는
exitlong("BP",AtStop,Lowest(L,10));
매도이익청산의 경우는
ExitShort("SP",AtStop,highest(H,10));
로 변경하시면 됩니다.
아마 값을 변경하시고 진입봉에서 바로 신호가 발생한것은
atstop이 아니라 atlimit으로 설정하셨기 때문인거 같습니다.
아래는 수정한 청산식입니다.
if MarketPosition == 1 Then{
value1 = EntryPrice-N[BarsSinceEntry]*2;
value2 = N[BarsSinceEntry]/2;
exitlong("BP",AtStop,Lowest(L,10));
if CurrentEntries == 1 Then
exitlong("bx1",AtStop,value1);
if CurrentEntries == 2 Then
exitlong("bx2",AtStop,value1+value2*1);
if CurrentEntries == 3 Then
exitlong("bx3",AtStop,value1+value2*2);
if CurrentEntries == 4 Then
exitlong("bx4",AtStop,value1+value2*3);
}
if MarketPosition == -1 Then{
value3 = EntryPrice+N[BarsSinceEntry]*2;
value4 = N[BarsSinceEntry]/2;
ExitShort("SP",AtStop,highest(H,10));
if CurrentEntries == 1 Then
ExitShort("sx1",AtStop,value3);
if CurrentEntries == 2 Then
ExitShort("sx2",AtStop,value3-value4*1);
if CurrentEntries == 3 Then
ExitShort("sx3",AtStop,value3-value4*2);
if CurrentEntries == 4 Then
ExitShort("sx4",AtStop,value3-value4*3);
}
즐거운 하루되세요
> 루시 님이 쓴 글입니다.
> 제목 : Re : 보내주신 수식 잘 받았습니다. 궁금한 점이 있어서요.
> # Exits (이익 청산)
10일 동안의 고저가를 돌파하면 청산합니다.
(매수일 경우 10일간의 저가 돌파시 청산, 매도일 경우 10일간의 고가 돌파시 청산)
이 부분을 추가했습니다. 제가 보내드린 메일 중 이익 청산 부분이 불명확해서,
매수일 경우 10일간의 고가돌파시 청산, 매도일 경우 10일전의 저가 돌파시 청산하는 것으로 작성해 주셨기 때문에 동일봉 청산이 나왔던 것 같은데,
보내주신 수식에서 제가 그 부분을 각각 저가와 고가로 수정하고 진입봉부터 바로 청산식을 적용하도록 수정하였는데도 왜 계속해서 같은 봉에서 청산이 되는지 궁금하네요.
> 루시 님이 쓴 글입니다.
> 제목 : 보내주신 수식 잘 받았습니다. 궁금한 점이 있어서요.
> 수식 감사합니다. 그런데 작성하신 내용 중에 아래와 같은 부분이 잘 이해가 가지 않습니다.
[10일 혹은 20일간의 고저가를 돌파하면 청산입니다.
이는 진입봉이 20일 혹은 55일간 고저가를 돌파하는 내용이므로
진입하자 마자 청산되어 청산을 진입이후의 사용하는 필터의 기간만큰 봉 경과후에 발생하도록 했습니다.
이부분 또한 추가 내용이 필요합니다.]
위 설명 부분에서, 예를 들어 20일 고가를 돌파하여 진입하였다면 10일 저가를 청산 기준으로 삼는데, 당일 일봉 기준으로 20일 고가를 돌파하였다가 장중에 10일 저가를 돌파하면 청산하므로, 일봉 기준으로 진입봉에서 청산된다는 것은 이해하겠는데, 그런 날이 별로 없을 것 같아서요.
다음글
이전글