커뮤니티
수익대비하락..자꾸 엉뚱한답변만하시네요..
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 에는 턱없이 모자라는데 수익대비 청산식이 동작을
하여 질문을 드리겁니다..
답변부탁드립니다...
감사합니다..
다음글