커뮤니티
data2용 지표변환
2009-01-31 07:12:41
858
글번호 19889
아래 지표를 타종목참조로 data2에 직접 표시하려고 하는데 잘안되는군요..
data2 차트 패드상에 직접 표시 가능하게 변환 부탁합니다.
수고하세요..
#####
var1= dayopen();
var2= dayhigh();
var3= daylow();
var4= (var3+var4)/2;
plot21(var1,"시가");
plot22(var2,"고가");
plot23(var3,"저가");
plot24(var4,"중간");
#####
vars : H1(0),L1(0) ;
if dayindex()==0 Then {
H1 = Highest(H,1);
L1 = Lowest(L,1);
}
if dayindex()==1 Then {
H1 = Highest(H,2);
L1 = Lowest(L,2);
}
plot41(H1,"10MBO-H",black);
plot42(L1,"10MBO-L",black);
########
input:봉개수(12),미완성사용(0); //1시간 기준
var:j(0),예비고(0),예비저(0),예비고bar(0),예비저bar(0),미완성(0),미완성bar(0),
고점표시(0),저점표시(0),
기울기(0),상단bar(0),중심bar(0),하단bar(0),
상단절편(0),하단절편(0),상단채널(0),중간채널(0),하단채널(0);
array:고[10](0),저[10](0),고bar[10](0),저bar[10](0);
#------------------------------------------#
# 예비변곡점 계산
#------------------------------------------#
if highest(h[1],봉개수) <= h then {
예비고 = h;
예비고bar = 0;
}
else
예비고bar = 예비고bar + 1;
if lowest(l[1],봉개수) >= l then {
예비저 = l;
예비저bar = 0;
}
else
예비저bar = 예비저bar + 1;
고점표시=(o[봉개수]+c[봉개수])/2;
저점표시=(o[봉개수]+c[봉개수])/2;
#------------------------------------------#
# 변곡점 바뀌기 전에 bar값 1씩 증가
#------------------------------------------#
# 변곡점 새로 계산된 다음 또 1 증가 시키면 안되니까
for j = 1 to 9 {
고bar[j] = 고bar[j] + 1;
저bar[j] = 저bar[j] + 1;
}
#------------------------------------------#
# 변곡점 확정
#------------------------------------------#
if 예비고bar == 봉개수 and highest(h,봉개수) <= h[봉개수] then {
if 미완성사용 == 0 then {
if 저bar[1] <= 고bar[1] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
}
if 저bar[1] <= 고bar[1]
or (저bar[1] > 고bar[1] and 고[1] <= 예비고) then {
고[1] = 예비고;
고bar[1] = 예비고bar;
고점표시 = 예비고*1.005;
}
}
else {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
고[1] = 예비고;
고bar[1] = 예비고bar;
고점표시 = 예비고*1.005;
if 저bar[1] > 고bar[2] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
미완성 = 0;
for j = 고bar[1] + 1 to 고bar[2] - 1 {
if 미완성 == 0 or 미완성 > l[j] then {
미완성 = l[j];
미완성bar = j;
}
}
저[1] = 미완성;
저bar[1] = 미완성bar;
}
}
}
if 예비저bar == 봉개수 and lowest(l,봉개수) >= l[봉개수] then {
if 미완성사용 == 0 then {
if 고bar[1] <= 저bar[1] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
}
if 고bar[1] <= 저bar[1]
or (고bar[1] > 저bar[1] and 저[1] >= 예비저) then {
저[1] = 예비저;
저bar[1] = 예비저bar;
저점표시 = 예비저*0.995;
}
}
else {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
저[1] = 예비저;
저bar[1] = 예비저bar;
저점표시 = 예비저*0.995;
if 고bar[1] > 저bar[2] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
미완성 = 0;
for j = 저bar[1] + 1 to 저bar[2] - 1 {
if 미완성 < h[j] then {
미완성 = h[j];
미완성bar = j;
}
}
고[1] = 미완성;
고bar[1] = 미완성bar;
}
}
}
#------------------------------------------#
# 신규 채널 나오기 전에 bar값 1씩 증가
#------------------------------------------#
# 신규채널 계산에 의해 bar값이 새로 나온 다음 1씩 증가시키면 안맞잖아
상단bar = 상단bar + 1;
하단bar = 하단bar + 1;
#------------------------------------------#
# 상승추세
#------------------------------------------#
if 저bar[1] == 봉개수 then {
기울기 = (저[1]-저[2])/(저bar[2]-저bar[1]);
하단절편 = 저[2];
하단bar = 저bar[2];
상단절편 = 고[1];
상단bar = 고bar[1];
}
#------------------------------------------#
# 하락추세
#------------------------------------------#
if 고bar[1] == 봉개수 then {
기울기 = (고[1]-고[2])/(고bar[2]-고bar[1]);
상단절편 = 고[2];
상단bar = 고bar[2];
하단절편 = 저[1];
하단bar = 저bar[1];
}
상단채널 = 기울기 * 상단bar + 상단절편;
하단채널 = 기울기 * 하단bar + 하단절편;
중간채널 = (상단채널 + 하단채널)/2;
#------------------------------------------#
# 변곡점의 점 표시
#------------------------------------------#
if 고점표시 > h[봉개수] then plot1(고점표시,"전고점");
if 저점표시 < l[봉개수] then plot2(저점표시,"전저점");
#------------------------------------------#
# 채널 표시
#------------------------------------------#
if 상단채널 > 0 then plot3(상단채널,"상단채널");
if 중간채널 > 0 then plot4(중간채널,"중간채널");
if 하단채널 > 0 then plot5(하단채널,"하단채널");
답변 1
예스스탁 예스스탁 답변
2009-02-02 17:26:02
안녕하세요
예스스탁입니다.
#####
var1= dayopen();
var2= dayhigh();
var3= daylow();
var4= (var3+var4)/2;
plot21(data2(OpenD(0)),"시가");
plot22(data2(HighD(0)),"고가");
plot23(data2(LowD(0)),"저가");
plot24(data2((highd(0)+LowD(0))/2),"중간");
#####
vars : H1(0,data2),L1(0,data2) ;
if data2(dayindex) ==0 Then {
H1 = data2(Highest(H,1));
L1 = data2(Lowest(L,1));
}
if data2(dayindex) ==1 Then {
H1 = data2(Highest(H,2));
L1 = data2(Lowest(L,2));
}
plot41(H1,"10MBO-H",black);
plot42(L1,"10MBO-L",black);
#####
input:봉개수(12),미완성사용(0); //1시간 기준
var:j(0),예비고(0,data2),예비저(0,data2),예비고bar(0,data2),예비저bar(0,data2),미완성(0),미완성bar(0),
고점표시(0,data2),저점표시(0,data2),
기울기(0,data2),상단bar(0,data2),중심bar(0,data2),하단bar(0,data2),
상단절편(0,data2),하단절편(0,data2),상단채널(0,data2),중간채널(0,data2),하단채널(0,data2);
array:고[10](0,data2),저[10](0,data2),고bar[10](0,data2),저bar[10](0,data2);
#------------------------------------------#
# 예비변곡점 계산
#------------------------------------------#
if data2(highest(h[1],봉개수)) <= data2(h) then {
예비고 = data2(h);
예비고bar = 0;
}
else
예비고bar = 예비고bar + 1;
if data2(lowest(l[1],봉개수)) >= data2(l) then {
예비저 = data2(l);
예비저bar = 0;
}
else
예비저bar = 예비저bar + 1;
고점표시=data2((o[봉개수]+c[봉개수])/2);
저점표시=data2((o[봉개수]+c[봉개수])/2);
#------------------------------------------#
# 변곡점 바뀌기 전에 bar값 1씩 증가
#------------------------------------------#
# 변곡점 새로 계산된 다음 또 1 증가 시키면 안되니까
for j = 1 to 9 {
고bar[j] = 고bar[j] + 1;
저bar[j] = 저bar[j] + 1;
}
#------------------------------------------#
# 변곡점 확정
#------------------------------------------#
if 예비고bar == 봉개수 and data2(highest(h,봉개수)) <= data2(h[봉개수]) then {
if 미완성사용 == 0 then {
if 저bar[1] <= 고bar[1] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
}
if 저bar[1] <= 고bar[1]
or (저bar[1] > 고bar[1] and 고[1] <= 예비고) then {
고[1] = 예비고;
고bar[1] = 예비고bar;
고점표시 = 예비고*1.005;
}
}
else {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
고[1] = 예비고;
고bar[1] = 예비고bar;
고점표시 = 예비고*1.005;
if 저bar[1] > 고bar[2] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
미완성 = 0;
for j = 고bar[1] + 1 to 고bar[2] - 1 {
if 미완성 == 0 or 미완성 > data2(l[j]) then {
미완성 = data2(l[j]);
미완성bar = j;
}
}
저[1] = 미완성;
저bar[1] = 미완성bar;
}
}
}
if 예비저bar == 봉개수 and data2(lowest(l,봉개수)) >= data2(l[봉개수]) then {
if 미완성사용 == 0 then {
if 고bar[1] <= 저bar[1] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
}
if 고bar[1] <= 저bar[1]
or (고bar[1] > 저bar[1] and 저[1] >= 예비저) then {
저[1] = 예비저;
저bar[1] = 예비저bar;
저점표시 = 예비저*0.995;
}
}
else {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
저[1] = 예비저;
저bar[1] = 예비저bar;
저점표시 = 예비저*0.995;
if 고bar[1] > 저bar[2] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
미완성 = 0;
for j = 저bar[1] + 1 to 저bar[2] - 1 {
if 미완성 < data2(h[j]) then {
미완성 = data2(h[j]);
미완성bar = j;
}
}
고[1] = 미완성;
고bar[1] = 미완성bar;
}
}
}
#------------------------------------------#
# 신규 채널 나오기 전에 bar값 1씩 증가
#------------------------------------------#
# 신규채널 계산에 의해 bar값이 새로 나온 다음 1씩 증가시키면 안맞잖아
상단bar = 상단bar + 1;
하단bar = 하단bar + 1;
#------------------------------------------#
# 상승추세
#------------------------------------------#
if 저bar[1] == 봉개수 then {
기울기 = (저[1]-저[2])/(저bar[2]-저bar[1]);
하단절편 = 저[2];
하단bar = 저bar[2];
상단절편 = 고[1];
상단bar = 고bar[1];
}
#------------------------------------------#
# 하락추세
#------------------------------------------#
if 고bar[1] == 봉개수 then {
기울기 = (고[1]-고[2])/(고bar[2]-고bar[1]);
상단절편 = 고[2];
상단bar = 고bar[2];
하단절편 = 저[1];
하단bar = 저bar[1];
}
상단채널 = 기울기 * 상단bar + 상단절편;
하단채널 = 기울기 * 하단bar + 하단절편;
중간채널 = (상단채널 + 하단채널)/2;
#------------------------------------------#
# 변곡점의 점 표시
#------------------------------------------#
if 고점표시 > data2(h[봉개수]) then plot1(고점표시,"전고점");
if 저점표시 < data2(l[봉개수]) then plot2(저점표시,"전저점");
#------------------------------------------#
# 채널 표시
#------------------------------------------#
if 상단채널 > 0 then plot3(상단채널,"상단채널");
if 중간채널 > 0 then plot4(중간채널,"중간채널");
if 하단채널 > 0 then plot5(하단채널,"하단채널");
> 오이도인 님이 쓴 글입니다.
> 제목 : data2용 지표변환
> 아래 지표를 타종목참조로 data2에 직접 표시하려고 하는데 잘안되는군요..
data2 차트 패드상에 직접 표시 가능하게 변환 부탁합니다.
수고하세요..
#####
var1= dayopen();
var2= dayhigh();
var3= daylow();
var4= (var3+var4)/2;
plot21(var1,"시가");
plot22(var2,"고가");
plot23(var3,"저가");
plot24(var4,"중간");
#####
vars : H1(0),L1(0) ;
if dayindex()==0 Then {
H1 = Highest(H,1);
L1 = Lowest(L,1);
}
if dayindex()==1 Then {
H1 = Highest(H,2);
L1 = Lowest(L,2);
}
plot41(H1,"10MBO-H",black);
plot42(L1,"10MBO-L",black);
########
input:봉개수(12),미완성사용(0); //1시간 기준
var:j(0),예비고(0),예비저(0),예비고bar(0),예비저bar(0),미완성(0),미완성bar(0),
고점표시(0),저점표시(0),
기울기(0),상단bar(0),중심bar(0),하단bar(0),
상단절편(0),하단절편(0),상단채널(0),중간채널(0),하단채널(0);
array:고[10](0),저[10](0),고bar[10](0),저bar[10](0);
#------------------------------------------#
# 예비변곡점 계산
#------------------------------------------#
if highest(h[1],봉개수) <= h then {
예비고 = h;
예비고bar = 0;
}
else
예비고bar = 예비고bar + 1;
if lowest(l[1],봉개수) >= l then {
예비저 = l;
예비저bar = 0;
}
else
예비저bar = 예비저bar + 1;
고점표시=(o[봉개수]+c[봉개수])/2;
저점표시=(o[봉개수]+c[봉개수])/2;
#------------------------------------------#
# 변곡점 바뀌기 전에 bar값 1씩 증가
#------------------------------------------#
# 변곡점 새로 계산된 다음 또 1 증가 시키면 안되니까
for j = 1 to 9 {
고bar[j] = 고bar[j] + 1;
저bar[j] = 저bar[j] + 1;
}
#------------------------------------------#
# 변곡점 확정
#------------------------------------------#
if 예비고bar == 봉개수 and highest(h,봉개수) <= h[봉개수] then {
if 미완성사용 == 0 then {
if 저bar[1] <= 고bar[1] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
}
if 저bar[1] <= 고bar[1]
or (저bar[1] > 고bar[1] and 고[1] <= 예비고) then {
고[1] = 예비고;
고bar[1] = 예비고bar;
고점표시 = 예비고*1.005;
}
}
else {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
고[1] = 예비고;
고bar[1] = 예비고bar;
고점표시 = 예비고*1.005;
if 저bar[1] > 고bar[2] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
미완성 = 0;
for j = 고bar[1] + 1 to 고bar[2] - 1 {
if 미완성 == 0 or 미완성 > l[j] then {
미완성 = l[j];
미완성bar = j;
}
}
저[1] = 미완성;
저bar[1] = 미완성bar;
}
}
}
if 예비저bar == 봉개수 and lowest(l,봉개수) >= l[봉개수] then {
if 미완성사용 == 0 then {
if 고bar[1] <= 저bar[1] then {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
}
if 고bar[1] <= 저bar[1]
or (고bar[1] > 저bar[1] and 저[1] >= 예비저) then {
저[1] = 예비저;
저bar[1] = 예비저bar;
저점표시 = 예비저*0.995;
}
}
else {
for j = 9 downto 2 {
저[j] = 저[j-1];
저bar[j] = 저bar[j-1];
}
저[1] = 예비저;
저bar[1] = 예비저bar;
저점표시 = 예비저*0.995;
if 고bar[1] > 저bar[2] then {
for j = 9 downto 2 {
고[j] = 고[j-1];
고bar[j] = 고bar[j-1];
}
미완성 = 0;
for j = 저bar[1] + 1 to 저bar[2] - 1 {
if 미완성 < h[j] then {
미완성 = h[j];
미완성bar = j;
}
}
고[1] = 미완성;
고bar[1] = 미완성bar;
}
}
}
#------------------------------------------#
# 신규 채널 나오기 전에 bar값 1씩 증가
#------------------------------------------#
# 신규채널 계산에 의해 bar값이 새로 나온 다음 1씩 증가시키면 안맞잖아
상단bar = 상단bar + 1;
하단bar = 하단bar + 1;
#------------------------------------------#
# 상승추세
#------------------------------------------#
if 저bar[1] == 봉개수 then {
기울기 = (저[1]-저[2])/(저bar[2]-저bar[1]);
하단절편 = 저[2];
하단bar = 저bar[2];
상단절편 = 고[1];
상단bar = 고bar[1];
}
#------------------------------------------#
# 하락추세
#------------------------------------------#
if 고bar[1] == 봉개수 then {
기울기 = (고[1]-고[2])/(고bar[2]-고bar[1]);
상단절편 = 고[2];
상단bar = 고bar[2];
하단절편 = 저[1];
하단bar = 저bar[1];
}
상단채널 = 기울기 * 상단bar + 상단절편;
하단채널 = 기울기 * 하단bar + 하단절편;
중간채널 = (상단채널 + 하단채널)/2;
#------------------------------------------#
# 변곡점의 점 표시
#------------------------------------------#
if 고점표시 > h[봉개수] then plot1(고점표시,"전고점");
if 저점표시 < l[봉개수] then plot2(저점표시,"전저점");
#------------------------------------------#
# 채널 표시
#------------------------------------------#
if 상단채널 > 0 then plot3(상단채널,"상단채널");
if 중간채널 > 0 then plot4(중간채널,"중간채널");
if 하단채널 > 0 then plot5(하단채널,"하단채널");
즐거운 하루되세요
다음글
이전글