커뮤니티

보내주신 수식 잘 받았습니다. 궁금한 점이 있어서요.

프로필 이미지
루시
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일 저가를 돌파하면 청산하므로, 일봉 기준으로 진입봉에서 청산된다는 것은 이해하겠는데, 그런 날이 별로 없을 것 같아서요.