커뮤니티
작성해주신 검색식에서 종목이 검색되지 않습니다
2018-05-24 23:03:00
183
글번호 119186
아래의 수식을 검색했더니 전혀 종목이 검색되지 않습니다
수식검증을 하니 에러는 없습니다
작성해주신수식에서 if crossup(var1,var1) Then
Find(1);
var1,var2를 크로스할수있도록 변경했습니다
어디에서 문제가 된건지 알수가 없네요 검색한 종목이 나오지 않습니다
안녕하세요
예스스탁입니다.
올려주신 수식에서 price는
if((C-C(1))>0,(C-C(1))나
if((C-C(1))<0,abs((C-C(1))),0)로 지정되어 있습니다.
종가기준 전봉대비 상승하락폭입니다.
input ; Period(9);
var : diff1(0),diff2(0);
var : dema1(0),dema2(0);
var : tema1(0),tema2(0);
diff1 = iff((C-C[1])>0,(C-C[1]),0);
diff1 = iff((C-C[1])<0,abs(C-C[1]),0);
dema1 = ema(ema(diff1,Period),period);
dema2 = ema(ema(diff2,Period),period);
tema1 = ema(ema(ema(diff1,Period),period),period);
tema2 = ema(ema(ema(diff2,Period),period),period);
var1= 100 - (100/(1+TEMA1 / TEMA2));
var2= 100 - (100/(1+DEMA1 / DEMA2));
if crossup(var1,var1) Then
Find(1);
즐거운 하루되세요
> 실상사 님이 쓴 글입니다.
> 제목 : 돌파식 수정요청
> //사용자함수명 dema
input : Price(Numeric),Period(9);
dema = ema(ema(Price,Period),period);
//사용자함수명 tema
tema = ema(ema(ema(Price,Period),period),period);
var1=
100 - (100/(1+TEMA(if((C-C(1))>0,(C-C(1)),0), period) / TEMA(if((C-C(1))<0,abs((C-C(1))),0),period)))
var2=
100 - (100/(1+DEMA(if((C-C(1))>0,(C-C(1)),0), 9) / DEMA(if((C-C(1))<0,abs((C-C(1))),0),period)))
if Var1[1] > Var2[1] and Var1[1] < Var2[1] Then
Find(1);
검색식을 만들고 싶은데요
var2가 var1 돌파하는 검색식이요
여기서 외부변수에 price는 종가 c를 표현한건가요?
dema tema 계산 설명입니다
DEMA (Double Exponential Moving Average)
EMA의 EMA라고 이해.
< 계산 방법 >
EMA = {2 / ( n + 1)} X (당일종가 - 전일 EMA) + 전일 EMA
TEMA (Triple Exponential Moving Average)
EMA의 EMA의 EMA라고 이해
< 계산 방법 >
EMA = {2/(n+1)} * (당일종가 - 전일EMA) + 전일EMA
통상적으로 n = 9일을 기본값으로 합니다.
EMA (Exponential Moving Average, 지수이동평균)
가장 최근의 값에 더 많은 가중치를 부여하고
오래 된 값에는 적은 가중치를 부여하되,
비록 오래 된 값이라고 할지라도 완전히 무시하지는 않고 적게나마
반영시키는 계산방법으로
< 계산 방법 >
EMA(지수이동평균) = 전일지수이동평균 +{c×(금일종가지수-전일지수이동평균)}
※ c = 2 / (n+1)
단, 0 < c < 1
(9일의 경우 0.2, 12일의 경우 0.15, 26일의 경우엔 가중치 0.075 사용)
답변 1
예스스탁 예스스탁 답변
2018-05-25 14:21:24
안녕하세요
예스스탁입니다.
죄송합니다.조건식에 오류가 있었습니다. 수정한 식입니다.
과거 봉수에 따라 값이 달라지는 지수이평이 근간이 되므로
종목검색시 속성에서 검색에 필요한 최소기간을 500으로 지정하고 검색하시기 바랍니다.
input : Period(9);
var : diff1(0),diff2(0);
var : dema1(0),dema2(0);
var : tema1(0),tema2(0);
diff1 = iff((C-C[1])>0,(C-C[1]),0);
diff1 = iff((C-C[1])<0,abs(C-C[1]),0);
dema1 = ema(ema(diff1,Period),period);
dema2 = ema(ema(diff2,Period),period);
tema1 = ema(ema(ema(diff1,Period),period),period);
tema2 = ema(ema(ema(diff2,Period),period),period);
var1= 100 - (100/(1+TEMA1 / TEMA2));
var2= 100 - (100/(1+DEMA1 / DEMA2));
if crossup(var1,var2) Then
Find(1);
즐거운 하루되세요
> 실상사 님이 쓴 글입니다.
> 제목 : 작성해주신 검색식에서 종목이 검색되지 않습니다
> 아래의 수식을 검색했더니 전혀 종목이 검색되지 않습니다
수식검증을 하니 에러는 없습니다
작성해주신수식에서 if crossup(var1,var1) Then
Find(1);
var1,var2를 크로스할수있도록 변경했습니다
어디에서 문제가 된건지 알수가 없네요 검색한 종목이 나오지 않습니다
안녕하세요
예스스탁입니다.
올려주신 수식에서 price는
if((C-C(1))>0,(C-C(1))나
if((C-C(1))<0,abs((C-C(1))),0)로 지정되어 있습니다.
종가기준 전봉대비 상승하락폭입니다.
input ; Period(9);
var : diff1(0),diff2(0);
var : dema1(0),dema2(0);
var : tema1(0),tema2(0);
diff1 = iff((C-C[1])>0,(C-C[1]),0);
diff1 = iff((C-C[1])<0,abs(C-C[1]),0);
dema1 = ema(ema(diff1,Period),period);
dema2 = ema(ema(diff2,Period),period);
tema1 = ema(ema(ema(diff1,Period),period),period);
tema2 = ema(ema(ema(diff2,Period),period),period);
var1= 100 - (100/(1+TEMA1 / TEMA2));
var2= 100 - (100/(1+DEMA1 / DEMA2));
if crossup(var1,var1) Then
Find(1);
즐거운 하루되세요
> 실상사 님이 쓴 글입니다.
> 제목 : 돌파식 수정요청
> //사용자함수명 dema
input : Price(Numeric),Period(9);
dema = ema(ema(Price,Period),period);
//사용자함수명 tema
tema = ema(ema(ema(Price,Period),period),period);
var1=
100 - (100/(1+TEMA(if((C-C(1))>0,(C-C(1)),0), period) / TEMA(if((C-C(1))<0,abs((C-C(1))),0),period)))
var2=
100 - (100/(1+DEMA(if((C-C(1))>0,(C-C(1)),0), 9) / DEMA(if((C-C(1))<0,abs((C-C(1))),0),period)))
if Var1[1] > Var2[1] and Var1[1] < Var2[1] Then
Find(1);
검색식을 만들고 싶은데요
var2가 var1 돌파하는 검색식이요
여기서 외부변수에 price는 종가 c를 표현한건가요?
dema tema 계산 설명입니다
DEMA (Double Exponential Moving Average)
EMA의 EMA라고 이해.
< 계산 방법 >
EMA = {2 / ( n + 1)} X (당일종가 - 전일 EMA) + 전일 EMA
TEMA (Triple Exponential Moving Average)
EMA의 EMA의 EMA라고 이해
< 계산 방법 >
EMA = {2/(n+1)} * (당일종가 - 전일EMA) + 전일EMA
통상적으로 n = 9일을 기본값으로 합니다.
EMA (Exponential Moving Average, 지수이동평균)
가장 최근의 값에 더 많은 가중치를 부여하고
오래 된 값에는 적은 가중치를 부여하되,
비록 오래 된 값이라고 할지라도 완전히 무시하지는 않고 적게나마
반영시키는 계산방법으로
< 계산 방법 >
EMA(지수이동평균) = 전일지수이동평균 +{c×(금일종가지수-전일지수이동평균)}
※ c = 2 / (n+1)
단, 0 < c < 1
(9일의 경우 0.2, 12일의 경우 0.15, 26일의 경우엔 가중치 0.075 사용)
다음글