커뮤니티

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();