예스스탁
예스스탁 답변
2025-05-28 12:35:10
안녕하세요
예스스탁입니다.
타주기 n초로 수정해 드립니다.
기본차트도 초차트로 지정하셔야 하고 타주기는 기본차트 주기기준
배수만 계산이 가능합니다.
input : n(60);
Input : long(34),signal(9),Po(2);
var : S1(0),D1(0),sTM(0),et(0),ets(0),eTM(0);
Var : SS(0),TS(0),second(0),ii(0),cnt(0),tf(0);
var : hlc(0),hi0(0),lo0(0),Ema5(0),Ema6(0),mi0(0);
var : sig(0),histo(0),IMACD색(0);
var : hh(0),ll(0),b(0),sum(0);
var : hi01(Nan),lo01(Nan),ep(0),preEma5(0),preEma6(0);
Array : IMACD[100](0);
ep = 2/(long+1);
if Bdate != Bdate[1] Then
{
stm = TimeToMinutes(stime);
D1 = Bdate;
}
if D1 > 0 then
{
if date == D1 Then
eTM = TimeToMinutes(time)-S1;
Else
eTM = TimeToMinutes(time)+1440-S1;
ss = sTM*60;
et= eTM*60;
ets = FracPortion(time/100)*100;
TS = et+ets;
Second = TS-SS;
TF = second%n;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and TF < TF[1]) Then
{
TL_New(sDate,sTime,0,sDate,sTime,9999999);
hh = h;
ll = l;
hi01 = hi0[1];
lo01 = lo0[1];
b = b+1;
PreEma5 = Ema5[1];
PreEma6 = Ema6[1];
For cnt = 99 DownTo 1
{
IMACD[cnt] = IMACD[cnt-1];
}
}
if h > hh Then
hh = h;
if l < ll Then
ll = l;
hlc = (hh+ll+c)/3;
hi0 = iff(IsNan(hi01) == true, ma(hh,long), hi01*(long-1)+hh)/long;
lo0 = iff(IsNan(lo01) == true, ma(ll,long), lo01*(long-1)+ll)/long;
if b <= 1 then
{
Ema5 = hlc;
Ema6 = hlc;
}
else{
Ema5 = C * ep + PreEma5 * (1-ep);
Ema6 = Ema5 * ep + PreEma6 * (1-ep);
}
mi0 = Ema5+(Ema5-Ema6);
IMACD[0] = iff((mi0>hi0), (mi0-hi0) , iff((mi0<lo0) , (mi0 - lo0) , 0));
sum = 0;
For cnt = 0 to signal-1
{
sum = sum + IMACD[cnt];
}
sig = sum/signal;
histo = IMACD[0]-sig;
var1 = po;
Var2 = -po;
plot1(IMACD[0],"ImpulseMACD");
plot2(sig,"Signal");
plot3(histo,"Histo");
plot10(0,"0");
plot20(var1,"2");
plot30(Var2,"2");
}
즐거운 하루되세요
> 뎅이요 님이 쓴 글입니다.
> 제목 : 수식작성 부탁드립니다
> 아래 수식을 초 단위로 나타낼수 있도록 부탁 드립니다
(예시
nput : n(60);
var : S1(0),D1(0),sTM(0),et(0),ets(0),eTM(0);
Var : SS(0),TS(0),second(0),ii(0),cnt(0);
if Bdate != Bdate[1] Then
{
stm = TimeToMinutes(stime);
D1 = Bdate;
ii = 0;
}
if D1 > 0 then
{
ii = ii +1;
if date == D1 Then
eTM = TimeToMinutes(time)-S1;
Else
eTM = TimeToMinutes(time)+1440-S1;
ss = sTM*60;
et= eTM*60;
ets = FracPortion(time/100)*100;
TS = et+ets;
Second = TS-SS;
.
.
.
}
아래 수식 변경 부탁 드립니다.
Input : long(34),signal(9),Po(2);
var : hlc(0),hi0(0),lo0(0),Ema5(0),Ema6(0),mi0(0);
var : IMACD(0),sig(0),histo(0),IMACD색(0);
hlc = (h+l+c)/3;
hi0 = iff(IsNan(hi0[1]) == true, ma(high,long), hi0[1]*(long-1)+high)/long;
lo0 = iff(IsNan(lo0[1]) == true, ma(low,long), lo0[1]*(long-1)+low)/long;
Ema5 = ema(hlc, long);
Ema6 = ema(Ema5, long);
mi0 = Ema5+(Ema5-Ema6);
IMACD = iff((mi0>hi0), (mi0-hi0) , iff((mi0<lo0) , (mi0 - lo0) , 0));
sig = ma(IMACD, signal);
histo = IMACD-sig;
var1 = po;
Var2 = -po;
plot1(IMACD,"ImpulseMACD");
plot2(sig,"Signal");
plot3(histo,"Histo");
plot10(0,"0");
plot20(var1,"2");
plot30(Var2,"2");