커뮤니티
목표치자마자 청산신호가 나옵니다.
2004-01-16 11:02:38
2410
글번호 2002
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 BEGIN
ExitLong ("Lock Profit",atSTOP,ExitPt); END END
윗 식은 공부중인 시스템의 부분입니다.
먼저 개요를 말씀드리면
진입가격에서 종가로 30% 수익난 이후에는
진입가격에서 20% 수익가격에서 청산하고
만약 진입가격에서 종가로 10% 수익났다면
진입가격에서 5% 수익가격에서 청산할려는 것입니다만,
시스템 검증하면,
10%를 고가가 치는 날 즉시 청산신호가 발생중입니다.
어찌하면 원하는 결과대로 신호가 발생할 지
검토수정하여 주시면 감사하겠습니다.
부언드리면,
10% 수익난 이후 만약 약간 조정받고
진입가격에서 5% 가격을 저가조차 안건드리고
계속 상승하면 청산이 안되도록 하고 싶습니다.
마찬가지로 30% 수익난 이후
20% 수익가격을 하회하지 않는다면 청산이 안될 것입니다.
그런데, 윗 식은 목표수익율을 치자마자
청산신호가 발생중입니다. 감사합니다.
다른 내용입니다.:
진입당일은 진입가격의 -10%에 손절 설정하고
진입익일부터는 진입가격의 -5%에 손절 설정하는
샘플시스템식을 부탁드리겠습니다. 감사합니다.
답변 2
예스스탁 예스스탁 답변
2004-01-16 15:05:36
안녕하세요? 예스스탁입니다...
문의하신 식을 작성하면 다음과 같습니다...
input : 수익1(30), 수익2(10), 손실1(10), 손실2(5);
var : 단기이평(0), 장기이평(0), buyVal1(0), buyVal2(0);
단기이평 = ma(C, 5);
장기이평 = ma(C, 20);
if crossup(단기이평, 장기이평) and marketposition() != 1 then //이평선 골든크로스 발생시 매수
buy();
### 30% 수익후 10% 손실시
if C > entryprice(0) * (1 + 수익1/100) then { //진입가격대비 30% 수익
var1 = 1;
buyVal1 = C; //진입가격대비 30% 수익날 때의 종가를 저장
}
if var1 == 1 then {
if C < buyVal1 * (1 - 손실1/100) and marketposition() == 1 then //진입후 30% 수익난 이후 10% 하락하면
exitlong();
}
### 10% 수익후 5% 손실시
if C > entryprice(0) * (1 + 수익2/100) then { //진입가격대비 10% 수익
var2 = 1;
buyVal2 = C; //진입가격대비 10% 수익날 때의 종가를 저장
}
if var2 == 1 then {
if C < buyVal2 * (1 - 손실2/100) and marketposition() == 1 then //진입후 10% 수익난 이후 5% 하락하면
exitlong();
}
두번째로 질문주신 내용에 대한 답변입니다.
진입 당일이야 entrydate(0)으로 작성하면 되지만 익일에 대한 함수를 작성할 수 없기 때문에 문의하신 내용은 작성이 어려울 것 같습니다...
감사합니다..
> 검은펜 님이 쓴 글입니다.
> 제목 : 목표치자마자 청산신호가 나옵니다.
> 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 BEGIN
ExitLong ("Lock Profit",atSTOP,ExitPt); END END
윗 식은 공부중인 시스템의 부분입니다.
먼저 개요를 말씀드리면
진입가격에서 종가로 30% 수익난 이후에는
진입가격에서 20% 수익가격에서 청산하고
만약 진입가격에서 종가로 10% 수익났다면
진입가격에서 5% 수익가격에서 청산할려는 것입니다만,
시스템 검증하면,
10%를 고가가 치는 날 즉시 청산신호가 발생중입니다.
어찌하면 원하는 결과대로 신호가 발생할 지
검토수정하여 주시면 감사하겠습니다.
부언드리면,
10% 수익난 이후 만약 약간 조정받고
진입가격에서 5% 가격을 저가조차 안건드리고
계속 상승하면 청산이 안되도록 하고 싶습니다.
마찬가지로 30% 수익난 이후
20% 수익가격을 하회하지 않는다면 청산이 안될 것입니다.
그런데, 윗 식은 목표수익율을 치자마자
청산신호가 발생중입니다. 감사합니다.
다른 내용입니다.:
진입당일은 진입가격의 -10%에 손절 설정하고
진입익일부터는 진입가격의 -5%에 손절 설정하는
샘플시스템식을 부탁드리겠습니다. 감사합니다.
회원
2004-01-16 16:31:47
예스탁에서 주신 식과
제가 만든 식의 내용상의 차이는 없다고 판단됩니다.
다만 이번에 주신 공식 내용상 다른 점이 있다면
나의 식=> ExitLong ("Lock Profit",atSTOP,ExitPt);
예스의 식=>if C < ExitPt then ExitLong();
과연 나의 식으로 하면 틀리고
예스탁의 식으로 하면 맞을 정도로 엄청나고 틀린 결과를 줍니까?
만약 ExitLong ("Lock Profit",atSTOP,ExitPt);이 정상기능한다면
금번 예스에서 주신 식과 제가 만든 식의 내용상의 다른 점을 발견치 못합니다.
다시 한 번 왜 제 식이 정상작동하지 않는지 원인을 알려주시기 바랍니다.
솔직이 예스탁에서 만든 식은 깔끔하지 못한 느낌입니다.
마악 풀어난 느낌입니다. 뭐 산발한 느낌쯤 됩니다.
수학이란 게 그렇챦습니까? 줄일 수 있는 데 까지는 줄여야 합니다.
그런 점에서 예스탁 공식보다 압축된 형식의 제 공식
-미국 전문가 모모씨의 트레이드스테이션 코드로부터 문의-
을 선호합니다. 물론 틀렸다면 예스탁 공식이 우월합니다만,
아직 내용상 다른 점이 없다 여기는데 그런 점으로 답변하여 주세요.
그렇지 않나요?
공식내용이 틀린게 없다면, 게다가 공식스타일도 지꺼를 선호한다는데
굳이 예스탁처럼 만들라고 경직되게 제시할 것이 아니라
그 공식의 가려운 점을 긁어주는 게 옳은 상식이며
만약 가려운 데를 긁는 중에 이것만은 아무리 봐줘도 놔둬서는
안되겠다 싶은 것은
이런 사유로 이렇게 정정하지 않으면 이 식이 작동안한다 등
건축도 자연동화를 강조합니다^@^
다음글
이전글