커뮤니티
지표식 문의드립니다.
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%(변수)가 중첩되고 양봉인 종목을 검색합니다.
설명이 부족하면 답글 남겨주시면 전화드리겠습니다.
감사합니다.
이전글