커뮤니티
수정
2017-07-23 09:48:56
99
글번호 111510
아래수식을 사용하는데 값이 키움과 다르게 나옵니다.
키움기준으로 아래수식 비교해서 수정할 부분 수정 부탁드립니다.
input : Period(20170703),BarRio(0.01),Percent1(50);
var : B(0),sumB(0),HH(0),LL(0),H2(0);
B = IFF((C-O)/O>=BarRio or (C[1]*1.02<=H and C>=O) or (C[2]>O[2]*1.01 and C[1]>O[1]*1.01 and C>=O)
, V, IFF((C-O)/O<=-BarRio or (C < O and C[1]*1.03 <= H) or (C[1]*0.99>=C and C < O)
or (C[1]*0.97>=L and C < O) or (H[1]*0.97 > C and O>C),-V,0));
if sdate >= Period then{
sumB = sumB+B;
if (sdate != sdate[1]) and (sdate == Period or (sdate > Period and sdate[1] < Period)) Then{
LL = sumB;
HH = sumB;
H2 = sumb-LL;
}
if sumB < LL Then
LL = sumB;
if sumB > HH Then
HH = sumB;
var1 = sumB-LL;
var2 = HH-SumB;
if var1 > H2 Then
H2 = var1;
var3 = H2*(Percent1/100);
plot1(var1,"매수",RED);
plot2(var3,"50%",YELLOW);
}
키움에서 사용하는 수식
B = sum(if(C >= O*(1+A/100) or (C(1)*1.02<=H and C>=O) or (C(2)>O(2)*1.01 and C(1)>O(1)*1.01 and C>=O)
, V, if(C <= O*(1-A/100) or (C < O and C(1)*1.03 <= H) or (C(1)*0.99>=C and C < O)
or (C(1)*0.97>=L and C < O) or (H(1)*0.97 > C and O>C) , -V, 0)));
D = valuewhen(1, date == 날짜 and date(1) != 날짜, B(1));
B - D
E = B -D;
F = highestsince(1, date == 날짜 and date(1) != 날짜, E);
F/2
답변 1
예스스탁 예스스탁 답변
2017-07-24 15:04:46
안녕하세요
예스스탁입니다.
input : Aper(1),날짜(20170703);
var : BB(0),DD(0),EE(0),FF(0);
BB = BB+(iff(C >= O*(1+Aper/100) or (C[1]*1.02<=H and C>=O) or (C[2]>O[2]*1.01 and C[1]>O[1]*1.01 and C>=O)
, V, iff(C <= O*(1-Aper/100) or (C < O and C[1]*1.03 <= H) or (C[1]*0.99>=C and C < O)
or (C[1]*0.97>=L and C < O) or (H[1]*0.97 > C and O>C) , -V, 0)));
if date == 날짜 and date[1] != 날짜 Then{
DD = BB[1];
FF = BB-DD;
}
if date >= 날짜 then{
EE = BB - DD;
if EE > FF Then
FF = EE;
plot1(FF/2);
}
즐거운 하루되세요
> usaarmy 님이 쓴 글입니다.
> 제목 : 수정
> 아래수식을 사용하는데 값이 키움과 다르게 나옵니다.
키움기준으로 아래수식 비교해서 수정할 부분 수정 부탁드립니다.
input : Period(20170703),BarRio(0.01),Percent1(50);
var : B(0),sumB(0),HH(0),LL(0),H2(0);
B = IFF((C-O)/O>=BarRio or (C[1]*1.02<=H and C>=O) or (C[2]>O[2]*1.01 and C[1]>O[1]*1.01 and C>=O)
, V, IFF((C-O)/O<=-BarRio or (C < O and C[1]*1.03 <= H) or (C[1]*0.99>=C and C < O)
or (C[1]*0.97>=L and C < O) or (H[1]*0.97 > C and O>C),-V,0));
if sdate >= Period then{
sumB = sumB+B;
if (sdate != sdate[1]) and (sdate == Period or (sdate > Period and sdate[1] < Period)) Then{
LL = sumB;
HH = sumB;
H2 = sumb-LL;
}
if sumB < LL Then
LL = sumB;
if sumB > HH Then
HH = sumB;
var1 = sumB-LL;
var2 = HH-SumB;
if var1 > H2 Then
H2 = var1;
var3 = H2*(Percent1/100);
plot1(var1,"매수",RED);
plot2(var3,"50%",YELLOW);
}
키움에서 사용하는 수식
B = sum(if(C >= O*(1+A/100) or (C(1)*1.02<=H and C>=O) or (C(2)>O(2)*1.01 and C(1)>O(1)*1.01 and C>=O)
, V, if(C <= O*(1-A/100) or (C < O and C(1)*1.03 <= H) or (C(1)*0.99>=C and C < O)
or (C(1)*0.97>=L and C < O) or (H(1)*0.97 > C and O>C) , -V, 0)));
D = valuewhen(1, date == 날짜 and date(1) != 날짜, B(1));
B - D
E = B -D;
F = highestsince(1, date == 날짜 and date(1) != 날짜, E);
F/2