커뮤니티
5분봉 dema100 이평을 100틱챠트에 표현
2015-06-10 00:37:54
126
글번호 86998
항상감사드립니다
아래 지표조건식을 타주기챠트를 사용하지 않고 구현하고자 합니다
**** A_ 5분봉 dema100 이평을 100틱챠트에서 구현하기(고가,종가,저가 표시)
1.
INPUTS: LENGTH1(5),LENGTH2(20),LENGTH3(60);
VARS : DEMA1(0,data2),DEMA2(0,data2),DEMA3(0,data2);
var : V1(0,data2),val1(0,data2);
var : V2(0,data2),val2(0,data2);
var : V3(0,data2),val3(0,data2);
v1= data2(EMA(C,LENGTH1));
val1= data2(EMA(EMa(C,LENGTH1),LENGTH1));
v2= data2(EMA(C,LENGTH2));
val2= data2(EMA(EMa(C,LENGTH2),LENGTH2));
v3= data2(EMA(C,LENGTH3));
val3= data2(EMA(EMa(C,LENGTH3),LENGTH3));
DEMA1 = v1 * 2 - val1;
DEMA2 = v2 * 2 - val2;
DEMA3 = v3 * 2 - val3;
PLOT1(DEMA1, "DEMA1");
PLOT2(DEMA2, "DEMA2");
PLOT3(DEMA3, "DEMA3");
**** B_ 5분봉 기하이평_100 이평을 100틱챠트에서 구현하기
input : P1(36),P2(100),P3(200);
var : HH(0),LL(0),CC(0),cnt(0);
var : Hma1(0),Lma1(0),Cma1(0);
var : Hma2(0),Lma2(0),Cma2(0);
var : Hma3(0),Lma3(0),Cma3(0);
HH = Log(H);
LL = Log(L);
CC = Log(C);
Hma1 = 0;
Lma1 = 0;
Cma1 = 0;
for cnt = 0 to P1-1 begin
Hma1 = Hma1 + HH[cnt];
Lma1 = Lma1 + LL[cnt];
Cma1 = Cma1 + CC[cnt];
end;
Hma1 = 2.71828182845904^(Hma1/P1);
Lma1 = 2.71828182845904^(Lma1/P1);
Cma1 = 2.71828182845904^(Cma1/P1);
Hma2 = 0;
Lma2 = 0;
Cma2 = 0;
for cnt = 0 to P2-1 begin
Hma2 = Hma2 + HH[cnt];
Lma2 = Lma2 + LL[cnt];
Cma2 = Cma2 + CC[cnt];
end;
Hma2 = 2.71828182845904^(Hma2/P2);
Lma2 = 2.71828182845904^(Lma2/P2);
Cma2 = 2.71828182845904^(Cma2/P2);
Hma3 = 0;
Lma3 = 0;
Cma3 = 0;
for cnt = 0 to P3-1 begin
Hma3 = Hma3 + HH[cnt];
Lma3 = Lma3 + LL[cnt];
Cma3 = Cma3 + CC[cnt];
end;
Hma3 = 2.71828182845904^(Hma3/P3);
Lma3 = 2.71828182845904^(Lma3/P3);
Cma3 = 2.71828182845904^(Cma3/P3);
plot1(Hma1,"단기고가",WHITE);
plot2(Lma1,"단기저가",WHITE);
plot3(Cma1,"단기종가",blue,def,1);
plot4(Hma2,"중기고가",WHITE);
plot5(Lma2,"중기저가",WHITE);
plot6(Cma2,"중기종가",red,def,1);
plot7(Hma3,"장기고가",WHITE);
plot8(Lma3,"장기저가",WHITE);
plot9(Cma3,"장기종가",black,def,2);
감사합니다.
답변 1
예스스탁 예스스탁 답변
2015-06-10 11:39:28
안녕하세요
예스스탁입니다.
틱봉에서 분봉지표를 구현하므로 값이 정확치 않을수 있습니다.
지정한 기간을 충족할 만큼 데이터가 확보되지 않으면
값을 리턴하지 못합니다.
1.
Input : Atime(5),Period(100);
var : EP(0),Idx(0),TF(0);
Var : CJISU(0), CJISU1(0);
Var : HJISU(0), HJISU1(0);
Var : LJISU(0), LJISU1(0);
Var : aCJISU(0), aCJISU1(0);
Var : aHJISU(0), aHJISU1(0);
Var : aLJISU(0), aLJISU1(0);
var : CDEMA(0),HDEMA(0),LDEMA(0),HH(0),LL(0);
Ep = 2/(Period+1);
TF = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
idx = idx+1;
HH = H;
LL = L;
CJISU1 = CJISU[1];
HJISU1 = HJISU[1];
LJISU1 = LJISU[1];
aCJISU1 = aCJISU[1];
aHJISU1 = aHJISU[1];
aLJISU1 = aLJISU[1];
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if idx <= 1 then {
CJISU = C;
HJISU = HH;
LJISU = LL;
}
else{
CJISU = C * EP + CJISU1 * (1-EP);
HJISU = HH * EP + HJISU1 * (1-EP);
LJISU = LL * EP + LJISU1 * (1-EP);
}
if idx <= 2 then {
aCJISU = CJISU;
aHJISU = HJISU;
aLJISU = LJISU;
}
else{
aCJISU = CJISU * EP + aCJISU1 * (1-EP);
aHJISU = HJISU * EP + aHJISU1 * (1-EP);
aLJISU = LJISU * EP + aLJISU1 * (1-EP);
}
CDEMA = CJISU * 2 - aCJISU;
HDEMA = HJISU * 2 - aHJISU;
LDEMA = LJISU * 2 - aLJISU;
plot1(CDEMA);
plot2(HDEMA);
plot3(LDEMA);
2.
Input : Atime(5),P1(36),P2(100),P3(200);
var : TF(0),Hv(0),Lv(0),cnt(0);
Array : HH[100](0),LL[100](0),CC[100](0);
var : Hma1(0),Lma1(0),Cma1(0);
var : Hma2(0),Lma2(0),Cma2(0);
var : Hma3(0),Lma3(0),Cma3(0);
TF = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
Hv = H;
Lv = L;
for cnt = 1 to 99{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if H > Hv Then
Hv = H;
if L < Lv Then
Lv = L;
HH[0] = log(Hv);
LL[0] = log(Lv);
CC[0] = log(C);
if HH[P1-1] > 0 then{
Hma1 = 0;
Lma1 = 0;
Cma1 = 0;
for cnt = 0 to P1-1 begin
Hma1 = Hma1 + HH[cnt];
Lma1 = Lma1 + LL[cnt];
Cma1 = Cma1 + CC[cnt];
end;
Hma1 = 2.71828182845904^(Hma1/P1);
Lma1 = 2.71828182845904^(Lma1/P1);
Cma1 = 2.71828182845904^(Cma1/P1);
plot1(Hma1,"단기고가",WHITE);
plot2(Lma1,"단기저가",WHITE);
plot3(Cma1,"단기종가",blue,def,1);
}
if HH[P2-1] > 0 then{
Hma2 = 0;
Lma2 = 0;
Cma2 = 0;
for cnt = 0 to P2-1 begin
Hma2 = Hma2 + HH[cnt];
Lma2 = Lma2 + LL[cnt];
Cma2 = Cma2 + CC[cnt];
end;
Hma2 = 2.71828182845904^(Hma2/P2);
Lma2 = 2.71828182845904^(Lma2/P2);
Cma2 = 2.71828182845904^(Cma2/P2);
plot4(Hma2,"중기고가",WHITE);
plot5(Lma2,"중기저가",WHITE);
plot6(Cma2,"중기종가",red,def,1);
}
if HH[P3-1] > 0 then{
Hma3 = 0;
Lma3 = 0;
Cma3 = 0;
for cnt = 0 to P3-1 begin
Hma3 = Hma3 + HH[cnt];
Lma3 = Lma3 + LL[cnt];
Cma3 = Cma3 + CC[cnt];
end;
Hma3 = 2.71828182845904^(Hma3/P3);
Lma3 = 2.71828182845904^(Lma3/P3);
Cma3 = 2.71828182845904^(Cma3/P3);
plot7(Hma3,"장기고가",WHITE);
plot8(Lma3,"장기저가",WHITE);
plot9(Cma3,"장기종가",black,def,2);
}
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 5분봉 dema100 이평을 100틱챠트에 표현
> 항상감사드립니다
아래 지표조건식을 타주기챠트를 사용하지 않고 구현하고자 합니다
**** A_ 5분봉 dema100 이평을 100틱챠트에서 구현하기(고가,종가,저가 표시)
1.
INPUTS: LENGTH1(5),LENGTH2(20),LENGTH3(60);
VARS : DEMA1(0,data2),DEMA2(0,data2),DEMA3(0,data2);
var : V1(0,data2),val1(0,data2);
var : V2(0,data2),val2(0,data2);
var : V3(0,data2),val3(0,data2);
v1= data2(EMA(C,LENGTH1));
val1= data2(EMA(EMa(C,LENGTH1),LENGTH1));
v2= data2(EMA(C,LENGTH2));
val2= data2(EMA(EMa(C,LENGTH2),LENGTH2));
v3= data2(EMA(C,LENGTH3));
val3= data2(EMA(EMa(C,LENGTH3),LENGTH3));
DEMA1 = v1 * 2 - val1;
DEMA2 = v2 * 2 - val2;
DEMA3 = v3 * 2 - val3;
PLOT1(DEMA1, "DEMA1");
PLOT2(DEMA2, "DEMA2");
PLOT3(DEMA3, "DEMA3");
**** B_ 5분봉 기하이평_100 이평을 100틱챠트에서 구현하기
input : P1(36),P2(100),P3(200);
var : HH(0),LL(0),CC(0),cnt(0);
var : Hma1(0),Lma1(0),Cma1(0);
var : Hma2(0),Lma2(0),Cma2(0);
var : Hma3(0),Lma3(0),Cma3(0);
HH = Log(H);
LL = Log(L);
CC = Log(C);
Hma1 = 0;
Lma1 = 0;
Cma1 = 0;
for cnt = 0 to P1-1 begin
Hma1 = Hma1 + HH[cnt];
Lma1 = Lma1 + LL[cnt];
Cma1 = Cma1 + CC[cnt];
end;
Hma1 = 2.71828182845904^(Hma1/P1);
Lma1 = 2.71828182845904^(Lma1/P1);
Cma1 = 2.71828182845904^(Cma1/P1);
Hma2 = 0;
Lma2 = 0;
Cma2 = 0;
for cnt = 0 to P2-1 begin
Hma2 = Hma2 + HH[cnt];
Lma2 = Lma2 + LL[cnt];
Cma2 = Cma2 + CC[cnt];
end;
Hma2 = 2.71828182845904^(Hma2/P2);
Lma2 = 2.71828182845904^(Lma2/P2);
Cma2 = 2.71828182845904^(Cma2/P2);
Hma3 = 0;
Lma3 = 0;
Cma3 = 0;
for cnt = 0 to P3-1 begin
Hma3 = Hma3 + HH[cnt];
Lma3 = Lma3 + LL[cnt];
Cma3 = Cma3 + CC[cnt];
end;
Hma3 = 2.71828182845904^(Hma3/P3);
Lma3 = 2.71828182845904^(Lma3/P3);
Cma3 = 2.71828182845904^(Cma3/P3);
plot1(Hma1,"단기고가",WHITE);
plot2(Lma1,"단기저가",WHITE);
plot3(Cma1,"단기종가",blue,def,1);
plot4(Hma2,"중기고가",WHITE);
plot5(Lma2,"중기저가",WHITE);
plot6(Cma2,"중기종가",red,def,1);
plot7(Hma3,"장기고가",WHITE);
plot8(Lma3,"장기저가",WHITE);
plot9(Cma3,"장기종가",black,def,2);
감사합니다.
다음글
이전글