예스스탁
예스스탁 답변
2021-12-28 15:06:22
안녕하세요
예스스탁입니다.
1
input : nbars(5),short(12),long(26),sig(9);
var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0),MACDO(0);
var : TF(0),xma1(0),xma2(0),idx(0),Prexma1(0),Prexma2(0),MACDV(0),MACDS(0),PreMACDS(0);
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
idx = 0;
}
Else
idx = idx+1;
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = idx%nbars;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
idx = idx + 1;
Prexma1 = xma1[1];
Prexma2 = xma2[1];
PreMACDS = MACDS[1];
}
if idx <= 1 then
{
xma1 = C;
xma2 = C;
MACDV = xma1-xma2;
MACDS = MACDV;
}
else{
xma1 = C * EP1 + Prexma1 * (1-EP1);
xma2 = C * EP2 + Prexma2 * (1-EP2);
MACDV = xma1-xma2;
MACDS = MACDV * EP3 + PreMACDS * (1-EP3);
}
plot1(MACDV,"MACD");
plot2(MACDS,"signal");
PlotBaseLine1(0);
}
2
Input : Period1(12),Period2(26),Period3(9);
var : Didx(0),dEP1(0),dEP2(0),dEP3(0);
Var : dJISU1(0), PredJISU1(0);
Var : dJISU2(0), PredJISU2(0);
var : dMACDV(0), predMACDV(0);
Var : dMACDS(0), PredMACDS(0);
dEp1 = 2/(Period1+1);
dEp2 = 2/(Period2+1);
dEp3 = 2/(Period3+1);
if bdate != bdate[1] Then
{
Didx = Didx + 1;
PredJISU1 = dJISU1[1];
PredJISU2 = dJISU2[1];
PredMACDV = dMACDV[1];
PredMACDS = dMACDS[1];
}
if Didx <= 1 then
{
dJISU1 = C;
dJISU2 = C;
dMACDV = dJISU1-dJISU2;
dMACDS = dMACDV;
}
else{
dJISU1 = C * dEP1 + PredJISU1 * (1-dEP1);
dJISU2 = C * dEP2 + PredJISU2 * (1-dEP2);
dMACDV = dJISU1-dJISU2;
dMACDS = dMACDV * dEP3 + PredMACDS * (1-dEP3);
}
plot1(dMACDV,"MACD");
plot2(dMACDs,"Signal");
PlotBaseLine1(0);
새해 복 많이 받으세요
> yes 님이 쓴 글입니다.
> 제목 : 부탁 드립니다.
> 도움에 늘 감사 합니다.
MACD를 타주기
1)틱봉용
2)일봉용 부탁 드립니다.
첨부 수식은 macd의 오래전 올려주신 타분봉용 수식 입니다.
input : Atime1(60);
input : short(12),long(26),sig(9);
var : mav(0),dis(0),SS(0),LL(0),MACDV(0),MACDS(0);
var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0);
var : TF1(0),ema11(0),ema12(0),idx1(0),Xema11(0),Xema12(0),XMACDS1(0),MACDV1(0),MACDS1(0);
var : Didx(0),ema51(0),ema52(0),idx5(0),Xema51(0),Xema52(0),XMACDS5(0),MACDV5(0),MACDS5(0);
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
Didx = Didx + 1;
Xema51 = ema51[1];
Xema52 = ema52[1];
XMACDS5 = MACDS5[1];
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%Atime1;
if bdate != bdate[1] or (TF1 < TF1[1] and bdate == bdate[1]) Then{
idx1 = idx1 + 1;
Xema11 = ema11[1];
Xema12 = ema12[1];
XMACDS1 = MACDS1[1];
}
if idx1 <= 1 then {
ema11 = C;
ema12 = C;
MACDV1 = (ema11-ema12)/ema12*100;
MACDS1 = MACDV1;
}
else{
ema11 = C * EP1 + Xema11 * (1-EP1);
ema12 = C * EP2 + Xema12 * (1-EP2);
MACDV1 = (ema11-ema12)/ema12*100;
MACDS1 = MACDV1 * EP3 + XMACDS1 * (1-EP3);
}
plot4(MACDV1);
plot5(MACDS1);}
타틱용 참고자료)
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
ii = 0;
}
Else
ii = ii +1;
if D1 > 0 then
{
TF = ii%nbar;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
idx = idx+1;