커뮤니티
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()이라면 되나요?
다음글
이전글