커뮤니티

질문드립니다.

프로필 이미지
화이트호올
2010-09-03 09:42:29
642
글번호 32081
답변완료
매수 진입 이후 스탑로스나, 스탑프로피트로 청산 한 후 포지션이 없을 때 청산가격 기준 1포인트 하락시 다시 매수하는 식좀 부탁드립니다. 매도 진입 이후 스탑로스나, 스탑프로피트로 청산 한 후 포지션이 없을 때 청산가격 기준 1포인트 상승시 다시 매수하는 식도 부탁드리고요. IsExitName("StopLoss",1) and MarketPosition(1) == 1 and marketposition == 0 and C >= entryprice+1 then buy(); IsExitName("StopLoss",1) and MarketPosition(1) == -1 and marketposition == 0 and C <= entryprice-1 then sell(); 이렇게 적용해보았더니 청산 한 후 바로 진입해버리네요. ------------------------------- 그리고 위의 식을 적용시 전일 청산이 스탑로스나, 스탑프로피트로 된 경우 9시 시작하자마자 진입이 되는 것같습니다. 이걸 당일 기준으로만 스탑로스나, 스탑프로피트로 된 청산이 있는지를 판단하는 수식이 있으면 알려주셨으면 합니다.
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2010-09-03 15:17:17

안녕하세요 예스스탁입니다. if ExitDate(1) == sdate and MarketPosition == 0 and (IsExitName("StopProfittarget",1) or IsExitName("StopLoss",1)) Then{ if MarketPosition(1) == 1 Then buy("b",AtStop,ExitPrice(1)-1); if MarketPosition(1) == -1 Then sell("s",AtLimit,ExitPrice(1)+1); } 즐거운 하루되세요 > 화이트호올 님이 쓴 글입니다. > 제목 : 질문드립니다. > 매수 진입 이후 스탑로스나, 스탑프로피트로 청산 한 후 포지션이 없을 때 청산가격 기준 1포인트 하락시 다시 매수하는 식좀 부탁드립니다. 매도 진입 이후 스탑로스나, 스탑프로피트로 청산 한 후 포지션이 없을 때 청산가격 기준 1포인트 상승시 다시 매수하는 식도 부탁드리고요. IsExitName("StopLoss",1) and MarketPosition(1) == 1 and marketposition == 0 and C >= entryprice+1 then buy(); IsExitName("StopLoss",1) and MarketPosition(1) == -1 and marketposition == 0 and C <= entryprice-1 then sell(); 이렇게 적용해보았더니 청산 한 후 바로 진입해버리네요. ------------------------------- 그리고 위의 식을 적용시 전일 청산이 스탑로스나, 스탑프로피트로 된 경우 9시 시작하자마자 진입이 되는 것같습니다. 이걸 당일 기준으로만 스탑로스나, 스탑프로피트로 된 청산이 있는지를 판단하는 수식이 있으면 알려주셨으면 합니다.
프로필 이미지

화이트호올

2010-09-07 16:22:29

답변 감사합니다. 답변주신대로 적용해봐도 스탑로스가 나간 후에 바로 진입을 해버리네요. 1포인트의 변화가 없었는대도 말이죠. 다른 해결책은 없을가요? 간단하게 이렇게 적용해봐도 손절이나 청산 후 바로 진입하네요. if c > dayopen Then buy("b1",atstop,def,1); if c < dayopen then sell("s1",atstop,def,1); if ExitDate(1) == sdate and MarketPosition == 0 and (IsExitName("StopProfittarget",1) or IsExitName("StopLoss",1)) Then{ if MarketPosition(1) == 1 Then buy("b",AtStop,ExitPrice(1)-1); if MarketPosition(1) == -1 Then sell("s",AtLimit,ExitPrice(1)+1); } setstoploss(2,PointStop); SetStopProfittarget(2,PointStop); if date==20010308 || date==20010614 || date==20010913 || date==20011213 || date==20020314 || date==20020612 || date==20020912 || date==20021212 || date==20030313 || date==20030612 || date==20030909 || date==20031211 || date==20040311 || date==20040610 || date==20040909 || date==20041209 || date==20050310 || date==20050609 || date==20050908 || date==20051208 || date==20060309 || date==20060608 || date==20060914 || date==20061214 || date==20070308 || date==20070614 || date==20070913 || date==20071213 || date==20080313 || date==20080612 || date==20080911 || date==20081211 || date==20090312 || date==20090611 || date==20090910 || date==20091210 || date==20100311 || date==20100610 || date==20100909 || date==20101209 then setstopendofday(144500); else setstopendofday(150000); > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 질문드립니다. > 안녕하세요 예스스탁입니다. if ExitDate(1) == sdate and MarketPosition == 0 and (IsExitName("StopProfittarget",1) or IsExitName("StopLoss",1)) Then{ if MarketPosition(1) == 1 Then buy("b",AtStop,ExitPrice(1)-1); if MarketPosition(1) == -1 Then sell("s",AtLimit,ExitPrice(1)+1); }