커뮤니티

추가로 하나 부탁드립니다

프로필 이미지
yamu
2024-11-05 14:57:21
618
글번호 184984
답변완료
전 질문에서 분봉에서 일봉MA 간의 크로스 를 여쭤봤었는데요 분봉에서 분봉MA가 일봉 MA 를 크로스 업 /다운 하는 수식과 함수도 여쭤보고싶습니다 *예를들어 분봉 120봉에서 60선이 일봉 20봉을 크로스업 사용자 함수로 MDAYCROSS(분봉기간1, 일봉기간2, UP 혹은 DOWN 선택) 지난 질문에서 사용자 함수 식을 알려주셨는데 일반 지표식으로 쓰려면 예시: 분봉에서 일봉 5MA 가 20MA 크로스 아래식으로 사용하면 되는걸까요?? short=5; long=20; sum11 = 0; sum12 = 0; sum21 = 0; sum22 = 0; For cnt = 0 to max(short,long) { if cnt < short Then { sum11 = sum11 + DayClose(cnt); sum12 = sum12 + DayClose(cnt+1); } if cnt < long Then { sum21 = sum21 + DayClose(cnt); sum22 = sum22 + DayClose(cnt+1); } } m11 = sum11/short; m12 = sum12/short; m21 = sum21/long; m21 = sum21/long; if m11 > m21 and m12 <= m22 Then ~ 이 부분이 업 if m11 < m21 and m12 >= m22 Then ~ 이 부분이 다운 번거로우시겠지만 이 질문에서도 일반 지표/ 사용자 함수 따로 알려주시면 감사하겠습니다 *예시: 분봉 120봉에서 60선이 일봉 20봉을 크로스업 감사드립니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-11-06 10:16:22

안녕하세요 예스스탁입니다. 1 지표는 크로스업이면 1, 크로스다운이면 -1, 2개 모두 아닌봉은 0이 그려지게 작성해 드립니다. input : 분봉기간(60),일봉기간(20); var : cnt(0); var : m1(0),sum2(0),m2(0); m1 = ma(C,분봉기간); sum2 = 0; For cnt = 0 to 일봉기간-1 { sum2 = sum2 + DayClose(cnt); } m2 = sum2/일봉기간; var1 = 0; if CrossUp(m1,m2) Then var1 = 1; if CrossDown(m1,m2) Then var1 = -1; Plot1(var1); 2 사용자함수는 이전 답변드린 함수와 같습니다. UP은 1, down은 -1로 지정하셔야 합니다. 지정한 기간에 지정한 up이나 down 크로스가 발생하면 true 아니면 flase가 리턴됩니다. 사용자함수 : MDAYCROSS 반환값형 : 논리형 input : 분봉기간(Numeric),일봉기간(Numeric),updown(Numeric); var : cnt(0); var : m1(0),sum2(0),m2(0); m1 = ma(C,분봉기간); sum2 = 0; For cnt = 0 to 일봉기간-1 { sum2 = sum2 + DayClose(cnt); } m2 = sum2/일봉기간; MDAYCROSS = False; if updown == 1 and CrossUp(m1,m2) Then MDAYCROSS = true; if updown == -1 and CrossDown(m1,m2) Then MDAYCROSS = true; 3 input : short(5),long(20); var :cnt(0),sum11(0),sum12(0),sum21(0),sum22(0); var : m11(0),m12(0),m21(0),m22(0); sum11 = 0; sum12 = 0; sum21 = 0; sum22 = 0; For cnt = 0 to max(short,long) { if cnt < short Then { sum11 = sum11 + DayClose(cnt); sum12 = sum12 + DayClose(cnt+1); } if cnt < long Then { sum21 = sum21 + DayClose(cnt); sum22 = sum22 + DayClose(cnt+1); } } m11 = sum11/short; m12 = sum12/short; m21 = sum21/long; m21 = sum21/long; var1 = 0; if m11 > m21 and m12 <= m22 Then var1 = 1; if m11 < m21 and m12 >= m22 Then var1 = -1; Plot1(var1); 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 추가로 하나 부탁드립니다 > 전 질문에서 분봉에서 일봉MA 간의 크로스 를 여쭤봤었는데요 분봉에서 분봉MA가 일봉 MA 를 크로스 업 /다운 하는 수식과 함수도 여쭤보고싶습니다 *예를들어 분봉 120봉에서 60선이 일봉 20봉을 크로스업 사용자 함수로 MDAYCROSS(분봉기간1, 일봉기간2, UP 혹은 DOWN 선택) 지난 질문에서 사용자 함수 식을 알려주셨는데 일반 지표식으로 쓰려면 예시: 분봉에서 일봉 5MA 가 20MA 크로스 아래식으로 사용하면 되는걸까요?? short=5; long=20; sum11 = 0; sum12 = 0; sum21 = 0; sum22 = 0; For cnt = 0 to max(short,long) { if cnt < short Then { sum11 = sum11 + DayClose(cnt); sum12 = sum12 + DayClose(cnt+1); } if cnt < long Then { sum21 = sum21 + DayClose(cnt); sum22 = sum22 + DayClose(cnt+1); } } m11 = sum11/short; m12 = sum12/short; m21 = sum21/long; m21 = sum21/long; if m11 > m21 and m12 <= m22 Then ~ 이 부분이 업 if m11 < m21 and m12 >= m22 Then ~ 이 부분이 다운 번거로우시겠지만 이 질문에서도 일반 지표/ 사용자 함수 따로 알려주시면 감사하겠습니다 *예시: 분봉 120봉에서 60선이 일봉 20봉을 크로스업 감사드립니다