커뮤니티

ExitLong("LM",atstop,EntryPrice*X);

프로필 이미지
회원
2004-01-16 16:23:21
2537
글번호 2022
답변완료
If MarketPosition = 1 THEN ExitLong("LM",atstop,EntryPrice*X); 이 식을 쓰면 손절기능이 작동 안되고 If MarketPosition()==1 THEN SetStopLoss(stopPrice); 이 식을 쓰야지만 손절기능이 됩니다만 왜 상위의 식이 작동않는지 매우 유감입니다. 미국 전문가의 트레이드 스테이션 코드에는 상위의 식으로 기재되어 있는지라 가급적 수정없이 사용하고자 하는 의도입니다. 작동불능사유를 가르쳐 주세요^!^
시스템
답변 4
프로필 이미지

예스스탁 예스스탁 답변

2004-01-16 18:48:44

안녕하세요? 예스스탁입니다... 문의하신 식을 문법적으로 본다면 다음과 같이 식을 작성하셔야 할 것입니다... If MarketPosition()==1 THEN BEGIN ExitPt = 0; If Close > MaxTradeClose THEN MaxTradeClose = Close; IF MaxTradeClose >= EntryPrice(0) *1.3 THEN ExitPt = EntryPrice(0) *1.2; ELSE IF MaxTradeClose >= EntryPrice(0) *1.1 THEN ExitPt = EntryPrice(0) *1.05; If ExitPt != 0 then ExitLong ("Lock Profit",atSTOP,ExitPt); END 감사합니다.. > 검은펜 님이 쓴 글입니다. > 제목 : ExitLong("LM",atstop,EntryPrice*X); > If MarketPosition = 1 THEN ExitLong("LM",atstop,EntryPrice*X); 이 식을 쓰면 손절기능이 작동 안되고 If MarketPosition()==1 THEN SetStopLoss(stopPrice); 이 식을 쓰야지만 손절기능이 됩니다만 왜 상위의 식이 작동않는지 매우 유감입니다. 미국 전문가의 트레이드 스테이션 코드에는 상위의 식으로 기재되어 있는지라 가급적 수정없이 사용하고자 하는 의도입니다. 작동불능사유를 가르쳐 주세요^!^
프로필 이미지

회원

2004-01-16 19:25:51

1. then BEGIN ExitLong ("Lock Profit",atSTOP,ExitPt); END then ExitLong ("Lock Profit",atSTOP,ExitPt); 위 두 식이 다른 결과가 나오나요? 그 차이점에 대하여 답을 주시기 바라며, 2. 그 외에 동문서답을 하셨는데, 재차 문의드리오니 진하게 답변하여 주세요. If MarketPosition = 1 THEN ExitLong("LM",atstop,EntryPrice*X); 이 식을 쓰면 손절기능이 작동 안되고 If MarketPosition()==1 THEN SetStopLoss(stopPrice); 이 식을 쓰야지만 손절기능이 됩니다만 왜 상위의 식이 작동않는지 매우 유감입니다.
프로필 이미지

예스스탁 예스스탁 답변

2004-01-19 10:31:47

안녕하세요? 예스스탁입니다... 문의주신 1번식을 보았을 때 굳이 begin ~ end를 마지막줄에 써 줄 필요가 없기 때문에 그 부분을 제외시킨 것입니다. 그리고, 두번째 질문에서 "If MarketPosition = 1"이라고 하셨는데 예스트레이더 프로에서 사용하신다면 TS와 표현 형식이 틀리기 때문에 "If MarketPosition() == 1"로 수정해 주시고 "EntryPrice"도 "EntryPrice()"셔야 할 것입니다. 아울러, 문제가 되는 부분에 대한 정확한 식을 올려주시면 확인 후 바로 답변올려 드리도록 하겠습니다... 그럼 즐거운 하루 되세요.... > 검은펜 님이 쓴 글입니다. > 제목 : 동문서답...어디서 답을 찾으오리까? > 1. then BEGIN ExitLong ("Lock Profit",atSTOP,ExitPt); END then ExitLong ("Lock Profit",atSTOP,ExitPt); 위 두 식이 다른 결과가 나오나요? 그 차이점에 대하여 답을 주시기 바라며, 2. 그 외에 동문서답을 하셨는데, 재차 문의드리오니 진하게 답변하여 주세요. If MarketPosition = 1 THEN ExitLong("LM",atstop,EntryPrice*X); 이 식을 쓰면 손절기능이 작동 안되고 If MarketPosition()==1 THEN SetStopLoss(stopPrice); 이 식을 쓰야지만 손절기능이 됩니다만 왜 상위의 식이 작동않는지 매우 유감입니다.
프로필 이미지

회원

2004-01-20 03:36:22

일단 계속적으로 빗나가고 있어 저조차 헷갈리기에 정리를 간략히 하도록 하죠. 질문 939번을 보십시오. 그리고 추적해보면 님께서는 939번이 잘못된게 없다는 말씀을 하시는거죠? 만약 그렇다면 여전히 939번의 문제는 존재하는거죠? 그 문제를 답하셔야 합니다. 그리고 말씀하신 것처럼 marketpostion=1을 marketposition()==1로 수정합니다. 문제의 시스템을 그대로 복사해서 (문제의 시스템에는 If MarketPosition()==1 THEN SetStopLoss(stopPrice); 이렇게 적혀있죠) If MarketPosition()==1 THEN ExitLong("LM",atstop,EntryPrice(0)*(1-(0.01*stopPrice)));로 바꾸죠. 어떠세요? 결과는 동일해야 하지만 엉뚱한 결과가 나온다는 겁니다. 이 부분을 답하셔야겠습니다. 저도 시스템인지라 공개는 뭐하고 일반 5/20 돌파시스템으로 손절부분만 저 두 개를 바꿔끼워 보시죠. 결과가 같다면 할말없지만 다르네요....왜왜왜 다릅니까? 혹시 EntryPrice(0) 대신 EntryPrice()이라면 되나요?