커뮤니티

문의드립니다.

프로필 이미지
잡다백수
2018-01-17 11:07:24
172
글번호 115842
답변완료

첨부 이미지

1. 기타 input: 단기이평값(14),장기이평값(40),틱수(1); var: 단기이평(0),장기이평(0),buybase(0),buysetup(false); 단기이평 = ma(c,단기이평값); 장기이평 = ma(c,장기이평값); if bdate != bdate[1] then{ buybase = 0; buysetup = false;} if crossup(단기이평,장기이평) then{ buybase = H; buySetup = true;} if buySetup == true then buy("b",atstop,buybase+PriceScale*틱수); setstopendofday(); 위와 같은 코딩을 짜봤는데요. 저기서 신호가 왜 나왔는지 잘 모르겠습니다. 전에 답해주신 코딩 참조해서 다시봐도 잘 모르겠습니다. 단기이평이 장기이평을 상향돌파해야만 셋업이 true가 되는데 청산이 된 다음날은 buysetup을 초기화했으니 다시 상향돌파해야만 신호가 나와야 하는 것 아닌지요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-01-17 13:34:58

안녕하세요 예스스탁입니다. 이유는 2가지입니다. 1. buySetup이 당일 한번 true 셋팅되면 장끝까지 유지 2. atstop이 봉완성시 "조건" 만족하면 가격이 셋팅되고 다음봉에서 신호가 발생 그러므로 일간장 마지막봉에 buySetup == true 조건이 만족해서 buybase+PriceScale*틱수 가격이 셋팅되고 다음날 시초가가 해당 가격보다 크므로 신호가 발생하는 것입니다. 아래와 같이 진입이후에 buySetup을 false로 돌려 새로운 크로스가 발생해야 true가 되게 해주시고 atstop도 마지막봉에는 셋팅안되게 해주어야 합니다. input: 단기이평값(14),장기이평값(40),틱수(1); var: 단기이평(0),장기이평(0),buybase(0),buysetup(false); 단기이평 = ma(c,단기이평값); 장기이평 = ma(c,장기이평값); if bdate != bdate[1] then { buybase = 0; buysetup = false; } if crossup(단기이평,장기이평) then { buybase = H; buySetup = true; } #완성봉에서 buySetup 조건만족하면 다음봉에서 #buybase+PriceScale*틱수 이상의 시세 발생하면 매수 if buySetup == true and NextBarSdate == sdate then buy("b",atstop,buybase+PriceScale*틱수); if MarketPosition == 1 Then buySetup = false; setstopendofday(); 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 1. 기타 input: 단기이평값(14),장기이평값(40),틱수(1); var: 단기이평(0),장기이평(0),buybase(0),buysetup(false); 단기이평 = ma(c,단기이평값); 장기이평 = ma(c,장기이평값); if bdate != bdate[1] then{ buybase = 0; buysetup = false;} if crossup(단기이평,장기이평) then{ buybase = H; buySetup = true;} if buySetup == true then buy("b",atstop,buybase+PriceScale*틱수); setstopendofday(); 위와 같은 코딩을 짜봤는데요. 저기서 신호가 왜 나왔는지 잘 모르겠습니다. 전에 답해주신 코딩 참조해서 다시봐도 잘 모르겠습니다. 단기이평이 장기이평을 상향돌파해야만 셋업이 true가 되는데 청산이 된 다음날은 buysetup을 초기화했으니 다시 상향돌파해야만 신호가 나와야 하는 것 아닌지요.