커뮤니티

수익대비하락..자꾸 엉뚱한답변만하시네요..

프로필 이미지
초보아줌마
2005-10-23 15:54:08
1159
글번호 8605
안녕하세요.. 답변감사드리고요. 제가 질문한의도는 다시말씀드려 수익1이 if문 조건에 부합되지 않았는데도 조건문이 실생되는지 이유를 알려달란 것입니다. 자꾸 엉뚱한 답변만하시는 모르겠군요 이수식을 실행시켜 확인은 하여보셨는지 모르겠군요... var 수익1(0) // 이선언은 기본 아닙니까? If ((dayindex()==0 Then { buy("매수", onclose, def,1); 수익1 = ((c- EntryPrice())/EntryPrice())*100; if 수익1>100 then begin SetStopTrailing(10, 70, PercentStop, 0) end 이식은 수익1 이 100 이상일때 수익대비 손실 청산을 하려는 의도입니다. 그러나 이식을 사용할경우 문제는 수익1이 100%가넘지 되지않았는데도 수익대비 청산식이 동작한다는데 있습니다,, 옵션풋 P0511 140.0 20분봉입니다 10/14 차트를 확인실행시켜보시기바랍니다.. 첫봉은 종가는0.62 이고 이날최고가는1.18 입니다 첫봉에매수하여도 이날하루종일 100% 이상은 없습니다.. 물론 2번째봉에(0.69) 매수가 나와도 이식으로 청산이됩니다.. 수익1>100 에는 턱없이 모자라는데 수익대비 청산식이 동작을 하여 질문을 드리겁니다.. 답변부탁드립니다... 감사합니다..
시스템
답변 1
프로필 이미지

수식지왕

2005-10-24 08:13:06

제목이 요상해서 들어와 봤더니 예스의 답변이 맞긴 맞는데 해설이 명쾌하게 하지 못했던 것 같습니다. 초보아줌마께서 의문을 갖는 요지가 무엇인지 알 것 같아 참견을 할까 합니다. 강제청산 함수는 다음의 두가지 특성을 가지고 있습니다. 강제청산 함수는 한번 설정되면 해제될 때까지 유효하다는 점. 그리고, 강제청산 함수는 if문과 같이 사용할 수 있느냐는 질문에 대해 if문은 강제청산 조건문을 설정(set)하는 것이지 if문과 and 조건으로 처리되는 것이 아니라는 점입니다. 그래서 함수 이름도 set으로 시작되죠. if 수익1>100 then { SetStopTrailing(10, 70, PercentStop, 0); } 이 문장은 한번이라도 수익이 100 이상을 넘어서면 이후에 모든 진입에 대해 수익이 70이상 발생후 10% 감소시 강제청산하라는 조건이 설정되는 것입니다. 수익이 100 초과인 조건과 강제청산 조건을 동시에 충족해야 한다는 것은 아닙니다. 10/12에 100을 넘으면서 강제청산 조건이 설정되었고 10/14에는 수익이 100을 넘던말던 이 조건과는 무관하게 12일에 설정된 강제청산조건에 의해 최대수익 88.71(최대수익 70을 충족)에서 10% 감소한 가격에 청산이 발생한 것입니다. 그래서 무포지션일 때 강제청산을 해제하라는 것입니다. 수익이 100 이상인 상태에서 위의 강제청산조건을 같이 적용하려면 다음과 같이 최대 수익을 110으로 주고 수익감소를 10%로 하는 강제청산식만 사용해도 됩니다. SetStopTrailing(10, 110, PercentStop, 0); 이전 질문에서 예를 들었던 목표수익 청산도 마찬가지입니다. if 수익1>100 then { SetStopProfittarget(70); } 10/12에 강제청산 조건이 설정되었고 10/14에는 수익1>100인 조건식과는 무관하게 SetStopProfittarget(70)의 조건에 의해 강제청산된 것입니다. 그런데 왜 이런 문장을 썼는지 이해가 안가네요. 그냥 100을 목표수익으로 주면 될 것을. 질문을 위해 기본 로직에서 일부를 삭제했다면 모르겠지만.. > 초보아줌마 님이 쓴 글입니다. > 제목 : 수익대비하락..자꾸 엉뚱한답변만하시네요.. > 안녕하세요.. 답변감사드리고요. 제가 질문한의도는 다시말씀드려 수익1이 if문 조건에 부합되지 않았는데도 조건문이 실생되는지 이유를 알려달란 것입니다. 자꾸 엉뚱한 답변만하시는 모르겠군요 이수식을 실행시켜 확인은 하여보셨는지 모르겠군요... var 수익1(0) // 이선언은 기본 아닙니까? If ((dayindex()==0 Then { buy("매수", onclose, def,1); 수익1 = ((c- EntryPrice())/EntryPrice())*100; if 수익1>100 then begin SetStopTrailing(10, 70, PercentStop, 0) end 이식은 수익1 이 100 이상일때 수익대비 손실 청산을 하려는 의도입니다. 그러나 이식을 사용할경우 문제는 수익1이 100%가넘지 되지않았는데도 수익대비 청산식이 동작한다는데 있습니다,, 옵션풋 P0511 140.0 20분봉입니다 10/14 차트를 확인실행시켜보시기바랍니다.. 첫봉은 종가는0.62 이고 이날최고가는1.18 입니다 첫봉에매수하여도 이날하루종일 100% 이상은 없습니다.. 물론 2번째봉에(0.69) 매수가 나와도 이식으로 청산이됩니다.. 수익1>100 에는 턱없이 모자라는데 수익대비 청산식이 동작을 하여 질문을 드리겁니다.. 답변부탁드립니다... 감사합니다..