커뮤니티

간단한 질문.

프로필 이미지
sjpapa
2010-12-27 16:20:39
711
글번호 34595
답변완료
일봉의 20일 이평을 분봉이 골든크로스시 매수 식입니다 input : P1(20); var : sumV(0), maV(0), count(0); sumV = 0; for count = 0 to P1-1 { sumV = sumV+DayClose(count); } maV = sumV / P1; if CrossUp(C , maV) Then buy(); 1) 20 이평이 지수이평인가요 단순인가요? 2) 단순이라면 지수이평으로 바꾸려면 어떻게 해야하나요? 3) 아래식에 일봉의 5 이평을 하향 돌파시 청산 식을 추가해주세요. input : P1(20); var : sumV(0), maV(0), count(0); sumV = 0; for count = 0 to P1-1 { sumV = sumV+DayClose(count); } maV = sumV / P1; if CrossUp(C , maV) Then buy(); 날씨가 추우니 건강에 유의하세요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-12-27 16:58:59

안녕하세요 예스스탁입니다. 1. 단순이평입니다. 2. 분봉에서 일봉의 지수이평 계산식은 아래와 같습니다. 다만 유의하실 부분은 지수이평을 봉의 갯수에 영향을 받는 평균방법입니다. 실제 일봉과 분봉의 날짜수의 차이때문에 서로 다른 값을 리턴받을 수 있습니다. 공식과 함께 올려드립니다. /*************지수이평 계산식************************ EMA = 현재봉의 종가 * Ep + 전봉의EMA * (1-EP) Ep(평활계수)= 2/(Period+1) *****************************************************/ Input : Period(20); Var : Ep(0), JISU(0), DINDEX(0), PreJISU(0); Ep = 2/(Period+1); //평활계수 if date != date[1] then { //날짜가 변경될 경우에(매일의 첫번째 봉) DINDEX = DINDEX + 1; //일봉상의 index를 구한다 PreJISU = JISU[1]; //전봉(전일 마지막 봉)의 JISU값을 preJISU에 저장한다. } if DINDEX <= 1 then //일봉상의 인덱스가 1이하이면(차트 맨 앞 첫구간을 의미) JISU = C; //종가를 지수이동평균값으로 저장한다. else //이외의 경우에는 (두번째 구간 부터는) JISU = C * EP + PreJISU * (1-EP); //위 지수이평 계산식에 의해 계산된 값을 지수이평값으로 저장한다. plot1(JISU,"지수이동평균"); //지수이동평균을 출력한다. 2. input : P1(5),P2(20); var : sumV1(0), maV1(0), count(0),sumv2(0),mav2(0); sumV1 = 0; sumv2 = 0; for count = 0 to P2{ If count < P1 Then sumV1 = sumV1+DayClose(count); if count < P2 Then sumv2 = sumv2+DayClose(count); } maV1 = sumV1/P1; mav2 = sumv2/P2; if CrossUp(C,maV2) Then buy(); if CrossDown(c,mav1) Then exitlong(); 즐거운 하루되세요 > 휴식 님이 쓴 글입니다. > 제목 : 간단한 질문. > 일봉의 20일 이평을 분봉이 골든크로스시 매수 식입니다 input : P1(20); var : sumV(0), maV(0), count(0); sumV = 0; for count = 0 to P1-1 { sumV = sumV+DayClose(count); } maV = sumV / P1; if CrossUp(C , maV) Then buy(); 1) 20 이평이 지수이평인가요 단순인가요? 2) 단순이라면 지수이평으로 바꾸려면 어떻게 해야하나요? 3) 아래식에 일봉의 5 이평을 하향 돌파시 청산 식을 추가해주세요. input : P1(20); var : sumV(0), maV(0), count(0); sumV = 0; for count = 0 to P1-1 { sumV = sumV+DayClose(count); } maV = sumV / P1; if CrossUp(C , maV) Then buy(); 날씨가 추우니 건강에 유의하세요.