커뮤니티
1022 재 문의 드립니다.
2004-01-31 15:56:42
2652
글번호 2210
안녕하세요...
원하는 신호를 찾으려고 아래와 같이 작성하여 보았으나
여전히 (3)번에서 말씀드리는 "다음 봉에서 바로 매도식에 의해 매도진입"하게 되는 문제가 발생 되네요.
buycount < 1 and sellcount < 1 상태의 매도식에 의한 매도인지
buycount == 1 and sellcount < 1 에서의 매도식에 의한 매도인지를
인식을 못하는 건지 수식작성의 오류인지 모르겟네요 .
도움 부탁드립니다.미리 감사드립니다
(1)buycount < 1 and sellcount < 1 일때 매수진입하고
if buycount < 1 and sellcount < 1 then {
if 매수식 then {
buy();
buyCount = buyCount+1;
}
}
(2) C-entryprice(0) > 0 크던 C-entryprice(0) < 0 작던 매수청산식에 의한 청산하고
단 C-entryprice(0) > 0 클땐 매수청산식에 의한 매도진입(리벌스신호)합니다.
if buycount == 1 && (매수청산식) && C-entryprice(0) > 0 then
exitlong();
if buycount == 1 && (매수청산식) && C-entryprice(0) > 0 then
sell();
if buycount == 1 && (매수청산식) && C-entryprice(0) < 0 then
exitlong();
(3) C-entryprice(0) < 0 작으면 매수청산식에 의한 매도진입(리벌스신호)은 안하지만
매수청산 내용이 모두 매도식에 포함되기 때문에 그 다음 봉에서 바로 매도식에 의해
매도진입하게 되는 문제가 발생 ( 당일 최초 진입하여 손실이 발생하고 청산한 날은 더이상은 진입을 안해야 됩니다)하므로 buycount == 1 이며 매도식일 경우에는 이전 매수포지션 진입가격이 이전 매수포지션 진입청산가격 보다 작으면 매도식에 의해서 매도진입 하지 말고 클 경우에만 매도식에 의한 매도진입 합니다.
if buycount == 1 && (매도식) && !(accumn(entryprice(1)-ExitPrice(1) < 0,dayindex()+1)>=1) then
sell();
--------------새로작성한 시스템식----------------
var : 진입(0), 청산(0), 당일봉(0), 매수식(0),매수청산식(0), 매도식(0),매도청산식(0),buycount(0),sellcount(0),value1(0),value2(0),value3(0),value4(0), value5(0),value6(0);
value1=ema(c,5)-ema(c,26);
value2=ema(ema(c,5)-ema(c,26),9);
value3=(dayhigh()+daylow())/2;
value4=(dayhigh(1)+dayclose(1)+daylow(1))/3;
value5=ema(c,187);
value6=accumn(bids-asks,5)/5;
당일봉 = dayindex();
매수식 =
value1>value2
&&c>value3
&&c>value4
&&c>value5
&&value6>0;
매수청산식=
value1<value2
&&c<value3
&&c<value4;
매도식=
value1<value2
&&c<value3
&&c<value4
&&c<value5
&&value6<0;
매도청산식=
value1>value2
&&c>value3
&&c>value4;
if date != date[1] then {
buycount = 0;
sellcount = 0;
}
if buycount < 1 and sellcount < 1 then {
if 매수식 then {
buy();
buyCount = buyCount+1;
}
}
if buycount == 1 && (매수청산식) && C-entryprice(0) > 0 then
exitlong();
if buycount == 1 && (매수청산식) && C-entryprice(0) > 0 then
sell();
if buycount == 1 && (매수청산식) && C-entryprice(0) < 0 then
exitlong();
if buycount == 1 && (매도식) && !(accumn(entryprice(1)-ExitPrice(1) < 0,dayindex()+1)>=1) then
sell();
if buycount < 1 and sellcount < 1 then {
if 매도식 then {
sell();
sellcount = sellcount +1;
}
}
if sellCount == 1 && (매도청산식) && C-entryprice(0) < 0 then
exitshort();
if sellcount == 1 && (매도청산식) && C-entryprice(0) < 0 then
buy();
if sellCount == 1 && (매도청산식) && C-entryprice(0) > 0 then
exitshort();
if sellcount ==1 && (매수식) && !(accumn(entryprice(1)-ExitPrice(1) > 0,dayindex()+1)>=1) then
buy();
답변 1
예스스탁 예스스탁 답변
2004-02-02 13:38:42
안녕하세요? 예스스탁입니다...
문의하신 식을 다시 한번 작성해 보았습니다....
새롭게 작성한 식에 의하면 연결선물지수 10분봉 차트를 이용할 경우 리버설로 재진입이 들어가는 경우가 없었습니다...
var : 진입(0), 청산(0), 당일봉(0), 매수식(0),매수청산식(0), 매도식(0),매도청산식(0);
var : value1(0),value2(0),value3(0),value4(0), value5(0),value6(0);
value1=ema(c,5)-ema(c,26);
value2=ema(ema(c,5)-ema(c,26),9);
value3=(dayhigh()+daylow())/2;
value4=(dayhigh(1)+dayclose(1)+daylow(1))/3;
value5=ema(c,187);
value6=accumn(bids-asks,5)/5;
당일봉 = dayindex();
매수식 =
value1>value2
&&c>value3
&&c>value4
&&c>value5
&&value6>0;
매수청산식=
value1<value2
&&c<value3
&&c<value4;
매도식=
value1<value2
&&c<value3
&&c<value4
&&c<value5
&&value6<0;
매도청산식=
value1>value2
&&c>value3
&&c>value4;
###매수식
if marketposition(0) == -1 then {
if 매수식 and C - entryprice(0) < 0 then
buy("a1");
}
else if accumN(iff(marketposition(0) == -1, 1,0), dayindex()+1) < 1 and marketposition(0) == 0 then {
if 매수식 then
buy("a2");
}
else if accumN(iff(marketposition(0) == -1, 1,0), dayindex()+1) >= 1 and marketposition(0) == 0 then {
if 매수식 and C - entryprice(1) < 0 then
buy("a3");
}
###매수청산식
if marketposition(0) == 1 and 매수청산식 then {
exitlong("aa");
}
###매도식
if marketposition(0) == 1 then {
if 매도식 and C - entryprice(0) > 0 then
sell("b1");
}
else if accumN(iff(marketposition(0) == 1, 1,0), dayindex()+1) < 1 and marketposition(0) == 0 then {
if 매도식 then
sell("b2");
}
else if accumN(iff(marketposition(0) == 1, 1,0), dayindex()+1) >= 1 and marketposition(0) == 0 then {
if 매도식 and C - entryprice(1) > 0 then
sell("b3");
}
###매도청산식
if marketposition(0) == -1 and 매도청산식 then {
exitshort("bb");
}
즐거운 하루 되세요....
> 관양 님이 쓴 글입니다.
> 제목 : 1022 재 문의 드립니다.
> 안녕하세요...
원하는 신호를 찾으려고 아래와 같이 작성하여 보았으나
여전히 (3)번에서 말씀드리는 "다음 봉에서 바로 매도식에 의해 매도진입"하게 되는 문제가 발생 되네요.
buycount < 1 and sellcount < 1 상태의 매도식에 의한 매도인지
buycount == 1 and sellcount < 1 에서의 매도식에 의한 매도인지를
인식을 못하는 건지 수식작성의 오류인지 모르겟네요 .
도움 부탁드립니다.미리 감사드립니다
(1)buycount < 1 and sellcount < 1 일때 매수진입하고
if buycount < 1 and sellcount < 1 then {
if 매수식 then {
buy();
buyCount = buyCount+1;
}
}
(2) C-entryprice(0) > 0 크던 C-entryprice(0) < 0 작던 매수청산식에 의한 청산하고
단 C-entryprice(0) > 0 클땐 매수청산식에 의한 매도진입(리벌스신호)합니다.
if buycount == 1 && (매수청산식) && C-entryprice(0) > 0 then
exitlong();
if buycount == 1 && (매수청산식) && C-entryprice(0) > 0 then
sell();
if buycount == 1 && (매수청산식) && C-entryprice(0) < 0 then
exitlong();
(3) C-entryprice(0) < 0 작으면 매수청산식에 의한 매도진입(리벌스신호)은 안하지만
매수청산 내용이 모두 매도식에 포함되기 때문에 그 다음 봉에서 바로 매도식에 의해
매도진입하게 되는 문제가 발생 ( 당일 최초 진입하여 손실이 발생하고 청산한 날은 더이상은 진입을 안해야 됩니다)하므로 buycount == 1 이며 매도식일 경우에는 이전 매수포지션 진입가격이 이전 매수포지션 진입청산가격 보다 작으면 매도식에 의해서 매도진입 하지 말고 클 경우에만 매도식에 의한 매도진입 합니다.
if buycount == 1 && (매도식) && !(accumn(entryprice(1)-ExitPrice(1) < 0,dayindex()+1)>=1) then
sell();
--------------새로작성한 시스템식----------------
var : 진입(0), 청산(0), 당일봉(0), 매수식(0),매수청산식(0), 매도식(0),매도청산식(0),buycount(0),sellcount(0),value1(0),value2(0),value3(0),value4(0), value5(0),value6(0);
value1=ema(c,5)-ema(c,26);
value2=ema(ema(c,5)-ema(c,26),9);
value3=(dayhigh()+daylow())/2;
value4=(dayhigh(1)+dayclose(1)+daylow(1))/3;
value5=ema(c,187);
value6=accumn(bids-asks,5)/5;
당일봉 = dayindex();
매수식 =
value1>value2
&&c>value3
&&c>value4
&&c>value5
&&value6>0;
매수청산식=
value1<value2
&&c<value3
&&c<value4;
매도식=
value1<value2
&&c<value3
&&c<value4
&&c<value5
&&value6<0;
매도청산식=
value1>value2
&&c>value3
&&c>value4;
if date != date[1] then {
buycount = 0;
sellcount = 0;
}
if buycount < 1 and sellcount < 1 then {
if 매수식 then {
buy();
buyCount = buyCount+1;
}
}
if buycount == 1 && (매수청산식) && C-entryprice(0) > 0 then
exitlong();
if buycount == 1 && (매수청산식) && C-entryprice(0) > 0 then
sell();
if buycount == 1 && (매수청산식) && C-entryprice(0) < 0 then
exitlong();
if buycount == 1 && (매도식) && !(accumn(entryprice(1)-ExitPrice(1) < 0,dayindex()+1)>=1) then
sell();
if buycount < 1 and sellcount < 1 then {
if 매도식 then {
sell();
sellcount = sellcount +1;
}
}
if sellCount == 1 && (매도청산식) && C-entryprice(0) < 0 then
exitshort();
if sellcount == 1 && (매도청산식) && C-entryprice(0) < 0 then
buy();
if sellCount == 1 && (매도청산식) && C-entryprice(0) > 0 then
exitshort();
if sellcount ==1 && (매수식) && !(accumn(entryprice(1)-ExitPrice(1) > 0,dayindex()+1)>=1) then
buy();
다음글
이전글