커뮤니티

수식 여쭤봅니다~

프로필 이미지
부자청년28
2018-10-02 10:25:58
213
글번호 122370
답변완료
안녕하세요? 아래의 식은 개별종목의 1분봉에 적용하는 식입니다. 아래의 식에 매수 할때의 주가의 위치에 대한 조건을 추가하고 싶습니다. {(지금 가격 + 한달전 가격 + 두달전 가격 + 석달전 가격) 의 평균을 내서, 현 가격이 저 평균보다 높아야지만 매수 조건달성} 위에식 구현이 잘 안되는거면(잘 몰라서요) 비슷하게라도 만들고 싶습니다. 감사합니다. input : mm(300000); input : P1(10),P2(20); var : count(0); var : sumV1(0),sumV2(0); var : mav1(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 mav1 > mav2 and stime == 151800 and C <= DayLow(0)+(DayHigh(0)-DayLow(0))*0.2 Then buy("b",OnClose,def,Floor(mm/c)); if NextBarSdate > sdate and C >= DayHigh(0)-(DayHigh(0)-DayLow(0))*0.2 Then ExitLong("bx",AtMarket);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-10-02 13:42:43

안녕하세요 예스스탁입니다. 차트에 지정한 개월수의 이평을 계산할 만큼 데이터가 있어야 합니다. 이용에 참고하시기 바랍니다. input : mm(300000); input : P1(10),P2(20),MonthP(4); var : count(0); var : sumV1(0),sumV2(0); var : mav1(0),mav2(0),cnt(0),MonthSum(0),MonthMa(0); Array : MC[10](0); #월봉 종가 계산 if bdate > bdate[1]+30 Then { for cnt = 1 to 9 { MC[cnt] = MC[cnt-1][1]; } } MC[0] = C; 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 MC[MonthP-1] > 0 then { #월간이평 MonthSum = 0; for cnt = 0 to MonthP-1 { MonthSum = MonthSum + MC[cnt]; } MonthMa = MonthSum/MonthP; if C > MonthMa and mav1 > mav2 and stime == 151800 and C <= DayLow(0)+(DayHigh(0)-DayLow(0))*0.2 Then buy("b",OnClose,def,Floor(mm/c)); } if NextBarSdate > sdate and C >= DayHigh(0)-(DayHigh(0)-DayLow(0))*0.2 Then ExitLong("bx",AtMarket); 즐거운 하루되세요 > 부자청년28 님이 쓴 글입니다. > 제목 : 수식 여쭤봅니다~ > 안녕하세요? 아래의 식은 개별종목의 1분봉에 적용하는 식입니다. 아래의 식에 매수 할때의 주가의 위치에 대한 조건을 추가하고 싶습니다. {(지금 가격 + 한달전 가격 + 두달전 가격 + 석달전 가격) 의 평균을 내서, 현 가격이 저 평균보다 높아야지만 매수 조건달성} 위에식 구현이 잘 안되는거면(잘 몰라서요) 비슷하게라도 만들고 싶습니다. 감사합니다. input : mm(300000); input : P1(10),P2(20); var : count(0); var : sumV1(0),sumV2(0); var : mav1(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 mav1 > mav2 and stime == 151800 and C <= DayLow(0)+(DayHigh(0)-DayLow(0))*0.2 Then buy("b",OnClose,def,Floor(mm/c)); if NextBarSdate > sdate and C >= DayHigh(0)-(DayHigh(0)-DayLow(0))*0.2 Then ExitLong("bx",AtMarket);