커뮤니티

수식 확인 요청드립니다.

프로필 이미지
전략도사
2016-05-26 14:21:04
146
글번호 98518
답변완료

첨부 이미지

안녕하십니까?ㅎㅎ 확인 요청사항이 있습니다. 대상: KODEX200 종목, 1분봉 - 상한선 돌파시 매수, 하한선 돌파시 매도 이렇게 했는데, 상한선, 하한선 지표식 그래프와 매수,매도 진입 시점이 달라서 왜 그런지 확인 좀 부탁드립니다. 상한선 돌파 시에 매수를 해야 하는데, 그 전에 매수가 나가고 있습니다 매도도 마찬가지구요... 감사합니다. ----------------------------------------------------------------------------------- input : n(20),승수(0.5),P(5),X(0.5); var : sum(0),avgv(0),cnt(0),atrv(0); var : TH(0),TL(0),Sum1(0),TR(0),DayATR(0); sum = 0; for cnt = 1 to n{ sum = sum + (dayhigh(cnt)-daylow(cnt)); } avgv = sum/n; sum1 = 0; for cnt = 0 to P-1{ If DayClose(cnt+1) > dayhigh(cnt) then TH = DayClose(cnt+1); else TH = dayhigh(cnt); If DayClose(cnt+1) < DayLow(cnt) then TL = DayClose(cnt+1); else TL = daylow(cnt); TR = TH-TL; Sum1 = Sum1+TR; } DayATR = Sum1/P; if crossup(c,dayopen+avgv*승수) and MarketPosition==0 Then buy("Buy"); if CrossDown(c,dayopen-avgv*승수) and MarketPosition==0 Then sell("Sell"); /*if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-DayATR*x); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+DayATR*x);*/ SetStopEndofday(144900); //SetStopLoss(1,PercentStop); =--------------------------------------------------------------------- input : n(20),승수(0.5),P(10); var : sum(0),avgv(0),cnt(0), Sum1(0),TH(0),TL(0), TR(0), DayATR(0); sum = 0; for cnt = 1 to n{ sum = sum + (dayhigh(cnt)-daylow(cnt)); } avgv = sum/n; plot1(dayopen+avgv*승수); plot2(dayopen-avgv*승수); plot3(dayopen); //plot4(highest(H,BarsSinceEntry)-DayATR*x);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-05-26 16:53:53

안녕하세요 예스스탁입니다. 2가지 중 하나의 이유이므로 아래 사항 확인하시기 바랍니다. 1 차트에 적용한 지표의 외부변수값과 시스템의 외부변수값이 다른지 확인하시기 바랍니다. 각 수식의 속성화면열어서 외부변수값 확인하시기 바랍니다. 2 2개의 수식의 외부변수는 같은데 다르다면 지표가 차트와 Y축을 같이 사용하는 것이 아닌 플로팅상태에서 겹쳐놓으신 상태일수 있습니다. 예스랭귀지 편집기에서 지표수식을 여시고 f5키를 누르면 지표속성화면이 나타납니다. Y축표시에서 가격으로 설정하고 해당 지표 다시 적용하시면 됩니다. 즐거운 하루되세요 > 전략도사 님이 쓴 글입니다. > 제목 : 수식 확인 요청드립니다. > 안녕하십니까?ㅎㅎ 확인 요청사항이 있습니다. 대상: KODEX200 종목, 1분봉 - 상한선 돌파시 매수, 하한선 돌파시 매도 이렇게 했는데, 상한선, 하한선 지표식 그래프와 매수,매도 진입 시점이 달라서 왜 그런지 확인 좀 부탁드립니다. 상한선 돌파 시에 매수를 해야 하는데, 그 전에 매수가 나가고 있습니다 매도도 마찬가지구요... 감사합니다. ----------------------------------------------------------------------------------- input : n(20),승수(0.5),P(5),X(0.5); var : sum(0),avgv(0),cnt(0),atrv(0); var : TH(0),TL(0),Sum1(0),TR(0),DayATR(0); sum = 0; for cnt = 1 to n{ sum = sum + (dayhigh(cnt)-daylow(cnt)); } avgv = sum/n; sum1 = 0; for cnt = 0 to P-1{ If DayClose(cnt+1) > dayhigh(cnt) then TH = DayClose(cnt+1); else TH = dayhigh(cnt); If DayClose(cnt+1) < DayLow(cnt) then TL = DayClose(cnt+1); else TL = daylow(cnt); TR = TH-TL; Sum1 = Sum1+TR; } DayATR = Sum1/P; if crossup(c,dayopen+avgv*승수) and MarketPosition==0 Then buy("Buy"); if CrossDown(c,dayopen-avgv*승수) and MarketPosition==0 Then sell("Sell"); /*if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-DayATR*x); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+DayATR*x);*/ SetStopEndofday(144900); //SetStopLoss(1,PercentStop); =--------------------------------------------------------------------- input : n(20),승수(0.5),P(10); var : sum(0),avgv(0),cnt(0), Sum1(0),TH(0),TL(0), TR(0), DayATR(0); sum = 0; for cnt = 1 to n{ sum = sum + (dayhigh(cnt)-daylow(cnt)); } avgv = sum/n; plot1(dayopen+avgv*승수); plot2(dayopen-avgv*승수); plot3(dayopen); //plot4(highest(H,BarsSinceEntry)-DayATR*x);