커뮤니티
안녕하세요 macd
2013-12-26 10:27:30
181
글번호 70766
안녕하세요.
분봉에서 일봉의macd는 Q&A에있는데
1.번
1분봉챠트에서
30분봉의macd
1분봉에서 30분봉의 스톡캐스틱을보고싶습니다.
2번
갭보정 지표도 보고싶습니다.
1분봉챠트에서
30분봉의macd
1분봉에서 30분봉의 스톡캐스틱을보고싶습니다.
3번 1분에서 30분또는 60분 이런식으로 선택할수있음
합니다.
수식 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2013-12-26 13:46:27
안녕하세요
예스스탁입니다.
1.타분봉 MACD
Input : Atime(30),Period1(12),Period2(26),Period3(9);
Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
Var : Ep3(0), JISU3(0), PreMACDSIG(0);
var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0),TF(0);
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
TF = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMACDOsc = MACDOsc[1];
if Dindex1 >= 2 Then
PreMACDSIG = MACDSIG[1];
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
}
MACDVal = JiSu1-Jisu2;
if DINDEX1 <= 2 then {
MACDSIG = Jisu1-jisu2;
}
else{
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
}
MACDOsc = MACDVal-MACDsig;
plot1(MACDVal);
plot2(MACDsig);
plot3(MACDOsc);
2.타분봉 스토케스틱
input : Atime(15),StoPeriod(10), StoPeriod1(6), StoPeriod2(6);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0),TF(0);
Array : HH[50](0),LL[50](0);
TF = TimeToMinutes(stime)%Atime;
if dayindex == 0 or (TF < TF[1] and stime > stime[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
highVal = HH[0];
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
#### Slow StochasticsK ####
Ep = 2/(StoPeriod1+1);
if DINDEX >= StoPeriod and (date != date[1] or var1 < var1[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP);
#### Slow StochasticsD ####
Ep1 = 2/(StoPeriod2+1);
if date != date[1] or var1 < var1[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1);
plot1(StoK);
plot2(StoD);
PlotBaseLine1(20);
PlotBaseLine2(80);
3.갭보정 타분봉 MACD
Input : Atime(30),Period1(12),Period2(26),Period3(9);
Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
Var : Ep3(0), JISU3(0), PreMACDSIG(0);
var : MACDVal(0),MACDSig(0),MACDOsc(0),PreMACDOsc(0),TF(0);
var : gap(0),sumgap(0),GC(0);
if date!=date[1] THen {
gap = Open-Close[1];
sumGap = sumGap+gap;
}
GC = C - sumGap;
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
TF = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMACDOsc = MACDOsc[1];
if Dindex1 >= 2 Then
PreMACDSIG = MACDSIG[1];
}
if DINDEX1 <= 1 then {
JISU1 = GC;
JISU2 = GC;
}
else{
JISU1 = GC * EP1 + PreJISU1 * (1-EP1);
JISU2 = GC * EP2 + PreJISU2 * (1-EP2);
}
MACDVal = JiSu1-Jisu2;
if DINDEX1 <= 2 then {
MACDSIG = Jisu1-jisu2;
}
else{
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
}
MACDOsc = MACDVal-MACDsig;
plot1(MACDVal);
plot2(MACDsig);
plot3(MACDOsc);
4.갭보정 타분봉 스토케스틱
input : Atime(30),StoPeriod(10), StoPeriod1(6), StoPeriod2(6);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0),TF(0);
Array : HH[50](0),LL[50](0);
var : gap(0),sumgap(0),GC(0),GH(0),GL(0);
if date!=date[1] THen {
gap = Open-Close[1];
sumGap = sumGap+gap;
}
GC = C - sumGap;
GH = H - sumGap;
GL = L - sumGap;
TF = TimeToMinutes(stime)%Atime;
if dayindex == 0 or (TF < TF[1] and stime > stime[1]) Then{
HH[0] = GH;
LL[0] = GL;
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if GH > HH[0] Then
HH[0] = GH;
if GL < LL[0] Then
LL[0] = GL;
highVal = HH[0];
lowVal = LL[0];
for count = 0 to StoPeriod-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
StoFastK = (GC-lowVal)/(highVal-lowVal)*100;
#### Slow StochasticsK ####
Ep = 2/(StoPeriod1+1);
if DINDEX >= StoPeriod and (date != date[1] or TF < TF[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP);
#### Slow StochasticsD ####
Ep1 = 2/(StoPeriod2+1);
if date != date[1] or TF < TF[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1);
plot1(StoK);
plot2(StoD);
PlotBaseLine1(20);
PlotBaseLine2(80);
즐거운 하루되세요
> 선비선녀 님이 쓴 글입니다.
> 제목 : 안녕하세요 macd
> 안녕하세요.
분봉에서 일봉의macd는 Q&A에있는데
1.번
1분봉챠트에서
30분봉의macd
1분봉에서 30분봉의 스톡캐스틱을보고싶습니다.
2번
갭보정 지표도 보고싶습니다.
1분봉챠트에서
30분봉의macd
1분봉에서 30분봉의 스톡캐스틱을보고싶습니다.
3번 1분에서 30분또는 60분 이런식으로 선택할수있음
합니다.
수식 부탁드립니다.
감사합니다.
다음글
이전글