커뮤니티

20일 이평선의 전고점 또는 전저점 돌파 하는 캔들 검색

프로필 이미지
yes초보님
2023-05-25 18:16:35
1225
글번호 169293
답변완료

첨부 이미지

관리자님 수고 많습니다. 코딩이 초보라 번거롭게 하고 있습니다. 많이 배워서 열심히 해보겠습니다. 이평선 기준 고점 또는 저점을 기준선으로 하여 돌파하는 캔들을 찾고자 합니다. 예로써 20일 이평선의 전저점 또는 전고점을 금일 돌파하는 캔들을 수식으로 종목 검색하고자 합니다
종목검색
답변 4
프로필 이미지

예스스탁 예스스탁 답변

2023-05-26 11:04:08

안녕하세요 예스스탁입니다. 문의하신 내용을 구현하려면 고점과 저점에 대한 기준이 필요합니다. 이평 상승/하락만을 기준으로 작성하면 올리신 그림에서 2차 기준선 이후로도 여러차례 상승/하락이 반복됩니다. 아래식 참고하시기 바랍니다. 이동평균의 일정 Percent이상 상승과 하락을 기준으로 고점/저점을 체크하게 작성된 식입니다. Percent값을 조절해서 원하시는 고점과 저점기준을 찾아보셔야 합니다. input : P(20),Percent(3); Array : HV[10](0),LV[10](0); var : mav(0),cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0); var : ZigZagTL(0),HTL(0),LTL(0); var : Text(0),Box(0),Grid(0); mav = ma(C,P); HPrice = mav; LPrice = mav; if CurrentBar == 1 Then { trend = 0; //초기 최고값 HV[0] = HPrice; //초기 최저값 LV[0] = Lprice; } if CurrentBar > 1 Then { //HPrice가 최근 저점대비 일정%이상 상승 UpTrend = HPrice >= LV[0]*(1+Percent/100); //LPrice가 최근 고점대비 일정%이상 하락 DownTrend = LPrice <= HV[0]*(1-Percent/100); //상승추세 전환 if trend <= 0 and UpTrend == true Then { //추세구분 1 trend = 1; //과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { HV[cnt] = HV[cnt-1]; } HV[0] = HPrice; } Else if trend >= 0 and DownTrend Then//하락추세 전환 { //추세구분은 -1 trend = -1; //과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { LV[cnt] = LV[cnt-1]; } LV[0] = LPrice; #하락전환시(전고점완성) #전고점과 전저점 저장 var1 = HV[0]; var2 = LV[1]; } Else { //상승구간 if trend == 1 Then { //고점이 갱신되면 if HPrice > HV[0] Then { //갱신된 봉의 가격으로 변경 HV[0] = HPrice; } } //하락구간 if trend == -1 Then { //저점이 갱신되면 if LPrice < LV[0] Then { //갱신된 봉의 가격으로 변경 LV[0] = LPrice; } } } } # 종가가 전고점보다 크고 시가는 전저점보다 작은 종목검색 if var1 > Var2 and close > var1 and Var2 > Open Then Find(1); 즐거운 하루되세요 > yes초보님 님이 쓴 글입니다. > 제목 : 20일 이평선의 전고점 또는 전저점 돌파 하는 캔들 검색 > 관리자님 수고 많습니다. 코딩이 초보라 번거롭게 하고 있습니다. 많이 배워서 열심히 해보겠습니다. 이평선 기준 고점 또는 저점을 기준선으로 하여 돌파하는 캔들을 찾고자 합니다. 예로써 20일 이평선의 전저점 또는 전고점을 금일 돌파하는 캔들을 수식으로 종목 검색하고자 합니다
프로필 이미지

yes초보님

2023-05-26 12:35:13

관리자님~~ 먼저 감사 인사 드립니다. 하기 수식에서 예스트레이드에서 사용 가능한 삼각가중 20일 이평선 기준으로 한다면 고점과 저점이 정확하게 표현 될 것 같은데... 삼각가중 20일 이평으로 재 요청 드려도 될런지요??? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 20일 이평선의 전고점 또는 전저점 돌파 하는 캔들 검색 > 안녕하세요 예스스탁입니다. 문의하신 내용을 구현하려면 고점과 저점에 대한 기준이 필요합니다. 이평 상승/하락만을 기준으로 작성하면 올리신 그림에서 2차 기준선 이후로도 여러차례 상승/하락이 반복됩니다. 아래식 참고하시기 바랍니다. 이동평균의 일정 Percent이상 상승과 하락을 기준으로 고점/저점을 체크하게 작성된 식입니다. Percent값을 조절해서 원하시는 고점과 저점기준을 찾아보셔야 합니다. input : P(20),Percent(3); Array : HV[10](0),LV[10](0); var : mav(0),cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0); var : ZigZagTL(0),HTL(0),LTL(0); var : Text(0),Box(0),Grid(0); mav = ma(C,P); HPrice = mav; LPrice = mav; if CurrentBar == 1 Then { trend = 0; //초기 최고값 HV[0] = HPrice; //초기 최저값 LV[0] = Lprice; } if CurrentBar > 1 Then { //HPrice가 최근 저점대비 일정%이상 상승 UpTrend = HPrice >= LV[0]*(1+Percent/100); //LPrice가 최근 고점대비 일정%이상 하락 DownTrend = LPrice <= HV[0]*(1-Percent/100); //상승추세 전환 if trend <= 0 and UpTrend == true Then { //추세구분 1 trend = 1; //과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { HV[cnt] = HV[cnt-1]; } HV[0] = HPrice; } Else if trend >= 0 and DownTrend Then//하락추세 전환 { //추세구분은 -1 trend = -1; //과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { LV[cnt] = LV[cnt-1]; } LV[0] = LPrice; #하락전환시(전고점완성) #전고점과 전저점 저장 var1 = HV[0]; var2 = LV[1]; } Else { //상승구간 if trend == 1 Then { //고점이 갱신되면 if HPrice > HV[0] Then { //갱신된 봉의 가격으로 변경 HV[0] = HPrice; } } //하락구간 if trend == -1 Then { //저점이 갱신되면 if LPrice < LV[0] Then { //갱신된 봉의 가격으로 변경 LV[0] = LPrice; } } } } # 종가가 전고점보다 크고 시가는 전저점보다 작은 종목검색 if var1 > Var2 and close > var1 and Var2 > Open Then Find(1); 즐거운 하루되세요 > yes초보님 님이 쓴 글입니다. > 제목 : 20일 이평선의 전고점 또는 전저점 돌파 하는 캔들 검색 > 관리자님 수고 많습니다. 코딩이 초보라 번거롭게 하고 있습니다. 많이 배워서 열심히 해보겠습니다. 이평선 기준 고점 또는 저점을 기준선으로 하여 돌파하는 캔들을 찾고자 합니다. 예로써 20일 이평선의 전저점 또는 전고점을 금일 돌파하는 캔들을 수식으로 종목 검색하고자 합니다
프로필 이미지

예스스탁 예스스탁 답변

2023-05-26 12:50:23

안녕하세요 예스스탁입니다. input : P(20),Percent(3); Array : HV[10](0),LV[10](0); var : mav(0),cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0); var : ZigZagTL(0),HTL(0),LTL(0); var : Text(0),Box(0),Grid(0); Var : TLen(0),Tma(0); TLen = Ceiling((P + 1) * .5); Tma = ma(ma(C, TLen), TLen); HPrice = Tma; LPrice = Tma; if CurrentBar == 1 Then { trend = 0; //초기 최고값 HV[0] = HPrice; //초기 최저값 LV[0] = Lprice; } if CurrentBar > 1 Then { //HPrice가 최근 저점대비 일정%이상 상승 UpTrend = HPrice >= LV[0]*(1+Percent/100); //LPrice가 최근 고점대비 일정%이상 하락 DownTrend = LPrice <= HV[0]*(1-Percent/100); //상승추세 전환 if trend <= 0 and UpTrend == true Then { //추세구분 1 trend = 1; //과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { HV[cnt] = HV[cnt-1]; } HV[0] = HPrice; } Else if trend >= 0 and DownTrend Then//하락추세 전환 { //추세구분은 -1 trend = -1; //과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { LV[cnt] = LV[cnt-1]; } LV[0] = LPrice; #하락전환시(전고점완성) #전고점과 전저점 저장 var1 = HV[0]; var2 = LV[1]; } Else { //상승구간 if trend == 1 Then { //고점이 갱신되면 if HPrice > HV[0] Then { //갱신된 봉의 가격으로 변경 HV[0] = HPrice; } } //하락구간 if trend == -1 Then { //저점이 갱신되면 if LPrice < LV[0] Then { //갱신된 봉의 가격으로 변경 LV[0] = LPrice; } } } } # 종가가 전고점보다 크고 시가는 전저점보다 작은 종목검색 if var1 > Var2 and close > var1 and Var2 > Open Then Find(1); 즐거운 하루되세요 > yes초보님 님이 쓴 글입니다. > 제목 : Re : Re : 20일 이평선의 전고점 또는 전저점 돌파 하는 캔들 검색 > 관리자님~~ 먼저 감사 인사 드립니다. 하기 수식에서 예스트레이드에서 사용 가능한 삼각가중 20일 이평선 기준으로 한다면 고점과 저점이 정확하게 표현 될 것 같은데... 삼각가중 20일 이평으로 재 요청 드려도 될런지요??? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 20일 이평선의 전고점 또는 전저점 돌파 하는 캔들 검색 > 안녕하세요 예스스탁입니다. 문의하신 내용을 구현하려면 고점과 저점에 대한 기준이 필요합니다. 이평 상승/하락만을 기준으로 작성하면 올리신 그림에서 2차 기준선 이후로도 여러차례 상승/하락이 반복됩니다. 아래식 참고하시기 바랍니다. 이동평균의 일정 Percent이상 상승과 하락을 기준으로 고점/저점을 체크하게 작성된 식입니다. Percent값을 조절해서 원하시는 고점과 저점기준을 찾아보셔야 합니다. input : P(20),Percent(3); Array : HV[10](0),LV[10](0); var : mav(0),cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0); var : ZigZagTL(0),HTL(0),LTL(0); var : Text(0),Box(0),Grid(0); mav = ma(C,P); HPrice = mav; LPrice = mav; if CurrentBar == 1 Then { trend = 0; //초기 최고값 HV[0] = HPrice; //초기 최저값 LV[0] = Lprice; } if CurrentBar > 1 Then { //HPrice가 최근 저점대비 일정%이상 상승 UpTrend = HPrice >= LV[0]*(1+Percent/100); //LPrice가 최근 고점대비 일정%이상 하락 DownTrend = LPrice <= HV[0]*(1-Percent/100); //상승추세 전환 if trend <= 0 and UpTrend == true Then { //추세구분 1 trend = 1; //과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { HV[cnt] = HV[cnt-1]; } HV[0] = HPrice; } Else if trend >= 0 and DownTrend Then//하락추세 전환 { //추세구분은 -1 trend = -1; //과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { LV[cnt] = LV[cnt-1]; } LV[0] = LPrice; #하락전환시(전고점완성) #전고점과 전저점 저장 var1 = HV[0]; var2 = LV[1]; } Else { //상승구간 if trend == 1 Then { //고점이 갱신되면 if HPrice > HV[0] Then { //갱신된 봉의 가격으로 변경 HV[0] = HPrice; } } //하락구간 if trend == -1 Then { //저점이 갱신되면 if LPrice < LV[0] Then { //갱신된 봉의 가격으로 변경 LV[0] = LPrice; } } } } # 종가가 전고점보다 크고 시가는 전저점보다 작은 종목검색 if var1 > Var2 and close > var1 and Var2 > Open Then Find(1); 즐거운 하루되세요 > yes초보님 님이 쓴 글입니다. > 제목 : 20일 이평선의 전고점 또는 전저점 돌파 하는 캔들 검색 > 관리자님 수고 많습니다. 코딩이 초보라 번거롭게 하고 있습니다. 많이 배워서 열심히 해보겠습니다. 이평선 기준 고점 또는 저점을 기준선으로 하여 돌파하는 캔들을 찾고자 합니다. 예로써 20일 이평선의 전저점 또는 전고점을 금일 돌파하는 캔들을 수식으로 종목 검색하고자 합니다
프로필 이미지

yes초보님

2023-05-30 10:42:30

yes초보님 님에 의해 삭제된 답변입니다.