매수 후 최고점 대비 몇%하락시 추적청산으로 청산하려고하는데
제가 수식을 잘못 적용해서 그런지 당일 고점대비로 계산이 되나봅니다.
예를들어 매수 후 10000원이 당일 최고점이라면 3% 하락시 매도를 하고 싶은데 당일 청산이
되지않으면 다음날이고 다다음날이고 최고점 10000원의 -3% 수준인 9700원에서
매도가 되어야 하는데 다음날이 되면 당일 최고점대비 -3%로 적용되고 다다음날에도 그날의 고점대비 -3%로 적용되니 제가 원하는 10000원 찍은 고점대비 추적청산이 되지않고있습니다.
제가 만들어본 수식은 다음과같습니다. 수정 부탁드립니다.
if MarketPosition == 0 and 조건~~~ Then
buy("b",AtStop,DayHigh(0));
if MarketPosition == 1 Then
ExitLong("bx",AtStop,DayHigh(0)*0.97);
더욱 이상한건 어떤 종목에는 다음날이든 다다음날이든 매수 이후 갱신한 최고점대비 3%하락시 매도가 정상적으로 나가는데 어떤 종목은 계속 그날의 최고점대비로 계산되곤합니다..
잘부탁드리겠습니다.
답변 1
예스스탁
예스스탁 답변
2020-01-13 11:38:35
안녕하세요
예스스탁입니다.
if MarketPosition == 1 Then
ExitLong("bx",AtStop,DayHigh(0)*0.97);
atstop은 봉완성시에 지정한 가격을 셋팅하고 다음봉에서
지정한 가격 이하의 시세가 발생하면 청산하게 됩니다.
차트가 일봉이면 최근 완성봉이 전일이므로 당일 전일의 최고가에서 3% 하락청산하게 되고
차트가 분봉이면 최근 완성봉이 당일봉이므로 당일최고가가 됩니다.
진입일의 최고가를 고정해서 사용하고자 하시면 아래식과 같이 수정하시면 됩니다.
if MarketPosition == 1 Then
{
if sdate == EntryDate Then
var1 = DayHigh(0);
ExitLong("bx",AtStop,var1*0.97);
}
매수 이후의 최고가에서 3% 하락시 청산하고자 하시면 아래와 같이 작성하시면 됩니다.
if MarketPosition == 1 Then
{
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)*0.97);
}
즐거운 하루되세요
> 아수라발발타 님이 쓴 글입니다.
> 제목 : ts추적청산 관련 수식 문의드립니다.
> 매수 후 최고점 대비 몇%하락시 추적청산으로 청산하려고하는데
제가 수식을 잘못 적용해서 그런지 당일 고점대비로 계산이 되나봅니다.
예를들어 매수 후 10000원이 당일 최고점이라면 3% 하락시 매도를 하고 싶은데 당일 청산이
되지않으면 다음날이고 다다음날이고 최고점 10000원의 -3% 수준인 9700원에서
매도가 되어야 하는데 다음날이 되면 당일 최고점대비 -3%로 적용되고 다다음날에도 그날의 고점대비 -3%로 적용되니 제가 원하는 10000원 찍은 고점대비 추적청산이 되지않고있습니다.
제가 만들어본 수식은 다음과같습니다. 수정 부탁드립니다.
if MarketPosition == 0 and 조건~~~ Then
buy("b",AtStop,DayHigh(0));
if MarketPosition == 1 Then
ExitLong("bx",AtStop,DayHigh(0)*0.97);
더욱 이상한건 어떤 종목에는 다음날이든 다다음날이든 매수 이후 갱신한 최고점대비 3%하락시 매도가 정상적으로 나가는데 어떤 종목은 계속 그날의 최고점대비로 계산되곤합니다..
잘부탁드리겠습니다.