커뮤니티

크레온의 가격이동평균과 같은 사용자 함수를 만들고자 합니다

프로필 이미지
날으는여우
2023-05-16 08:29:39
1056
글번호 168993
답변완료

첨부 이미지

2개의 이평을 가지고 배열은 true or false로 등락율은 숫자형의 사용자 함수를 4개의 return값이 나오도록 설정 하고 싶읍니다
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-05-16 15:52:18

안녕하세요 예스스탁입니다. 1 함수이름은 Mycond로 작성해 드립니다. 다른이름을 지정하시려면 함수명과 수식 마지막에 값저장하는 부분만 변경하시면 됩니다. 2 외부변수는 총 11개 지정해야 합니다. MyCond(조건,단기기준가격,단기기간,단기이평종류,장기준가격,장기기간,장기이평종류,하단%,상단%,기준시점,검색범위); 1번째 매개변수는 조건입니다. 1과 -1은 돌파로 1은 상향돌파, -1은 하향이탈 2와 -2는 비교로 2는 크다 -2는 작다 3과 -3는 배열로 3는 정배열, -3는 역배열(실제로는 2,-2와 같음) 4는 등락률입니다. 모든 조건은 만족하지 않을 경우 0을 리턴합니다. 그러므로 등락률의 경우 0을 기준으로 하면 혼돈이 있어 다른 조건들과 값을 맞추기 위해서 등락률은 이격도와 같이 100을 기준으로 작성했습니다. +2%~4%이면 102와 104로 지정하시면 되고 리턴값도 100기준값으로 리턴되고 조건만족하지 않으면 0입니다. 2~4번째 매개변수 단기이평관련 옵션 5~7번째 매개변수 장기이평관련 옵션 8번째~9번째 매개변수는 조건이 4일때 쓰는 상하단%값 10번째 매개변수 기준시점 11번째 매개변수 검색범위 3 사용자함수명 : Mycond로 반환값형 : 숫자형 input : 조건(Numeric); input : 단기기준가격(Numeric),단기기간(Numeric),단기이평종류(Numeric); input : 장기기준가격(Numeric),장기기간(Numeric),장기이평종류(Numeric); input : dnper(Numeric),upPer(Numeric); input : 기준시점(Numeric),검색범위(Numeric); var : mav1(0),mav2(0),value(0),cnt(0); if 단기이평종류 == 1 Then mav1 = ma(단기기준가격,단기기간); if 단기이평종류 == 2 Then mav1 = ema(단기기준가격,단기기간); if 단기이평종류 == 3 Then mav1 = wma(단기기준가격,단기기간); if 장기이평종류 == 1 Then mav2 = ma(장기기준가격,장기기간); if 장기이평종류 == 2 Then mav2 = ema(장기기준가격,장기기간); if 장기이평종류 == 3 Then mav2 = wma(장기기준가격,장기기간); if 조건 == 1 Then { if CrossUp(mav1,mav2) Then value = 1; Else value = 0; } if 조건 == -1 Then { if CrossDown(mav1,mav2) Then value = 1; Else value = 0; } if 조건 == 2 Then { if mav1 > mav2 Then value = 1; Else value = 0; } if 조건 == -2 Then { if mav1 < mav2 Then value = 1; Else value = 0; } if 조건 == 3 Then { if mav1 > mav2 Then value = 1; Else value = 0; } if 조건 == -3 Then { if mav1 < mav2 Then value = 1; Else value = 0; } if 조건 == 3 Then { if mav1 > mav2 Then value = 1; Else value = 0; } if 조건 == 4 Then { var1 = mav1/mav2*100; if var1 >= dnper and var1 <= upPer Then value = var1; Else value = 0; } value1 = 0; For cnt = 기준시점 to 기준시점+검색범위-1 { if value1 == 0 and value[cnt] > 0 Then value1 = value[cnt]; } MyCond = value1; 즐거운 하루되세요 > 날으는여우 님이 쓴 글입니다. > 제목 : 크레온의 가격이동평균과 같은 사용자 함수를 만들고자 합니다 > 2개의 이평을 가지고 배열은 true or false로 등락율은 숫자형의 사용자 함수를 4개의 return값이 나오도록 설정 하고 싶읍니다