커뮤니티

지표식 문의드립니다.

프로필 이미지
부양가족
2016-02-22 15:03:12
168
글번호 95658
답변완료
매번 성실한 답변 감사합니다. 일봉기준입니다. 1)지표식 1.n봉전부터 전일까지 각봉의 거래량누적하며-각봉의 가격은 종가(가능하면 (h+l)/2 ) 2.n봉전부터 전일까지의 최고가와 최저가구간을 12구간으로 나누어 저장 3.구간누적거래량순위 1,2,3까지 지표로 표시 4.지표는 1,2,3 각구간의 최저-최고를 수평선으로 긋고 채색 2)검색식 위와 동일한 조건에서 위 1,2,3 각구간의 고가에 금일 시가의 +2.5%~-2.5%(변수)가 중첩되고 양봉인 종목을 검색합니다. 설명이 부족하면 답글 남겨주시면 전화드리겠습니다. 감사합니다.
지표
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2016-02-22 16:10:06

안녕하세요 예스스탁입니다. 1. 수식안에서 지표사이의 색을 칠할수 없습니다. 첨부된 그림과 같이 수식작성후 f5키를 누르시면 지표속성창이 나타납니다. 차트표시탭의 채우기 기능을 이용해 직접 설정하셔야 합니다. input : N(60),구간수(12); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } plot1(RR[NTHidx[0]],"상단1"); plot2(RR[NTHidx[0]+1],"하단1"); plot3(RR[NTHidx[1]],"상단2"); plot4(RR[NTHidx[1]+1],"하단2"); plot5(RR[NTHidx[2]],"상단3"); plot6(RR[NTHidx[2]+1],"하단3"); 2. input : N(60),구간수(12),Per(2.5); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if C > dayopen and ((dayopen*(1+Per/100) >= RR[NTHidx[0]] and RR[NTHidx[0]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[1]] and RR[NTHidx[1]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[2]] and RR[NTHidx[2]] >= dayopen*(1+Per/100))) Then find(1); 즐거운 하루되세요 > 부양가족 님이 쓴 글입니다. > 제목 : 지표식 문의드립니다. > 매번 성실한 답변 감사합니다. 일봉기준입니다. 1)지표식 1.n봉전부터 전일까지 각봉의 거래량누적하며-각봉의 가격은 종가(가능하면 (h+l)/2 ) 2.n봉전부터 전일까지의 최고가와 최저가구간을 12구간으로 나누어 저장 3.구간누적거래량순위 1,2,3까지 지표로 표시 4.지표는 1,2,3 각구간의 최저-최고를 수평선으로 긋고 채색 2)검색식 위와 동일한 조건에서 위 1,2,3 각구간의 고가에 금일 시가의 +2.5%~-2.5%(변수)가 중첩되고 양봉인 종목을 검색합니다. 설명이 부족하면 답글 남겨주시면 전화드리겠습니다. 감사합니다.
프로필 이미지

부양가족

2016-02-22 17:00:20

만들어주신 지표식 시현 그림입니다. 보시고 참고해주시기 바랍니다^^ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표식 문의드립니다. > 안녕하세요 예스스탁입니다. 1. 수식안에서 지표사이의 색을 칠할수 없습니다. 첨부된 그림과 같이 수식작성후 f5키를 누르시면 지표속성창이 나타납니다. 차트표시탭의 채우기 기능을 이용해 직접 설정하셔야 합니다. input : N(60),구간수(12); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } plot1(RR[NTHidx[0]],"상단1"); plot2(RR[NTHidx[0]+1],"하단1"); plot3(RR[NTHidx[1]],"상단2"); plot4(RR[NTHidx[1]+1],"하단2"); plot5(RR[NTHidx[2]],"상단3"); plot6(RR[NTHidx[2]+1],"하단3"); 2. input : N(60),구간수(12),Per(2.5); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if C > dayopen and ((dayopen*(1+Per/100) >= RR[NTHidx[0]] and RR[NTHidx[0]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[1]] and RR[NTHidx[1]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[2]] and RR[NTHidx[2]] >= dayopen*(1+Per/100))) Then find(1); 즐거운 하루되세요 > 부양가족 님이 쓴 글입니다. > 제목 : 지표식 문의드립니다. > 매번 성실한 답변 감사합니다. 일봉기준입니다. 1)지표식 1.n봉전부터 전일까지 각봉의 거래량누적하며-각봉의 가격은 종가(가능하면 (h+l)/2 ) 2.n봉전부터 전일까지의 최고가와 최저가구간을 12구간으로 나누어 저장 3.구간누적거래량순위 1,2,3까지 지표로 표시 4.지표는 1,2,3 각구간의 최저-최고를 수평선으로 긋고 채색 2)검색식 위와 동일한 조건에서 위 1,2,3 각구간의 고가에 금일 시가의 +2.5%~-2.5%(변수)가 중첩되고 양봉인 종목을 검색합니다. 설명이 부족하면 답글 남겨주시면 전화드리겠습니다. 감사합니다.
프로필 이미지

예스스탁 예스스탁 답변

2016-02-22 17:06:59

안녕하세요 예스스탁입니다. 분봉차트에서는 차트 전체에 수평으로 표시되게 작성했습니다. 일봉이상에서는 최근 N개봉에만 출력됩니다. 텍스트 함수로 순위를 표시하게 했습니다. input : N(60),구간수(12); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); var : TL1(0),TL2(0),TL3(0); var : Tx1(0),Tx2(0),Tx3(0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if date != date[1] and DataCompress <= 2 Then{ TL_Delete(TL1); TL1 = TL_New(sdate[1],stime[1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); TL_SetColor(TL1,RED); TL_Delete(TL2); TL2 = TL_New(sdate[1],stime[1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetExtLeft(TL2,true); TL_SetColor(TL2,blue); TL_Delete(TL3); TL3 = TL_New(sdate[1],stime[1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); TL_SetExtRight(TL3,true); TL_SetExtLeft(TL3,true); TL_SetColor(TL3,GREEN); } if DataCompress >= 3 then{ TL_Delete(TL1); TL1 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetColor(TL1,RED); TL_Delete(TL2); TL2 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetColor(TL2,blue); TL_Delete(TL3); TL3 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); TL_SetExtRight(TL3,true); TL_SetColor(TL3,GREEN); } Text_Delete(tx1); Text_Delete(tx2); Text_Delete(tx3); tx1 = Text_New(sdate,stime,RR[NTHidx[0]],"1순위"); tx2 = Text_New(sdate,stime,RR[NTHidx[1]],"2순위"); tx3 = Text_New(sdate,stime,RR[NTHidx[2]],"3순위"); Text_SetStyle(tx1,2,0); Text_SetStyle(tx2,2,0); Text_SetStyle(tx3,2,0); 즐거운 하루되세요 > 부양가족 님이 쓴 글입니다. > 제목 : Re : Re : 지표식 문의드립니다. > 만들어주신 지표식 시현 그림입니다. 보시고 참고해주시기 바랍니다^^ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표식 문의드립니다. > 안녕하세요 예스스탁입니다. 1. 수식안에서 지표사이의 색을 칠할수 없습니다. 첨부된 그림과 같이 수식작성후 f5키를 누르시면 지표속성창이 나타납니다. 차트표시탭의 채우기 기능을 이용해 직접 설정하셔야 합니다. input : N(60),구간수(12); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } plot1(RR[NTHidx[0]],"상단1"); plot2(RR[NTHidx[0]+1],"하단1"); plot3(RR[NTHidx[1]],"상단2"); plot4(RR[NTHidx[1]+1],"하단2"); plot5(RR[NTHidx[2]],"상단3"); plot6(RR[NTHidx[2]+1],"하단3"); 2. input : N(60),구간수(12),Per(2.5); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if C > dayopen and ((dayopen*(1+Per/100) >= RR[NTHidx[0]] and RR[NTHidx[0]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[1]] and RR[NTHidx[1]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[2]] and RR[NTHidx[2]] >= dayopen*(1+Per/100))) Then find(1); 즐거운 하루되세요 > 부양가족 님이 쓴 글입니다. > 제목 : 지표식 문의드립니다. > 매번 성실한 답변 감사합니다. 일봉기준입니다. 1)지표식 1.n봉전부터 전일까지 각봉의 거래량누적하며-각봉의 가격은 종가(가능하면 (h+l)/2 ) 2.n봉전부터 전일까지의 최고가와 최저가구간을 12구간으로 나누어 저장 3.구간누적거래량순위 1,2,3까지 지표로 표시 4.지표는 1,2,3 각구간의 최저-최고를 수평선으로 긋고 채색 2)검색식 위와 동일한 조건에서 위 1,2,3 각구간의 고가에 금일 시가의 +2.5%~-2.5%(변수)가 중첩되고 양봉인 종목을 검색합니다. 설명이 부족하면 답글 남겨주시면 전화드리겠습니다. 감사합니다.
프로필 이미지

부양가족

2016-02-22 17:20:13

과장님..감사합니다. 한가지..선굵기를 수정해서 기본값으로 저장해도 추세선이라 그런지 다른종목을 띄우면 초기화되네요~어떤 방법이 있는지요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 지표식 문의드립니다. > 안녕하세요 예스스탁입니다. 분봉차트에서는 차트 전체에 수평으로 표시되게 작성했습니다. 일봉이상에서는 최근 N개봉에만 출력됩니다. 텍스트 함수로 순위를 표시하게 했습니다. input : N(60),구간수(12); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); var : TL1(0),TL2(0),TL3(0); var : Tx1(0),Tx2(0),Tx3(0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if date != date[1] and DataCompress <= 2 Then{ TL_Delete(TL1); TL1 = TL_New(sdate[1],stime[1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); TL_SetColor(TL1,RED); TL_Delete(TL2); TL2 = TL_New(sdate[1],stime[1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetExtLeft(TL2,true); TL_SetColor(TL2,blue); TL_Delete(TL3); TL3 = TL_New(sdate[1],stime[1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); TL_SetExtRight(TL3,true); TL_SetExtLeft(TL3,true); TL_SetColor(TL3,GREEN); } if DataCompress >= 3 then{ TL_Delete(TL1); TL1 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetColor(TL1,RED); TL_Delete(TL2); TL2 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetColor(TL2,blue); TL_Delete(TL3); TL3 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); TL_SetExtRight(TL3,true); TL_SetColor(TL3,GREEN); } Text_Delete(tx1); Text_Delete(tx2); Text_Delete(tx3); tx1 = Text_New(sdate,stime,RR[NTHidx[0]],"1순위"); tx2 = Text_New(sdate,stime,RR[NTHidx[1]],"2순위"); tx3 = Text_New(sdate,stime,RR[NTHidx[2]],"3순위"); Text_SetStyle(tx1,2,0); Text_SetStyle(tx2,2,0); Text_SetStyle(tx3,2,0); 즐거운 하루되세요 > 부양가족 님이 쓴 글입니다. > 제목 : Re : Re : 지표식 문의드립니다. > 만들어주신 지표식 시현 그림입니다. 보시고 참고해주시기 바랍니다^^ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표식 문의드립니다. > 안녕하세요 예스스탁입니다. 1. 수식안에서 지표사이의 색을 칠할수 없습니다. 첨부된 그림과 같이 수식작성후 f5키를 누르시면 지표속성창이 나타납니다. 차트표시탭의 채우기 기능을 이용해 직접 설정하셔야 합니다. input : N(60),구간수(12); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } plot1(RR[NTHidx[0]],"상단1"); plot2(RR[NTHidx[0]+1],"하단1"); plot3(RR[NTHidx[1]],"상단2"); plot4(RR[NTHidx[1]+1],"하단2"); plot5(RR[NTHidx[2]],"상단3"); plot6(RR[NTHidx[2]+1],"하단3"); 2. input : N(60),구간수(12),Per(2.5); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if C > dayopen and ((dayopen*(1+Per/100) >= RR[NTHidx[0]] and RR[NTHidx[0]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[1]] and RR[NTHidx[1]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[2]] and RR[NTHidx[2]] >= dayopen*(1+Per/100))) Then find(1); 즐거운 하루되세요 > 부양가족 님이 쓴 글입니다. > 제목 : 지표식 문의드립니다. > 매번 성실한 답변 감사합니다. 일봉기준입니다. 1)지표식 1.n봉전부터 전일까지 각봉의 거래량누적하며-각봉의 가격은 종가(가능하면 (h+l)/2 ) 2.n봉전부터 전일까지의 최고가와 최저가구간을 12구간으로 나누어 저장 3.구간누적거래량순위 1,2,3까지 지표로 표시 4.지표는 1,2,3 각구간의 최저-최고를 수평선으로 긋고 채색 2)검색식 위와 동일한 조건에서 위 1,2,3 각구간의 고가에 금일 시가의 +2.5%~-2.5%(변수)가 중첩되고 양봉인 종목을 검색합니다. 설명이 부족하면 답글 남겨주시면 전화드리겠습니다. 감사합니다.
프로필 이미지

예스스탁 예스스탁 답변

2016-02-22 18:04:12

안녕하세요 예스스탁입니다. 굵기도 수식안에서 처리가 되어야 합니다. 외부변수로 지정해 드립니다. input : N(60),구간수(12),굵기(3); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); var : TL1(0),TL2(0),TL3(0); var : Tx1(0),Tx2(0),Tx3(0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if date != date[1] and DataCompress <= 2 Then{ TL_Delete(TL1); TL1 = TL_New(sdate[1],stime[1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); TL_SetColor(TL1,RED); TL_SetSize(TL1,굵기); TL_Delete(TL2); TL2 = TL_New(sdate[1],stime[1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetExtLeft(TL2,true); TL_SetColor(TL2,blue); TL_SetSize(TL2,굵기); TL_Delete(TL3); TL3 = TL_New(sdate[1],stime[1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); TL_SetExtRight(TL3,true); TL_SetExtLeft(TL3,true); TL_SetColor(TL3,GREEN); TL_SetSize(TL3,굵기); } if DataCompress >= 3 then{ TL_Delete(TL1); TL1 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetColor(TL1,RED); TL_Delete(TL2); TL2 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetColor(TL2,blue); TL_Delete(TL3); TL3 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); TL_SetExtRight(TL3,true); TL_SetColor(TL3,GREEN); } Text_Delete(tx1); Text_Delete(tx2); Text_Delete(tx3); tx1 = Text_New(sdate,stime,RR[NTHidx[0]],"1순위"); tx2 = Text_New(sdate,stime,RR[NTHidx[1]],"2순위"); tx3 = Text_New(sdate,stime,RR[NTHidx[2]],"3순위"); Text_SetStyle(tx1,2,0); Text_SetStyle(tx2,2,0); Text_SetStyle(tx3,2,0); 즐거운 하루되세요 > 부양가족 님이 쓴 글입니다. > 제목 : Re : Re : Re : Re : 지표식 문의드립니다. > 과장님..감사합니다. 한가지..선굵기를 수정해서 기본값으로 저장해도 추세선이라 그런지 다른종목을 띄우면 초기화되네요~어떤 방법이 있는지요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 지표식 문의드립니다. > 안녕하세요 예스스탁입니다. 분봉차트에서는 차트 전체에 수평으로 표시되게 작성했습니다. 일봉이상에서는 최근 N개봉에만 출력됩니다. 텍스트 함수로 순위를 표시하게 했습니다. input : N(60),구간수(12); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); var : TL1(0),TL2(0),TL3(0); var : Tx1(0),Tx2(0),Tx3(0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if date != date[1] and DataCompress <= 2 Then{ TL_Delete(TL1); TL1 = TL_New(sdate[1],stime[1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); TL_SetColor(TL1,RED); TL_Delete(TL2); TL2 = TL_New(sdate[1],stime[1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetExtLeft(TL2,true); TL_SetColor(TL2,blue); TL_Delete(TL3); TL3 = TL_New(sdate[1],stime[1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); TL_SetExtRight(TL3,true); TL_SetExtLeft(TL3,true); TL_SetColor(TL3,GREEN); } if DataCompress >= 3 then{ TL_Delete(TL1); TL1 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetColor(TL1,RED); TL_Delete(TL2); TL2 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetColor(TL2,blue); TL_Delete(TL3); TL3 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); TL_SetExtRight(TL3,true); TL_SetColor(TL3,GREEN); } Text_Delete(tx1); Text_Delete(tx2); Text_Delete(tx3); tx1 = Text_New(sdate,stime,RR[NTHidx[0]],"1순위"); tx2 = Text_New(sdate,stime,RR[NTHidx[1]],"2순위"); tx3 = Text_New(sdate,stime,RR[NTHidx[2]],"3순위"); Text_SetStyle(tx1,2,0); Text_SetStyle(tx2,2,0); Text_SetStyle(tx3,2,0); 즐거운 하루되세요 > 부양가족 님이 쓴 글입니다. > 제목 : Re : Re : 지표식 문의드립니다. > 만들어주신 지표식 시현 그림입니다. 보시고 참고해주시기 바랍니다^^ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표식 문의드립니다. > 안녕하세요 예스스탁입니다. 1. 수식안에서 지표사이의 색을 칠할수 없습니다. 첨부된 그림과 같이 수식작성후 f5키를 누르시면 지표속성창이 나타납니다. 차트표시탭의 채우기 기능을 이용해 직접 설정하셔야 합니다. input : N(60),구간수(12); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } plot1(RR[NTHidx[0]],"상단1"); plot2(RR[NTHidx[0]+1],"하단1"); plot3(RR[NTHidx[1]],"상단2"); plot4(RR[NTHidx[1]+1],"하단2"); plot5(RR[NTHidx[2]],"상단3"); plot6(RR[NTHidx[2]+1],"하단3"); 2. input : N(60),구간수(12),Per(2.5); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if C > dayopen and ((dayopen*(1+Per/100) >= RR[NTHidx[0]] and RR[NTHidx[0]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[1]] and RR[NTHidx[1]] >= dayopen*(1+Per/100)) or (dayopen*(1+Per/100) >= RR[NTHidx[2]] and RR[NTHidx[2]] >= dayopen*(1+Per/100))) Then find(1); 즐거운 하루되세요 > 부양가족 님이 쓴 글입니다. > 제목 : 지표식 문의드립니다. > 매번 성실한 답변 감사합니다. 일봉기준입니다. 1)지표식 1.n봉전부터 전일까지 각봉의 거래량누적하며-각봉의 가격은 종가(가능하면 (h+l)/2 ) 2.n봉전부터 전일까지의 최고가와 최저가구간을 12구간으로 나누어 저장 3.구간누적거래량순위 1,2,3까지 지표로 표시 4.지표는 1,2,3 각구간의 최저-최고를 수평선으로 긋고 채색 2)검색식 위와 동일한 조건에서 위 1,2,3 각구간의 고가에 금일 시가의 +2.5%~-2.5%(변수)가 중첩되고 양봉인 종목을 검색합니다. 설명이 부족하면 답글 남겨주시면 전화드리겠습니다. 감사합니다.