커뮤니티
수식 확인 부탁....
2005-08-04 02:07:48
1132
글번호 7930
안녕하세요! 아래의 수식을 작성하였는데 계산값이 나오지 않고 N/A가 나오는데 수식 오류 확인 부탁드립니다.
수식작성 기준 :
1. 5이평선이 10이평선을 골든크로스 발생할때 이때부터 과거 SwingLow 몇개중
에서 가장 작은 SwingLow부터 골든발생시점까지 봉수를 계산
2. 5이평선이 10이평선을 데드크로스 발생할때 이때부터 과거 SwingHigh 몇개중
에서 가장 큰 SwingHigh부터 데드발생시점까지 봉수를 계산
제가 작성한 수식은 다음과 같습니다. 수식 오류 확인을 부탁드립니다.
input : Len(30), Len1(3), Len2(10), MP1(5), MP2(10), FLen(5);
var : MA1(0), MA2(0), CUI(0), CDI(0), HP(0), LP(0), HPI(0), LPI(0), a(0),
LHPI(0), LLPI(0), UPBar(0), DownBar(0);
MA1 = ma(C, MP1);
MA2 = ma(C, MP2);
HP = swingHigh(1, H, Len1, Len2, 30);
LP = swingLow(1, L, Len1, Len2, 30);
if crossup(MA1, MP2) then
CUI = index;
if crossdown(MA1, MA2) then
CDI = Index;
if HP then
HPI = index;
if LP then
LPI = index;
for a=0 to FLen-1 begin
if LP[a] > LP[a-1] then
LLPI = LPI[a];
else LLPI = LPI[a-1] ;
if HP[a] > HP[a-1] then
LHPI = HPI[a];
else LHPI = HPI[a-1] ;
end;
UpBar = CUI - LLPI;
DownBar = CDI - LHPI;
plot1(UpBar, "업 봉수", red);
plot2(DownBar, "다운 봉수", blue);
답변 1
예스스탁 예스스탁 답변
2005-08-04 16:19:14
안녕하세요
예스스탁입니다.
for a=0 to FLen-1 begin
if LP[a] > LP[a-1] then
LLPI = LPI[a];
else LLPI = LPI[a-1] ;
if HP[a] > HP[a-1] then
LHPI = HPI[a];
else LHPI = HPI[a-1] ;
예를 들어 for문에서 a에 0값이 할당되면
lp[a-1] = lp[-1]로 계산이 되지 않는값이 나옵니다.
골드 혹은 데드시에 최근 3개의 스윙하이와 스윙로우를 이용하여
값을 찾게 만들었습니다.
input : len1(3),len2(3),Speriod(5),Lperiod(10);
var : SH1(0),SH2(0),SH3(0),SL1(0),SL2(0),SL3(0),MAxval(0),MINval(0),MAXup(0),MINdown(0);
SH1 = swingHigh(1,H,len1,len2,100);
SH2 = swingHigh(2,H,len1,len2,100);
SH3 = swingHigh(3,H,len1,len2,100);
SL1 = swingLow(1,L,len1,len2,100);
SL2 = swingLow(2,L,len1,len2,100);
SL3 = swingLow(3,L,len1,len2,100);
MAXval = Max(SH1,Sh2,Sh3);
MINval = Min(SL1,SL2,SL3);
if crossup(ma(c,Speriod),ma(c,Lperiod)) then{
if MAXval == SH1 then
MAXup = swinghighbar(1,H,len1,len2,100);
if MAXval == SH2 then
MAXup = swinghighbar(1,H,len1,len2,100);
if MAXval == SH3 then
MAXup = swinghighbar(1,H,len1,len2,100);
}
if crossdown(ma(c,Speriod),ma(c,Lperiod)) then{
if MINval == SL1 then
MINdown = swingLowbar(1,L,len1,len2,100);
if MINval == SL2 then
MINdown = swingLowbar(2,L,len1,len2,100);
if MINval == SL3 then
MINdown = swingLowbar(3,L,len1,len2,100);
}
plot1(MAXup);
plot2(MINdown);
즐거운 하루되세요
> CJ_emorning 님이 쓴 글입니다.
> 제목 : 수식 확인 부탁....
> 안녕하세요! 아래의 수식을 작성하였는데 계산값이 나오지 않고 N/A가 나오는데 수식 오류 확인 부탁드립니다.
수식작성 기준 :
1. 5이평선이 10이평선을 골든크로스 발생할때 이때부터 과거 SwingLow 몇개중
에서 가장 작은 SwingLow부터 골든발생시점까지 봉수를 계산
2. 5이평선이 10이평선을 데드크로스 발생할때 이때부터 과거 SwingHigh 몇개중
에서 가장 큰 SwingHigh부터 데드발생시점까지 봉수를 계산
제가 작성한 수식은 다음과 같습니다. 수식 오류 확인을 부탁드립니다.
input : Len(30), Len1(3), Len2(10), MP1(5), MP2(10), FLen(5);
var : MA1(0), MA2(0), CUI(0), CDI(0), HP(0), LP(0), HPI(0), LPI(0), a(0),
LHPI(0), LLPI(0), UPBar(0), DownBar(0);
MA1 = ma(C, MP1);
MA2 = ma(C, MP2);
HP = swingHigh(1, H, Len1, Len2, 30);
LP = swingLow(1, L, Len1, Len2, 30);
if crossup(MA1, MP2) then
CUI = index;
if crossdown(MA1, MA2) then
CDI = Index;
if HP then
HPI = index;
if LP then
LPI = index;
for a=0 to FLen-1 begin
if LP[a] > LP[a-1] then
LLPI = LPI[a];
else LLPI = LPI[a-1] ;
if HP[a] > HP[a-1] then
LHPI = HPI[a];
else LHPI = HPI[a-1] ;
end;
UpBar = CUI - LLPI;
DownBar = CDI - LHPI;
plot1(UpBar, "업 봉수", red);
plot2(DownBar, "다운 봉수", blue);